高璐 赵小兵
【摘 要】自HowNet诞生以来,作为一个中文常识性知识库,HowNet为自然语言处理提供了一个新的研究资源。本文主要研究了HowNet利用其计算词语相似度的优势在中文自然语言处理应用中做出的突出贡献,深入剖析了HowNet的知识结构以及相关技术,并提出了HowNet在近年来应用过程中遇到的技术难题及瓶颈。
【关键词】知网;自然语言处理;HowNet;词语相似度
自然语言处理的最终目标是让计算机能够与人类进行有效的通信。国外的自然语言处理发展的相对成熟,大规模的真实语料库的建立以及知识库诸如WordNet、FrameNet的不断完善推动了自然语言的发展。尽管这样,由于中文和英文的结构句法不同,有自己独特的特色,因此我们不能本着“拿来主义”,用国外已有的技术来处理中文的自然文本,必须有一套适合中文的处理模式。
HowNet由董振东、董强先生于1999年在因特网上公布,作为一个双语知识库,它为中文自然语言处理提供了不可多得的语言资源。目前关于知网的研究还处于基础阶段,刘群、李素建等人深入研究了基于HowNet的词语相似度计算,其他的研究人员也将HowNet应用于信息检索、MC评测集的建立等领域,取得了可喜的成绩。
本文深入研究了HowNet的相关结构,分析了HowNet的知识组成以及网状关系,探讨了Hownet在当前领域的现状并指出了其存在的问题,并分析了原因。
1 HowNet简介
《知网》[3]是一个在线的语言外的知识系统,其中概念的定义被描述为计算机很容易计算的机构化标记语言形式。它除了提供中文含义还提供了含义相等的英文词汇。知网中的每个概念有多个义项,而每个义项由多个义原按照KDML语法组织在一起。如知识库中对“医生”的描述为:{human|人:HostOf={Occupation|职位},domain={medical|医},{doctor|医治:agent={~}}},这里的“人”、“职位”、“医”、“医治”均是知网的义原,几个义原的组合,共同描述概念“医生”的真实语义。
2 基于HowNet的词语相似度计算
HowNet通过上下位关系将义原组织成了一个义原分类体系。该分类体系主要包括事件、实体、属性和属性值4种,我们可以通过义原的层次清楚到看到义原的上下位关系,并简单的计算义原之间的距离。HowNet把这些知识提供给计算机,从而让计算机可以对这些知识进行操作。词语相似度的计算就是挖掘义原之间的距离、深度、密度等信息,利用这些信息对义原进行相关的计算,从而得到一个相似度值。相似度计算主要有以下方法:一种是基于机器的词典的方式,比如HowNet;另一种是基于统计的方法。本节主要探讨第一种方式。
2.1 词语相似度计算
刘群、李素建[2]等人利用义原的距离信息提出了一种词语相似度计算的算法。他们将每一个词语分解成n个义项,并定义最终的相似度应该是所有义项的相似度的最大值。故对于两个汉语词语W1和 W2,如果W1有n个义项(概念):S11,S12,……,S1n,W2有m个义项(概念):S21,S22,……,S2m,则这两个词语的相似度应该是W1的义项S11,S12,……,S1n和W2的义项S21,S22,……,S2m之间的最大相似度值。即:
Sim(W1,W2)= ■Sim(S1i,S2j)(1)
2.2 概念(义项)相似度计算
下一步就是求义项相似度,即DEF项。在HowNet中,DEF项主要通过义原的各种动态角色组织起来。如对于“警察”这个概念,在知识库中描述为:DEF={human|人:HostOf={Occupation|职位},domain={police|警}}。其中“human|人”是第一基本义原,“Occupation|职位”“police|警”是其他基本义原。有些复杂的DEF项还包括关系义原和符号义原。因此刘群等人将DEF的描述义原分为以上四种,并分别记它们的相似度为Sim1(S1,S2)、Sim2(S1,S2)、Sim3(S1,S2)、Sim4(S1,S2):因此,两个DEF项的相似度公式为:
Sim(S1,S2)=■?茁i■Simj(S1,S2)(2)
知网中相似性的计算是基于概念的,它已被证明达到非常高的精度。而上面通过对“警察”这个概念的描述,我们能看出来DEF是通过KDML将义原和动态角色组织起来来体现的。刘群等人采用做过一些简单的实验,它们仅仅利用了义原的距离信息,并取得较理想的效果。 2.4 义原相似度的改进算法
吴健和江敏等人在刘群的研究基础上,又进一步改进了语义相似度计算公式,使得计算的结果更加精确。吴健等人不仅考虑了义原的距离,还将义原的深度信息以一定的比重加入进来,当义原所处的深度总和越大,所赋予的比重则越高。江敏则还考虑了义原之间的反义、对义和义原的定义,改进了上面的计算公式。义原相似度算法的不断的改进,为HowNet在自然语言处理方面的应用提供了研究工具。目前基于HowNet的研究不断的开展,诸如语义倾向性分析、词义消歧、信息检索、MC评测集的建立等。
3 HowNet在自然语言处理领域的应用
3.1 语义倾向性分析
朱嫣岚等人在语义倾向性分析方面做了较深的研究。他们认为一个词语的褒贬性可以通过该词与另一个已知褒贬性词语的相似度来衡量。他们首先建立了一个基准词库,并且人工挑选了一部分已知倾向性的种子词对,并加入到词库当中。这个可以通过HowNet直接获取。假设基准词典里共有褒贬词m对,褒义词用bench_y来表示,贬义词用bench_n表示,待判断倾向词汇为W。则语义倾向性分析的基本思想是:判断W与bench_y和bench_n的相似度,若W与bench_y的相似度大于W与bench_n的相似度,则W为褒义,否则为贬义。
3.2 词义消歧
一个知识库质量的好坏直接决定了基于知识词典的词义消歧的准确率。彭琳等人经过研究发现:①如何确定单词的词义及其个数;②如何从这些词义中做出选择,这两个问题是解决知识库消歧的关键问题。而解决第二个问题的方法就是,抽取句子中的关键字序列,将各关键字与歧义词的各义项进行相似度比对,选取相似度值最高的义项作为歧义词应取的义项。
HowNet对每一个词语的每一个义项均提供了实例,即(E_C)。提供这些实例的目的不仅仅是来解释这个义项,更是用来说明这个义项与其他义项的不同。而且随着HowNet版本的不断更新,所提供的实例库也越来越完整。因此一些基本的词汇通过实例库就可以进行简单的消歧,从而消除了用统计的方法进行词义消歧产生的噪音,提高了词义消歧的正确率。
4 HowNet在实际应用中的问题与总结
目前HowNet不仅在文中所述的词语相似性计算、情绪分析、信息检索、词义消歧、扩展知识词典等方面的研究有了很大的进展,在命名实体、自动文摘、语义场的构建方面的研究也有长足的进步,这些研究为自然语言的发展贡献了力量。但同时,HowNet在这十余年的发展中也面临着一些问题:
1)HowNet是一种珍贵的语言学资源,但由于缺乏多种相关技术的支持,如扩展知识库的方法和工具,为知识库添加(下转第75页)(上接第39页)实例的方法和工具,以及基于知识库的推理的相关算法及工具。这些工具和研究方法的缺失使得HowNct无法短时间内很好的推广,距离实际应用还有较大的距离。
2)HowNet作为一种人工编纂的词典,许多词语的定义项DEF有不完整的地方,概念定义与实际有一定的偏差,需要对概念定义进行补充。HowNet虽然收录了近20万多词条,但依旧收录有限。另外对于不断出现的未登录词,比如“八荣八耻”等,会固定成为我们的日常用语,HowNet就显得力不从心了。这就需要不断的更新知识库,另外HowNet也应该建立一个在线的新词发现机制,使得用户能够通过在线来更新自己的知识库,这对未来的研究是很有帮助的。
目前HowNet已经取得长足的进步,希望HowNet在已取得的成绩的基础上继续发展,也希望更多的技术能够融入进来,推动HowNet在实际领域的应用和完善,为自然语言的发展加彩。
【参考文献】
[1]董振东,董强(1999).“知网”,http://www.keenage.com[OL].
[2]刘群,李素建.基于《知网》的词汇语义相似度的计算[J].计算语言学及中文信息处理,2002,7:59-76
[3]董振东.HowNet and Computation of Meaning[OL/R].第十三届国际词网研讨会.
[4]董振东,董强,郝长伶.知网的理论发现[J].中文信息学报.2007(04).
[责任编辑:王楠]