当前位置:   article > 正文

语义相似度的计算方法_语义相似度计算

语义相似度计算
词语的语义相似度计算主要有两种方法 :
一类是通过语义词典,把有关词语的概念组织在一个树形的结构中来计算;
另一类主要是通过词语上下文的信息,运用统计的方法进行求解。 

1. 语义相似度
Dekang Lin认为任何两个词语的相似度取决于它们的共性(Commonality)和个性(Differences),然后从信息论的角度给出了定义公式:
语义相似度的计算方法
其中,分子表示描述A,B共性所需要的信息量;分母表示完整地描述A,B所需要的信息量。
语义相似度的计算方法
其中,Sl,S2表示两个义原,S表示离它们最近的共同祖先,p(s)是该结点的子结点个数(包括自己)与树中的所有结点个数的比值。

刘群、李素建以基于实例的机器翻译为背景,认为语义相似度就是两个词语在不同的上下文中可以互相替换使用而不改变文本的句法语义结构的程度。两个词语,如果在不同的上下文中可以互相替换且不改变文本的句法语义结构的可能性越大,二者的相似度就越高,否则相似度就越低。

对于两个词语W1,W2,如果记其相似度为Sim(W1,W2) ,其词语距离为Dis(W1,W2),根据刘群、李素建的公式:
语义相似度的计算方法
其中a是一个可调节的参数。n的含义是:当相似度为0.5时的词语距离值。

词语距离和词语相似度是一对词语的相同关系特征的不同表现形式,如果两个概念之间的语义距离越近,就认为它们越相似,因此二者之问可以给出一个简单对应关系:
语义相似度的计算方法
其中,Dis(Wl,W2)为树中W1,W2所代表的结点在树中的距离,k为比例系数。

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

2. 语义相似度的计算方法
词语距离有两类常见的计算方法,一种是根据某种世界知识(Ontology)或分类体系(Taxonomy)来计算,一种利用大规模的语料库进行统计。
2.1 根据分类体系计算词语语义距离的方法
该方法又称基于树的语义相似度研究方法,基于树的语义相似度计算的算法大体上分为两种:一是基于距离的语义相似性测度;二是基于信息内容的语义相似性测度。一般是利用一部语义词典(如Wordnet,Hownet),语义词典都是将所有的词组织在一棵或几棵树状的层次结构中。在一棵树状图中,任何两个结点之间有且只有一条路径。于是,这条路径的长度就可以作为这两个词语概念间语义距离的一种度量;而且随着概念所处结点越深,其所包含的语义信息越丰富,越能准确地决定概念的性质,它们对语义相似度起着决定作用。

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





例如,在图1(取自Wordnet本体中的一小部分)中,boy和girl之间的最短路径是boy—male—person—female—girl,最小路径长度为4。而teacher和boy之间的最小路径长度为6。因此,girl比teacher在语义上更接近于boy。该测度算法在基于Wordnet的语义网中获得了较好的计算结果。

2.1.2 基于《知网Hownet》的语义相似度计算
由于《知网Hownet》中词语不是组织在一个树状的层次体系中,而是一种网状结构;同时借助义原和符号对概念进行描述。对于两个汉语词语Wl和W2,如果W1有个n义项(概念):Sll,S12,…,S1n,W2有个m义项(概念):S21,S22,…,S2m,刘群、李素建认为W1和W2的相似度是各个概念的相似度之最大值,也就是说:
语义相似度的计算方法
为了更加精确地计算出词语的语义相似度,在《知网》中对一个实词的描述可以表示为一个特征结构,该特征结构含有以下四个特征:
*第一基本义原描述:其值为一个基本义原,将两个概念的这一部分的相似度记为Siml(Sl,S2);
*其它基本义原描述:对应于语义表达式中除第一基本义原描述式以外的所有基本义原描述式,其值为一个基本义原的集合,将两个概念的这一部分的相似度记为Sim2(S1,S2);
*关系义原描述:对应于语义表达式中所有的关系义原描述式,其值是一个特征结构,对于该特征结构的每一个特征,其属性是一个关系义原,其值是一个基本义原,或一个具体词。将两个概念的这一部分的相似度记为Sim3(S1,S2);
*关系符号描述:对应于语义表达式中所有的关系符号描述式,其值也是一个特征结构,对于该特征结构的每一个特征,其属性是一个关系义原,其值是一个集合,该集合的元素是一个基本义原,或一个具体词。将两个概念的这一部分的相似度记为Sim4(S1,S2)。

通过以上分析,可知在实际的《知网》结构中,由于各个义原所处的层次不一样,因而它们对词语相似度的影响程度也不一样,也就是说部分相似性在整体相似性中所占的权重是不一样的,权重(百分比)用β表示,于是,在知网中,概念的整体相似度可以记为:
语义相似度的计算方法

其中,β(1≤i≤4)是可调节的参数,且有:β1+β2+β3+β4=1,β1≥β2≥P3≥β4。后者反映了Siml(Sl,S2)到Sim4(Sl,S2)对于总体相似度所起到的作用依次递减。由于第一独立义原描述式反映了一个概念最主要的特征,所以应该将其权值定义得比较大,一般应在0.5以上。在以上计算中,最后求加权平均时,各部分取相等的权值。这样,就把两个词语之间的相似度问题归结到了两个概念之间的相似度问题。

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

由计算机自然语言处理专家RudiL.Cilibrasi和Paul M.B.Vitanyi[2007.12]提出的语义相似度计算方法,该方法理论基础涉及信息论、压缩原理、柯尔莫哥洛夫复杂性、语义WEB、语义学等,基本思想是把Intemet作为一个大型的语料库,以Google(对其它的搜索引擎如百度同样适用)作为搜索引擎,搜索返回的结果数作为计算的数值依据,其计算公式如下:
语义相似度的计算方法
其中,NGD(Normalized Google Distance,介于0与1之间)表示标准谷歌距离(以此衡量语义相似性大小),f(x),f(y)分别表示含概念x,y的网页数,f(x,y)表示同时含有概念的网页数,N表示Google引用的互联网上的网页总数。

可以以一次实验来说明,假设用Google搜索词语'horse'返回46700000(记为f(x))条结果,搜索词语'rider'返回结果数为12200ooo(记为f(y)),搜索同时含'horse,rider'的网页数是2630ooo(记为f(x,y)),Google共引用的网页数是N=8058044651,代入上述公式求得:
NGD(horse,rider)≈0.443

3. 两类主要语义相似度计算方法的比较
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/468522
推荐阅读
相关标签
  

闽ICP备14008679号