自然语言处理-第10章 歧义的排除课件_第1页
自然语言处理-第10章 歧义的排除课件_第2页
自然语言处理-第10章 歧义的排除课件_第3页
自然语言处理-第10章 歧义的排除课件_第4页
自然语言处理-第10章 歧义的排除课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章歧义的排除上一章所讲述的技术并没有解决歧义的问题,如单词bridge,至少有四种裁然不同的名词意思:桥、桥牌、牙科设备、以及用于表示联系的抽象概念。为了区分这些不同的意思,我们引入了不同的表示方法,如STRUCTURE1,GAME27,DENTAL-DEV37和CONNECT12。某一句子只能允许这些可能的表示方法的一个子集,比如,句子Thebridgecrossestheriver只能对应STRUCTURE1。但上一章所采用的语言解释的机制却允许这些所有的意思,因为并没有采用什么办法来表示什么意思的组合是统一的,这一章就是提出一些思想和技术以开始解决歧义的问题。10.1节讨论用选择限制和类型等级来指出允许的单词意思的组合,并提出一个有限制的繁殖算法来消除不可能的单词意思。10。2节用在分析时这些技术滤去语义上不可能的成分。10.3节讨论语义网络的表示以推广单纯的类型等级。10.4节讨论一些统计词义搭配的方法来辨别词意。10.5节主要讲了把选择限制的概念推广用于统计的优先方法。10.6节讨论一些把以结构为基础的技术和以统计为基础的技术结合起来的常见问题而若是谈到purpleidea或purpleevent时则没有意义,这可以用一个要求来表示,即purple只能修饰一个实在的对象。形容词precise则相反,只有修饰思想或行动(或某人的行为的普遍特征)时才有意义,而形容词unfortunate只有修饰一些事件或形势时才有意义。表10。1列举了一些对自然语言有用的上几层的类型等级。该表并不完全,且上几章提到的所有的实全都应在这里找个位置。另外需要注意的是等级并不一定是树形结构:就是说,某一意思可以有几个父类。比如类别MALE和FEMALE,比如都可归于与ANIMATE和VEGETATIVE同一层上,而这些类型形成LIVING单个的子树,而MALE—PERSON则是PERSON和MALE的共同子类型。ALLTIMEINDIVIDUALLOCATIONSITUATIONCOLLECTIONPHYSOBJABSTRACTOBJEVENTNON-LIVINGLIVINGVEGETABLEANIMATEPERSONANIMALABSTRACTEVENTPHYSEVENTFigure10.1AwordsensehierarchyABSTRACTOBJPHYSOBJNON-LIVINGLIVINGMACHINGTEXTOBJANIMATEVEGETABLEDISHWASH/MACHARTICLE/TEXTBOOKPERSONANIMALDISHWASH/PERSFigure10.2Afragmentofhierarchy给定这样一个等级,我们就可以寻找谓词置于其参数上的限制。比如动词read,它有两个主要的参数:能够发出读动作的施事者(比如,类型PERSON中的某一实体)和包含文字的受事者(比如书、报纸、标记、信号等等)。为了处理好该类动词,我们引进了一种新类型TEXTOBJ,为NONLIVING的子类型,BOOK1和ARTICLE/TEXT的父类型。这些限制允许我们在一个句子中为单词选择适当意思。比如名词dishwasher有两个意思,一个是机器(DISHWASH/MACH),另一个是一个人(DISHWASH/PERS),这些意思放进了如表10。2所示的表格的等级当中,因为这两个单词都有歧义,句子Thedishwasherreadthearticle可能就有四种裁然不同的语义。但是其中只有一种有意义,即:(READS1[AGENT〈THEd1DISHWASH/PERS〉][THEME〈THEP1ARTICLE/TEXT〉])

(READS1r1){DISHWASH/MACH1DISHWASH/PRES}d1){ARTICLE/TEXTARTICLE1}p1)(AGENTr1d1)(THEMEr1p1)寻找可行的组合可视为一个限制适应的问题,在这种情况下限制包括在表10。1和10。2中所示的等级类型表中的一元谓词(如子类、不相交等等)和二元关系参数语义类型的选择限制之间的语义关系。READS1的选择关系可表示如下:

(AGENTREADS1PERSON)---施事者必须是一个人。

(THEMEREADS1TEXTOBJ)----受事者必须是TEXTOBJ类型。添加了这个意思以后,Thedishwasherreadthearticle的最初的逻辑形式就变成:

({READS1READS2}r1[AGENT<THEd1{DISHWASH/MACH1DISHWASH/PRES}>][THEME<THEp1{ARTICLE/TEXTARTICLE1}>])这个新增的歧义并无影响最后的结果因为READS2的意 义需要一个MENTAL-STATE作为受事者,而article却 没有MENTALSTATE之类的意思。因此就没有允许把 READ解释为READS2的组合。 我们也需把这技术应用于正确的名字、代词和形容 词。我们假设我们已经有了正确名字所代表的意思的 类型信息。比如,John可能指的是男的,是一种男性动 物,未知名的就认为是具有INDIVIDUAL的属性。代 词词组的类型由代词的意思定义,对于形容词happy来说,选择限制就变成

(MODHAPPY-STATEANIMATE)---HAPPY-STATE必须修饰一个动物对象。每当产生一个逻辑形式,它所包含的一元和二元语义关系必须用选择限制来检查。假如说没有一个解释能满足这些限制,那么这些解释是错误的,成份就可抛弃。否则,这些经简化的逻辑形式,当它们的不可能的意思被去除了以后,可用作该成份的SEM。在本节剩下的内容,我们把限制满足算法以比较认真的形式展开。该算法列在表10。3中。在实现算法时,我们需要一个 匹配意义的过程。如果两种类型交叉集为空时,匹配失败 ,否则它就返回这两种类型的交集。假如其中一个是另外 一个类型的子类型,那么就返回子类型。对于表10。2, Match(PERSON,DISHWASH/PERS)是DISHWASH/PERS。 而在其它的情况下,类型有可能重叠,那就返回一个两种 意思的其同子类型。比如,通过适当的定义,

Match(MALE,PERSON)返回的结果为MALE-PERSON1。

初始化步骤:列出每个变量的所有的类型

循环步骤:对每一个二元关系(relvariable1variable2)循环执行下列步骤1.对于变量variable1的每个类型sense1找出所有可满足的选择限制(relvariable1variable2),可满足的类型是sense2的类型与variable2类型有相交。假如没有可满足的选择限制,则把这个类型去掉。2.从变量variable2中删除掉不能满足第一步中的至少一条的限制的类型。结束:假如上一步循环中变量的类型有所变化的话,则重复执行循环一遍。否则如果某个变量的类型为空,则认为是失败。Figure10.3Asimpleconstraintsatisfactionalgorithm例如,把该算法应用于分析Thedishwasherreadthearticle.初始化产生以下类型:types(r1)=READS1,READS2types(p1)=ARTICLE/TEXT,ARTICLE1types(d1)=DISHWASH/PERS,DISHWASH/MACH1这个问题的二元关系为(AGENTr1d1)和(THEMEr1d1)。第一次重复步骤运行如下:对于(AGENTr1d1),我们通过r1来重复:READS1—我们找到选择限制(AGENTREADS1PERSON),且PERSON只和DISHWASH/PERS相匹配(得出DISHWASH/PERS)READS2—我们找到选择限制(AGENTREADS2PERSON),且PERSON只和DISHWASH/PERS相匹配(得出DISHWASH/PERS)由此,类型(d1)就变成(DISHWASH/PERS),就是说,DISHWASH/MACH因为它不能满足任何限制而被消除。对于(THEMEr1d1),我们通过r1来重复:READS1—我们找到选择限制(THEMEREADS1TEXTOBJ),因为TEXTOBJ只和ARTICLE/TEXT相匹配(得出ARTICLE/TEXT)READS2—我们没找到任何可匹配的选择限制,就是说(THEMEREADS2MENTAL-STATE)不可满足。由此,类型(r1)就变成(READS1),就是说,READS2被消除,而类型(p1)变成(ARTICLE/TEXT)因为ARTICLE1被消除。因为发生了变化,我们必须再来一遍,第二遍重复运行如下:对于(AGENTr1d1),r1只剩下一个类型:READS1—我们找到了选择限制(AGENTREADS1PERSON)对于(THEMEr1d1)READS1—我们找到了选择限制(THEMEREADS1TEXTOBJ)

由于再也没有变化发生,我们就结束了重复,最后的类型恰如我们所期望的为:types(r1)=READS1types(p1)=ARTICLE/TEXTtypes(d1)=DISHWASH/PERS选择限制对于未知的对象的类型的进一步细化也很有用。比如,代词it除了不能指人以外,对所指的对象并无多少限制。然而对于动词的选择限制却可很能体会出它所指的东西的类型。考虑一下对句子Hereadit的分析,假定动词read只有READS1的类型:(READS1r3[AGENT(PROi1HE1)][THEME(PROn1(IT1n1))])对象的一元和二元限制为:(READS1r3),(AGENTr3n1)(MALEi1)(IT1n1)这个方法主要的问题是语义上的一致性是个模糊的概念而不是一个是非题。如果我们打算在一致上做一个绝对的条件,那么我们要么就去除了许多本有可能地解释,要么我们就几乎什么也不去除。考虑下面的句子:1.Iatethepizza.2.Iatethepox..3.Iatethecar.4.Iatethethought.很显然,,第一句是一个正确的句子,而第四名却很有问题,但是中间那两句呢?假如我们使用对吃的动作应用接受者的角色进行选择限制的操作时,我们可能会得到一个象FOOD一类的类型。这就使句一能够通过而句二不符合语法习惯,但限显然,句二并不是不符合语法习惯,没什么事可做,我可以吃盒子啊,那看来句二也是一个正确的句子了,但哪种类型包含了FOOD类型和盒子呢(而且一个人可能还吃报纸、帽子等等)?我们或许会说是PHYSOBJ类型,那句子一、二、三一块就全部都能接受。但我们这么一做,我们就丢失了一个这样的信息:食物比起其它的东西来更可能被人吃,特别相对于汽车而言。还有,单词chip有两个意思,一是食物,比如马铃薯块,另一不是食物,比如木块,那chip在句子Iatethechips中我们就辨别不清是什么意思了。这就是说选择限制如果排岐方面的能力是有限的。同样,选择限制在一些陈述句中也无能为力。比如,在否定句中,限制会被打破,比如句子:Icouldnoteatacar应当说是一个很好的句子,即使EATS1要求类型FOOD1作为接受者,显然选择限制对于句子Mycardrinksgasoline这类有暗喻的句子也是无能为力的。虽然有这许多的问题,选择限制在实际的应用中还是非常有用。原因之一是假如我们把它应用于某一领域,在这领域中象eatingboxes之类的奇怪的句子不什么出现,那么限制(THEMEEATS1FOOD)就会很有用。当然这个技术如果扩大应用范围的话,就会出现麻烦。10.2用选择限制进行语义过滤我们最少可用两种办法来把选择限制加到分析中去,其一是时序模式,它开始是进行分析,然后检查它所找出的关于句子的所有解释。而递增模式是在分析时就检查每个部份,如果它在语义上有问题,那我们就不要它了,显然递增模式比起时序模式要高效的多。本节用一个简单的例子来验证其效率。其中,我们要把词义等级假定为树形的。考虑下面这一句子,它含有两个PP是用来修饰谁的歧义:

Hebookedaflighttothecityforme.从语法上来说,PPs可用来修饰VPs或CNPs,该句子有五个不同的结构:介词短语tothecity可用于修饰动词booked也可用于修饰名词flight,介词短语forme可用于修饰名词city,名词flight,也可用于修饰动词booked。我们可以把这些可能性组合为五种不同的意思,但如果我们从语义方面考虑,则只有一个合理的解释:飞机是飞往这个城市的,而他是为我订票的,我们可从直觉上获得动词book和名词flight和city的选择限制。语法10。4是一个允许不同形式的介词修饰的小语法,它就是利用9。6节所讲述的技术且不需要应用lambda变换。该语法只显示了与语义解释有关的特性。规则7和规则8引进了介词短语修饰符。我们用特性ARGVAR来把一个句段的变量传给介词短语以获得合适的意思,否则这个语法和9。14的语法就十分相象了。表10。5显示了一些词典条目和一个用于语义检查的词义等级。谓词HE1和ME1分别代表代词he和me语义限制,在本例中我们把它们放在PERSON下面比较合适。

a(ARTAGR3sSEMINDEF1)booked(VSUBCAT_npVFORMpastSUBJ?subjOBJ?objSEM(&(BOOKS1*)(AGENT*subj)(THEME*?semobj)))city(NAGR3sSEMCITY1)college(NAGR3sSEMCOLLEGE1)flight(NAGR3sSEMFLIGHT1)for(PPFORMforSEMBENIEFICIARY1)he(PROAGR3sSEMHE1)me(PROAGR1sSEMME1)near(PPFORMnearSEMNEARBY)the(ARTAGR{3s3p}SEMTHE)to(PPFORMtoSEMDESTINATION)Figure10.5AsmalllexiconandwordsensehierarchyTOPPHYSOBJACTIONPERSONINANIMATEFLIGHT1CITY1COLLGE1BOOKS1本句的语义限制就可表示如下:(AGENTBOOKS1PERSON1)(THEMEBOOKS1FLIGHT1)(BENEFICIARYACTIONPERSON1)(DESTINATIONFLIGHTCITY1)(NEARBYPHYSOBJPHYSOBJ)(NEARBYACTIONPHYSOBJ)这就要求订票动作的施事者必须是一个人,而受事者必须是航班,第三个限制是受益者可以是人或动作之一,第四个限制允许目的地和航班所到的城市相关联,最后两个句子允许邻近关联可以在两个具体对象或一个动作和一个具体对象之间,比如Hesighedneartheboat我们可从这些信息来分析这个句子,我们把语义过滤加到图表分析器中,当我们要把一个词条加到图表时,我们先检查它的逻辑形式上的关系并没有破坏选择限制。当它的SEM值已经具体化了时,那上一节所述的算法就能直接用上,假如这个SEM满足限制,那么我们就把这个部份加进去。假如这个SEM不满足限制,那么我们就把这个部份不要掉。这不仅意味着我们从图表中去掉不要的成份,而且本由它所产生的更大的组成部份我们也不用分析。该技术即使在由下而上的分析中也能大幅提高效率。比如,对于语法10。4,我们考虑一下用由下而上的图表分析来分析一下句子:Hebookedtheflighttothecityforme.。假如说没有用语义过滤,分析器能找出五种不同的解释并产生52个组成部份,而用语义过滤,分析器只找到一种解释并只产生33个组成部份。特别,我们可分析如下:变量的一元限制是v258BOOKS1v260FLIGHT1v263CITY1由此,从SEM产生的关联形式是

(THEMEBOOKS1FLIGHT)和

(DESTINATIONBOOKS1CITY1)后面这一并不满足任何一个选择限制。注意这个组成部份一开始就可去掉。特别当我们分析更复杂的句子时,我们就能节约的更多。比如,分析句子

Hebookedaflighttothecitynearthecollegeforme.我们用时序的策略的话,分析器能找到14种不同的解释和116个组成部份,而用增加策略的话,分析器能找到3种不同的解释和63个组成部份。这三种解释在语义上都是合理的——第一是城市在大学的旁边,第二是要去那个城市的航班在那个大学旁边上机,第三是他是在大学旁边订的票,第一种解释在没有上下文的情况下显得更为自然,但其他两种解释在有合适的上下文情况下也是正确的。我们将在本书第三部份再讨论上下文,现在我们只能做到这个地步。10.3语义网络上一节中,我们可以看到语义类型等级在排歧方面有非常重要作用,本节把这个思想进一步推广并开发出一个可表示词典意思的东西叫做语义网络。语义网络可使用性质继承使词典构造简单化,并在词义之间提供一个丰富的语义关系来支持排歧。语义网络是一个在节点之间用有向边连接起来的图,节点和边都有标记。节点代表的是词义所属的类型,边代表的是语义之间的关系,图10。6表示具体和抽象类的对象之间的一些语义关系。S边表示子类型,我们可以看出,这是我们上两节所说的类型等级的另一种表示方法。NON-ANIANIMATENON-LIVVEGETABLEDOGPERSONEVENTFigure10.6PartofatypehierarchyALLPHYOBJSITUATIONsssssssssACTIONANIMATEAGENTFigure10.7Allactionshaveananimateagent

我们也可以用语义网络的边来表示语义关系的选择限制,从图10。7我们可以说所有动作的施动者都必须是生物,这里引入了一个新的节点类型叫做存在节点,用一个方框表示。在本例中,施事者被限制为必须是ANIMATE类型的一个对象,我们可以用类似这种的办法来保持某些值,例如他们是否是必须的等等。ACTIONANIMATEAGENTFigure10.8AnetworkshowinginheritanceofrolesRUN1语义网络的一个重要性质是继承。比如对于图10。8所示的语义网络,动作类型RUN1继承了所有动作的一个属性,就是每个动作的施事者只能是ANIMATE类型的对象,特别我们可以把继承从某一指定的节点开始应用,为找出对某个角色R的限制,我们先就这一指定节点(比如RUNS1)检查R关系,如果没有找着,则我们沿着S类型的边往上走(比如到达节点ACTION),假如还是没有找到,则可继续没S边往上走直至找到或到达顶点。s继承特性用于表达各种类型的选择限制非常有用,图10。9显示了一些ACTION的子类的动词,利用继承特性,我们可以看出动作类型TRANSFER-ACTION从类型ACTION那里继承来了AGENT,AT-TIME和AT-LOC的语义关系,从类型OBJ/ACTION那里继承了THEME和INSTR的属性,并自身定义了TO-POSS的属性。注意表示方法定义了所有允许的语义关系,而不仅是那些仅为动词的子类的语义关系。ACTIONANIMATELOCATIONTIMEPHYSOBJNON-ANIMATEOBJ/ACTIONREADS1TRAN-ACTIONGIVES1PUSHES1PUTS1LOCATIONTEXTOBJANIMATEAGENTAT-TIMEAT-LOCSSSSSTHEMETO-LOCTHEMEINSTRTO-POSSSFigure10.9Actionhierarchywithroles

一般说来,动词对于其自身的参数的限制相对于继承来的参数的限制要严格一些,比如,对于OBJ/ACTION下的动词READS1可继承AGENT,AT-TIME,AT-LOC,THEME和INSTR属性,但我们喜欢把THEME重定义为TEXTOBJ类型。继承算法采用的是自底向上的搜索方式,而且一旦找着就停止,因此,这个新的THEME限制就可使那个继承过来的那一个无效。语义网络还可用来表示除子类型和参数关系以外其他的关于词的结构的常见知识,另一种重要的等级是部件等级,对象与其组成部件之间发生关系,在英语中常用介词of或以名词名词的形式或以所有格的形式来表示这种关系比如:Thedesk

drawer(抽屉是桌子的一部份)Theman’shead(头是这人一部份)Thehandleofthe

drawer(把手是抽屉的一部份)我们需要把关于对象的结构的知识编码成语义网络的部份,然后我们才能辨认这些关系,并基于这些关系进行语义排歧。我们可以引进一种新的边(part-of)边来标识这些关系。这样我们就可以表示出房子有房间、门作为组成部件,而门有把手作为部件如图10。10所示,在该图中,我们用一种最常见的isa弧来替代我们上述的存在节点。

DOORHANDLEDOORHOUSEROOMISAISAISASUBPARTSUBPARTSUBPARTFigure10.10Somesubpartrelationships一个完整的系统必须指出一个部件是否是唯一的,比如一个人身体有头、躯干、胳膊和腿,我们必须指出头是唯一的,它与躯干相连,胳膊有两个,它也与躯干相连等等。而这些都是BODY的组成部件,另外,系统必须指出组成部件之间的空间和其它的关系。除了提供继承的特性以外,语义网络还提供了其它的用途,比如,后面即将用到的关于两个单词意思的亲近度,我们可以用两个对象之间的类型等级的距离来获得其语义亲近度。比如我们把图10。6稍微扩大,我们能够看到DOG1和CAT1之间的关系紧密,因为它们都是ANIMATE的子类型(它们之间只隔一条弧),而DOG1和CARROT1却相对离的比较远,虽然它们都是PHYOBJ的子集,但它们之间却隔了好几条弧。DOG1和EVENT之间就隔得更远了。但这种技术有这样的问题,它与构造语义网络的程序员的一时想法有莫大的关系,不同的网络组织就有不同的结果,但我们可以采用其最小的共同祖先的规模来作为亲近度。这样,程序员的不同的组织就不会有那么大的影响。最小的共同祖先的规模越小,则它们之间就越亲近,用这种办法对于上一例也可得到同样的结果。作为CAT1和DOG1的最小共同祖先ANIMATE的规模肯定比CARROT1和DOG1的最小共同祖先PHYSOBJ的规模要小,而PHYSOBJ的规模比EVENT1和DOT1的最小共同祖先ALL的规模要小。当然,用这种类型等级的办法只获得了语义亲近度的某一方面的概念,我们还需要对其它的结构进行编码来获得更完整的概念,比如我们或许希望把DOG1和事件DOG-SHOW1从语义上联系起来,但显然这无法从类型等级中获取,对于这类联系,我们用哪个对象通常参加哪种事件的方式来测量亲近度,我们可以引进一个新的语义角色叫做PARTICIPANT来把某一对象与其参与的事件联系起来,但本节中所讨论的等级在下面所要讨论的问题中已经够用了。10.4用统计的方法进行词义排歧选择限制只能提供一个行或不行的粗分形式,因此许多的歧义就无法排除,为了更好地模仿人类的思维,必须研究更多的技术,并给那些较常见的意思以优先权,本节就是讨论应用统计的方法来求得那些更常见的意思,当然我们需要付出大量的劳动来分析这些材料以获取正确的统计数据。最简单的方法是基于简单的单一词统计,给定一定数量的语料,我们收集每个单词的每个意思的信息,比如,对于单词bridge我们找到了5845个出处,其中:5651个表示桥194个表示牙科设备有了这些数据,我们可以假定bridge每次出现时都是桥的意思。假如说我们所用的语料库是有代表性的话,那么这项技术就可以给我们97%准确率(5651/5845)。而且据估计就这么简单的办法就能在大范围之内获得70%的准确率。当然,我们可以用上下文的办法来获得更好的结果。比如说牙科设备,虽然它在全部的语料里出现很少,但在某些文章(牙科和正牙学之类)中却可能是bridge最常表示的意思。假如我们可以研究出一种办法来分辨出这类上下文的话,那么我们就能选出这个意思,其效果当然会比仅仅用统计数字来的好了。比如,在一篇牙科文章中,将会出现好多次象teeth,dentist,cavity,brace,orthodontics等等之类的词,那我们就会因为出现了这些词而把bridge定为牙科设备这个意思。这种信息与词组搭配有关,就是说,哪些词有可能同时出现,你可以考虑用两词的概率,三词或者大词组,比如上下共五个词,或者整个句子或者更大,有些研究已经达到100个词。对每个单词我们为此检查的单词数量叫做窗口。我们可以改造词性标注的技术,用词的意思而不用词的语法类型,用这种办法需要标有词的意思的语料库,然后我们就可以计算单一词的统计数字(比如对于单词W有意思S的概率),二词的统计数字等等。当然构造这样的一个语料库需要大量的精力,但我们总可以做到。但还有两个因素使得这种标注技术并不实用:第一,意思的数目要远比词性的数目多;第二,要获得合适的结论我们必须要用一个比二词三词大的多的窗口,这两个问题使得我们很难获得足够的数据来进行训练,因此我们需要另一种方法。这种基本的思想是考虑单词W在以W为中心的窗口中的所有可能的意思的概率。给定一个以W为中心、长度为n的窗口,窗口中的单词表示如下:

w1w2…wn/2wwn/2+1…wn-1我们计算单词W的意思S最大的概率:PROB(w/S|w1w2…wn/2wwn/2+1…wn-1)为了计算这个概率,我们可根据贝叶斯公式重写这个式子,并假定变量是相互独立的,那公式就变成:

PROB(w1..wn-1|w/S)*PROB(w/S)PROB(w1..wn-1)

因为公式中分母对某个单词的第个意思来说是个常量,所以我们可以不考虑它,而且假定每个单词在窗口中都是相互独立的那PROB(w1…wn-1|w/S)就大约等于

∏i=1,n-1PROBn(wi|w/S)其中PROBn(wi|w/S)是单词wi在一个以w为中心、其意思为S、长度为n的窗口中词wi出现的概率,我们把这些放在一块计算,单词w的意思就是使式子PROB(w/S)*∏i=1,n-1PROBn(wi|w/S)取得最大值的那个意思S。因为我们假设每个事件是相互独立的,所以我们把窗口取得越大,所需的数据量就越少,因为从每个窗口可以获得更多的数据。给定一个语料库,我们收集每个单词的长度为n的窗口的数据,计算单词的每个意思出现的次数,并且记录所有窗口中出现的所有的单词。考虑一下表10。11所示的单词bridge所示假设数据,假设是用11词窗口对规模为一千万的语料库进行分析。基于OBn(wi|w/S)的定义,我们可以估计其值如下:

Count(#timeswiinawindowcenteredonw/S)PROBn(wi|w/S)=

Count(#timesw/Sisthecenterawindow)

对于表10。11所给定的数据,我们可获如下估计:PROBn(teeth|bridge/STRUCTURE1)=1/5651=1.77*10-4PROBn(teeth|bridge/DENTAL-DEV37)=10/194=.052PROBn(suspention|bridge/STRUCTURE1)=200/5651=.035PROBn(suspention|bridge/DENTAL-DEV37)=1/194=.052PROBn(the|bridge/STRUCTURE1)=5500/5651=.97PROBn(the|bridge/DENTAL-DEV37)=180/194=.93PROBn(dentist|bridge/STRUCTURE1)=2/5651=3.54*10-4PROBn(dentist|bridge/DENTAL-DEV37)=35/194=.18显然对于上下文无关文法,单词意思的概率可计算如下:PROBn(bridge/STRUCTURE1)=5651/501500=.113PROBn(bridge/DENTAL-DEV37)=194/501500=3.87*10-4这两个概率就是在不考虑上下文的情况下,也就是窗口宽度为1的概率。注意每个意思的窗口中还出现the的概率与上下文无关概率很接近:PROBn(the|bridge/STRUCTURE1)*PROBn(bridge/STRUCTURE1)=.97*.113=.109PROBn(the|bridge/DEN-DEV37)*PROBn(bridge/DENTAL-DEV37)=.93*3.87*10-4=3.6*10-4这表明了单词the在排岐过程中并无多大作用,当然我们也可从the可修饰所有的名词可想而知了。通常说来,那些常见的功能性单词在排歧过程中一般无大用处,而那些有实际含义的单词如本例中的teeth就有明显的效果。实际上,在一个窗口中如果含有单词dentist,则我们就会有与上面不同的优先选择:

PROBn(dentist|bridge/STRUCTURE1)*PROBn(bridge/STRUCTURE1)=.3.54*10-4*.113=4*10-5PROBn(dentist|bridge/DEN-DEV37)*PROBn(bridge/DENTAL-DEV37)=.18*3.87*10-4=6.97*10-4当然,在一个大窗口中,会有很多有实际含义的单词可以极大地影响最后的决定,比如,考虑一下句子Thedentistputabridgeonmyteeth。所有的单词当中除了单词dentist和teeth以外,其它单词在两个意思中出现的概率差不多,显然它们都无法明显改变每个意思的相对概率,单词dentist和teeth在这个窗口中同时出现,它们会极大提高单词bridge解释为牙科设备的相对概率。实际上其意思为牙科设备的概率为3.6*10-6,明显大于意思为桥的概率7.08*10-7,我们用归一法求出其实际概率,比如,假如bridge只有这两个意思,那么它被解释为牙科设备的概率为

3.6*10-6/(3.6*10-6+7.08*10-7)=.84。搭配和互信息在这个领域的很多工作都是采用搭配的办法,就是计算两个单词出现在同一个文本窗口中的可能性有多大,计算可能性的一种方法是考虑这样的一个关联系数(其中n是窗口长度)

PROB(w/S&W’areinthesamewindow)Cn(w/S,w’)=PROB(w/Sinthewindow)*PROB(w’inthewindow)注意这个式子和上面的估计的不同之处在于分母,假如K语料库中窗口的数目,那么上述的概率均可估计为Count(#timeseventoccursinwindow)/K,我们把这个估计代入Cn(w/S,w’)中并进行简化,得到

K*Count(#timesw/Sandw’co-occurinwindow)Cn(w/S,w’)=Count(#timesw/Sinwindow)*Count(#timesw’inwindows)假如K=107,运用表10.11的数据,Cn的值就可估计如下:Cn(bridge/STRUCTURE1,teeth)=(107*1)/(5651*300)=5.9Cn(bridge/DENTAL-DEV37,teeth)=(107*10)/(194*300)=171.9Cn(bridge/STRUCTURE1,suspension=(107*200)/(5651*2000)=17.7Cn(bridge/DENTAL-DEV37,suspension=(107*5500)/(194*2000)=2.5Cn(bridge/STRUCTURE1,the)=(107*180)/(5651*500000)=1.94Cn(bridge/DENTAL-DEV37,the)=(107*2)/(194*500000)=1.84Cn(bridge/STRUCTURE1,dentist)=(107*2)/(5651*900)=3.9Cn(bridge/DENTAL-DEV37,dentist)=(107*35)/(194*900)=200如果关联系数接近于1,那么这两个词同时出现的概率就接近于随机的概率,而如果这个比率大于1,则它们同时出现的概率就大于随机出现的概率。注意这两个意思与单词the的关联系数为1.94和1.84,这表明单词the与它们同时出现的概率略大于随机的概率,但是它对这两个意思之间的优先权的选择却无多大作用。我们常使用关联系数的对数,当它小于1时,其对数小于0,这更符合人的思维习惯,可以直接利用其符号来判定它们是否可以同时出现,这种表示方式也叫做互信息,记做In(w1,w2)=logCn(w1,w2)比如本例中关于bridge的两个意思,其互信息的值为:I3(bridge/STRUCTURE1,teeth)=1.77I3(bridge/DENTAL-DEV,teeth)=5.14I3(bridge/STRUCTURE1,the)=.66注意单词之间没有关联,并只以随机的概率一块出现,则其互信息的值接近于0,单词之间为反关联,并以低于随机的概率一块出现,则其互信息的值小于0,假如我们以利用互信息来比较不同的意思,我们只把窗口中的互信息的值做相加,而不做相乘,因为它们本来就是对数值。10.5统计语义优先法本章的第一节讨论了选择限制及其在排歧上的应用,这种方法的一个问题是它是一个要么行要么不行的选择,无法对语义进行优先选择。比如对于单词bridge,有两个意思分别是桥和牙科设备。在句子Ipaintedthebridge中,照理看来,桥的解释可能性更大,但是PAINTS1的选择限制是受事者必须是一个具体的对象,而桥的这两个意思都满足这个限制,因此这个方法就无法选出哪个是更为可能的解释。另一个前面未提及的问题是结构的歧义,比如PP的修饰问题,本节就是讨论一个能解决这些问题的语义优先模型。

通常的做法是统计单词意思之间发生的语义角色的频次,这样当我们解释一个句子的时候,就可选择那个最常见的语义组合。我们从10。1节的选择限制开始,那儿我们用逻辑形式的句段变量的一元和二元关系来描述限制,当一个语料库标注好语义信息后,我们就可以收集每个一元和二元关系的频次。现在让我们假定对于每个关系都有足够的数据来获得可靠的估计。这个假设在本节后边将会设法去掉。考虑一下句子Ipaintedthebridge,它最初的逻辑形式如下:(PAINTS1p1[AGNET(PROi1I1)]

[THEME<THEb1{STRUCTURE1DENTAL-DEV37}>])它的一元和二元关系如下:(PAINTS1p1),(I1i1),({STRUCTURE1DENTAL-DEV37}b1),(AGENTp1i1),(THEMEp1,b1)我们利用一个解释的子成份的概率的乘积来估计它的语义概率,就是说假如一个逻辑形式LF包含n个关系R1,…,Rn,那么

PROB(LF)=∏i=1,nPROB(Ri)当然这个估计只有当每个关系都是相互独立的情况下才能成立,显然这不是一个好的假设,但这个技术却是一个好技术。为了详细说明这个技术,我们需要一种计算三元词概率的方法,对于一个三元词(relnheadarg),我们可以把它出现的次数与head出现的次数相除来获得它的概率,而那个能获得最大的概率就是我们所要的:

Count((relnheadarg))PROB((relnheadarg)|head)≈Count(head)

我们用这技术来分析句子:Ipaintedthebridge,该句子有两个解释,由于其它的部份均相同,该句子的分析就变成只比较

(THEMEPAINT1STRUCTRE)和

(THEMEPAINT1DENTAL-DEV37)的概率。假定涂桥是一件相对比较经常做的事情,并在语料库中出现过几次,而涂牙科设备则是一件很少做的事情,可能语料库中根本就没出现过,则我们对第一种解释优先考虑。当然对于那些结构上有歧义的句子,我们可能要比较大量的语义结构,但我们仍可用该技术来比较这些结构。考虑一下句子:Hesawthemanwithatelescope和句子Hesawthemanwithahat。这两个句子的逻辑形式如表10。12所示。1.Hesawthemanwithatelescope.1a.(SEES1p1[EXPERIENCER(PROh1HE1)][THEME<THEw1MALE-PERSON1>][INSTR<Ab1TELESCOPE>])1b.(SEES1p1[EXPERIENCER(PROh1HE1)][THEME<THEw1MALE-PERSON1>][{WITH1…WITHn}w1<Ab1TELESCOPE>]>])2. Hesawthemanwithahat.2a.(SEES1p1[EXPERIENCER(PROh1HE1)][THEME<THEw1MALE-PERSON1>][INSTR<Aw2HAT1>])2b.(SEES1p1[EXPERIENCER(PROh1HE1)][THEME<THEw1MALE-PERSON1>][{WITH1…WITHn}w1<Aw2HAT1>]>])Figure10.12Thelogicalformsfortwoambiguoussentences虽然句子的语义结构不一样,但它们可能有许多相同的二元语义关系,比如句子1a和1b有相同的三元词[EXPERIENCER(PROh1HE1)]和[THEME<THEw1MALE-PERSON1>],它们的不同在于一个含有[INSTR<Aw2HAT1>])表示动作的发生方式,而另一个则含有[{WITH1…WITHn}w1<Ab1TELESCOPE>]>]),其中WITHi包含所有的可用with指定的所有的语义关系(比如部份、陪伴、穿着等),由于这两者都经常发生,这两个解释都是合理的,而对于第二个句子,这两个逻辑形式的比较变成三元词[INSTR<Aw2HAT1>])和[{WITH1…WITHn}w1<Aw2HAT1>]>])的概率的比较,前者即使是有发生那也是非常少见的一个关系,而后者则相对常见的多,表示WITHi的陪伴关系,因为人类经常会戴帽子。由此,我们可选择第二个解释,并且对with进行了排歧。

虽然统计数字对于第一个句子没有多大的作用,但我们至少可以确定该句的解释把握性有多大,另外,我们可以把这技术用于句子主要部份的排歧上,主要部份的逻辑形式一旦建好,则我们就可立即就用该技术,它所返回的值可用于一个最佳优先分析策略的总体概率中。

这个方法的主要问题是获得一个正确的统计数据集,我们应当还记得,当我们只考虑单词的语法类型时,这就已是一个问题了,当我们处理单词的语义时,这个问题就更为糟糕,因为每个词都有好几个意思,因此,我们就加需估计概率的技术,因为一个可接受的三元词在语料库中不出现是一件很正常的事。

假如我们已经有了一个定义好了的语义等级,那么我们就可以用这个等级来对没出现过的三元词进行估计,其基本思想是我们收集数据时,不仅要收集三元词的确切意思,而且还要记录下这个意思所属的语义等级。我们考虑一下如表10。13所示的等级,在该表中还标有一个父类型落入各子类型的概率有多大,根据该表,一个SMALL-PHYSOBJ是DENTAL-APPLIANCE的概率PROB(DENTAL-APPLICANCE|SMALL-PHYOBJ)为.005。PHYSOBJNON-LIVINGLIVINGLARGE-PHYSOBJCOMB1SMALL-PHYSOBJDEN-APPSTRUCTUREHOUSEDET-DEV.4.6.45.55.03.06.005.009.2TripleNumberofOccurrencePROB(THEMEPAINTSNON-LIVING)960.96(THEMEPAINTSSMALL-PHYSOBJ)300.3(THEMEPAINTSLARGE-PHYSOBJ)650.65(THEMEPAINTSSTRUCTURE10.01对于这样一个图表,我们观察一下三元词(THEMEPAINTS1STRUCTURE1),我们不仅记录下这个三元词的发生,而且还记录下STRUCTURE1的语义入口,比如(THEMEPAINTS1LARGE-PHYSOBJ)和(THEMEPAINTS1PHYSOBJ)。由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论