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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

[摘要]词语相似度计算是计算机中文处理中的基础和重要环节,目前基于《知网》的词语相似度计算是一种常见的方法,本文将对该方法做系统介绍。

[关键词]《知网》词语相似度计算

一、《知网》的结构

《知网》(HowNet)是我国著名机器翻译专家董振东先生和董强先生创建的,是一个常识知识库,它含有丰富的词汇语义知识以及世界知识,内部结构复杂。

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

《知网》采用的义原有1500个,它们一共可以分为十类,具体见图1。

知网反映了概念之间、概念属性之间各种各样的关系,总体来说知网描述了16种关系:

上下位关系;同义关系、反义关系、对义关系;部件-整体关系;属性-宿主关系;材料-成品关系;施事/经验者/关系;主体-事件关系;受事/内容/领属物等事件关系;工具-事件关系;场所-事件关系;时间-事件关系;值-属性关系;实体-值关系;事件-角色关系;相关关系。

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

二、知网的知识词典

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

NO=017114

W_C=打

G_C=V

E_C= ~乒乓球,~篮球

W_E=play

G_E=V

E_E=

DEF=exercise|锻炼,sport|体育

其中,NO表示概念的编号,W_C表示汉语词语,G_C表示汉语词语的词性,E_C表示汉语词语例子,W_E表示英语词语,G_E则表示英语词语词性,E_E表示英语词语例子,DEF表示概念的定义,通过一个语义表达式来描述。

需要强调的是,DEF项包含若干个相应的义原以及这些义原与主干词之间的语义关系。DEF项是知网的核心,不可以为空,必须填写内容。DEF项的起始位置,必须用来描述知网中规定的主要义原。

鉴于知网的组织关系,本文的相似度计算按照以下步骤完成:先计算义原的相似度;在此基础上计算词语的相似度。

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

在《知网》中,依据上下位关系,所有的义原构成了一个树状层次结构,可以根据两个义原之间的路径长度来计算其相似度。即根据上述树形图中,两个结点之间的路径长度来表示这两个义原的语义距离。本文将两个义原分别记为pl、p2,将它们的语义距离记为d,p1和p2两个义原的相似度记为Sim(p1,p2),相应的公式如下:

Sim(p1,p2)=ad+a

其中,d表示两个义原p1和p2的路径长度,a是一个调节参数,本文取相似度为0.5时的路径长度(d)的值。Sim(pl,p2)取值在[0,1]之间。在这里,本文只利用了义原的上下位关系来计算义原相似度。

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

基于《知网》的词语相似度研究已经比较成熟。刘群等提出了一种基于《知网》的词语相似度计算方法,下面对此进行介绍。

汉语词语可以分为实词和虚词,本文做如下约定:在文本中实词和虚词不能互相代替,即实词和虚词的相似度是零。计算虚词的相似度就比较简单,计算用来描述虚词的关系义原之间、或者句法义原之间的相似度就可以了。

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

概念通过义原进行描述,实词概念的语义表达式由四部分组成,它们分别是第一独立义原描述式,其他独立义原描述式,关系义原描述式和符号义原描述式。

本文把这些义原描述式的相似度分别记为:Sim1(S 1 ,S 2 )、Sim2(S 1 ,S 2 )、Sim3(S 1 ,S 2 )、Sim4(S 1 ,S 2 )。

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

Sim(S 1 ,S 2 )=

其中,βi(1≤i≤4)是可以调节的参数,代表每一部分的权重,且有β1+β2+β3+β4=1,β1≥β2≥β3≥β4。由于第一独立义原描述式Sim1可以反映一个概念的最主要特征,所以本文将它的权值定义得比较大,一般应大于0.5。

Sim1到Sim4各部分相似度的计算方法如下:

1)对于第一独立义原描述式:利用公式1计算两个义原的相似度即可,方法比较简单;

2)对于其他独立义原描述式:计算相对复杂,需要对相应义原进行分组,步骤如下:(1)两个概念各自有一个其他独立义原集合,对这两组义原相互之间进行任意配对,并且计算出每一对义原的相似度;(2)将当前相似度最大的一对义原从各自的集合中取出(不再属于原集合),归入一个集合;(3)重复第(2)步,直到所有的其他独立义原完成归类。(4)根据开始时两个概念各自的独立义原集合的大小,以及后来得到的新集合,来计算Sim2;

3)对于关系义原描述式:这一部分仍然是一个集合运算问题,需要将关系义原相同的描述式进行统一归组,再计算其相似度;

4)对于符号义原描述式:这一部分的计算与关系义原描述式有些相似,只有在符号相同的前提下,再计算配对义原的相似度。

最后,把上述四个相似度计算结果进行加权求和,便可以得到两个概念之间的相似度。假如有两个词语分别为W 1 和W 2 ,其中W 1 含有n个概念,分别为:S 11 ,S 12 ,……,S 1n ,W 2 则含有m个概念,分别为S 21 ,S 22 ,……,S 2m 。那么计算词语W 1 和W 2 相似度的公式如下。

Sim(W 1 ,W 2 )=Sim(S 1i ,S 2j )

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

相关文档
最新文档