基于HowNet的术语语义知识库构建技术

2016-10-12 03:29王羊羊蔡东风王裴岩
沈阳航空航天大学学报 2016年4期
关键词:知识库术语语义

王羊羊,陈 刚,蔡东风,王裴岩

(1.沈阳航空航天大学 人机智能研究中心,沈阳 110136; 2.中航昌河飞机工业(集团)有限责任公司 科技部,江西 景德镇 333000)



基于HowNet的术语语义知识库构建技术

王羊羊1,陈刚2,蔡东风1,王裴岩1

(1.沈阳航空航天大学 人机智能研究中心,沈阳 110136; 2.中航昌河飞机工业(集团)有限责任公司 科技部,江西 景德镇 333000)

领域知识库能够满足特定领域的自然语言处理系统对知识的需求,然而大部分领域知识库的构建方式为手工构建,效率较低。针对这一问题,分析已经手工构建的2 300余条航空术语描述信息及其在构建过程中总结的规则,在此基础上,总结了200余条核心词框架,核心词以外的其他词,通过一种规则与统计相结合的方法进行框架的自动填充,从而提高了构建术语语义知识库的自动化程度。最后,对构建的术语描述信息进行了相似度计算,取得了较好的结果。

术语;规则;统计;语义知识库

自然语言的语义分析和内容信息的理解离不开语义知识库的支持[1],计算机可以通过语义知识库了解人类语言,从而变得更加智能。传统的语义知识库大多面向通用领域,不能满足特定领域的自然语言处理系统对问题的知识需求[2],所以构建领域知识库是十分必要的。

传统的语义知识库包括WordNet[3]、FrameNet[4-5]在内,构建方式大多为手工构建;较大型的语义知识库只有MindNet[6]和Yago[7-8]的构建方式为自动构建;此外,文献[9]提出了一种基于实体-属性框架的领域知识库的自动构建方法,然而它们都是以自然语言的形式进行表述,在计算机系统中不易对其进行相似度计算、相关度计算等处理。

文献[13]针对航空领域术语的特点,在HowNet[10-11]和KDML描述语言[12]基础上进行了知识库的扩展,手工构建了2300条术语定义描述信息。然而现实世界的各种应用需求层出不穷,手工构建的语义知识库很难满足这些需求[14]。

本文详细分析了手工构建的航空领域术语知识及其构建过程中制定的规则。在此基础上,总结出200余条术语核心词描述框架,核心词以外的其他词对应的义原,提出一种规则与统计结合的方法来进行框架的填充,从而提高了构建领域知识库的自动化程度。

1 HowNet及其知识词典的描述语言简介

HowNet的最大特色是更加计算机化,能够用计算机可以识别的方式反映概念的共性和个性以及概念之间的关系。

“HowNet”2006版中共描述了84 826个中文概念,概念的最小组成单位为义原。为了满足概念描述信息的一致性和概括性,给出如下的描述规定[12]:

(1)任一概念的描述都以“DEF=”为开始。任一概念中出现的所有义原或符号必须是在HowNet的Taxonomy中定义的义原或符号或者由HowNet知识系统描述语言所规定的特定标识符;

(2)概念描述中的第一个义原必须指出该概念最基本的意义,并用事件、实体、属性和属性值这四类义原中的一个标注出来;

(3)对于简单概念直接标注该概念的意义;

(4)利用动态角色与特征来标注复杂概念;

(5)属性类概念必须标明它的宿主;

(6)整体部分类型的概念必须标明该部分的整体;

(7)概念描述中定义的特性可以是一个,也可以是多个,数量没有限制,只要内容合理且形式合乎规范即可。

例如 “机器”:DEF={machine|机器};“海平面”:DEF={Height|高度:host={waters|水域}};“发动机”:DEF={part|部件:PartPosition={heart|心},whole={vehicle|交通工具}}。

HowNet中的义原分为八类,包括Event、Entity、Attribute、Attribute Value、Secondary Feature、ProperNoun、Sign、Event Role & Features、Syntax Antonym、Converse。其中“host”、“ PartPosition ”和“whole”为义原的动态角色或特征,HowNet中共有89种动态角色或特征,这些动态角色或特征可以清晰的描述概念中义原之间的关系。常用的动态角色包括:“patient”(受事)、“RelateTo”(相关)、“content”(内容)、“modifier”(描述)、“CoEvent”(对应之事件)等。

在描述概念时还会用到以下3种特殊的指示符号:

(1)“~”:描述模式为{义原1:{义原2:动态角色或特征={~}}},表示义原1与义原2有关,义原1为义原2的一个具体动态角色的值,“~”代替义原1;

(2)“?”:描述模式为{义原1:动态角色={?}},这种描述方式表示在某种语义环境中,“?”所充当的动态角色的义原是一定会出现的,但在这个概念中并没有被体现出来;

(3)“$”:描述模式为{义原1:动态角色={$}},表示这个概念所描述的对象。

2 语义知识库的构建技术

2.1术语语义知识库的构建步骤

一条完整的术语描述信息构建过程主要包括3部分:术语预处理、义原获取以及相关义原的最后整合。

术语的预处理,即将术语进行分词,考虑到接下来的义原获取以及汉语中心词大多在句尾的特点,对术语采用基于HowNet词表的最大逆向匹配的分词方法。义原获取的过程是根据分词后的术语词语集,从“HowNet”的义原库中提取与之相关的义原。将获取到的义原进行整合,形成完整的术语表述形式,这也是最主要的过程。

采用本文的方法构建一条完整的语义描述信息的流程,如图1所示。

图1 语义描述信息构建流程图

如:液体流量校准设备,分词结果为“液体/流量/校准/设备”。“设备”为术语核心词,获取“设备”的框s架:

能源消费增长的同时,能源转型持续推进。前三季度,水电、核电、风电、太阳能发电等清洁能源发电装机合计占总装机的36.4%,比去年同期提高1.4个百分点;清洁能源发电量同比增长8.9%,高于火电增速2.0个百分点。

DEF={tool|用具:{具体用途:content={},purpose={},instrument={~}}.agent={},location={},RelateTo={}}

获取其他词的义原,“液体”:{liquid|液};“流量”:{Amount|多少:host={water|水},scope={flow|流}};“校准”:{fact|事情:CoEvent={check|查:purpose={amend|改正}}}。其中“流量”与“校准”相邻,触发规则之后的动态角色选定为content。通过统计的方法,预测{ Amount|多少}与{ liquid|液}之间动态角色为host。

最后义原整合结果:

DEF={tool|用具:{check|查:content={Amount|多少:host={liquid|液},scope={flow|流}},purpose={amend|改正},instrument={~}}}

从上述步骤可以看出,想要提高术语语义知识库构建的自动化程度,如何自动匹配出符合已有规则的框架,以及如何获取义原之间准确的动态角色十分重要。

2.2核心词框架的获取

将已经构建好的2300余条术语语义知识库进行归纳,总结出212条术语核心词框架。如核心词为“测量”“程序”,查找到的框架为:

测量:DEF={fact|事情:CoEvent={measure|测量: content={}/patient={}/PatientAttribute={}, condition={}, location={}}}

程序:DEF={software|软件:purpose={}}

在框架中列出了{measure|测量}{software|软件}后边可能含有的动态角色。框架确定后,通过统计与规则相结合的方法进行核心义原以外的其他义原的框架填充,从而完成构建过程。

2.3特殊核心词框架的获取

上述框架的统计与术语是一对多的关系,212条框架能够覆盖大多数的术语。如果分词后,核心词找不到对应的框架,因此本文将采用一种框架推荐的策略。

例如:术语“热空气单向活门”,分词结果为“热/空气/单向/活门”,核心词“活门”找不到对应的框架,“活门”的HowNet描述信息可以查到,DEF={part|部件:whole={implement|器具}},匹配第一义原,即{part|部件}来查找框架,将所有第一义原为{part|部件}的框架一一推荐出,并列出每种框架所对应的术语,结合术语之间特征的相似性来选择合适的框架。

推荐的框架及框架对应的术语包括:

存储器 DEF={part|部件:{store|保存:instrument={~}},modifier={Attribute Value} ,location={},whole={computer|电脑}}半导体存储器

油门 DEF={part|部件: {SpeedUp|加快:instrument={~}},modifier={Attribute Value},whole={aircraft|飞行器:modifier={automatic|自动}}}发动机油门

阀DEF={part|部件:manner={Attribute Value}/means={Event},RelateTo={},whole={implement|器具}}输油控制阀节流阀

上述的术语与“阀”框架所对应的术语特征比较相似,可以选择“阀”的框架作为“热空气单向活门”的核心词框架。

对于采用框架推荐策略依然查找不到的特殊情况,需要人工添加新的核心词框架,丰富的框架资源更有利于术语语义知识库的自动构建。

2.4核心词框架的填充

确定核心词框架以后,其他词对应的义原该怎样填充,本文提出了一种规则与统计相结合的方法,先基于规则,将规则能够覆盖的义原自动填充到框架中,再通过统计已构建的术语描述信息中两两义原之间的动态角色,来将其他义原填充到框架中。

2.4.1基于规则的方法进行框架的填充

本文详细分析了文献[13]制定总结的构建规则,将规则形式化表述成计算机能够理解的形式。通过规则的实现来进行核心词框架的自动填充,可以有效地提高语义知识库构建的自动化程度。

如术语“壁温测量”,核心词“测量”框架获取后,其他词对应的义原将会触发一条规则,即:patient与content以及PatientAttribute的区别。

义原整合结果为:

DEF={fact|事情:CoEvent={measure|测量:content={Temperature|温度:host={part|部件:PartPosition={skin|皮},modifier={external|外},whole={aircraft|飞行器}}}}}

再如2.3中提到的术语“热空气单向活门”,选择“阀”的框架后,其他义原将会触发一条规则,即“modifier”的用法规则。

触发规则的伪代码为:

if Y2 is in AttributeValue then

{Y1:modifier={Y2}} //Y1、Y2为分词后获取的义原

再获取其他词的义原按照规则填充,结果为:

DEF={part|部件:RelateTo={gas|气:modifier={hot|热}},modifier={DirectioningValue|方向特性值:manner={single|单}},whole={implement|器具}}

观察上述的描述信息,结合“单向”“热”的属性以及“modifier”的用法规则,可以初步判断这两个词的动态角色为“modifier”,但是不难想象,它们也可以作为其他动态角色来修饰其他的义原。所以需要关联到其他义原来进一步确定对应的动态角色/特征。

2.4.2基于统计的方法进行框架的填充

已构建的2 300条航空术语由于是专业领域的术语,特征明显且数目不多,可以通过统计2 300条术语中出现的义原对以及义原对之间的动态角色,来预测和确定核心词以外的其他词对应的义原应如何填充框架。

为了证明这一点,从2 300条术语描述信息中随机抽取1 800条作为知识库1,其余500句作为待验证的语料,抽取10次;HowNet作为知识库2;知识库3为前两个知识库综合在一起。通过10次交叉验证,计算出500条待验证的语料中主义原、从义原以及义原之间的动态角色/特征(主义原:动态角色/特征={从义原})被3个知识库覆盖的百分比,求10次的平均值。验证过程计算下列4种情况的百分比:

情况1:主义原、从义原以及动态角色/特征完全被覆盖,其中动态角色是唯一的;

情况2:主义原、从义原被覆盖,但是动态角色/特征情况不唯一;

情况3:主义原、从义原被覆盖,动态角色/特征没有被覆盖;

情况4:主义原、从义原和动态角色/特征都未被覆盖。

结果见表1所示。

表1 500条描述信息被3种知识库分别覆盖情况

上述结果显示,通过统计1 800条术语描述信息以及HowNet中的主义原、从义原以及动态角色/特征来对其余500条术语描述信息进行覆盖,覆盖程度能够达到64.41%。

考虑到HowNet建设的一个重要特点就是自下而上归纳的方法,上一层义原涵盖下一层义原。为了进一步提高上述主从义原以及动态角色/特征的被覆盖程度,本文提出一种用上一层义原替换原有义原来进行查找的策略。

例如:{handle|处理} {image|图像}在1800句描述信息中义原对覆盖不到,如果将从义原替换成上一层义原,义原对变为{handle|处理} {information|信息},在1800条描述信息中就可以查找到。

替换策略包括以下3种

(1)将主义原替换成上一层义原;

(2)将从义原替换成上一层义原;

(3)主、从义原全部替换成上一层义原。

采用替换策略后,覆盖程度从64.41%提高到了67.26%,对替换后仍未被覆盖到的义原,本文采用人机交互的方式,将不影响术语概念的义原略去,将重要的义原手工填充到框架中。人机交互形式可操作性与灵活性强,也可使构建者随时对内容进行修改。

最后,从本文提出的方法构建的术语描述信息中随机抽取100条,对方法的利用率作出统计。其中核心词框架可以完全匹配或推荐的有82个,超过80%的核心词都可以找到与之匹配的框架。其中分词结果去掉核心词共包含322个词,这些词中通过规则自动填充的共有115个,通过统计策略自动填充的共有111个。从统计的数量来说,70.2%的词对应的义原可以被自动填充到核心词框架中,自动化程度有了很大的提高。

3 术语相似度计算

为了证明上述方法确实可行,本文采用文献[15]提出的相似度计算方法对所构建的1000条术语描述信息进行两两相似度计算,并从中选取50组有代表性的术语组织10人进行人工标注,标注过程中将两个术语相似程度等级规定为0到5六个等级,将所有标注人员的标注结果取平均值,并进行归一化处理,得到相似度的人工标注结果。图2是相似度的人工标注结果和计算结果的对比图。

图2 相似度对比图

通过图2趋势线可以看出,相似度计算的结果与人工标注的结果趋势大体一致。图2中也可看出相似度计算结果比人工标注结果略大,这主要因为计算机的计算是按照义原层次,例如“货舱高速灭火瓶”和“转换选择板”,因为第一义原都为“tool|用具”,它们都属于“entity|实体”,因而计算机计算结果为0.823,但是人工标注时觉得它们并没有什么相似的地方,所以标注结果为0.408。

表2给出2组有代表性的术语描述形式,具体的术语见表2所示。

将上述2组描述信息的相似度计算结果和人工标注的相似度计算结果进行对比,结果见表3所示。通过表3可以看出,人工标注结果虽然和相似度计算结果有些差异,但是总体的趋势是相似的。采用本文所提出的构建方法进行术语语义知识库的构建,在提高自动化程度的同时,准确程度也得到了保证,证明本文的方法确实可行。

表2 术语描述形式

表3 相似度计算结果

4 结论

本文提出了一种基于HowNet的术语语义知识库辅助构建的技术,构建了1000条航空术语描述信息,在保证准确性的前提下,很大程度提高了构建的效率。本文详细介绍了术语语义知识库的构建方法,包括对文献[13]构建规则的实现、术语核心词框架的获取、通过将规则与统计相结合的方法自动填充核心词框架,更为高效地构建术语语义知识库,从相似度计算结果可以看出这种辅助构建方法取得了较好的效果。

本文所提出的构建方法虽然提高了构建的效率,但是在核心词框架匹配过程中,框架不唯一或匹配不到的情况下,需要人为介入进行选择或添加;无法基于规则和统计方法进行框架自动填充的义原需要手工填充,自动化程度还有提升的空间。下一步的工作要针对上述的特殊情况,加入一些新的符合航空术语的规则,进一步提高术语知识库辅助构建系统的自动化程度,同时还需要大规模的构建术语语义知识库,从而满足大数据时代对语义知识的大量需求,为面向特定领域的自然语言处理工作提供了丰富的知识库资源。

[1]刘兴林.词汇语义知识库浅述[J].福建电脑,2009,25(9):47-49.

[2]王莹莹,白宇,丁长林,等.面向语义检索的中医理论知识库自动构建方法的研究[J].中文信息学报,2012,26(5):72-78.

[3]FELLBAUM C.WordNet:An Electronic Lexical Database[M].Cambridge,Massachusetts:MITPress,1999.

[4]BAKER CF,FILLLNORE CJ,LOWE JB.The berkeley frameNet project.In:morgan K ed.proeeedings of the coling-ACL’98[C].Montreal:ACL,1998.

[5]LÖNNEKER-RODMAN,BIRTE,BAKER,COLLIN F.The frameNet model and its applications[J].Natural Language Engineering,2009,15(3):415-453.

[6]RICHARDSON STEPHEN D,DOLAN WILLIAM B,VANDERWENDE LUCY.MindNet:Acquiring and structuring semantic information from text[C].Proceedings of the 17th International Conference on Computational Linguistics,1998.

[7]FABIAN M,SUCHANEK,GJERGJI KASNECI,GERHARD WEIKUM.YAGO:A Core of Semantic Knowledge Unifying WordNet and Wikipedia[C].Ontologies,2007.

[8]YAGO2s:A High-Quality Knowledge Base[DB/OL].http://www.mpi-inf.mpg.de/yago-naga/yago/,2016-03-30.

[9]王迎春,蔡东风,叶娜.基于实体-属性框架的领域知识库构建[J].沈阳航空航天大学学报,2011,28(2):69-73.

[10]董振东,董强.知网[EB/OL].http://www.keenage.com,2016-03-30.

[11]ZHENDONG DONG,QIANG DONG.HowNet and the Computation of Meaning[M].SingaPore:World Seientific Press,2006.

[12]董振东,董强.KDML-知网知识系统描述语言[DB/OL].http://www.keenage.com/html/e_i-ndex.html,2016-03-30.

[13]张桂平,刁丽娜,王裴岩.基于HowNet的航空术语语义知识库的构建[J].中文信息学报,2014,28(5):92-101.

[14]刘金凤.面向自然语言处理的汉语句子语义知识库构建研究[D].烟台:鲁东大学,2009.

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

(责任编辑:吴萍英文审校:赵亮)

Construction techniques of terminology semantic knowledge base based on HowNet

WANG Yang-yang1,CHEN Gang2,CAI Dong-feng1,WANG Pei-yan1

(1.Human Machine Intelligence Research Center,Shenyang Aerospace University,Shenyang 110136,China;2.Sci-tech Department,AVIC Changhe Aircraft Industry(Group)Company Ltd,Jingdezhen 333000,China)

Knowledge base for specific domains can satisfy the knowledge requirements for the natural language processing system.However,most current work for building the domain knowledge base is hand-built and inefficient.To solve this problem,more than 2300 pieces of terminology describing information and the rules that have been formulated were analyzed.Then more than 200 semantic frameworks were summarized based on core word while the other words are filled to the frameworks according to the rule and the statistical results.Finally,the validness of the constructed knowledge base is demonstrated that good results are achieved in term of similarity calculation.

terminology;rule;statistic;semantic knowledge base

2015-12-11

国防基础科研项目(项目编号:A0520131003);辽宁省高校创新团队支持计划(项目编号:LT2014005)

王羊羊(1991-),女,辽宁鞍山人,硕士研究生,主要研究方向:自然语言处理,E-mail:wangyangyang0408@126.com;蔡东风(1958-),男,河北霸县人,教授,主要研究方向:人工智能、自然语言处理,E-mail:caidf@vip.163.com。

2095-1248(2016)04-0078-07

TP391.1

A

10.3969/j.issn.2095-1248.2016.04.014

猜你喜欢
知识库术语语义
语言与语义
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
高速公路信息系统维护知识库的建立和应用
“上”与“下”语义的不对称性及其认知阐释
基于Drupal发布学者知识库关联数据的研究
认知范畴模糊与语义模糊
有感于几个术语的定名与应用
从术语学基本模型的演变看术语学的发展趋势
语义分析与汉俄副名组合
位置与方向测试题