用于同义词预测的分层多任务术语嵌入学习
文献发布时间:2023-06-19 09:30:39
技术领域
本公开总体上涉及用于计算机学习的系统和方法,所述系统和方 法可以提供改进的计算机性能、特征和用途。更具体地,本公开涉及 用于获得利用领域知识的更具代表性的术语嵌入的实施例。
背景技术
同义词预测已经变成各种应用的重要任务,诸如用于以实体为中心 的文本挖掘和解释。在同义词预测的帮助下,可以将对实体的非正式提 及标准化为其标准形式,从而大大减小终端用户与下游应用之间的沟通 隔阂。此类示例包括但不限于问答、信息检索和医疗诊断。
从资源的角度来看,同义词预测的主要困难在于语言使用的高可变 性但对知识库(KB)的覆盖率低,特别是对某些语言来说。例如,在汉 语医学领域中,“食欲不振(翻译:loss of appetite)”的概念具有20多个 同义词(汉语中的“食欲不振”同义词示例包括:{胃口差、吃不下东西、 胃口不好、东西吃不下、饭吃不下、不爱吃饭}(翻译:no desire forfood); {食欲低下、食欲下降、食欲不太好、缺乏食欲、食欲差、食欲减退}(翻 译:decreased appetite),但它们的大多数都不在现有的医疗知识库中,因 为它们主要被没有太多医疗知识的患者使用。尽管可以利用现有技术命 名实体识别工具来发现更多的实体,但几乎没有采取措施来构建具有对 非正式描述和同义词的注释的标签数据以进行训练。
从建模的角度来看,同义词预测的关键问题在于如何学习实体和描 述的更有效表示。通过高质量语义表示,可以应用任何现成的分类器来 预测同义关系。近来,学习大型语料库中的词的分布式向量表示的词和 实体嵌入方法已经在数据挖掘团体中普及。对于英语,已经提出基于几 个词或字符嵌入的同义词预测方法。
例如,一些人尝试将术语的语义类型知识整合到词嵌入学习中并且 将所学习的嵌入与其他句法特征组合以用于同义词预测。尽管模型利用 语义类型知识,但它忽略了实体之间的丰富关系信息。其他人使用字符 嵌入作为术语特征并且将同义词预测任务计算为神经机器翻译问题,其 中给定源术语,通过双向RNN生成目标同义词。这种复杂模型的至少一 个限制在于,它需要来自统一医学语言系统(UMLS)的大量标签数据, 但在诸如汉语的其他语言中不存在此类公共资源。
因此,需要一种用于获得术语(例如,词或短语)的更具代表性的 术语嵌入的改进系统和方法。
附图说明
将参考本公开的实施例,其示例可以在附图中示出。这些附图意图 是说明性的,而不是限制性的。尽管本公开通常在这些实施例的上下文 中描述,但是应当理解,这并不意味着将本公开的范围限制于这些特定 实施例。图中的项目可以不按比例绘制。
图1以图形方式描绘了根据本公开的实施例的分层多任务术语嵌入 模型的概览。
图2以图形方式表示了根据本公开的实施例的分层多任务术语嵌入 模型架构。
图3描绘了根据本公开的实施例的用于使用分层多任务术语嵌入模 型的方法。
图4描绘了根据本公开的实施例的用于训练分层多任务术语嵌入模 型的方法。
图5描绘了根据本公开的实施例的医学词典的概括统计。
图6描绘了根据本公开的实施例的200个随机采样的症状术语的平 均precision@k结果。
图7描绘了根据本公开的实施例的计算设备/信息处理系统的简化框 图。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以提供对本公开 的理解。然而,对于本领域技术人员来说,很明显,没有这些细节也可 以实践本公开。此外,本领域技术人员将认识到,下面描述的本公开的 实施例可以以多种方式实现,例如在有形计算机可读介质上的过程、装 置、系统、设备或方法。
图中所示的部件或模块是本公开的示例性实施例的说明,并且旨在 避免使本公开模糊。还应当理解,在整个讨论中,部件可以被描述为单 独的功能单元,其可以包括子单元,但是本领域技术人员将认识到,各 种部件或其部分可以被分成分开的部件或者可以集成在一起,包括集成 在单个系统或部件内。应当注意,这里讨论的功能或操作可以实现为部 件。部件可以用软件、硬件或其组合来实现。
此外,图中部件或系统之间的连接并不局限于直接连接。相反,这 些部件之间的数据可以被中间部件修改、重新格式化或以其他方式改变。 此外,可以使用更多或更少的连接。还应注意,术语“联接”、“连接” 或“通信联接”应理解为包括直接连接、通过一个或多个中间设备的间 接连接以及无线连接。
说明书中对“一个实施例”、“优选实施例”、“实施例”或“一些实 施例”的引用意味着结合该实施例描述的特定特征、结构、特性或功能 包括在本公开的至少一个实施例中,并且可以在不止一个实施例中。此 外,说明书中不同地方出现的上述短语不一定都指相同的实施例。
在说明书的不同地方使用某些术语是为了说明,并且不应被解释为 限制。服务、功能或资源不限于单一的服务、功能或资源;这些术语的 使用可以指相关服务、功能或资源的分组,这些服务、功能或资源可以 是分布式的或聚合的。
术语“包括”、“包含”应理解为开放式术语,以下任何列表都是示 例,并不意味着限于所列项目。如本文使用的“术语”应是指传达概念 的词或一组词;在本文中,“词”可以与“术语”互换地使用。
本文中使用的任何标题仅用于组织目的,并且不应用于限制说明书 或权利要求的范围。本专利文件中提到的每个参考文献通过引用整体并 入本文。
此外,本领域技术人员应该认识到:(1)可以可选地执行某些步骤;(2)步骤可以不限于本文所述的特定顺序;(3)某些步骤可以以不同的 顺序执行;以及(4)某些步骤可以同时进行。
应注意,本文提供的任何实验和结果仅通过说明的方式提供并且使 用一个或多个具体实施例在具体条件下执行;因此,这些实验和它们的 结果都不应被用来限制本专利文件的公开的范围。
A.引言
合并语义知识应学习更具代表性的词嵌入,并且因此将引起更准确 的同义词预测。在本文中,语义知识可以被视作包括实体的语义类型信 息和实体之间的语义相关性信息两者。
给定在连续层处预测两个越来越复杂但相关任务的能力,图1中示 出了分层多任务术语嵌入模型100的实施例。在下层处,引入辅助任务 105,该辅助任务给定目标词和术语语义类型知识125来预测邻近词语义 类型。在上层处,将跳字(skip-gram)模型扩展以结合实体之间的现有 同义知识120和下级任务的结果130。这样的分层结构不仅允许使用实体 的语义类型和语义关系,而且在训练阶段相互增强这两个任务。
尽管此处呈现的实施例是在汉语中的医学领域的背景下描述的,该 医学领域具有极高的语言使用可变形、丰富的语义知识但知识库覆盖率 低,而所公开的方法实施例是通用的(即,该方法可以应用于很多主题 领域)。因此,本公开的模型实施例还可以应用于任何其他领域,特别是 在外部知识很多并且语言使用可变形极高的情况下。实验结果表明,对 于实体语义相关性评估、邻近词语义类型预测和同义词预测,模型实施 例学习更多具有代表性的嵌入并且产生更好的准确性。
简而言之,本公开的实施例的贡献包括至少以下项:
呈现了充分利用领域知识(诸如医学领域知识)的分层多任务词嵌 入模型实施例。通过引入邻近词语义类型预测的辅助任务,向词嵌入目 标提供更多信息。替代的优化算法的实施例也设计了模型实施例并且与 现有方法相比实现了更好的性能。
从专业医学教科书、维基百科和论坛收集到大型汉语医学语料库(约 10M个语句),目的是识别更多非正式的医学描述和同义词对。从语料库 中识别出涵盖18个类别的约151K医学实体和描述以及185K高质量同 义词对。带注释的数据集可以用来帮助研究者发现更多嘈杂和非正式医 学描述。据发明人所知,这个语料库是注释了实体且标记了同义词的首 个汉语基准。
将一个或多个模型实施例应用于400M医学术语对并且获得在任何 先前医学资源中都未看见的约1M同义词候选。新发现的同义词可以充 实汉语的现有知识库。
B.一些相关工作
同义词提取的重要性已经在生物医学和临床研究团体中得到很好的 认可。早期的方法典型地是基于非神经的方法。常规技术包括使用词汇 和句法特征、基于双语对齐的方法,以及在术语图上的随机游动。
针对基于神经的方法,已经广泛地采用词嵌入技术进行同义词预测。 近来,越来越感兴趣的是通过结合领域语义知识来增强词嵌入。增强典 型地通过在训练阶段期间增加关系正则化来改变词嵌入的目标,或者对 训练过的词向量采取后处理步骤以适应语义关系。对于任一种情况,仅 使用术语-术语关系,但忽略术语的语义类型信息。在表1中,概述了本 文呈现的相关方法和实施例的特性。
表1:每种方法的特性。ST意指语义类型,SR意指同义词关系,PP 意指后处理,并且MT意指多任务。“x”指示可以包括某一性质的方法。
[1]余墨(Mo Yu)和马克·德拉泽(Mark Dredze)。2014年。利用 语义知识改进词汇嵌入(Improving Lexical Embeddings with Semantic Knowledge)。计算语言协会(ACL)的第52届年会记录(Proceedings of the 52nd Annual Meeting of theAssociation for Computational Linguistics (ACL))。545至550页。
[2]王畅(Chang Wang)、曹亮亮(Liangliang Cao)和周博文(Bowen Zhou)。2015年。利用概念空间模型的医学同义词提取(Medical Synonym Extraction with ConceptSpace Models)。第24届人工智能国际会议记录 (人工智能国际联合会议(IJCAI)记录)(Proceedings of the 24th International Conference on Artificial Intelligence(Proceedings of the International Joint Conference on Artificial Intelligence(IJCAI)))。989至995 页。
[3]曼纳尔·法鲁基(Manaal Faruqui)、杰西·道奇(Jesse Dodge)、 苏杰·K·裘哈尔(Sujay K.Jauhar)、克里斯·戴尔(Chris Dyer)、爱德 华·霍维(Eduard Hovy)和诺亚·A·史密斯(Noah A.Smith)。2015 年。将词向量改造为语义词典(RetrofittingWord Vectors to Semantic Lexicons)。计算语言学协会北美分会(NAACL-HLT)的年会记录 (Proceedings of the Annual Conference of the North American Chapter of theAssociation for Computational Linguistics(NAACL-HLT))。1606至1615 页。
在所有基于嵌入的方法中,与本文的一些实施例最类似的成果是王 等人以及余和德拉泽。在王等人中,结合术语的语义类型作为在词嵌入 训练过程中的额外标签信息。这样的半监督方法使得词嵌入模型在生成 “期望词”时能够考虑“期望类型”,这是多任务学习的特殊情况,其中 两个任务在同一级上。本文的模型实施例不仅利用术语的语义类型,而 且利用术语-术语同义词关系。在余和德拉泽中,呈现了关系约束的词嵌 入模型,其中通过最大化所有同义词对的对数似然来利用了术语-术语同 义词关系。尽管在本文的实施例中也使用术语之间的同义词关系,但存 在至少两个主要差异。第一个差异在于,本公开的词嵌入模型实施例是 具有预测术语的语义类型的辅助任务的分层多任务学习框架。第二个差 异在于,本文的实施例采用不同的正则化策略来增强同义词对以便共享 类似的嵌入,而不是最大化它们的对数似然。
另一条线的相关研究是多任务学习(MTL),其同时学习多个相关任 务以改进泛化性能。MTL已经应用于广泛范围的应用,包括医疗保健信 息学、语音识别和自然语言处理。具体地,一些已经通过考虑语言层级 表明了将不同任务定位在不同层处的优势。例如,一些构建了多任务模 型,其中任务根据其复杂性而逐步增长(例如,POS加标签→实体组块→依存分析)。他们的工作与本文的实施例之间的关键差异之一在于,本 文的分层多任务模型实施例不仅解决了两个预测任务,而且利用两种类 型的语义知识。
C.方法实施例
在本章节中,首先呈现跳字模型,然后呈现根据本公开的分层多任 务词嵌入模型的实施例。作为预备实现,表2中呈现了本文使用的符号。
表2:符号表。
1.跳字嵌入模型
跳字模型的目标是优化能给定目标词有效地预测邻近词的字嵌入。 更正式地,其最小化以下目标函数:
其中x
替代地,跳字模型更新V和W,并且输出隐藏表示V作为最终词嵌 入,其中V
2.分层多任务词嵌入实施例
在一个或多个实施例中,通过引入邻近词语义类型预测的辅助任务 来扩展跳字模型。关键见解之一在于,知道邻近词的语义类型将有益于 邻近词预测。例如,在医学领域中,症状术语经常被其他症状术语或疾 病术语包围。在一个或多个实施例中,每个输入语句被分段为或已被分 段为术语(即,词/短语)序列,并且医学实体被加注释。预处理的优点在于实施例可以直接地训练医学实体和描述的嵌入,类似于其他普通词。
组织两个任务的方式有三种:
(1)将两个任务平行地组织并且共享公共隐藏嵌入层,这相当于利 用神经网络中的共享隐藏层的普通多任务学习;
(2)将两个任务分层组织,其中邻近词预测任务位于下层,并且邻 近词语义类型预测任务位于上层;或者
(3)本文提议的分层结构,图1中示出其实施例。这样的方法使得 邻近词预测能够利用邻近词语义类型预测和共享词嵌入的结果。
对于本文讨论的实施例中的至少一些,出于至少两个原因来选择最 后的结构。第一,预测邻近词比预测它们的语义类型更复杂。所有可能 的邻近词的集合的基数等于词汇量,这比语义类型大得多。第二,从语 言学角度看,知道可能的语义类型将有助于邻近词预测任务集中在属于 那些类型的词。
图2以图形方式表示了根据本公开的实施例的分层多任务术语嵌入 模型架构或框架。在训练期间,将目标术语(例如,流_鼻涕225)及其 邻近术语(例如,邻近窗口230中的术语)馈送(235)到输入层205中 以执行嵌入查找240。在一个或多个实施例中,也对照外部医学知识库 (KB)查询(240)邻近术语以确定它们对应的语义类型(例如,框245 中的输出集Y)。目标术语嵌入以及其邻近词的类型(例如,框245)就 是任务T1 215的训练数据。应注意,在一个或多个实施例中,仅将具有 有效语义类型的邻近词(例如,框中的术语,例如,普通_感冒、打喷嚏 和喉咙_痛)馈送(250)到T1邻近术语语义类型预测网络215中。
如图2中以图形方式描绘,T2邻近术语预测网络220的输入260包 括来自T1网络215的语义类型的概率分布270与目标词的嵌入及其邻近 术语的嵌入268的组合262。在一个或多个实施例中,将目标术语的同义 词264馈送290到T2中作为外部知识;如下文讨论,目标术语的同义词 用来有助于使目标术语的同义词的嵌入和目标术语的嵌入是类似的。
图3描绘了根据本公开的实施例的用于分层多任务术语嵌入模型的 方法概览。在一个或多个实施例中,预处理(305)文本/文档的语料库, 以形成包括术语的输入语料库,其中将与模型的词汇表中的术语相对应 的每个多词短语转换成术语(例如,将短语“流鼻涕(runny nose)”处 理成“流_鼻涕(runny_nose)”)。然后,将术语转换(310)成术语嵌入。在一个或多个实施例中,通过将术语输入到分层多任务术语嵌入模型的 输入层中执行嵌入查找来将术语转换(310)成术语嵌入。
在一个或多个实施例中,对照知识库来查询(315)术语以确定术语 的一个或多个语义类型(如果有的话)。应当注意,并非所有的术语都将 具有语义类型,特别是在给定感兴趣领域的情况下。例如,对于医学领 域,像“一”、“该”、“有”等术语没有语义类型。
给定输入语料库,在一个或多个实施例中,上下文窗口可以在语料 库中移动。对于目标术语具有至少一个语义类型的每个上下文窗口,将 上下文窗口中的目标术语的嵌入和邻近词的一个或多个语义类型的指示 符输入(320)到分层多任务术语嵌入模型的多标签分类器部分中,以输 出上下文窗口中的邻近术语的预测语义类型的概率分布。例如,参考图2, 将目标术语“流_鼻涕”的词向量或术语向量以及邻近术语的语义类型(例 如,“普通_感冒(common_cold)”是疾病并且“打喷嚏(sneezing)”和 “喉咙_痛(sore_throat)”都是症状)用作输入。
在一个或多个实施例中,还将邻近术语的已知语义类型用作(325) 相对于邻近术语的预测语义类型的输出概率分布的基础事实,以训练 (325)多标签分类器的术语嵌入参数和语义类型预测参数。
在一个或多个实施例中,对于每个目标术语,使用目标术语的嵌入、 从多标签分类器获得的目标术语的邻近术语的预测语义类型的概率分布 以及目标术语的同义词的嵌入作为分层多任务术语嵌入模型的术语分类 器部分的输入,预测(330)目标术语的邻近术语。将已知的邻近术语用 作(335)相对于由术语分类器预测的邻近术语的基础事实,以训练分层 多任务术语嵌入模型的术语预测参数、术语嵌入参数和语义类型预测参 数。
替代地,在一个或多个实施例中,用于获得术语的代表嵌入的方法 可以包括以下步骤。在一个或多个实施例中,响应于来自输入语料库的 具有如语义类型知识数据集中所指示的一个或多个语义类型的术语,可 以将术语与一个或多个语义类型相关联。对于来自输入语料库的术语的 上下文窗口,其中上下文窗口包括目标术语以及邻近术语集合,可以形 成训练术语对,其中每个训练对包括目标术语和邻近术语。在一个或多 个实施例中,可以将训练对视为两个集合:包括如下训练对的第一训练 对集合,所述训练对包括各自与一个或多个语义类型相关联的术语;以 及包括如下训练对的第二训练对集合,其中训练对的术语中的至少一者 不与一个或多个语义类型相关联。
在一个或多个实施例中,可以将第一训练对集合的嵌入表示和相关 联的一个或多个语义类型输入到多标签分类器中,所述多标签分类器输 出目标术语的邻近术语的预测语义类型集合;然后可以将第一训练对集 合和第二训练对集合的嵌入表示、来自多标签分类器的目标术语的邻近 术语的预测语义类型集合以及与每个目标术语相对应的同义词术语集合 输入到邻近术语分类器中以预测目标术语的邻近术语。
如先前所述,作为预处理阶段的一部分,可以收集或获得包括术语 的同义词的同义词知识数据集(其用来获得同义词数据的集合)以及包 括来自系统词汇表的术语集合中的每个术语的一个或多个语义类型的语 义类型知识数据集。而且,作为预处理阶段的一部分,可以处理文本语 料库以形成包括术语的输入语料库,其中将与系统词汇表中的术语相对 应的每个多词短语转换成与系统词汇表中的术语相对应的术语。
以下章节中提供附加的细节。
a)T1模型实施例-邻近术语语义类型预测。
给定输入词及其嵌入向量,这个任务是预测上下文窗口或邻近窗口 内的其邻近词的可能语义类型。例如,在图2中,输入目标术语“流_鼻 涕”225被大小为7的上下文窗口230内的两个症状术语(即,“打喷嚏” 和“喉咙_痛”)和一个疾病术语(即,“普通_感冒”)包围,但可以使用 其他上下文窗口大小。预期这个模型将较高概率分配到症状和疾病的语义类型。
在一个或多个实施例中,将任务T1转换为多标签分类问题,其中标 签的数量等于语义类型的数量。尽管存在可以使用的很多复杂多标签分 类算法,但在一个或多个实施例中,使用二元关联,这相当于针对每个 标签独立地训练一个二元分类器。使用二元关联的原因之一在于,它不 仅在计算方面有效,而且在损失函数是宏平均度量时可以产生最佳模型。 在一个或多个实施例中,将以下正则化的加权交叉熵目标最小化:
其中当输入词x
等式(3)中的项
在一个或多个实施例中,假设每个医学术语仅具有一个语义类型, 该语义类型在医学领域中是有效的,因为医学实体很少具有两个或更多 个语义类型。例如,“阿司匹林”是药物实体,并且它不可能具有疾病的 语义类型。然而,应当注意,当将任务T1扩展到一个术语可以具有多个 语义类型的其他领域时,可以利用上下文感知模型,诸如上下文相关网络。
b)T2模型实施例-邻近词预测。
在一个或多个实施例中,邻近词预测任务的方法通过利用鼓励语义 相关词共享类似的词嵌入的正则化项来修改词嵌入目标,从而使用先验 知识(例如,释义、同义词)改进词嵌入。在一个或多个实施例中,该 问题的方法被视作多任务设定。
在一个或多个实施例中,利用来自语义类型预测任务T1的结果增强 对任务T2的输入,并且还利用连续正则化项来鼓励两个任务的参数之间 的某一水平的一致性。
令θ=[V,U]表示与任务T1相关联的模型参数。待最小化的任务T2 的目标如下:
其中S(x
令
等式(5)中的一个问题是计算标准化因数的高复杂性,因为它涉及 对词汇表中的所有术语进行求和。为了解决该问题,在一个或多个实施 例中,使用负采样(NEG)来将原始“一对多”多类别目标转换成二元 分类目标。通过负采样,等式(5)的负对数可以重写为:
其中
3.训练实施例
在一个或多个实施例中,在有外部知识库支持的情况下在大文本语 料库上训练模型,其中语义类型和术语-术语同义词关系是可用的。在一 个或多个实施例中,使用小批量随机梯度下降(SGD),其中计划在某些 全局步骤之后将学习速率降低一半。
图4描绘了根据本公开的实施例的用于训练分层多任务术语嵌入模 型的方法。在每个时段期间,优化从低层任务(T1)到高层任务(T2) 的迭代,如图2中所描述。在一个或多个实施例中,将等式(3)中的L
在一个或多个实施例中,选择V而不是W作为最终嵌入的原因在于, V是在两个任务之间共享的并且针对这两个任务进行更新,而W仅在训 练邻近术语预测任务时更新。因此,V携带关于实体类型的更多语义信 息。在一个或多个实施例中,可以将W用作最终嵌入。
4.应用于同义词预测
尽管在术语嵌入学习期间利用同义词关系,但可用的同义词可具有 有限的覆盖率。为了提取更多同义词对,实施例可以训练更复杂的模型, 或者实施例可以使用简单模型(例如,线性支持向量机)但包括更多的 信息特征。由于本文的目标是学习更具代表性的嵌入,因此强调后一种 实施例。
为了捕获更有用的信息以用于同义词提取,基于训练的术语嵌入而 构建成对术语的特征向量,包括但不限于:1)添加两个嵌入向量;2) 两个嵌入向量之间的绝对差;3)两个嵌入向量的逐元素乘法;4)两个 嵌入向量的逐元素除法;5)两个嵌入向量的级联;和/或6)两个嵌入向 量的最大/平均池化。此外,在一个或多个实施例中,添加了另外两个特 征:1)一对术语向量之间的余弦相似度,以及2)字符串级的两个术语 之间的Jaro-Winkler相似度,从而实现实体名称匹配任务的最佳性能。
5.实现方式实施例
本领域技术人员应认识到,本公开的实施例可以用于各种有用目的。 潜在实现方式的示例包括但不限于以下:估计实体语义关联性;预测语 义类型;以及预测同义词,但本领域的技术人员应认识到其他应用。在 以下实验章节中,阐述并测试这些实现方式的示例。而且,下文也展示 了示例,诸如生成医学领域中的新同义词对。
D.实验
应注意,这些实验和结构仅通过说明的方式提供并且使用一个或多 个具体实施例在具体条件下执行;因此,这些实验和它们的结果都不应 被用来限制本专利文件的公开的范围。
从九本教科书、医学维基百科信息和医学QA论坛收集汉语医学语 料库。该语料库总共含有约10M语句。遵循统一医学语言系统(UMLS) 实体类型分类法,但将低级语义类型合并到其高级概念(例如,详细的 药物成分到药物)并且将若干语义类型重命名以使众包确认更容易。总 共存在18种类型:症状、疾病、药物、食物、疗法、手术、预防、医学 装置、部门、成因、身体部位、外伤、生物化学、检查和医学指标、生 理学、心理学、医学规章,以及微生物学。
1.医学实体和同义词收集
从医学维基百科网站,收集了70K专业实体。为了识别非正式医学 术语,使用众包来收集30K非正式医学描述。在200K语句上训练公知 的命名实体识别模型“CNN-BiLSTM-CRF”,其中按照“BIOES”方案来 注释最初的100K医学数据,但应当注意,可以使用其他命名实体识别模 型。由于存在18种语义类型,总共存在73个命名实体识别(NER)标 签。在另一个20k标记测试语句上获得90.7%F1得分。
利用训练的NER模型,从具有10M语句的大型医学语料库中发现 58K新实体和短语。在众包确认之后,保留51K并与初始的100K相结 合以建立属于18种语义类型的151K实体的医学词典。图6中提供了本 文使用的医学词典的概括统计。
为了收集初始同义词对以用于词嵌入和同义词模型训练,首先对维 基百科文本使用规则(例如,A又称B)和正规表达,以根据某些方案 识别同义词。由于规则具有有限的覆盖率,因此还使用非监督方法来收 集更多的同义词。具体地,使用word2vec模型在文本语料库上训练151K 实体的嵌入,然后应用基于密度的空间聚类(dbscan)来发现紧凑聚类。使用dbscan的一个原因在于,它不需要指定聚类的数量并且可以发现具 有任何形状的聚类。针对要在同一邻近域中考虑的两个样本,设定较小 距离阈值∈=2,并且针对样本的最小数量,设定minPoint=3,以便使一 个样本成为核心点。较小距离阈值可以帮助减少假阳性并且实现更高精 度。
在获得同义词聚类(30K)之后,使用众包来确保每个聚类仅含有高 质量同义词。将注释者分成若干组,并且两组人标记同一批量的数据。 对于不一致,使用第三组进行决定。平均注释者一致为0.80±0.09。总共 获得185K同义词对。
2.实验数据预处理实施例
为了准备用于词嵌入的训练数据,使用在github.com/fxsjy/jieba可得 的公知的汉语词分割工具jieba,并且利用医学词典进行定制,以将医学 文本语料库中的语句分成词和实体/短语的语句。这样的过程帮助词嵌入 算法将医学术语作为整体处理并且学习它们的表示。通过过滤掉出现不 超过五次的生僻词并且去掉标点符号,获得411,256个独特词和短语。分 割的语料库被分成3个部分:80%训练、10%确认和10%测试,以用于邻 近语义类型预测实验。
在所有的同义词对中,对25k对进行采样,其含有3586个独特实体 以用于子章节D.4中的实体语义相关性评估。剩余的160k对进一步分成80%训练、10%确认和10%测试,以用于子章节D.6中的同义词预测实验。 同义词对的80%分割还用作词嵌入训练的术语-术语知识。在表3中,概 括了数据集的特性。
表3:数据集的特性。“-”指示不分割。语义相关性评估对数据是从 整个185K同义词对中采样的,并且未在词嵌入训练中使用。
3.实验设置
设定以下值:词向量长度d为200,初始学习速率为0.001,邻近窗 口大小为5,最小批量大小为400,时段数量为20,并且负样本的数量为 20。
为了找到用于本文讨论的模型的最佳超参数,对连续正则化参数λ= {0.1,0.5,1,2,8}和同义词先验正则化λ
为了具有公平比较,在语料库数据的80%分割(8M语句)和术语- 术语同义词关系数据上实施每种方法(本文公开的实施例和竞争方法)。 而且,每种方法共享词向量长度、最小批量大小、负样本数量和时段数 量的相同设置。
将本文的方法的实施例与若干现有技术词嵌入方法进行比较。
米克洛弗(Mikolov)等人[汤姆·米克洛弗(Tomas Mikolov)、陈凯 (Kai Chen)、格雷格·科拉多(Greg Corrado)和杰弗里·迪恩(Jeffrey Dean)。2013年。对向量空间中的词表示的有效估计(Efficient Estimation of Word Representations in VectorSpace)。学习表示国际会议(ICLR)记 录(Proceedings of the InternationalConference on Learning Representations (ICLR))。1至12页]。使用gensim包(在radimrehurek.com/gensim/models/word2vec.html可得)来训练跳字模型, 其中配置与根据本公开的测试方法实施例相同。
余和德拉泽[上述]。使用词向量的联合模型训练代码(在 /github.com/Gorov/JointRCM可得)来训练了词向量,其中使用与上述相 同的设定。将“黄金”同一期的80%分割用作释义DB输入。C默认设 定。
王等人[上述]。该方法在训练期间仅利用了语义类型信息,并且不存 在要调谐的其他超参数。由于这种方法没有开源实现方式,因此在 Tensorflow中仔细地实施以用于比较。
法鲁基等人[上述]。这篇论文中的“改造”算法是使词向量对于同义 词对来说更相似的后处理方法。使用了源代码(在 github.com/mfaruqui/retrofitting可得),并且将其应用于来自米克洛弗等人 的词向量。从“黄金”同义词的80%分割(128K)构建了语义图。
w2vRegSTL。还创建了本文公开的方法的单任务实施例,其仅保留 高级处的邻近词预测任务。
4.实体语义相关性评估
这个评估是以直接方式测试所学习的词/短语表示的质量,而无需训 练任何监督模型。在所有的度量中,一对词向量之间的余弦相似度通常 用来量化两个词有多相似。然而,由于每种方法在不同嵌入空间中学习 词嵌入,因此直接比较所有方法的余弦值是不合适的。相反,基于每个 实体的余弦相似度来比较排名前k个实体的精度。
具体地,给定每种方法的实体,计算语义相关性评估对数据中的输 入实体与其余实体之间的余弦相似度,然后按降序对它们分类。由于已 知用于输入的评估数据内的真实同义词,因此可以将precision@k计算为 precision@k=tp/k,其中tp是输入实体的排名前k个实体中的真实同义词 的数量。
表4:针对k=1、3、5的平均precision@k。粗体字指示最佳性能。 用*标记的单元格指明本公开的测试实施例显著胜过(p<0.05)所有比较 的其他实施例。
在表4中,针对语义相关性评估数据中的独特3586个实体报告平均 precision@k。从表中观察到,原始的跳字模型表现最差,这是有原因的, 因为它没有利用任何语义知识。尽管王等人利用语义类型信息,但其性 能比米克洛弗等人稍好,但仍次于使用同义词关系的那些方法。法鲁基 等人的在嵌入训练之后的后处理方法比余和德拉泽以及w2vRegSTL表现 更差,其利用相同的术语-术语同义关系但在训练期间使用它们。
一个可能的原因在于法鲁基等人仅利用了训练同义词对,所述训练 同义词对与测试同义词数据可能具有很少重叠。在这种情况下,尽管法 鲁基等人实施训练数据中的同义词对的平滑性,但对于遗漏数据中的术 语,没有差别。相反,余和德拉泽、w2vRegSTL以及本公开的测试实施 例不仅从同义关系而且从文本迭代地学习嵌入,这将允许相似度经由一 些中间术语在两个孤立的术语之间传播。最终,本公开所提议的多任务 方法胜过t-测试下的具有统计显著性的所有基线(p<0.05),这展示了利 用语义类型和同义词知识两者以及分层安排两个任务的益处。
5.语义类型预测评估
由于将“邻近词语义类型预测”的辅助任务添加到跳字模型,因此 值得关于框架实施例对这个任务的有效性执行研究。
为了比较,固定来自竞争方法的所有词向量,并且训练同一二元关 联模型,如在等式(3)中所述,除了用对参数U的L
表5:“邻近词语义类型预测”任务的AUC(ROC曲线下的区域) 得分。MacroAUC意指宏平均AUC,并且MicroAUC意指微平均AUC。
表5示出了18种语义类型的微平均和宏平均AUC得分。观察到王 等人的表现比任何其他方法都差。其余基线表现彼此相似。同样地,测 试方法实施例实现约80%AUC的最佳结果,从而展示联合学习相关任务 的重要性。
6.同义词预测评估
由于本文的焦点之一是学习更好的医学实体/描述表示以用于同义词 预测,因此使用线性分类器而不是复杂的分类器来展示所学习的嵌入的 效用。如在子章节C.4中讨论,提取了扩展的嵌入特征和句构相似度特 征两者,从而导致每对术语总共1406个特征。为了公平的比较,使用相 同的特征构建过程,并且针对所有的竞争方法运行相同的分类器。
为了构建负样本,从我们的词典中对1.4M对医学术语进行随机采 样。这样的过程可以引起负样本,但给定相当大量的术语,机率较低。 也将1.4M负样本分成80%、10%、10%,并且与表3中示出的真实同义 词对相结合以产生训练、确认和测试数据。使用LIBLINEAR包中的L
表6:所有方法对测试数据的精度、调度和F
表6示出了关于测试数据的精度、调用和F
为了理解完整模型实施例的每个组件对同义词预测有多少贡献,执 行消融研究,并且在每个组件被停用时报告F
表7:关于同义词预测任务的消融研究:当从完整模型移除每个组件 而其余组件不变时的F
移除邻近词语义类型预测的辅助任务和同义词正则化分别将完整模 型实施例的性能显著降低2.09%和1.14%(具有p<0.01的显著统计t-测 试)。这样的大性能下降展示了引入辅助任务和结合同义词知识的重要 性。此外,停用成对词汇匹配特征将显著降低预测性能,这与王等人一 致。
7.应用于未标记症状对
在医学领域中,高语言使用可变性通常源于症状术语,因为用户可 以用不同的表达来描述相同的概念。为了生成更多的同义词对,将训练 的同义词模型实施例(例如,参见章节6)应用于在我们收集的同义词数 据中从未出现过的400M症状对,并且获得1M新的同义词对。尽管没有 办法彻底地确认新生成的对的准确性,但通过遵循用于实体语义相关性评估的相似过程来执行人工确认。
首先,随机地选择200个症状作为查询,并且基于概率得分收集每 个症状的前5个最同义的术语,然后将每个术语手动地标记为是不是查 询实体的真实同义词,并且计算precision@k的度量。最后,计算平均 precision@k,并且结果在图6中报告。与表6相比,精度降低了。可能 的原因在于,只对未标记数据中的彼此非常相似的症状对进行了采样, 不论语义类型如何,这都比随机采样更具挑战性。然而,测试模型实施 例仍实现了73%精度,直到k=3。
8.一些附加的替代实施例
仔细分析在人工确认期间发现的一些错误以提供对附加实施例的见 解来解决各种潜在问题。尽管实施例成功地联系了语义相等但词汇不同 的描述,但存在阻止测试实施例完美地起作用的一些限制:
区别共享极相似的词汇模式的身体部位。为了减少此类错误,可以 在应用同义词预测模型之前采用主题匹配模块来检测两个短语是否共享 相同的主题。
区别同义词和语义相关性。尽管词嵌入已经捕获了某一水平的语义 相关性,但要区分同义词与语义相关性之间的差异并不始终可靠,特别 对于词汇相关且语义相关的术语对来说。例如,胸部痛(chest pain)和 胸部胀(chest swelling)通常相互共存,并且它们的嵌入彼此相当类似, 因此被预测为同义的。为了最小化此类错误,可以使用涵盖此类情况的 更高质量负样本来引导分类器学习细微差异。
感测位置差异。例如,肚脐周围疼痛(pain around the navel area)和 肚脐右边疼(navel pain on the right side)属于肚脐疼(navel pain)的相 同概念,但具有不同的位置。严格地说,它们可以不被视作同义词对。 为了减轻此类问题,可以使用更多的此类负样本,并且可以提取位置特 征的副词以学习位置差异。
E.一些结论
本文呈现了分层多任务词嵌入模型的实施例,以学习更具代表性的 实体嵌入并将它们应用于同义词预测。提供医学领域中的示例。通过引 入邻近词语义类型预测的辅助任务并且充分利用医学领域知识,模型的 实施例产生更具语义含义的词/术语表示,如由实体语义相关性、邻近词/ 术语语义类型预测和同义词预测评估。尽管本文呈现的示例是在医学领 域,但模型的实施例可以应用于其他领域,特别是在外部知识较大并且 语言使用可变形极高的情况下。此外,还创建了包括用于实体、描述和 同义词对的注释的汉语大型医学文本语料库。应当注意,实施例可以应 用于其他语言的医学领域。还应当注意,实施例还可以用于端到端架构 以整合词/术语表示学习和同义词预测。
J.计算系统实施例
在一个或多个实施例中,本专利文件的各方面可以涉及、可以包括 一个或多个信息处理系统/计算系统或者可以在一个或多个信息处理系统 /计算系统上实现。计算系统可以包括可操作来运算、计算、确定、分类、 处理、发送、接收、检索、发起、路由、切换、存储、显示、通信、展 示、检测、记录、再现、处置或利用任何形式的信息、情报或数据的任 何手段或手段的集合。例如,计算系统可以是或可以包括个人计算机(例 如笔记本计算机)、平板计算机、平板手机、个人数字助理(PDA)、智 能电话、智能手表、智能包、服务器(例如刀片服务器或机架式服务器)、 网络存储设备、照相机或任何其他合适的设备,并且可以在尺寸、形状、 性能、功能和价格上变化。计算系统可以包括随机存取存储器(RAM)、 一个或多个处理资源,诸如中央处理单元(CPU),或者硬件或软件控制 逻辑、ROM和/或其他类型的存储器。计算系统的附加部件可以包括一个 或多个磁盘驱动器、一个或多个用于与外部设备通信的网络端口,以及 各种输入和输出(I/O)设备,诸如键盘、鼠标、触摸屏和/或视频显示器。 计算系统还可以包括一条或多条总线,所述总线可操作以在各种硬件部 件之间传输通信。
图7描绘了根据本公开实施例的计算设备/信息处理系统(或计算系 统)的简化框图。应当理解,系统700所示的功能可以操作为支持计算 系统的各种实施例,但应当理解,计算系统可以被不同地配置并包括不 同的部件,包括具有更少或更多的如图7所示的部件。
如图7所示,计算系统700包括提供计算资源并控制计算机的一个 或多个中央处理单元(CPU)701。CPU 701可以用微处理器等实现,并 且还可以包括一个或多个图形处理单元(GPU)719和/或用于数学计算 的浮点协处理器。系统700还可以包括系统存储器702,其可以是随机存 取存储器(RAM)、只读存储器(ROM)或两者的形式。
还可以提供多个控制器和外围设备,如图7所示。输入控制器703 表示各种输入设备704的接口,诸如键盘、鼠标、触摸屏和/或触笔。计 算系统700还可以包括用于与一个或多个存储设备708接口连接的存储 控制器707,每个存储设备包括诸如磁带或磁盘的存储介质,或者可以用 于记录操作系统、实用工具和应用程序的指令程序的光学介质,所述指令程序可以包括实现本公开的各个方面的程序的实施例。存储设备708 也可以用于存储已处理的数据或根据本公开要处理的数据。系统700还 可以包括显示器控制器709,用于提供显示设备711的接口,该显示设备 可以是阴极射线管(CRT)、薄膜晶体管(TFT)显示器、有机发光二极 管、电致发光面板、等离子面板或其他类型的显示器。计算系统700还 可以包括一个或多个外围设备706的一个或多个外围控制器或接口705。 外围设备的示例可以包括一个或多个打印机、扫描仪、输入设备、输出 设备、传感器等。通信控制器714可以与一个或多个通信设备715接口 连接,这使得系统700能够通过包括互联网、云资源(例如以太网云、以太网光纤通道(FCoE)/数据中心桥接(DCB)云等)、局域网(LAN)、 广域网(WAN)、存储区域网(SAN)在内的各种网络中的任何一种或通 过任何合适的电磁载波信号(包括红外信号)连接到远程设备。
在所示的系统中,所有的主要系统部件都可以连接到总线716,该总 线可以表示布置一条物理总线。然而,各种系统部件可以或可以不彼此 物理接近。例如,输入数据和/或输出数据可以从一个物理位置远程传输 到另一个物理位置。此外,可以通过网络从远程位置(例如,服务器) 访问实现本公开各方面的程序。这种数据和/或程序可以通过各种机器可 读介质中的任何一种来传送,包括但不限于:诸如硬盘、软盘和磁带的 磁性介质;诸如CD-ROM和全息设备的光学介质;磁光介质;以及专门 被配置为存储或存储并执行程序代码的硬件设备,诸如专用集成电路 (ASIC)、可编程逻辑设备(PLD)、闪存设备以及ROM和RAM设备。
本公开的各方面可以用指令编码在一个或多个非暂时性计算机可读 介质上,该指令用于一个或多个处理器或处理单元以使得步骤得以执行。 应当注意,一个或多个非暂时性计算机可读介质应当包括易失性和非易 失性存储器。应当注意,替代实现方式是可能的,包括硬件实现方式或 软件/硬件实现方式。硬件实现的功能可以使用ASIC、可编程阵列、数字 信号处理电路等来实现。因此,任何权利要求中的术语“装置”旨在涵 盖软件和硬件实现方式。类似地,这里使用的术语“计算机可读介质” 包括其上具有指令程序的软件和/或硬件,或者它们的组合。考虑到这些 实现方式,应当理解,附图和所附描述提供了本领域技术人员编写程序 代码(即,软件)和/或制造电路(即,硬件)以执行所需处理所需的功 能信息。
应当注意,本公开的实施例还可以涉及具有非暂时性有形计算机可 读介质的计算机产品,该计算机可读介质上具有用于执行各种计算机实 现的操作的计算机代码。介质和计算机代码可以是为本公开的目的专门 设计和构造的那些,或者它们可以是相关领域技术人员已知或可获得的 类型。有形计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁 带的磁性介质;诸如CD-ROM和全息设备的光学介质;磁光介质;以及 专门被配置为存储或存储并执行程序代码的硬件设备,诸如专用集成电 路(ASIC)、可编程逻辑设备(PLD)、闪存设备以及ROM和RAM设备。 计算机代码的示例包括机器代码,诸如由编译器产生的代码,以及包含 由计算机使用解释器执行的高级代码的文件。本公开的实施例可以全部或部分实现为机器可执行指令,其可以在由处理设备执行的程序模块中。 程序模块的示例包括库、程序、例程、对象、部件和数据结构。在分布 式计算环境中,程序模块可以物理地位于本地、远程或两者兼有的环境 中。
本领域技术人员将认识到,没有任何计算系统或编程语言对本公开 的实践是至关重要的。本领域技术人员还将认识到,上述许多元件可以 在物理上和/或功能上分成子模块或组合在一起。
本领域技术人员将理解,前面的示例和实施例是示例性的,并不限 制本公开的范围。本领域技术人员在阅读说明书和研究附图后显而易见 的所有置换、增强、等同物、组合和改进都包含在本公开的真实精神和 范围内。还应当注意,任何权利要求的元素可以用不同的方式布置,包 括具有多个从属性、配置和组合。
- 用于同义词预测的分层多任务术语嵌入学习
- 用于预测触摸解释的多任务机器学习