基于《知网》的词汇语义相似度计算(上)(作者:刘群 李素建)

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

刘群 李素建

{liuqun,lisujian}@ict.ac.cn

† 中国科学院计算技术研究所  

‡ 北京大学计算语言学研究所

摘要:

《知网》是一部比较详尽的语义知识词典。在基于实例的机器翻译中,词语相似度计算是一个重要的环节。不过,由于《知网》中对于一个词的语义采用的是一种多维的知识表示形式,这给词语相似度的计算带来了麻烦。这一点与WordNet和《同义词词林》不同。在WordNet和《同义词词林》中,所有同类的语义项(WordNetsynset或《同义词词林》的词群)构成一个树状结构,要计算语义项之间的距离,只要计算树状结构中相应结点的距离即可。而在《知网》中词语相似度的计算存在以下问题:

1. 每一个词的语义描述由多个义原组成,例如“暗箱”一词的语义描述为:part|部件,%tool|用具,body|身,“写信”一词的语义描述为:#TakePicture|拍摄write|,ContentProduct=letter|信件;

2. 词语的语义描述中各个义原并不是平等的,它们之间有着复杂的关系,通过一种专门的知识描述语言来表示。

我们的工作主要包括:

1. 研究《知网》中知识描述语言的语法,了解其描述一个词义所用的多个义原之间的关系,区分其在词语相似度计算中所起的作用;

2. 提出利用《知网》进行词语相似度计算的算法;

3. 通过实验验证该算法的有效性,并与其他算法进行比较。

关键词:《知网》 词汇语义相似度计算  自然语言处理

1 引言

在基于实例的机器翻译中,词语相似度的计算有着重要的作用。例如要翻译“张三写的小说”这个短语,通过语料库检索得到译例:

1)李四写的小说/the novel written by Li Si

2)去年写的小说/the novel written last year

通过相似度计算我们发现,“张三”和“李四”都是具体的人,语义上非常相似,而“去年”的语义是时间,和“张三”相似度较低,因此我们选用“李四写的小说”这个实例进行类比翻译,就可以得到正确的译文:

the novel written by Zhang San

如果选用后者作为实例,那么得到的错误译文将是:

* the novel written Zhang San

通过这个例子可以看出相似度计算在基于实例的机器翻译中所起的作用。

在基于实例的翻译中另一个重要的工作是双语对齐。在双语对齐过程中要用到两种语言词语的相似度计算,这不在本文所考虑的范围之内。

除了基于实例的机器翻译之外,词语相似度计算在信息检索、信息抽取、词义排歧等领域都有着广泛的应用。

2 词语相似度及其计算的方法

2.1 什么是词语相似度

什么是词语相似度?

我们认为,词语相似度是一个主观性相当强的概念。脱离具体的应用去谈论词语相似度,很难得到一个统一的定义。因为词语之间的关系非常复杂,其相似或差异之处很难用一个简单的数值来进行度量。从某一角度看非常相似的词语,从另一个角度看,很可能差异非常大。

不过,在具体的应用中,词语相似度的含义可能就比较明确了。例如,在基于实例的机器翻译中,词语相似度主要用于衡量文本中词语的可替换程度;而在信息检索中,相似度更多的要反映文本或者用户查询在意义上的符合程度。

本文的研究主要以基于实例的机器翻译为背景,因此在本文中我们所理解的词语相似度就是两个词语在不同的上下文中可以互相替换使用而不改变文本的句法语义结构的程度。两个词语,如果在不同的上下文中可以互相替换且不改变文本的句法语义结构的可能性越大,二者的相似度就越高,否则相似度就越低。

相似度是一个数值,一般取值范围在[0,1]之间。一个词语与其本身的语义相似度为1。如果两个词语在任何上下文中都不可替换,那么其相似度为0

相似度这个概念,涉及到词语的词法、句法、语义甚至语用等方方面面的特点。其中,对词语相似度影响最大的应该是词的语义。

2.2 词语相似度与词语距离

度量两个词语关系的另一个重要指标是词语的距离。

一般而言,词语距离是一个[0,)之间的实数。

一个词语与其本身的距离为0

词语距离与词语相似度之间有着密切的关系。

两个词语的距离越大,其相似度越低;反之,两个词语的距离越小,其相似度越大。二者之间可以建立一种简单的对应关系。这种对应关系需要满足以下几个条件:

1)  两个词语距离为0时,其相似度为1

2)  两个词语距离为无穷大时,其相似度为0

3)  两个词语的距离越大,其相似度越小(单调下降)。

对于两个词语W1和W2,我们记其相似度为Sim(W1,W2),其词语距离为Dis(W1,W2),那么我们可以定义一个满足以上条件的简单的转换关系:

         …… (1)

其中α是一个可调节的参数。α的含义是:当相似度为0.5时的词语距离值。

这种转换关系并不是唯一的,我们这里只是给出了其中的一种可能。

在很多情况下,直接计算词语的相似度比较困难,通常可以先计算词语的距离,然后再转换成词语的相似度。所以在本文后面的有些章节,我们只谈论词语的距离,而没有提及词语的相似度,读者应该知道这二者是可以互相转换的。

2.3 词语相似度与词语相关性

度量两个词语关系的另一个重要指标是词语的相关性。

词语相关性反映的是两个词语互相关联的程度。可以用这两个词语在同一个语境中共现的可能性来衡量。

词语相关性也是一个[0,1]之间的实数。

词语相关性和词语相似性是两个不同的概念。例如“医生”和“疾病”两个词语,其相似性非常低,而相关性却很高。可以这么认为,词语相似性反映的是词语之间的聚合特点,而词语相关性反映的是词语之间的组合特点。

同时,词语相关性和词语相似性又有着密切的联系。如果两个词语非常相似,那么这两个词语与其他词语的相关性也会非常接近。反之,如果两个词语与其他词语的相关性特点很接近,那么这两个词一般相似程度也很高。

2.4 词语相似度的计算方法

词语距离有两类常见的计算方法,一种是根据某种世界知识(Ontology)来计算,一种利用大规模的语料库进行统计。

根据世界知识(Ontology)计算词语语义距离的方法,一般是利用一部同义词词典(Thesaurus)。一般同义词词典都是将所有的词组织在一棵或几棵树状的层次结构中。我们知道,在一棵树形图中,任何两个结点之间有且只有一条路径。于是,这条路径的长度就可以作为这两个概念的语义距离的一种度量。

基于《知网》的词汇语义相似度计算(上)(作者:刘群 李素建)_第1张图片

1 《同义词词林》语义分类树形图

王斌(1999)采用这种方法利用《同义词词林》来计算汉语词语之间的相似度(如图1所示)。有些研究者考虑的情况更复杂。Agirre & Rigau (1995)在利用Wordnet计算词语的语义相似度时,除了结点间的路径长度外,还考虑到了其他一些因素。例如:

1)  概念层次树的深度:路径长度相同的两个结点,如果位于概念层次的越底层,其语义距离较大;比如说:“动物”和“植物”、“哺乳动物”和“爬行动物”,这两对概念间的路径长度都是2,但前一对词处于语义树的较高层,因此认为其语义距离较大,后一对词处于语义树的较低层,其语义距离更小;

2)  概念层次树的区域密度:路径长度相同的两个结点,如果位于概念层次树中高密度区域,其语义距离应大于位于低密度区域。由于Wordnet中概念描述的粗细程度不均,例如动植物分类的描述及其详尽,而有些区域的概念描述又比较粗疏,所以加入了概念层次树区域密度对语义距离的影响。

另一种词语相似度的计算方法是大规模的语料来统计。例如,利用词语的相关性来计算词语的相似度。事先选择一组特征词,然后计算这一组特征词与每一个词的相关性(一般用这组词在实际的大规模语料中在该词的上下文中出现的频率来度量),于是,对于每一个词都可以得到一个相关性的特征词向量,然后利用这些向量之间的相似度(一般用向量的夹角余弦来计算)作为这两个词的相似度。这种做法的假设是,凡是语义相近的词,他们的上下文也应该相似。李涓子(1999)利用这种思想来实现语义的自动排歧;鲁松(2001)研究了如何如何利用词语的相关性来计算词语的相似度。Dagan(1999)使用了更为复杂的概率模型来计算词语的距离。

这两种方法各有特点。基于世界知识的方法简单有效,也比较直观、易于理解,但这种方法得到的结果受人的主观意识影响较大,有时并不能准确反映客观事实。另外,这种方法比较准确地反映了词语之间语义方面的相似性和差异,而对于词语之间的句法和语用特点考虑得比较少。基于语料库的方法比较客观,综合反映了词语在句法、语义、语用等方面的相似性和差异。但是,这种方法比较依赖于训练所用的语料库,计算量大,计算方法复杂,另外,受数据稀疏和数据噪声的干扰较大,有时会出现明显的错误。

本文主要研究基于《知网(Hownet)》的词语相似度计算方法,这是一种基于世界知识的方法。

你可能感兴趣的:(机器翻译,语义)