您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于《知网》的词汇语义相似度计算
基于《知网》的词汇语义相似度计算1刘群†‡李素建†{liuqun,lisujian}@ict.ac.cn†中国科学院计算技术研究所‡北京大学计算语言学研究所摘要:《知网》是一部比较详尽的语义知识词典。在基于实例的机器翻译中,词语相似度计算是一个重要的环节。不过,由于《知网》中对于一个词的语义采用的是一种多维的知识表示形式,这给词语相似度的计算带来了麻烦。这一点与WordNet和《同义词词林》不同。在WordNet和《同义词词林》中,所有同类的语义项(WordNet的synset或《同义词词林》的词群)构成一个树状结构,要计算语义项之间的距离,只要计算树状结构中相应结点的距离即可。而在《知网》中词语相似度的计算存在以下问题:1.每一个词的语义描述由多个义原组成,例如“暗箱”一词的语义描述为:part|部件,%tool|用具,body|身,“写信”一词的语义描述为:#TakePicture|拍摄write|写,ContentProduct=letter|信件;2.词语的语义描述中各个义原并不是平等的,它们之间有着复杂的关系,通过一种专门的知识描述语言来表示。我们的工作主要包括:1.研究《知网》中知识描述语言的语法,了解其描述一个词义所用的多个义原之间的关系,区分其在词语相似度计算中所起的作用;2.提出利用《知网》进行词语相似度计算的算法;3.通过实验验证该算法的有效性,并与其他算法进行比较。关键词:《知网》词汇语义相似度计算自然语言处理1引言在基于实例的机器翻译中,词语相似度的计算有着重要的作用。例如要翻译“张三写的小说”这个短语,通过语料库检索得到译例:1)李四写的小说/thenovelwrittenbyLiSi2)去年写的小说/thenovelwrittenlastyear通过相似度计算我们发现,“张三”和“李四”都是具体的人,语义上非常相似,而“去年”的语义是时间,和“张三”相似度较低,因此我们选用“李四写的小说”这个实例进行类比翻译,就可以得到正确的译文:thenovelwrittenbyZhangSan1本项研究受国家重点基础研究计划(973)支持,项目编号是G1998030507-4和G1998030510。如果选用后者作为实例,那么得到的错误译文将是:*thenovelwrittenZhangSan通过这个例子可以看出相似度计算在基于实例的机器翻译中所起的作用。在基于实例的翻译中另一个重要的工作是双语对齐。在双语对齐过程中要用到两种语言词语的相似度计算,这不在本文所考虑的范围之内。除了基于实例的机器翻译之外,词语相似度计算在信息检索、信息抽取、词义排歧等领域都有着广泛的应用。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),那么我们可以定义一个满足以上条件的简单的转换关系:),(),(121WWDisWWSim……(1)其中α是一个可调节的参数。α的含义是:当相似度为0.5时的词语距离值。这种转换关系并不是唯一的,我们这里只是给出了其中的一种可能。在很多情况下,直接计算词语的相似度比较困难,通常可以先计算词语的距离,然后再转换成词语的相似度。所以在本文后面的有些章节,我们只谈论词语的距离,而没有提及词语的相似度,读者应该知道这二者是可以互相转换的。2.3词语相似度与词语相关性度量两个词语关系的另一个重要指标是词语的相关性。词语相关性反映的是两个词语互相关联的程度。可以用这两个词语在同一个语境中共现的可能性来衡量。词语相关性也是一个[0,1]之间的实数。词语相关性和词语相似性是两个不同的概念。例如“医生”和“疾病”两个词语,其相似性非常低,而相关性却很高。可以这么认为,词语相似性反映的是词语之间的聚合特点,而词语相关性反映的是词语之间的组合特点。同时,词语相关性和词语相似性又有着密切的联系。如果两个词语非常相似,那么这两个词语与其他词语的相关性也会非常接近。反之,如果两个词语与其他词语的相关性特点很接近,那么这两个词一般相似程度也很高。2.4词语相似度的计算方法词语距离有两类常见的计算方法,一种是根据某种世界知识(Ontology)来计算,一种利用大规模的语料库进行统计。根据世界知识(Ontology)计算词语语义距离的方法,一般是利用一部同义词词典(Thesaurus)。一般同义词词典都是将所有的词组织在一棵或几棵树状的层次结构中。我们知道,在一棵树形图中,任何两个结点之间有且只有一条路径。于是,这条路径的长度就可以作为这两个概念的语义距离的一种度量。图1《同义词词林》语义分类树形图OLBAal……ab0102...01…01………010102...01...01…01………0102…01...0101…01……...虚线用于标识某上层节点到下层节点的路径王斌(1999)采用这种方法利用《同义词词林》来计算汉语词语之间的相似度(如图1所示)。有些研究者考虑的情况更复杂。Agirre&Rigau(1995)在利用Wordnet计算词语的语义相似度时,除了结点间的路径长度外,还考虑到了其他一些因素。例如:1)概念层次树的深度:路径长度相同的两个结点,如果位于概念层次的越底层,其语义距离较大;比如说:“动物”和“植物”、“哺乳动物”和“爬行动物”,这两对概念间的路径长度都是2,但前一对词处于语义树的较高层,因此认为其语义距离较大,后一对词处于语义树的较低层,其语义距离更小;2)概念层次树的区域密度:路径长度相同的两个结点,如果位于概念层次树中高密度区域,其语义距离应大于位于低密度区域。由于Wordnet中概念描述的粗细程度不均,例如动植物分类的描述及其详尽,而有些区域的概念描述又比较粗疏,所以加入了概念层次树区域密度对语义距离的影响。另一种词语相似度的计算方法是大规模的语料来统计。例如,利用词语的相关性来计算词语的相似度。事先选择一组特征词,然后计算这一组特征词与每一个词的相关性(一般用这组词在实际的大规模语料中在该词的上下文中出现的频率来度量),于是,对于每一个词都可以得到一个相关性的特征词向量,然后利用这些向量之间的相似度(一般用向量的夹角余弦来计算)作为这两个词的相似度。这种做法的假设是,凡是语义相近的词,他们的上下文也应该相似。李涓子(1999)利用这种思想来实现语义的自动排歧;鲁松(2001)研究了如何如何利用词语的相关性来计算词语的相似度。Dagan(1999)使用了更为复杂的概率模型来计算词语的距离。这两种方法各有特点。基于世界知识的方法简单有效,也比较直观、易于理解,但这种方法得到的结果受人的主观意识影响较大,有时并不能准确反映客观事实。另外,这种方法比较准确地反映了词语之间语义方面的相似性和差异,而对于词语之间的句法和语用特点考虑得比较少。基于语料库的方法比较客观,综合反映了词语在句法、语义、语用等方面的相似性和差异。但是,这种方法比较依赖于训练所用的语料库,计算量大,计算方法复杂,另外,受数据稀疏和数据噪声的干扰较大,有时会出现明显的错误。本文主要研究基于《知网(Hownet)》的词语相似度计算方法,这是一种基于世界知识的方法。3《知网(Hownet)》简介按照《知网》的创造者――董振东先生自己的说法(杜飞龙,1999):《知网》是一个以汉语和英语的词语所代表的概念为描述对象,以揭示概念与概念之间以及概念所具有的属性之间的关系为基本内容的常识知识库。《知网》中含有丰富的词汇语义知识和世界知识,为自然语言处理和机器翻译等方面的研究提供了宝贵的资源。不过,在我们真正试图利用《知网》来进行计算机处理时,发现还是会遇到不少困难。我们的感觉是,《知网》确实是一座宝库,但另一方面,《知网》的内容又非常庞杂。尽管《知网》的提供了详细的文档,但由于这些文档不是以一种形式化的方式说明的,很多地方多少显得有些混乱。当我们阅读这些文档时,很容易一下子陷入大量的细节之中,而很难对《知网》有一个总体的把握。这使得我们在进行计算的时候觉得很不方便。因此,我们在试图利用《知网》进行计算的过程中,也在逐渐加深我们对于《知网》的认识,并试图整理出一个关于《知网》的比较清晰的图象。本节中,我们对于《知网》的描述是按照我们自己的语言来组织的,很多地方加入了我们的理解,并不一定都是《知网》文档中描述。我们希望通过这种方法,使读者更快地了解《知网》,对《知网》有一个比较清晰而全面的印象。当然,我们的理解也难免有错误和遗漏之处,欢迎《知网》的作者和其他读者批评指正。3.1《知网》的结构董振东先生反复强调,《知网》并不是一个在线的词汇数据库,《知网》不是一部语义词典。在介绍《知网》的结构之前,我们首先要理解《知网》中两个主要的概念:“概念”与“义原”。“概念”是对词汇语义的一种描述。每一个词可以表达为几个概念。“概念”是用一种“知识表示语言”来描述的,这种“知识表示语言”所用的“词汇”叫做“义原”。“义原”是用于描述一个“概念”的最小意义单位。与一般的语义词典(如《同义词词林》,或Wordnet)不同,《知网》并不是简单的将所有的“概念”归结到一个树状的概念层次体系中,而是试图用一系列的“义原”来对每一个“概念”进行描述。《知网》一共采用了1500义原,这些义原分为以下几个大类:1)Event|事件2)entity|实体3)attribute|属性值4)aValue|属性值5)quantity|数量6)qValue|数量值7)SecondaryFeature|次要特征8)syntax|语法9)EventRole|动态角色10)EventFeatures|动态属性对于这些义原,我们把它们归为三组:第一组,包括第1到7类的义原,我们称之为“基本义原”,用来描述单个概念的语义特征;第二组,只包括第8类义原,我们称之为“语法义原”,用于描述词语的语法特征,主要是词性(PartofSpeech);第三组,包括第9和第10类的义原,我们称之为“关系义原”,用于描述概念和概念之间的关系(类似于格语法中的格关系)。除了义原以外,《知网》中还用了一些符号来对概念的语义进行描述,如下表所示:,多个属性之间,表示“和”的关系#表示“与其相关”%表示“是其部分”$表示“可以被该‘V’处置,或是该“V”的受事,对象,领有物,或者内容*表示
本文标题:基于《知网》的词汇语义相似度计算
链接地址:https://www.777doc.com/doc-2573081 .html