汉语词语相似度计算方法分析

2013-07-02 07:48薛慧芳
科学时代·上半月 2013年5期
关键词:实词计算方法词典

薛慧芳

【摘 要】词语相似度计算在自动问答、智能检索、文本聚类、机器翻译等领域,词语相似度计算等领域有着广泛的应用,本文对词语相似度计算方法进行了介绍,并侧重介绍了基于《知网》的词语相似度计算方法。最后对常用的两类计算方法进行了对比。

【关键词】词语相似度计算;知网

1.什么是词语相似度

汉语最基本的语义和语法单位就是词语,词语相似度计算用来研究用什么样的方法来计算或比较两个词语的相似性。本文认为,词语相似度就是词语在语义上的匹配程度,取值范围为[0,1]。词语相似度的值越大,说明两个词语的语义越相近;反之,则说明两个词语的语义差别越大。特殊的,当值为1时,表明两个词语的语义完全相同;当值为0时,表明两个词语的语义完全不同。

2.词语相似度计算方法

词语相似度计算方法大体上可以分为以下两类:

2.1基于语料库统计的方法

这种方法综合体现了词语在句法、语义还有语用等方面的异同。该方法属于基于统计的定量分析方法,其应用前提是:两个词语语义相似,当且仅当它们处于相似的上下文环境中。思想是统计大规模的语料,利用词汇上下文信息的概率分布进行词语之间的语义相似度的计算。该方法能够相对精确、有效的度量词语的语义相似度。

比如计算词语相似度也可以利用词语的相关性来进行。方法是事先选择一组特征词,接着计算这一组特征词与每一个词语的相关性,一般基于大规模语料选择这组词在某个词语的上下文中出现的频率作为度量词语相似度的相关数据,对于每一个词都可以得到一个特征词向量。两个词的相似度就可以通过这些向量之间的相似度来衡量。而向量之间的相似度,一般通过计算向量之间的夹角余弦值得出。

2.2基于某种世界知识(Ontology)的计算方法

该方法一般利用语义词典来进行词语相似度计算。基于语义词典的词语相似度计算方法,以语言学和人工智能两方面为基础。它基于语义词典,根据概念之间的上下位关系、同义关系进行计算。这种方法建立在这样的前提下:当且仅当两个词语在概念间的结构层次网络图中存在一条通路(上下位关系)时,这两个词语具有语义相关性。这种方法简单有效且易于理解。

这类方法的基础是大规模的语义计算知识资源。在英文方面,WordNet、FrameNet、MindNet等是具有代表性的例子;在汉语方面,《知网》(HowNet)、《同义词词林》、中文概念词典(CCD)等是几种主要的知识资源,很多学者尝试利用它们来计算词语相似度。目前常用的词语相似度计算方法,就是基于《知网》的相似度计算,下面将对它进行介绍。

3.基于《知网》的词语相似度计算

3.1《知网》的简介

《知网》(HowNet)是一个常识知识库,它含有丰富的词汇语义知识以及世界知识,内部结构复杂。《知网》的描述对象是词语代表的概念,它揭示了概念之间、以及概念所具备的属性之间的关系。它将词汇所代表的概念分为四大类,分别是实体、事件、属性、属性值。并通过义原(所谓义原,是不可再分的语义单位)来标注概念。《知网》由多个数据文件构成,是一个网状的有机知识系统,为人们进行自然语言处理的研究提供了宝贵的资源。

3.2《知网》的结构

《知网》中两个最基础的概念是“概念”和“义原”。“概念”是用来描述词语语义。因为一个词可以含有多个语义,所以一个词需要多个概念来描述。使用“知识表示语言”对概念进行描述,“知识表示语言” 使用的“词汇”便是义原。《知网》中的不可再分的、最小的意义单位是“义原”。即用义原用来描述概念,用概念来描述词语。

《知网》作为一个知识系统,它主要反映了概念的共性和个性。通过对汉字详实的分析考察,《知网》采用的义原有1500个。知网反映了概念之间、概念属性之间各种各样的关系,总体来说知网描述了16种关系。

义原之间组成的不是一个树状结构,而是一个复杂的网状结构。然而义原关系中最重要的是上下位关系。所有的“基本义原”以这种上下位关系为基础构成了义原层次体系。该体系是树状结构,叫做义原分类树。义原分类树囊括了各个义原,以及义原和义原之间的联系。在义原分类树中,父节点义原和子节点义原之间具有上下位关系。可以通过义原分类树来计算词语和词语之间的语义距离。

3.3知网的知识词典

知识词典是知网中最基本的数据库。

在知识词典中,每一个概念(概念又称为义项)可以用一条记录来描述。一条记录含有八项信息,每一项由用“=”连接的两个部分组成,等号左边表示数据的域名,右边是数据的值。

比如下面就是一条描述概念的记录:

其中,NO表示概念的编号,W_C表示汉语词语,G_C表示汉语词语的词性,E_C表示汉语词语例子,W_E表示英语词语,G_E则表示英语词语词性,E_E表示英语词语例子,DEF表示概念的定义,通过一个语义表达式来描述。所有的词语的概念都可以利用如上这些义原及其关系,来进行定义。

3.4基于《知网》的义原相似度计算

词语是通过概念来描述的,概念又通过义原进行解释,所以首先要研究义原的相似度计算。在《HowNet》中,依据上下位关系,所有的义原构成了一个树状层次结构。根据树形图中两个结点之间的路径长度来表示这两个义原的语义距离。本文将两个义原分别记为pl、p2,将它们的语义距离记为d,p1和p2两个义原的相似度记为Sim(p1,p2),相应的公式如下:

Sim(p1,p2)= (公式1)

其中,d表示两个义原p1和p2的路径长度,a是一个调节参数,本文取相似度为0.5时的路径长度(d)的值。

Sim(pl,p2),即两个义原的相似度取值在[0,1]之间。在这里,只利用了义原的上下位关系来计算义原相似度。

3.5基于《知网》的词语相似度计算

基于《知网》的词语相似度研究已经比较成熟。汉语词语可以分为实词和虚词,本文做如下约定:在文本中实词和虚词不能互相代替,即实词和虚词的相似度是零。由于虚词是采用“{关系义原}”或者“{句法义原}”,这两种方式加以描述的。因此,计算虚词的相似度就比较简单,计算用来描述虚词的关系义原之间、或者句法义原之间的相似度就可以了。

实词则不同,它需要使用语义表达式进行描述,所以实词的相似度计算难度就比较大。本文使用实词定义项中义原和义原之间的相似度,来描述实词与实词之间的相似度。比如,计算两个独立的实词之间的相似度时,本文选择描述这两个实词的概念之间的最大相似度作为这两个实词之间的相似度。

概念通过义原进行描述,实词概念的语义表达式由四部分组成,它们分别是第一独立义原描述式,其他独立义原描述式,关系义原描述式和符号义原描述式。本文把这些义原描述式的相似度分别记为:Sim1(S1,S2)、Sim2(S1,S2)、Sim3(S1,S2)、Sim4(S1,S2)。

由此,两个概念之间的相似度计算公式如下:

其中,βi(1≤i≤4)是可以调节的参数,代表每一部分的权重,且有β1+β2+β3+β4=1,β1≥β2≥β3≥β4。后者体现了Sim1到Sim4,对于最终的概念相似度Sim(S1,S2)所起作用是递减的。由于第一独立义原描述式Sim1,可以反映一个概念的最主要特征,所以本文将它的权值定义得比较大,一般应大于0.5。

最后,把上述四个相似度计算结果进行加权求和,便可以得到两个概念之间的相似度。假如有两个词语分别为W1和W2,其中W1含有n个概念,分别为:S11,S12,……,S1n,W2则含有m个概念,分别为S21,S22,……,S2m。那么计算词语W1和W2相似度的公式如下。

4.小结

文中对词语相似度计算的两种主要方法即基于语料统计的方法和基于语义词典的方法进行了介绍。两者各有其优缺点。

基于大规模语料库的计算方法,能够客观地反映词语的形态、句法、语义和语用等特点,可以发现许多仅靠人无法观测到的字符串间的有效关联。能够相对精确、有效地度量词语间的语义相似度。但是这种方法比较依赖于语料库,方法复杂同时计算量大。另外,它受数据稀疏和数据噪声的干扰比较大,有时会出现明显的错误。

基于语义词典的方法比较直观而且简单有效,可以计算出字面上不相似,并且统计关联较小的词汇间的相似度,然而它对语义词典的依赖性较强,构造汉语语义词典本身又是一项非常复杂的工作,所以该方法受人的主观影响比较大。有时不能准确的反映客观事实。另外这种方法对于词语之间语义方面的异同计算比较准确,但是在词语间的句法特点和语用特点方面,考虑有所欠缺。

前已述及,词语相似度计算在自动问答、智能检索、文本聚类、机器翻译等领域有着广泛的应用,那么到底选择哪种计算方法,需考虑每种方法的特点,并结合具体应用环境而定。

猜你喜欢
实词计算方法词典
极限的计算方法研究
“大力士”纸片人
词典使用与英语学习
化学反应平衡常数计算方法的探讨
掌握文言文阅读中的“实”与“虚”
第二重要极限的几种计算方法
“函数及图象”错解词典
高考专题复习之文言实词词义猜想与推断
漫画词典
高考文言实词释义的误区与对策