当前位置:文档之家› 基于ontology的自然语言理解

基于ontology的自然语言理解

收稿日期:2003-04-07作者简介:潘宇斌(1971)),男,福建人,工程师,研究方向:人工智能。文章编号:1003-6199(2003)04-071-04

基于Ontology的自然语言理解潘宇斌,陈跃新(国防科技大学计算机科学与工程学院,长沙 410073) 摘 要:本文分析传统意义上基于知识的自然语言理解(KB-NLU)和基于Ontology的自然语言理解系统的基本模型,Ontology是概念化的描述,以及Ontology与语言知识的结合方式的三种类型:世界知识型、词汇语义型、句法语义型。关键词:KB-NLU;Ontology;世界知识型;词汇语义型;句法语义型中图分类号: TP31 文献标识码:AOntology-BasedNaturalLanguageUnderstandPANYu-bin,CHENYue-xin(CollegeofComputerScienceandEngineering,NationalUniv.ofDefenseTechnology,Changsha410073) Abstract:Inthispaper,weanalyzethebasemodelintheareaofKnowledge-BasedNaturalLanguageUn-derstand(KB-NLU)andOntology-BasedNaturalLanguageUnderstand.Ontologyisaconceptualdescrip-tion.Intermsoftheirrelationshipwiththenaturallanguage,thispaperdividesthedifferentOntologiesintothreetypes,i.e.worldknowledge,lexicalsemanticsoneandsyntaxsemanticsone.Keywords:KB-NLU;Ontology;worldknowledge;lexicalsemantics;syntaxsemantics

1 引言自然语言理解把用自然语言描述的一个受限世界(关于该世界的事实和假设),变换为用机器内部的表示法描述的一个世界模型。这个世界模型用作问题求解器的知识库,来求解各种问题。本文讨论了基于知识的自然语言理解(KB-NLU)[1]的一个新的研究方向)))以本体(Ontology)作为知识体进行自然语言理解。Ontology在哲学上是指/世界的本原0[2],它所要回答的问题是/所有事物的通用属性是什么?0。在知识工程领域,Ontology本身作为知识实体是系统的知识库,它是由概念以及概念之间的联系所构成的知识实体,是对世界或者领域知识的概念化描述。本文主要介绍Ontology作为一个知识体,结合语言学知识,进行自然语言理解,即基于Ontolo-gy的自然语言理解。基于Ontology的自然语言理解的主要任务是利用系统所拥有的知识,提取出文本的意义。它需要解决的问题是:Ontology如何定义;对文本进行各个层面上的消歧;对文本的推理。本文将就以上问题解决方案进行阐述。2 Ontology的定义2.1 Ontology的概念Ontology可以作为对某个领域的描述词典。它和作为约定的Ontology没有明显的区分,但是它的重点不是为了共享,而是为了建立起一个领域的概念化说明。从而,它作为领域的论域,所有的知识都是在它的基础之上建立的。第22卷第4期2003年12月计 算 技 术 与 自 动 化ComputingTechnologyandAutomationVol122,No14 Dec12003Ontology本身作为知识体(BodyofKnow-ledge),这一般是应用到常识知识库中。常识知识库如CYC,利用上面所说的作为领域的描述词典的Ontology作为基元,建立起关于世界的多个领域的常识知识。而这些常识知识可以作为其他知识系统的知识体。实际上,这些定义都是很接近的,主要是应用的重点不同。它们都是作为知识的一种表示方法并且可以用来帮助知识系统组织知识。2.2 基于Ontology的自然语言处理系统的基本模型

图1 基于Ontology的基本模型图1是基于Ontology的自然语言处理系统的基本模型,语言学的知识包括词汇级、句法级、篇章级等不同层次的知识,在目前的应用Ontology的研究中主要是考虑词汇级和句法级的知识。2.3 Ontology的分类根据Ontology与语言知识的结合方式,我们把Ontology分为三种类型:世界知识型、词汇语义型、句法语义型,它们在建立以及应用于NLU的过程中都有不同的特征:A.世界知识型:系统中Ontology的知识的建立不考虑和语言知识的关系,仅仅是对世界知识的描述,在对源文本进行分析的时候,需要加上其它的语言知识接口,如美国Texas公司CYC[3]和中科院盘古系统[9];世界知识型Ontology并不是以自然语言处理为唯一目标的,它为智能系统提供必要的世界知识。因此在建立的时候不必考虑和自然语言的结合,仅仅是建立人类对世界或者领域知识的理解和描述。CYC是由美国Texas的微电子和计算机技术公司开发的一个多语境的大型常识知识库以及推理引擎。到1994年,CYC已经收集了有约40万条断言,其中包含各种事实与规则,它们是针对普通人的常识。CYC包含了多个领域的知识,用微理论(Microtheory)表示,大约有500个微理论,所有的断言都连接到某个微理论。CYC中的断言是由其中的常量和变量构成的,常量就是CYC的基本概念。/盘古系统0是中科院数学所承担的国家自然科学重点基金项目/常识知识的使用研究0。和CYC比较,主要特点是它的常识的表示和组织方式。/盘古0是用Agent和本体来组织常识的,A-gent负责纵向结构,而本体用来组织各Agent的横向联系。常识性知识就分布在Agent个体以及体现Agent的各种联系的本体中。而且,不仅包含静态知识,而且对常识的使用知识也分布在Agent和本体中。Agent能够对自身进行推理,具有主动性,而Agent之间的推理知识包含在本体中。典型的,这类知识库包含的是常识知识,不仅拥有对多个领域的概念化描述,还包含了推理知识。因此,它们可以应用于自然语言处理的消歧和推理,但是需要加上和语言知识的接口。B.词汇语义型(LexicalSemantics):Ontology与词典结合,在建立的过程中需要考虑概念和词汇的关系,分析文本时两者结合进行消歧和推理,如WordNet[4],Mikrokosmos[5,6]等;词汇语义型Ontology是与自然语言的词典结合,KB-NLU系统一般把Ontology与词典分成两个不同的知识体,词典内的词条映射到Ontology中的概念,在建立的时候需要在两者之间交互。这种方法使得Ontology能够独立于语言,从而更好的重用;而且使得词典和Ontology的获取分离,减轻了开发负担。这类Ontology一般是特定领域的,仅仅包含了领域知识内的概念以及概念之间的关系,而把其它的实例化知识放在其它的知识库内,比如专有名称词典。此外,Ontology中不包含推理知识,推理蕴涵在系统的推理机制中。在分析源文本的时候,词典作为文本与Onto-logy的接口,从词映射到概念,再利用概念所含有的约束进行消歧和推理。如果把系统看作是一个搜索系统,Ontology构成搜索空间,概念间的约束知识作为启发式信息指导剪枝和搜索的进行。在推理的过程中,系统计算概念之间的距离,搜索出一条符合约束的最短距离。具体的应用中,系统对词典和Ontology的侧重点不同。例如在WordNet中偏重于词典的建设,从英语词汇中形成概念,利用同义词集(synset)表示概念,并根据心理语言学理论中人类的记忆模72计算技术与自动化2003年12月型,把这些概念划分成不同的组织结构。其中名词型的概念形成了层次结构,而动词型的概念是一个语义网。WordNet中词汇与概念交织在一起,在建立的时候比较复杂;而且由于它的本意是为了建立一个在线词典,它所包含的概念并不是考虑如何组织一个领域的知识,因此它本质上是一个带语义信息的词典,这削弱了它的文本分析能力。C.句法语义型(SyntaxSemantics):Ontology与句法级知识结合,建立过程中可以利用句法知识从语料中获取概念。分析文本时,需要结合词典,但是侧重句法级的语义分析,如GUM[7]。句法语义型Ontology结合了自然语言的句法知识,它的典型代表是GUM。GUM(GeneralizedUpperModel)是由GMD/IPSI建造的多语言文本生成环境(KOMET-PENMAN)使用的Ontology。GUM的建立是以系统功能语言学为理论依据的,该理论把语言作为一种资源,认为语言主要有两种功能:一是作为交际功能;一是用于描述世界,存储世界知识。因此,语言的形式)))文本和语义的联系不是随意的,文本的组织也决定了知识的组织。GUM的基本思想是,根据语言组织知识的方式,抽象出它们的句法模式;并对这些模式的功能组成元素不断的抽象,形成基本元素概念。句法模式和元素概念构成了上层概念模型(UpperMod-el)。上层模型的概念是独立于领域和任务的,作为领域概念的基础。利用相同的抽象方法,可以获取领域中的概念。3 Ontology解决自然语言理解中的消歧、推理问题 Ontology是对世界知识概念化描述,它作为KB-NLP系统中的知识库,是由概念集合以及概念之间的关系所组成的计算实体。其中的概念描述世界中的某一类事物或者事件、过程等,而概念间的关系描述了事物、事件或者过程之间的关系。Ontology中的概念一般采用框架结构,使用槽来表示概念的属性,以及概念之间的关系。概念之间的关系使得Ontology在整体上形成了一个语义网,其中所含的基本的结构的是层次结构和事件结构。层次结构是由概念中的IS-A属性所实现的,描述概念之间的继承关系;而事件结构是和时间有关的,由参与事件的各组成概念而构成的相对复杂的结构。例如,事件一般有主动者(Agent)、事件的对象(Theme)、事件发生的时间、地点、事件前后的变化等。把Ontology作为系统的世界知识,利用Onto-logy中蕴涵的世界知识中的约束,结合语言知识,KB-NLP系统可以消歧和推理。3.1 消歧消歧是在多个可能的意义中选择最适合的意义,系统利用Ontology中概念以及概念之间的约束关系消歧。例如,在/沙发/的/扶手/开始/活动/了/。0中,/活动0具有歧义。通过词典的语义映射,它可以对应到这些意思:(1)不牢固、动摇;(2)运动;(3)从事有目的的社会交往;(4)特指钻营、行贿等。仅仅从句法分析是无法消歧的。根据概念之间的约束,因为后三个概念都需要一个/有意识的人0作为行为者,而/扶手0是一个无意识的物体,不能完成后三个概念所表述的动作,因此,可以判断出在这个例子中/活动0的意义应该是/不牢固、动摇0。3.2 推理推理是找出文本中没有明显表示出来或者有转义的意义,系统利用Ontology中缺省的知识填充空缺的意义,或者通过计算Ontology中概念的距离找出句子的转义。如在例子:/小王驾驶着一辆货车过来了。0中,根据/驾驶0概念中包含的位置约束,驾驶员必须位于其驾驶的车内,可以推理出小王的位置是在货车内。推理是从一个概念集找到和它相关的另一个概念集,因为Ontology中的所有概念都是可以相互到达的,理论上来说是可以推理出结果,但是如果Ontology足够大的话,推理的效率将大大降低。因此,在推理的时候应该注意控制搜索的进程,以保证它是面向目标的[8]。4 结束语Ontology是对世界或者领域的概念化描述,利用Ontology作为知识体进行KB-NLU,能够有效的把语言学知识和世界知识结合起来,运用世界知识对文本进行消歧。此外,Ontology与知识系统的知识库相融合,使得自然语言处理不仅仅是作为一种人机交互方式,而且能够与其它的基于知识的智能系统如专家系统整合。但是Ontology的研究也存在一些问题:首先,它具有所有的知识系统面临的知识获取瓶颈,大部分研究中的Ontology的建立是没有理论支持的,而且都是采用人工提取概念,需要开发能够自动或者半自动提取概念的工具;其次,目前的研究还主73第22卷第4期潘宇斌等:基于Ontology的自然语言理解

相关主题