浅议语义相似度计算

2015-05-30 22:54杨凡
今日湖北·下旬刊 2015年1期

杨凡

摘 要 语义相似度研究的是两个词语的相似性,被广泛应用于信息检索、信息提取、文本词义消歧、机器翻译等领域中。本文介绍几种主要的语义相似度计算方法,以供大家参考。

关键词 语义相似度 词义相似度 语义距离

一、引言

自然语言的词语之间关系比较复杂,我们又时常要把这种复杂关系进行比较,所以要将其转化为简单的数量关系,再进行比较。语音相似度计算正是这样的方法。

词语的语义相似度计算有3种方法:基于知识体系的方法、基于語料库的方法、基于网络的方法。基于知识体系的方法,大多以WordNet作为基础。WordNet是语义字典,它根据词条的意义将词语分组,每一个具有相同意义的字条组称为一个synset(同义词集合)。WordNet为每一个synset提供了简短,概要的定义,并记录不同synset之间的语义关系。它用概念之间的语义关系形成符合常识和语法的语义关系图。基于信息量的方法主要是通过词语上下文的信息,用统计的方法求解。基于网络的方法,主要是利用搜索引擎的搜索结果进行计算。

二、语义相似度概念

信息论中任何两个词语的相似度取决于它们的共性(Commonality)和个性(Differences)。公式如下:

其中,分子表示描述A,B共性所需要的信息量;分母表示完整地描述A,B所需要的信息量。

刘群、李素建认为语义相似度就是两个词语在不同的上下文中可以互相替换使用而不改变文本的句法语义结构的程度。两个词语,如果在不同的上下文中可以互相替换且不改变文本的句法语义结构的可能性越大,二者的相似度就越高,否则相似度就越低。对于两个词语W1,W2如果记其相似度为Sim(W1,W2),其词语距离为Dis(W1,Wz),根据刘群、李素建的公式:

其中a是一个可变参数,含义是当相似度为0.5时的词语距离值。

相似度被定义为一个0到1之间的实数,当两个词语完全一样时,相似度为1;是完全不同的概念时,它们的相似度接近于0。

三、语义相似度的计算方法

常用计算方法有基于知识体系的计算,基于大规模语料库的计算,基于网络的计算。

(一)根据分类体系计算词语语义距离的方法

这种方法也称为基于树的语义相似度计算方法,大体分为两种:一是基于距离的语义相似性测度;二是基于信息内容的语义相似性测度。主要是利用语义词典,我们可以把概念看做节点,关系看作边,这样WordNet的结构就可以看作是图结构。

(1)基于树状层次计算语义相似度的基本思想

这是以边为距离来计算语义相似度。如果树状语义网中所有的边即树的分支是等长的,那么边的数目可以作为距离的测度。假定要确定词语W1.W2之间的语义相似度,可以在该语义网中首先找到包含待比较词的那些子概念(或义原)。在此情况下,两者之间的语义相似性可以用连二者之间的最短路径来表示。例如,在图1(取自Wordnet本体中的一小部分)中,kid和boy之间的最短路径是}kid一juvenile一persor一male-girl,最小路径长度为4。而educator和boy之间的最小路径长度为5。因此,girl比teacher在语义上更接近于boy。该测度算法在基于Wordnet的语义网中获得了较好的计算结果。

图1

(2)基于《知网》hownet的语义相似度计算

知网(英文名称为HowNet)是一个以汉语和英语的词语所代表的概念为描述对象,以揭示概念与概念之间以及概念所具有的属性之间的关系为基本内容的常识知识库。其中描述了16种关系,如上下位关系、部件-整体关系、属性-宿主关系等。《知网》中有两个主要的概念:“概念(义项)”与“义原”。“概念”是对词汇语义的一种描述。每一个词可以表达为几个概念。“概念”是用一种“知识表示语言”来描述的,这种“知识表示语言”所用的“词汇”叫做“义原”。“义原”是用于描述一个“概念”的最小意义单位,用多个义原对概念进行描述。目前有1500多个义原,但可以组合数量庞大的词汇。用义原计算可以有效提高效率,并且义原的相似度也可以根据其在义原树中的位置得出。因此它并非树状结构,而是一种网状结构;同时借助义原和符号对概念进行描述。对于两个汉语词语a和b:,如果A有n个义项(概念):sll,Slz}...,Sln,B有m个义项(概念):Szl,Szz,...}Sz}n,则词语A和B的相似度是各个义项相似度的最大值,义项又由义原表示,这样就将词语相似度转化为两个词语义原之间的相似度。并且由于义原在知网中所处的层次不同,它们在整体相似性中所占的比重也不一样,对词语相似性的影响程度也有所有不同。

(二)利用大规模的语料库进行统计

语料库语言学(Corpus Linguistics)是计算语言学的分支学科。它研究机器可读的自然语言文本的采集、存储、检索、统计、语法标注、句法语义分析,以及具有上述功能的语料库在语言定量分析、词典编纂、作品风格分析、自然语言理解和机器翻译等领域中的应用([HCN90])。语料库语言学研究的基础是机器可读的大容量语料库和一种易于实现的统计处理模型,两者是相辅相成、缺一不可的。从本质上讲,语料库语言学的研究采用的是一种基于统计的经验主义处理方法,它与传统的基于规则的理性主义处理方法是不同的。

基于语料库的词语相似度研究大都采用了上下文语境的统计描述方法,即认同这样一个论断:词语的上下文可以为词语定义提供足够信息。词语向量空间模型是目前基于统计的词语相似度计算策略使用比较广泛的一种,算法复杂度也能够实现的模型。该模型事先选择一组特征词,然后计算这一组特征词与每一个词的相关性(一般用这组词在实际的大规模语料中以该词在上下文中出现的频率来度量),于是对于每一个词都可以得到一个相关性的特征词向量,然后利用这些向量之间的相似度作为这两个词的相似度。

(三)基于信息量的计算方法

一种是根据语义词典树的信息,根据树状结构中两个节点所含的信息量大小(子结点数与树中的所有结点数的比)来计算语义相似度。另一种是把Internet作为一个大型的语料库,以搜索引擎返的结果数作为计算的依据。公式如下:

其中,NGD介于0与1之间,表示相似度.f(x),f(y)分别表示含概念x,y的网页数,f(x,y)表示同时含有概念的网页数,N表示搜索引擎引用的网页总数。以词语horse与rider为例,搜索词语"horse”返回46700000(记为f(x))条结果,搜索词语“rider"返回结果数为12200000记为.f'(y)),搜索同时含“horse,rider'的网页数是2630000(记为f(x,y)),共引用的网页数是

N=8058044651,代人上述公式(7)求得:

NGD(horse,rider)≈0.443

四、结束语

语音相似度应用广泛,本文主要介绍了基于分类体系的语义相似度计算方法,以及基于搜索引擎的相似度计算方法。这些方法对于论文检测等工作很大的推进作用。

(作者单位:襄阳职业技术学院)