本文主要是介绍《中文信息学报》佳文共赏∣ 袁毓林 李强:怎样用物性结构知识解决“网球问题”?(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章导读
“网球问题”指怎样把racquet(网球拍)、ball(网球)和net(球网)之类具有情境联想关系的词汇概念联系起来、发现它们之间的语义和推理关系。这是一个自然语言处理和相关的语言知识资源建设的世界性难题。该文以求解“网球问题”为目标,对目前比较主流的几种语言词汇和概念知识库系统(包括WordNet、VerbNet、FrameNet、ConceptNet等)进行检讨,指出它们在解决“网球问题”上还都存在一定的局限性,着重分析它们为什么不能解决“网球问题”。进而指出基于生成词库论的名词物性结构知识描写体系可以解决“网球问题”,主张用名词的物性结构知识和相关的句法组合知识来构建一种以名词(实体)为核心的词汇概念网络,以弥补上述几种知识库系统的不足,为自然语言处理提供一种可资参考的词汇概念知识库体系。
1 什么是网球问题?
“网球问题”(Tennis Problem)最初是由Roger Chaffin在他跟Christiane Fellbaum的私人交流中提出来的,后来由Fellbaum[1]公诸于世,并随着WordNet的普及而受到自然语言处理学界的广泛关注。简单地说,“网球问题”指的是如何将racquet(网球拍)、ball(网球)、net(球网)等词语以一定的方式联系到一起的问题。从概念意义上看,这些词语所指谓的都是court game(球类运动项目)的组成部分,是由网球运动这一事件或场景激活(activate)出来的。与此类似的情况,还包括:“医生”和“医院”、“蛋糕”和“蜡烛”、“粉笔”和“黑板”、“小狗”和“链子”等。这些词语所表示的不同概念,都需要通过一个事件或一个场景才能组织到一起。正因为这些不同概念之间缺乏相似性(similarity)、组织性(organization)和推导性(derivation),Fellbaum认为:对于此类“网球问题”,他们所研制的WordNet没能提供较好的解决办法。因为,WordNet并不包含围绕一个特定话题组合起来的、篇章结构环境下的、各个语言成分之间的语义关系。那么,对于这种需要通过事件或场景来维系的不同概念及其词汇,有没有一种恰当而又充分的语言词汇知识体系,能将它们关联起来,并且把它们的语义关系描述清楚呢?换句话说,这些不同的概念及其词汇是否能够通过一种具有系统性(systematicness)和秩序性(order)的词汇知识库串联起来,以弥补WordNet在解决这类复杂关系问题方面的不足呢?
本文以求解“网球问题”为目标,对目前比较主流的几种语言和词汇概念知识库进行检讨,说明为什么这几种知识库都无法解决“网球问题”。进而指出,生成词库理论中的物性结构知识描写体系,对于解决“网球问题”具有重要的启发性意义。因为,不同语言成分所代表的概念可以通过物性角色串联在一起,从而形成一个网状的知识体系。这种意义的网络能够将概念与概念之间以及概念所具有的属性之间的关系清楚地揭示出来,为下一步建立常识性推理知识库奠定一定的基础。
文章的结构组织大致安排如下:第2节对WordNet进行介绍,并说明为什么它无法解决“网球问题”;第3节对VerbNet进行介绍,并说明它不能解决“网球问题”的原因;第4节对FrameNet进行介绍,并解释它在解决“网球问题”方面的局限性;第5节介绍概念网ConceptNet,说明单纯的常识性推理知识不注重词语的组合方面知识,不便于解决“网球问题”;第6节介绍名词的物性结构知识体系,通过具体个案来展示它对“网球问题”的解释力;最后对文章进行小结。
2 为什么WordNet无法解决“网球问题”?
WordNet是目前自然语言处理领域非常重要且应用十分广泛的词汇知识库,它是由美国Princeton University(普林斯顿大学)认知科学实验室的G. A. Miller(米勒)、R. C. Beckwick(贝克威克)、C. Fellbaum(费尔鲍姆)等人于1985年研制的,至今将近有30年的时间,数据库版本从1991年的version 1.0到2007年的version 3.0,再到如今的version 3.1,收词规模和知识库维护正在逐步地扩大和完善[2]。作为一种机读词典,WordNet充分吸收了心理语言学的相关理论,改变了传统以字母顺序组织词汇信息的方式,而将在语义上紧密联系的相关概念聚合到一起形成同义词集(synsets)。这样做的心理学依据是: 在人们的心理词库(mental lexicon)中,词汇的组织和表征方式并不是随意和散漫的,而是有组织性和系统性的。将这样一种词汇语义的分布模式移植并应用到计算机的词汇知识资源之中,为计算机实现自然语言的语义理解提供了可能性。
WordNet对于词条的组织方式基本上是属于聚合式的,所以它看起来像是一部汇编式的同义词义类词典(thesaurus)。在WordNet中,主要包括名词、动词、形容词和副词,所有的词都按照其义项以同义词集的形式组织在一起,并标示相关的同义词集在语义上的联系。这些语义联系有上下位关系(hyponymy/hypernymy)、整体-部分关系(meronymy/holonymy)、反义关系(antonymy)、蕴涵关系(entailment)等[1,3]。从本体知识(Ontology)的角度看,WordNet通过各种语义关系将词汇联系在一起的方式,展示了它构建语言本体知识的能力。因而,它对于信息检索(information retrieval)、词义消歧(word sense disambiguation)、机器翻译(machine translation)、知识工程(knowledge engineering)等自然语言处理领域具有重要的推动作用,并直接服务于下一代新网络——语义网(semantic web)的构建[4]。
然而,作为一种计算词库(computational lexicon),袁毓林指出了它也存在若干缺陷[5]。比如,缺少动词句法配置方面的信息、缺少谓词论元的语义角色信息等等。其中,最为重要的是,WordNet没有能将词汇之间的组合关系揭示出来。组合关系和聚合关系是语言系统中的两种最根本关系,索绪尔分别称之为“句段关系”和“联想关系”[6]。组合关系基于语言成分的线性排列,而聚合关系基于语言成分的共同特点。作为义类词典的WordNet更多关注的是词语之间在意义上的相似性特征,也即聚合关系,而对那些不具有相似性特征的词语之间的可能的组合关系和语篇中的共现关系(co-occurrence)则关注不够。比如,“hospital”(医院)和“physician”(医生),它们在WordNet中检索到的信息分别如下面的图1和图2所示。
图1 “hospital”(医院)在WordNet中的信息
图2 “physician”(医生)在WordNet中的信息
由图1和图2可见,在“hospital”(医院)的语义描述信息中找不到“physician”(医生);相反,在“physician”(医生)的语义描述信息中也找不到“hospital”(医院)。因而,WordNet没有办法在“hospital”(医院)和“physician”(医生)之间建立起有效的语义指针性关联。这对于自然语言处理,尤其是对于文本理解来说是不利的。比如,当某个人说“我要去医院”,隐含的意思是他要去看医生。如果不能在“医院”和“医生”之间建立起关联,那么计算机在理解“我要去医院”这句话的隐含义时就会有困难。
此外,心理学的研究成果显示,在语义关系网络中,所有的概念都不是孤立存在的,总是跟其他概念相互联系。其中,最重要的两种联系是类别关系(taxonomic relation)和主题关系(thematic relation)。类别关系是基于相似性组织的层级关系,对应于聚合关系;而具有主题关系的两个概念之间通常并不共享相似的特征,只是通过事件或场景组织起来,对应于组合关系[7-8]。人们对于特定词汇的习得以及将其整合到语义网络的过程,都离不开这两种学习方式。可见,基于心理学研究成果之上的WordNet,它对词汇所进行的语义归纳和分类的做法只是体现了词汇学习中的类别关系,而忽视了另外一种基于场景的联想式词汇组合关系和语篇中的共现关系,也即上文第一节所说的“网球问题”。要解决“网球问题”,就需要利用到组合性词汇知识资源,通过语义关系指针将表示具有主题关系的不同概念的有关词语联系起来,从而形成指针式的语义链接关系。而在一个场景或事件中,这些不同的词汇概念往往是通过动词联系起来的,比如,“小狗”和“链子”就可以通过动词“拴”联系,形成“用链子拴小狗”,或者其关系化的名词短语“拴小狗的链子、拴着链子的小狗”;“母鸡”和“鸡蛋”可以通过动词“下/生”联系,形成“母鸡下/生鸡蛋”,或者其关系化的名词短语“下/生鸡蛋的母鸡、母鸡生/下的鸡蛋”。动词可以为不同的概念提供链接的中介,也可以同时激活这些不同的信息[9-10]。于是,接下来的挑战是:怎样找到这种桥梁性动词?什么样的语义学理论和语义知识资源可以解决这个问题?这要留到下文第六节再讨论。
3 为什么VerbNet无法解决“网球问题”?
上文提到,WordNet只关注动词内部的语义组织关系,包括蕴涵关系(entailment)、对立关系(opposition)、致使关系(causation)等等,这些语义关系基本上是静态性的、聚合性的,至于动态性的、组合性的动词论旨角色及其句法配置等语义关系信息,WordNet则没有涉及。在这一方面,University of Colorado at Boulde(科罗拉多大学波尔得分校)的VerbNet,在一定程度上弥补了WordNet的不足。它对动词的句法框架、论旨角色(thematic roles)和选择限制(selectional restrictions)进行了细致的描写[11]。VerbNet的理论基础是Levin(1993)的动词分类标准。该分类标准体现了动词句法和语义的互动关系,表现为:具有相同句法行为的动词往往属于同一个语义类,而不同语义类的动词则一定具有不同的句法行为。因此,可以通过句法形式上的变换(alternation)关系分析,达到划分动词语义小类的目的。VerbNet为每一个动词设置了三类信息,包括:(1)Members,即同属于一个语义类的各个动词;(2)Thematic Roles,一类动词所能支配的不同论旨角色,并在括号中标明动词对于论元的语义选择限制;(3)Frames & Predicates,包括动词的句式类型、实例、句法配置和语义描述等[5,11]。比如,下面是动词hit在VerbNet中的信息。
图3 动词hit在WordNet中的信息
从VerbNet对于动词的描写可以看到,动词相关的语义和句法信息都能清晰地展现出来,这离解决“网球问题”更进了一步。正如上一节所提到的,基于事件或场景的不同概念通常需要动词作为链接指针进行联系。那么,不言而喻的是,动词的句法语义信息对于情景中概念和词语之间的联系起了非常重要的作用。然而,我们发现VerbNet虽然对于动词的相关信息做了足够充分的刻画,但在解决“网球问题”方面还有以下3点不足:
(1)VerbNet是以动词为中心的词汇知识库,以动词作为查询项,对名词所指事物的情景关系不能做出预判。比如,“tennis”(网球)和“racquet”(网球拍),它们在VerbNet中查询不到,只有先获知“‘racquet’是击打‘tennis’这个动作所凭借的工具”这层语义关系,进而查询动词hit,才能得到[NPagent V NPpatient PPinstrument](Paula hit the tennis with a racquet)这种能将“tennis”和“racquet”联系起来的句法格式。
(2)对于一些场景依赖性特别强的相关事物,VerbNet提供不了一个能够将指称这些事物的名词囊括在特定句法结构之中的动词。比如,“生日”和“蛋糕”,能将它们联系起来的常识性推理应该是“为了庆祝生日而吃蛋糕”。但若要在VerbNet中查询动词“eat”(吃),它的句法框架只能容纳名词“蛋糕”,无法将“生日”和“蛋糕”关联起来并且都容纳进其中的某个句法框架。动词“eat”(吃)在VerbNet中的句法框架信息如下面图4所示。“celebrate”也是如此。虽然VerbNet中未收录表示“庆祝”义词条“celebrate”的句法框架信息,但根据语言学知识,它的句法框架是[NPagent V NPtheme](We celebrated Mary’s birthday),也只能容纳名词“生日”,而不能容纳名词“蛋糕”。
图4 动词eat(吃)在VerbNet中的句法框架信息
(3)VerbNet主要表现动词的论元结构和句法实现,动词为特定句法结构中的名词赋予论旨角色,可以将受动词支配的有关名词所表示的概念聚合在一起。但是,有些概念之间的联系依赖的是情景式联想。比如,“键盘”和“鼠标”,它们之间的联系并不依赖于某一个特定的动词,而是通过“电脑配件”这一概念域情景产生关联的。所以,在这种情况下,VerbNet对不同概念之间的激活起不到应有的作用。也就是说,VerbNet关注以动词为核心的词汇性组合关系,不能反映语篇中相关词语的常规性(routine)的共现关系。
综合以上三个方面来看,VerbNet虽然能够在一定程度上反映动词对于名词的串联作用,即不同事物依靠特定动作关联在一起;但是,它仍然无法反映事物之间的情景关系,尤其是通过“扩散性激活”①(spreading activation)引起的不同事物之间的联想式语义网络。要想解决“网球问题”,还得求助于其他类型的组合性语义学理论和相关的词汇知识库。
4 结论与未来工作为什么FrameNet无法解决“网球问题”?
加州大学伯克利分校(University of California, Berkeley)的框架网项目(FrameNet),是基于框架语义学(frame semantics)、并以语料库为基础建立的在线英语词汇资源库。框架语义学是Fillmore提出的研究词语意义和句法结构意义的方法,该理论主张对于词语意义的描述必须联系特定的语义框架,因为框架是信仰、实践、制度、想象等概念结构或概念模式的图式表示,是言语社团中人们相互交流的概念基础[5,12]。Fillmore把一个格框架看作是刻画一个小的抽象的“情景”(scene)或“境况”(situation),该“情景”或“境况”帮助理解一个动词的语义结构跟该动词的基本句法属性如何联系,以及不同语言形成最小句子的不同方式。所以,要理解动词的语义结构,就必须首先理解这类图式化的情景[13]。比如,框架heat描述的是一个涉及烹调(cook)、食物(food)和加热工具(heating instrument)的情境,以及可能引发这一情境的一些词汇,如bake、blanch、boil、broil、brown、simmer、steam等。出现在heat这一框架中的成分称为“框架元素”(frame element),而能够引发激活这一框架的词语称为“词汇单元”(lexical unit)。
FrameNet数据库主要由词汇库(lexicon)、框架库(FrameNet database)和标注例句(annotated example sentences)三部分组成。词汇库主要包括词条传统的词典释义、语义结构和配价模式、与标注例句的链接以及跟其他机器可读资源(如WordNet/Comlex)的链接。框架库主要描述框架基本的概念结构,给出框架名称、框架元素以及框架之间的关系。标注例句呈现特定词项的语义和句法性质,标注句中的框架元素、框架元素所在短语的短语类型,以及框架元素的句法功能[14]。比如,下面的图5是表示“击中”义的动词hit在FrameNet中的信息。
图5 动词hit在FrameNet中的信息
由上图可见,跟VerbNet以动词为核心、自下而上(bottom-up)的句法语义描写不同,FrameNet是以框架为核心、自上而下(top-down)地对处于框架中的动词或事件名词的句法语义信息进行描写。框架和框架元素反映了事件和事件参与者之间的关系,以及表示这种事件的动作跟其论元在句法配置上的关系。所以,FrameNet可以看作是VerbNet的抽象版本,在解决事物和概念的情景联想关系时,它同样也会遇到和VerbNet一样的问题。比如:
(1)对于某些表示事物概念的名词,如“网球(tennis)”、“键盘(keyboard)”、“狗(dog)”等,基于情景联想关系,它们可以分别与“网球拍”、“鼠标”、“链子”产生关联。但是,这些词语在FrameNet中都查询不到相关的信息,这些事物之间的情景联想关系也就无法表示。
(2)对于某些表示事物概念的名词,如“生日(birthday)”、“医院(hospital)”等,虽然它们在FrameNet中可以查询到相关的框架信息;但是,框架中所包含的元素并不能体现情景联想关系。比如,“hospital”所在的框架为“buildings”,该框架的定义是“a building which houses an institution providing medical, surgical, and nursing care for sick or injured patients”,出现在该框架中的框架元素包括“building、function、material、name、place、relative location、time of creation”,这些框架元素中并不包含可由“医院”激活的、基于情景联想关系的“医生、护士、医疗设备”等概念。
(3)正如袁毓林[5]所指出的:“在FrameNet中,做多少框架才能覆盖绝大多数的文本语料?从哪些框架开始、止于哪些框架?怎样确定情景的大小和覆盖面?对于这些问题,FrameNet都是无法给出明确答案的”。而它们将直接影响到FrameNet解决“网球问题”所能取得的实际效果。因为,基于情景联想关系的不同事物或概念之间通常并不具有十分紧密的语义联系,由一个事物激活另外一个事物的原因可能是由于它们经常性地共现于某一个场景,或基于一般的生活经验性常识。那么,可以预料到,如果FrameNet所划分和定义的情景框架较小或覆盖面较窄,它就一定不能触及由情景激活的事物。所以,FrameNet在确定情景框架方面的主观随意性,会给“网球问题”的解决带来一些困扰。
基于以上认识,我们认为:FrameNet设置情景框架并在此基础上描述词项的语义结构和句法配置信息,这比VerbNet 单纯对于动词相关信息的描写更进了一步。同时,情景框架的设置也给“网球问题”的解决带来了一些新的启发和思考。但是,因为FrameNet从根本上来说还是以动词为核心的、旨在反映事件和事件参与者之间的论旨角色关系;并不能抓住相关词汇概念在语篇中的常规性的共现关系。而且,情景框架的划分具有较大的任意性和主观性。所以,它还不能为解决事物之间的情景联想关系这一问题提供一个理想的语言知识资源。
由于微信篇幅限制,请查看《中文信息学报》佳文共赏∣ 袁毓林 李强:怎样用物性结构知识解决“网球问题”?(下)以阅读剩余全文。
这篇关于《中文信息学报》佳文共赏∣ 袁毓林 李强:怎样用物性结构知识解决“网球问题”?(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!