基于知网的中文词语相似度计算

2015-04-29 23:57:57李国佳
智能计算机与应用 2015年3期
关键词:知网

李国佳

摘 要:针对中文词语相似度计算的问题,根据信息论中两个事物相似度计算的思想,提出一种基于知网义原信息量和义原及其角色关系的中文词语相似度计算方法,利用知网分类体系计算出词语义原信息量,根据义原信息量计算出词语概念间主类义原的相似度,结合词语概念中义原及其角色关系相似度及义原结点相似度来综合计算词语的相似度,与刘群、知网在线的方法及人工判断的相似度值进行了比较,实验结果显示该方法与人的判断更接近。

关键词:义原信息量;义原及其角色关系;词语相似度;知网

中图分类号: TP391 文献标志码: A 文章编号:2095-2163(2015)03-

Chinese Words Similarity Computation based on HowNet

LI Guojia

(Department of Software,North China University of Water Resources and Electric Power,Zhengzhou 450045,China)

Abstract:In view of the problems of Chinese words similarity computation, according to the ideology of information theory on the similarity of two objects, this paper presents a new computing Chinese words similarity method based on information content of HowNet sememe and sememe and event role. The method uses HowNet lexical taxonomy to calculate the sememe information content, and uses the similarity of main sememe, the similarity of sememe and event role, similarity of the sememe node to compute Chinese word similarity. The experimental results that have been compared with Liu-qun and HowNets conclusion demonstrate that the method is similar to human judgment.

Keywords: Sememe Information Content; Sememe and Event Role; Word Similarity; HowNet

0 引 言

词语相似度计算在信息检索、文本分类、信息抽取、机器翻译等领域有广泛的应用[1]。词语相似度的计算主要有两类方法:一类是世界知识(Ontology)或者分类体系(Taxonomy)的方法,如基于WordNet中词语结点的距离来计算英语词语的语义相似度[2],基于知网(HowNet)义原间的距离或者深度等信息来计算中文词语的语义相似度[3-4]。另一类是基于语料统计的方法[5-8],这类方法假设凡是语义相近的词,其上下文也应该相似,利用上下文中词语概率的分布来计算词语相似度。

知网(HowNet)是国内外自然语言处理中使用较为广泛的中文语义资源平台,自1999年发布以来受到越来越多研究人员的关注[9]。基于知网计算中文词语的相似度研究也陆续推出了很多方法。王小林等采用变系数对各类义原加权计算,并认为不同词性对词语相似度的贡献度不同,引入词性相似度来综合计算词语相似度[10-11];林丽等将部分义原划为弱义原,这类义原在参与相似度计算时赋予较低权重值[12];张敏等考虑词性的作用,并减少了抽象义原在词语相似度计算中贡献[13],范弘屹等在相似度计算中综合考虑义原的距离、深度、密度等信息[14];张亮等利用知网构建语义树,将词语相似分析计算转化为语义树的相似分析[15]。这些方法通常根据意义分解的思想,将词语分解为更小单位(义原)参与相似度计算,再按照权重比例综合计算词语整体相似度,计算结果依赖于公式的设计和参数的选取,不能充分反应出词语语义的相似性。刘青磊等通过词语义原集合的共有信息和差异信息来综合计算词语相似度[16];游彬等将知网作为统计语料库计算词语所包含的义原信息量,然后来估计两个词语的语义相似度[17],基于语料统计的方法比较依赖于统计所用的语料库,计算过程复杂,语料库建设存在较多的困难。

本文给出一种基于知网义原特征的中文词语相似度的计算方法,利用知网的分类体系(Taxonomy),将义原及其角色关系作为词语相似度计算的基本单位,保留描述词语概念的各个义原间的关系,并依据信息论中计算两个事物相似度的思想,从概念的主类义原相似度、义原及其角色关系的相似度以及义原结点相似度来综合计算词语的相似度。

1 义原信息量

1.1义原信息量

Philip Resnik在文献[5]中提出基于信息量来计算词语语义相似度,在WordNet中,对于概念c,其信息量(Information Content)表示为在某给定语料库中c出现的概率p(c)的负对数函数[5]。根据Resnik的思想,对知网中的一个义原A,其信息量大小 为:

(1)

其中, 表示义原A在某个语料库样本空间中出现的概率。

计算语料库样本空间中某个义原出现的概率是很困难的。知网作为一个以各类概念及关系为描述对象的知识系统,其分类体系本身可以看作是各个义原出现的一个样本空间,仅依赖知网分类体系本身而不需其他语料库,作为计算义原出现概率的样本空间也是合理的。研究认为,分支结点义原包含的子孙结点越多,其信息量越小。叶子结点是最小的分类,所有叶子结点的信息量是相同的。

设 是某类义原树上的一个义原结点,将义原 及其包含的子孙义原的数量作为该义原在样本空间中出现的次数,根据知网的分类体系,义原 的信息量 计算方法为:

(2)

其中, 是义原 包含的子孙义原的数量, 是样本空间中所有义原的数量,研究取知网中实体类、事件类、属性类、属性值类、次要特征所包含的2 216个义原作为计算某颗义原树上义原出现概率的样本空间。

1.2义原相似度

Dekang Lin 在文献[6]中提出,任何两个事物的相似度取决于其共性(Commonality)和个性(Differences),从信息论的角度给出任意两个事物间相似度计算的通用公式[6]:

(3)

其中,分子表示描述事物A和B的共性所需要的信息量,分母表示完整描述出事物A和B所需要的信息量。

在一棵义原树上,假设义原 是义原 和义原 最近的祖先结点,那么义原 就是包含义原 和义原 的最小分类,该最小分类 就是义原 和 的最具体的通用抽象(the Most Specific Common Abstraction)[6],也就是义原 和 的共性,设义原 的信息量为 ,根据公式(3),给出义原 和 的相似度计算公式:

(4)

以“entity|实体”为根结点的义原树上的叶子义原“牲畜|livestock”和“走兽|beast”间的相似度计算为例,两者最近的祖先结点义原是“兽|animal”,其子孙结点个数为5,根据公式(2)和公式(4)计算得到二者的相似度为0.384。研究规定,不在同一棵义原树上的两个义原间相似度为0,两个相同义原的相似度为1。

2义原及其角色关系

2.1 概念描述

在知网的知识词典中,每个词语由DEF来描述其概念,在此将DEF分为两部分:主类义原和特性描述部分。

定义1:主类义原

把描述词语概念的DEF中的最左边的第一个义原称为主类义原。

定义2:义原及其角色关系

在词语DEF的特性描述部分中,把义原及动态角色与特征(Event Role and Features)[18]的层次结构的组合称为义原及其角色关系。

定义3:义原及其角色关系的层次

DEF中为了进一步解释或说明词语概念采用了“{}”这种形式的结构,研究将这种结构按照包含关系分为不同的层次,义原及其角色关系的层次即为这种包含关系在“{}”结构中所处层次。

定义4:最小不可分割的义原及其角色关系

本层义原及其动态角色称为最小不可分割的义原及其角色关系。

例如:例如词语“病菌”的一个概念:DEF={bacteria|微生物:domain={medical|医},modifier={able|能:scope={ResultIn|导致:result={disease|疾病}}}}。“bacteria|微生物”是主类义原,其它部分是特性描述部分。把“domain={medical|医}”、“modifier={able|能:scope={ResultIn|导致:result={disease|疾病}}}”称为DEF的第一层义原及其角色关系,包含两个本层义原“medical|医”和“able|能”,把“scope={ResultIn|导致:result={disease|疾病}}”称为第二层义原及其角色关系,包含一个本层义原“ResultIn|导致”。“domain={medical|医}”、“scope={ResultIn|导致}”、“result={disease|疾病}”都是最小不可分割的义原及其角色关系,在DEF中所处层次分别定义为1、2、3。

2.2 义原及其角色关系的信息量

在计算义原及其角色关系的信息量时,用本层义原的信息量与下一层义原及其角色关系的信息量来加权计算。研究规定,最小不可分割的义原及其角色关系的信息量就等于其所包含的义原信息量,设定第一层义原及其角色关系中本层义原的权重为 ,第二层义原及其角色关系中本层义原的权重为 ,依次类推,第 层义原及其角色关系中本层义原的权重为 。用 表示DEF中特性描述部分的义原及其角色关系, 表示 的信息量,其计算公式为:

(5)

其中, 表示 包含的最大层次, 表示 中第 层义原及其角色关中本层义原的信息量, 表示 中第 层义原及其角色关系中本层义原的总个数, 表示第i个义原, 表示义原 的信息量。研究规定,一个没有概念描述的具体词,设定信息量为一个常数,大小等于叶子结点义原的信息量3.346。

3 词语相似度

3.1 概念相似度

词语概念间相似度基于概念的DEF来进行计算,每个概念的DEF是由主类义原及若干个义原及其角色关系组成,文中通过概念的主类义原间相似度 、义原及其角色关系相似度 以及义原结点相似度 来综合计算两个概念的相似度,两个概念 和 的相似度计算公式为:

(6)

其中, , , 分别为 , , 的权重系数,有 。

两个概念的主类义原 和 的相似度 计算与公式(4)计算义原相似度方法相同,这里不再赘述。

3.2义原及其角色关系相似度

基于Dekang Lin计算两个事物相似度的思想,研究把两个概念的义原及其角色关系的相似度 表示为:两个概念共有的义原及其角色关系的信息量与两个概念所有的义原及其角色关系的信息量的比值。共有义原及其角色关系为两个概念中完全相同的义原及其角色关系,在此用 表示两个概念 和 共有的义原及其角色关系集合, 表示该集合的信息量, 计算公式为:

(7)

其中, 为概念 特性描述部分的义原及其角色关系信息量, 为概念 特性描述部分的义原及其角色关系信息量。如果共有义原及其角色关系在两个DEF中的层次不同,以其所处的最深层次的信息量作为共有的信息量。

3.3 结点相似度

研究通过两个概念中共有义原结点数和总的义原结点数的比值来综合计算义原结点相似度 ,计算公式为:

(8)

其中, 表示两个概念中共有义原结点数 , 表示两个概念总的结点数, 和 分别表示概念 和 各自的义原结点数。

3.4 词语相似度

在知网中,有的词语有多个概念,每一个概念表示一种语义,如果两个词语各自只有一个概念,那么词语语义的相似度计算实质上就是两个概念间的相似度计算,对于具有多个概念的词语,通常根据词语出现的语境进行词义消歧后再计算概念间的相似度,效果更好。刘群在文献 [1]提出的词语相似度计算中,认为两个孤立词语(不在一定的上下文背景中)的语义相似度是其所有概念之间相似度的最大值,本文采用刘群的做法,将两个词语概念间的最大相似度值作为词语的整体相似度。两个词语 和 的相似度计算公式为:

(9)

其中, 表示词语 的一个概念, 表示词语 的一个概念, 表示概念 和 的相似度。研究规定,如果两个词语为同义词,相似度为1。如果两个词语为同类词,相似度为0.95,如果两个词语为反义或对义词,相似度为0。

4 实验结果及分析

目前还没有专门的评估中文词语语义相似度算法质量的专用数据集,本文随机选取一些常用词语和汉语词典中以“病”开头的一些相关词语作为实验对象,与刘群方法[1]、知网在线[19]的词语相似度计算方法及人工判断的相似度值进行比较。

知网在线算法将主类义原相似度分为 和 两部分,权重都是0.1,本文主类义原相似度 的权重取知网在线算法中 和 的和,即 的权重为0.2。本文认为词语概念特性描述部分是对词语间相似性及差异性更详细的描述,因此 的权重应该等于反映词语相似性的主类义原间相似度 与义原结点相似度 之和,所以 的权重为0.5,则 的权重为0.3。本文 , , 含义与刘群和知网在线方法是不同的。刘群方法、知网在线和本文方法的实验参数如表1所示。

表1 实验参数列表

Tab.1 Experimental parameter lists

刘群方法 1.6 0.5 0.2 0.17 0.13 0.20 0.20

知网在线 1.6 0.1 0.1 0.7 0.1 — —

本文方法 — 0.2 0.5 0.3 — — —

本文选取50位汉语文学类专业的老师和学生作为人工判断词语相似度的专家,每位专家给出表2和表3中两组词语的人工相似度值,每组分别去掉五个最高和最低的相似度值,而后将剩余的40组有效数据通过加权计算得到人工判断的相似度值。常用词语相似度实验结果如表2所示。

表2 词语相似度实验结果

Tab.2 The experimental results of word similarity

编号 词语1 词语2 刘群

方法 知网

在线 人工相似度值 本文

方法

1 得病 得救 0.211 0.021 0.079 0.062

2 道路 道上 0.100 0.115 0.186 0.235

3 病人 医生 0.665 0.303 0.403 0.649

4 电话 电视 0.896 0.340 0.201 0.32

5 北京 城市 0.641 0.433 0.192 0.300

城市 地区 0.600 0.7670 0.418 0.400

地区 北京 0.600 0.580 0.214 0.32

6 出兵 出征 0.105 0.014 0.343 0.383

7 搬家 拆迁 0.872 0.700 0.311 0.645

8 陈设 摆设 0.579 0.720 0.546 0.636

9 盗贼 盗墓 0.044 0.001 0.094 0.046

10 病故 病危 0.160 0.021 0.174 0.339

从表2中本文方法与刘群方法、知网在线及人工判断相似度值相比较,可以看到:刘群方法是基于义原距离来计算词语相似度,当义原处在同一类义原树中,词语的相似度偏大,例如第1、4、7组词语相似度结果比本文及知网在线方法的结果都偏大,与人的判断差异也很大。知网在线方法在计算计算词语的相似性时,更加细化,将词语的义原结构分解为多个部分,赋予各部分不同的权重然后加权计算得到整体间的相似度,实际上进一步割裂了描述词语的各个义原之间的关系,例如第5、6、7组词语,词语相似度计算的结果不够合理。另外,知网在线方法对词语特性描述部分计算比较复杂,计算量也较大。

再有,选取了汉语词典中以“病”开头的一类词语作为实验对象,把同义词作为一个集合,且以每个集合的第一个词语参与计算,将词性相同词语(词语1和词语2)进行比较,计算词性相同的相关词语间的相似度,相关词语相似度计算结果如表3所示。

表3相关词语相似度计算

Tab.3 Computation of related word similarity

编号 词语1 词语2 刘群

方法 知网

在线 人工相似度值 本文

方法

1 病人(病员,病号,病躯,病夫,病体) 病友 0.669 0.327 0.359 0.309

病魔 0.448 0.062 0.126 0.104

病菌(病毒) 0.209 0.035 0.144 0.279

病例 0.124 0.019 0.218 0.285

2 病倒 病故(病逝,病死,病殁) 0.242 0.124 0.385 0.262

病危 0.186 0.119 0.414 0.174

病愈 0.145 0.124 0.062 0.132

3 病因(病原,病源) 病史 0.444 0.078 0.225 0.418

病状 0.347 0.078 0.317 0.355

病害 0.257 0.035 0.218 0.134

病理 0.200 0.024 0.307 0.335

病案(病历) 0.167 0.019 0.265 0.325

4 病房(病室) 病床(病榻) 0.242 0.029 0.385 0.306

病院 0.167 0.017 0.363 0.532

5 病变 病残 0.209 0.101 0.22 0.201

在表3中,第1组中的3对词语,第2组中的1对词语,第3组中3对词语,第4组中的1对词语及第5组词语、总计9对词语的相似度,本文方法计算结果都更接近于人的判断。

将表2和表3中27组词语相似度按照人工判断的相似度值升序排列,刘群方法、知网在线和本文方法的三种相似度计算结果与人工判断值进行相似度比较的折线图如图1所示。

图1 四种方法的词语相似度比较

Fig.1 Comparison of word similarity with four methods

从图1中可以看出,与刘群方法和知网在线相比,在所有27组词语比较中,本文方法计算的17组词语相似度值更接近于人工判断值(三角标识),整体上也更趋近于人工判断值的折线。综合来看,本文方法的结果更加合理,与人的判断也比较一致。

5 结束语

根据信息论中两个事物相似度计算的思想,本文提出基于知网义原信息量和义原及其角色关系计算中文词语相似度,从保留义原间关系的角度出发,结合主类义原相似度、义原及其角色关系相似度以及结点相似度来综合计算词语的相似度,更能全面地反应出词语语义的相似性和差异,计算量也较少,计算结果合理可行。

参考文献:

[1] 刘群,李素建.基于《知网》的词汇语义相似度的计算[C] //台北: 第三届汉语词汇语义学研讨会,2002,7(2):59-76.

[2] AGIRRE E, RIGAU G. A proposal for Word Sense Disambiguation using conceptual distance[C]// Proceedings of the First International Conference on Recent Advanced in NLP. Bulgaria:ACL,1995:258-264.

[3] 夏天.汉语词语语义相似度计算研究[J].计算机工程,2007, 33(6):191-194.

[4] 江敏,肖诗斌,王弘蔚等.一种改进的基于《知网》的词语语义相似度计算[J].中文信息学报,2008,22(5):84-89.

[5] RESNIK P. Using information content to evaluate semantic similarity in a taxonomy[C]// Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence, Canada:ACM, 1995:448-453.

[6] LIN Dekang. An information-theoretic definition of similarity [C]// Proceedings of the Fifteenth International Conference on Machine Learning. Wisconsin(USA):ACM,1998:296-304.

[7] RESNIK P. Semantic similarity in a taxonomy: An information-based Measure and its application to problems of ambiguity in natural language[J].Journal of Artificial Intelligence Research,1999,11:95-130.

[8] 李峰,李芳.中文词语语义相似度计算—基于《知网》2000 [J]. 中文信息学报, 2007, 21(3):99-105.

[9] 董振东,董强,郝长伶.《知网》的理论发现[J].中文信息学报,2007,21(4):3-9.

[10] 王小林,王义.改进的基于知网的词语相似度算法[J].计算机应用,2011,31(11): 75-90.

[11] 王小林,杨林,王东.基于知网的新词语相似度算法研究[J].情报科学,2015,33(2):67-71.

[12] 林丽,薛方,任仲晟.一种改进的基于《知网》的词语相似度计算方法[J].计算机应用,2009,29(11):217-230.

[13] 张敏,王振辉,王艳丽.一种基于《知网》知识描述语言结构的词语相似度计算方法[J].计算机应用与软件,2013,30(7):265-267.

[14] 范弘屹,张仰森.一种基于HowNet的词语语义相似度计算方法[J].北京信息科技大学学报.2014,29(4):42-45.

[15] 张亮,尹存燕,陈家骏.基于语义树的中文词语相似度计算与分析[J].中文信息学报,2010,24(6):23-30.

[16] 刘青磊,顾小丰.基于《知网》的词语相似度算法研究[J].中文信息学报,2010,24(6):31-36.

[17] 游彬,严岳松,孙英阁等.基于HowNet的信息量计算语义相似度算法[J].计算机系统应用,2013,22(1):129-133.

[18] 董振东,董强.HowNet Knowledge Database[EB/OL]. [2015-02-29]. http://www.keenage.com/.

猜你喜欢
知网
著作权使用声明
纯碱工业(2023年6期)2023-04-21 16:18:44
以文献计量法分析我国纳米零价铁材料研究进展
科技视界(2019年11期)2019-06-20 01:22:08
基于统计和知识的产品部件信息抽取
中文信息(2018年4期)2018-06-13 11:36:32
中国职业教育教学资源库研究的特征分布和热点剖释
近三年维吾尔语言研究情况综述
北方文学(2017年9期)2017-07-31 20:53:18
基于知网的翻译研究方向毕业论文写作
现代交际(2017年13期)2017-07-18 09:53:01
近三年维吾尔语言研究情况综述
HowNet在自然语言处理领域的研究现状与分析
科技视界(2016年5期)2016-02-22 11:41:39
基于服务供应链的“知网”工程运作模式
基于知网的论文按需检索系统