张克亮,李芊芊
(战略支援部队信息工程大学洛阳校区 河南 洛阳 471003)
基于本体的语义相似度是指本体中两个概念在语义上的相似程度.在语义相似度计算中,本体是一个通用的载体.本体是对特定领域知识的抽象化和形式化描述,通过为领域中的概念提供结构化、无歧义的知识表示,来实现对概念及其相互关系的结构化描述[1].在英文语义相似度的计算中,常常涉及到的通用本体是概念语义分类词典WordNet,或者是知识百科Wikipedia等;在中文语义相似度的计算中,广泛使用的本体知识资源是同义词词林[2]、知网[3]和HNC语义知识库[4].其他一些领域本体也经常使用,如记载雷达本体知识库[5]、航空领域本体知识库等[6].
基于本体语义相似度的相关研究在国内起步于2004年,文献[8]借鉴计算语言学中的语义距离思想,提出了RDFSchema构词所描述的本体概念相似度计算方法.自此以来,国内相关研究主要包括5个方面:(1) 在对国外经典模型进行介绍的基础上进行理论比较和改进,如黄果、周竹荣等[9]对Leacock模型的改进;(2) 研究基于同义词词林或领域本体的中文词语语义相似度研究,如田久乐、赵蔚[10]的基于同义词词林的研究方法;(3) 研究基于《知网》的中文词语语义相似度研究,如夏天等[11]提出的基于知网、面向语义、可扩展的相似度计算方法;(4) 对前人成果的总结、回顾和展望,如文献[12-13]对相关研究的梳理和展望;(5) 基于语义相似度的相关应用研究,如机器翻译研究[14]、句子相似度计算研究[15]、航空领域知识查询研究[6]、越南军情本体知识库问句分析处理研究[16]、基于领域本体的概念格语义匹配研究[17]等.目前国内最新的研究成果是基于混合式的计算方法,如基于概念的实例、定义和结构加权的相似度计算方法[18],基于信息内容、距离、属性的自适应语义相似度计算方法[19].这些混合式计算方法领域本体选取各不相同,算法参数设定方法各异,虽然最新的语义相似度计算算法层出不穷,但是在基准数据集的基础上,现有相似度计算的模型提升空间有限.
基于本体的语义相似度评测主要包括内部评测和外部评测,对于一种新的评测方式通常采用内部评测.在英语中,有很多公开的基准数据集为词语相似度的度量服务,如M&C数据集和R&G数据集.而在中文中,这样的基准数据集一度空缺,并严重成为限制中文词语相似度计算发展的瓶颈.
基于本体的语义相似度计算分为基于距离的方法、基于信息量的方法、基于属性的方法和混合式方法4种代表性方法.
基于距离的语义相似度计算方法的核心是通过量化概念词,通过本体概念结构树中的路径长度以计算其语义相似度.基本思想是:两个概念词在本体层次树中的路径长度越大,相似度越小.代表算法有Shortest Path方法[20]、Weighted Links方法[21]、Wu-Palmer方法[22]、Leacock和Chodorow方法[23]、Hirst-Stonge方法[24]、Yang和Powers方法等[25].
文献[20]认为概念词对间的相似度与其在本体概念结构树中的距离有关,前提假设为所有边的距离同等重要.文献[21]在文献[20]的基础上,考虑了边的权重问题,如概念词对的位置信息(如深度和密度等)和边所表征的关联强度等.该方法将路径上各个边的权值相加,而不是简单统计概念词对之间边的数量.文献[22]与文献[20]和文献[21]方法不同,不是通过计算概念词对之间的路径长度来计算概念词对相似度,而是基于它们与其最近公共父节点概念词的位置关系计算相似度.文献[23]考虑了本体分类树自身的深度对被比较概念词相似度的影响.文献[24]在考虑路径因素的基础上,增加了转向因素,该方法认为如果概念词对的路径越短,且遍历过程中改变路径方向的次数越少,那么概念词对的语义相关度越高,该方法开辟了一个全新的视角,相似度在很大程度上取决于方向问题而不是概念关系,但实验证明该方法的表现并不好.文献[25]在文献[24]方法的基础上,充分利用了is-a、equivalence和part-of关系,设计了两种衡量名词词对间相似度的搜索算法(BDLS搜索和UBFS搜索)和两种衡量词对间相关度的算法,此算法在Resnik数据集上获得了0.921的关联度,但是该算法有7个需要调节的参数,增加了算法性能的不确定性.
基于距离的方法即度量概念词之间的连接边数量的最小值,当这种方法应用于大规模的本体时,会忽略掉多种其他的继承关系.该方法没有考虑其他影响语义相似度的因素,比如公共祖先节点的分布与数量等,因此只选取最短路径的方法忽略了本体中的很多概念结构知识.后人在此方法的基础上增添了位置信息、权值、关系类型等因素,从而衍生出了诸多方法,但是这些方法更多地依赖于本体中语义连接的完整性和本体的覆盖能力,适用于具有良好的语义覆盖能力的本体,如WordNet.
基于信息量的相似度计算将概念信息量与本体知识相结合,基本思想为:概念对之间共享信息量越高,差异信息量越小,相似度越大.共享信息量由共享父节点的信息量表示,差异信息量由各概念与共享父节点的信息差量表示.在本体概念结构树中,每个概念子节点都是对其祖先节点概念的细化和具体化,因此可以通过被比较概念词的公共父节点概念词所包含的信息内容衡量它们之间的相似度.
文献[26]首次提出使用最近公共父节点的频率值来表征概念词对间的语义相似度.文献[27]在文献[26]方法的基础上,提出用公共父节点的信息内容计算概念词对间的相似度.该方法与文献[26]的算法不同之处在于,它不是基于最近公共父节点的信息内容,而是基于公共父节点中信息量最大的信息内容.该方法用概念出现概率的倒数来表征概念的信息量,概念的出现概率越大,该概念的信息量越少.上述两种算法都只考虑了被比较概念词a和b的共享信息内容,文献[28]在此基础上考虑了a和b自身包含的信息内容,并将相似度定义为描述概念的共性所需的信息量和两个概念的信息量总和的比值.当概念词对属于同一个本体时,文献[28]比文献[27]方法效果更好,但文献[28]的缺点是强烈依赖于精确的标注信息,当两个对象的标注模糊时,该方法容易产生误差.文献[29]在信息量的基础上,直接通过对语义距离的计算来表征概念词对间的相似度,并进一步考虑了本体有向无环图的稠密程度、 节点深度和连接类型等因素来计算概念的语义相似度.
文献[26-29]在计算信息量时,不仅利用了处理后的大型语料库来计算概念出现频率,还利用了WordNet等本体中的概念层次关系.这种方法的缺点有:(1) 处理大型语料库耗时耗力,而且语料库需要涵盖本体中的概念集;(2) 方法效果在很大程度上取决于语料库的类型和规模,通用语料库和专用语料库的选择对信息量的计算有很大影响.
文献[30]提出只利用本体概念结构树来计算信息量的方法,以排除语料库的影响.该算法的前提是拥有一个概念架构完全的本体,而且认为架构完全的本体可以很好地量化概念的信息量,并不需要语料库的辅助支持,该假设的要求较高,且主观性较强,该方法计算复杂度低,避免了数据稀疏.Pirro[31]将Tversky的基于属性的相似度度量的思想引入P&S相似度度量算法,并将其投射到信息量领域,同时借鉴文献[30]计算信息量的方法,该方法效果比当时最优算法的效果好,纠正了文献[27]方法中问题,如相同概念间的相似度值不为1的问题,而且该算法不需要调整参数.文献[32]对文献[27]语义相似度计算方法进行修改,不再依赖处理过的语料,而是从网络等未处理的大规模语料中获取信息量,目的是为了减少对语料的依赖,而且充分利用本体知识中的公共父节点来减弱词汇共现中的歧义现象带来的影响.文献[33]提出一种新的信息量计算模型,采用上位词、下位词、相对深度和最大节点等因素,计算WordNet中单父节点或多父节点的节点信息量.该算法补充了多父节点信息量的计算方法,可以敏锐感知上位词、下位词、相对深度和最大节点等因素的不同引起的信息量差别,且能有效解决单父节点和多父节点相似度计算问题.
基于属性的语义相似度计算模型的基本原理是衡量两个概念对应的属性集的相似程度.概念属性分为数据类型属性和对象类型属性.基于属性的语义相似度方法试图解决基于距离的方法所反映的问题,利用本体属性的重叠程度衡量语义相似度,而不是利用路径长度来衡量,由此可见,基于属性的方法更适合解决跨本体的语义相似度问题,而基于距离的方法却不能解决该问题.
文献[34]从属性的角度出发比较两个概念的相似度,综合考虑了两个概念间相同的属性和不同的属性,并认为相同的属性可以增加概念间的相似度,而不同的属性会减少概念间的相似度.该算法的关键在于属性的选择,算法的缺点在于没有区分数据类型属性和对象属性的不足,只单纯考虑了属性信息.文献[35]针对跨本体语义相似度计算,提出了一种新的算法模型,综合考虑了概念词的位置信息和属性信息,包括同义词集、语义邻节点和特征属性项等.该算法可以计算单个本体中概念词间的相似度,也可以用来计算多个本体中概念词间的相似度,是跨本体语义相似度计算研究的思想源泉之一.文献[36]提出一种基于特征的方法,该方法利用WordNet中的同义词集合、概念释词和相邻概念集来衡量相似度,认为如果概念的同义词集合、释词的相邻概念集在词法上相似,那么这两个概念的相似度比较高.文献[37]最早提出基于概念释词的方法,如果两个概念的意义相近,那么这两个概念的定义中往往有相同的单词,因此该方法可以通过两个概念在本体中的释词重叠程度获得两个概念的语义相似程度,还可以区分多义词.但是概念的定义里涵盖的单词一般比较少,两个概念的定义中重叠的单词数也相应较少.
为了解决上述问题,文献[38]在文献[37]的基础上提出了一种基于概念释词重叠的改进方法,用n2衡量n个相同释词的相似度值,还充分利用了上下位、部分-整体等关系相邻的概念释词.文献[39]通过构建上下文向量来度量概念上下文的信息,从概念的释词提取上下文单词作为上下文向量,并取两个概念的上下文向量的余弦值来表达概念间的相似度.文献[40]提出一种新的基于属性的相似度计算方法,该方法只使用概念结构知识作为属性特征,而不使用本体中的其他信息.因为概念结构知识占本体知识的80%左右,而本体中其他知识的描述较少,并且单属性方法避免了权重调节问题.
综上所述,基于属性的方法普遍有两个缺点:(1) 相较于基于距离的方法,基于属性的方法需要利用更多的语义知识来估量被比较概念对之间的相同属性和不同属性.但是只有WordNet等大型本体才包含丰富的语义知识,只有少数领域本体才包含这种语义知识[41].(2) 参数问题,该方法需要利用参数来调节不同属性间的权重,而不同本体的参数选择不同,这影响了该方法的通用性.
1.4.1混合式方法 混合式相似度计算方法综合考虑上述几种算法,用多种因素来综合表示相似度,并为每个因素附以权重.尽管在具体任务上,混合式方法比基于距离的方法效果更好,但是混合式方法需要根据本体设定权重,权重调节的不确定性影响了这种方法的普适性.
前面介绍了前3种因素(距离、信息量和属性)的作用,下面简略介绍后3种因素:(1) 概念词联通路径上各个边的类型[42];(2) 概念词在本体层次树中所处区域的密度;(3) 概念词在本体层次树中所处的深度.
混合式方法的代表算法最早是Li等[43]提出的,该算法同时考虑了路径长度、概念深度等要素.但是该参数的选择缺乏理论基础,只是一次实验的经验值,并不能应用到其他的本体中.文献[44]根据根节点定义概念结构树中的聚簇,提出了将最小路径长度和概念深度结合起来的基于聚簇的方法.其中,利用两个概念的共同特异度,阐释了“低层级的概念对之间的相似度大于高层级概念对的相似度”的概念.文献[45]提出OSS相似度计算方法,该方法将概念的A-priori分值与概念距离结合起来.该方法首先计算概念的A-priori分值,其次计算概念对的分值差,在此基础上计算概念对之间的相似度值.文献[46]提出基于图模型的相似度计算方法,该方法是以树为主体的本体结构并混合了释词方法.文献[47]融合基于图的相似度计算方法和基于信息量的计算方法,综合考虑概念在WordNet中的路径长度、局部密度、概念信息量和概念深度等因素,提出一种新的OHIIC混合式语义相似度计算方法.
1.4.2混合式方法在知网中的应用 在《同义词词林》和WordNet中,概念是描写语义的最小单位,每一个概念都是这个层次体系中的一个节点.在《知网》中,每一个概念是通过一组义原来表示,义原才是这个层次体系中的一个节点,而且一个概念是通过专门的“知识描述语言”表达的义原的集合.这些特殊之处表明,不能全部套用基于WordNet的方法来解决基于《知网》的语义相似度计算问题.如何通过“义原”的相似度得到词语/概念的相似度,成为基于知网计算中文词语相似度的关键所在,而混合式方法为研究知网中的语义相似度问题提供了很好的角度.
文献[48]最早提出基于《知网》的词汇语义相似度的方法,该方法借鉴了“信息量”的思想,采用了“整体的相似度等于部分相似度加权平均”的思想,认为两个孤立词语的语义相似度是所有概念之间相似度的最大值,将概念相似度分解为义原相似度的加权组合,义原相似度通过上下位关系得到语义距离并进行转换.文献[49]综合考虑“距离”和“信息量”两个因素,将义原相似度计算分为两大类:一种是在树状层次结构下计算两个节点之间的路径长度;一种是基于两个节点所含的共有信息大小.文献[50]发现文献[48]算法中存在着一些具有对同义或反义的词语与同义、近义词语一样具有较高的相似度的问题,例如利用文献[48]算法得到词语“美丽”和“贼眉鼠眼”的语义相似度为0.814,这种结果不利于进行词语的极性识别分析.基于文本情感色彩分析的需要,该研究将词语相似度的取值范围规定为[-1,+1],这种方法改善了文献[48]算法中出现的问题,并在词语极性识别的实验结果中有良好的表现.
基于本体的语义相似度评测主要有两种方式:(1) 内部评价,即计算相似度计算值与领域专家值之间的皮尔森相关系数.因为语义相似度的计算就是利用形式化的表述和算法模拟人脑,衡量概念相似程度的过程,所以领域的专家就是衡量语义相似度的最高标准与权威;(2) 外部评价,即将相似度计算值应用于命名实体识别、关系抽取等高层级的工作.显然,外部评价比内部评价更有效,但是也更复杂.
对于一种新设计的语义相似度算法而言,往往采用内部评价的方式,步骤如下:(1) 选取概念词对构建基准数据集;(2) 获取不同概念词对相似度的领域专家经验值;(3) 采用新设计的相似度计算方法衡量概念词对的相似度值;(4) 最后将新算法的相似度值与专家经验值对比.在这些步骤中,最重要的是基准数据集的构建.
在英语中,有很多公开的基准数据集为词语相似度的度量服务.第一个数据集是由文献[51]设计的,数据集包括65对名词词语和领域专家给出的每对词语的相似度值.在RG数据集的基础上,文献[52]从65对词汇中选取了30对作为数据集,研究语义相似度在每个单词上下文中的作用.应用最广泛的是Finkelstein[53]的WordSim-353数据集,包含353对词汇,这些测试集都按照从语义高度相关到语义不相关进行分类.2012年,文献[54]建立了一个新的数据集,不仅提供了词语对,还提供了词语的上下文.文献[32]在文献[51]和文献[52]的基准数据集上,对各种代表性方法的效果进行比较和总结.
Hill等[55]对上述这些数据集进行综合研究,认为这些数据集存在共同的缺点:(1) 没有合理地处理语义关联却不相似的词对(如歌手和麦克风);(2) 在标注数据集词对的相似度时,标注任务的模糊可能影响人工标注的一致性.Hill认为在这些数据集的基础上,现有计算相似度的模型已经无法提升,但是通过人工评测发现,这些模型在表现上依旧远低于人类,于是他建立了一个新的数据集Simlex-999来解决上述问题.
文献[56]总结肯定了Hill的研究成果,Simlex-999是语义相似度计算评测的重要一步,但同其他传统方法一样,存在一些根本问题.他们首先提出了两个术语,优先关系(preferred-relation)(如上下位关系)和非优先关系(unpreferred-relation)(如关联关系),其中前者的相似度应高于后者.他们认为在构建数据集时,研究人员为每对词语的相似度打分的评级系统不够科学,用斯皮尔曼衡量系统拟合效果也不够精确.于是提出改进办法:(1) 词对的标注任务不再是模糊的打分任务,而是精确的排序任务;(2) 每一类数据集只单纯研究一种优先关系;(3) 两对比较排序的词对中含有相同的单词,例如(猫,宠物)和(猫,动物),而非(猫,宠物)和(冬天,季节);(4) 增加可信度指标,即如果标注者对于两个词对的排序争议较大,则该排序在评估系统中的比重会相应减小.实验证明,按照上述原则构建的数据集拥有较高的评分者信度,可以支持细粒度的模型效果分析.
在中文中,这样的基准数据集一度空缺,并严重成为限制中文词语相似度计算发展的瓶颈.文献[57]最早从事相关工作,挑选了39对中文词语作为基准数据集.文献[58]在Semeval-2012任务中评测中文词语相似度,将WordSim-353数据集翻译为中文,并对其进行人工相似度评判,但参加该测试的单位很少.Guo等[59]从HowNet中挑选401对多义词构建中文多义词相似度数据集,但是该数据集主要研究多义词,数据多样性比较受限.目前,中文的基准数据集较为权威的是NLPCC会议[60]提供一个关于中文词语相似度的基准数据集PKU-500,数据集包括500对词语和每对词语的相似度值.在NLPCC会议中采取内部评价的方法,并提供基准数据集作为评价标准.NLPCC主要从领域、频率、词性、词长、词义、极性等角度在人民日报和微博中挑选独立单词,得到470对词语,再加上从WordSim-353中翻译得到的30对词语,最后构成了500对词语的数据集.相似度的标注没有特定的标准,主要依靠标注者的语言直觉.为了避免小规模数据集的过拟问题,NLPCC从词典中随机生成了99 500个词对,将它与500个从同义词林中抽取的词对组合在一起,形成规模为10万的测试集.NLPCC使用斯皮尔曼等级相关系数评价利用算法,得到的相似度值与基准数据集的相似度值统计相关性.
除此之外,还可以采用皮尔森相关系数与欧氏距离评价统计相关性.皮尔森相关系数是一种线性相关系数,反映两个变量的线性相关程度,相关系数越高,说明算法计算得到的相似度值与专家经验值的吻合度越高.此外,欧氏距离也往往用来衡量两个变量的相似程度.
本文回顾了几种代表性语义相似度计算方法的发展脉络,分析了它们的内容方法,并比较了它们的优缺点和实验效果,最后总结了语义相似度的评测方法,基于当前的研究成果,笔者认为今后基于本体的语义相似度计算研究有几个发展方向.
(1) 基于本体的语义相似度计算方法不依赖于语料库,其计算结果与领域专家经验值较为一致,在轻量数据集中表现稳定,是一个较好的选择.但是随着大数据的兴起,研究者应将基于大规模语料库的计算方法和基于本体的计算方法融合起来,根据数据集的规模选择性使用上述两种方法.同时可以借鉴关系抽取中的弱监督学习方法,加强基于释词的研究,将本体中的概念与可靠的网络知识库(如Wikipedia、FreeBase等)中的词条进行匹配,充分挖掘知识库中的语义信息.
(2) 随着知识图谱技术的快速发展,在NWD方法[61]的基础上诞生了NSWD方法[62].Normalized google distance是NWD方法的典型代表,利用Google返回的网页数量计算概念的共现比例,共现比例越大,则语义相似度越高.NSWD在NWD的基础上利用知识图谱(如FreeBase、DBpedia等)的节点属性,利用图结构中的出度和入度比例表示相似度,属性重合度越高的概念,其语义相似度越高.针对知识图谱领域,Sematch框架[63]主要计算概念、词语和实体之间的语义相似度,其计算方法主要依靠知识图谱的结构性知识,如节点深度、路径长度、最近父节点和统计信息量等.当前,基于知识图谱的语义相似度研究初露锋芒,它将传统的本体方法嫁接到知识图谱的成果,虽然目前该方法的准确率仍低于效果最好的本体方法,但是依托知识图谱的方法将是下一步研究的关键所在.
(3) 目前,绝大多数算法的效果评估通常将计算结果与领域专家经验值进行比较,但是由于知识背景和认知经验不同,判断结果主观性很强.针对该问题,从人工打分的角度考虑,应将被比较概念词对的相似度打分问题细化为相似度排序问题,并筛选评分者信度高的数据集;从数据集的构建角度考虑,应注重基准数据集的分类构建,针对不同的问题(如一词多义、上下位概念语义计算等)构建相应的基准数据集.
(4) 多数计算方法只考虑单一本体内的语义相似度计算问题.但是计算单一本体内的语义相似度,不能满足应用的需求,跨本体的语义相似度计算和本体的自扩展将是发展方向.因此应该加强跨本体的语义相似度的相关研究,为本体匹配技术提供坚实基础.针对该问题,应注重基于属性的语义相似度计算方法,充分考虑同义词集、特征项、语义邻节点间相似度、概念释词等属性.
(5) 基于本体的语义相似度的应用范围越来越广泛.在医学领域,通常利用基于基因本体的语义相似度,度量基因的功能性相似度[64].在聚类算法[65]方面,利用语义相似度改进针对文章的语义表示,从而提升聚类算法的性能.该研究可拓展到潜在语义挖掘[66],利用WordNet来衡量源概念和目标概念的语义相似度,进而处理中文的隐喻问题.在系统综述[67]方面,也可以利用基于本体的语义关系发现文章之间的语义关系,达到识别相关文章的目的.