您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 自然语言处理-第11章-语义解释的其它方法
十一章语义解释的其它方法前面介绍了使用语法制导的逐条翻译.它有两个问题:1.开发一个语法驱动的逐条翻译的系统相当复杂,其中出现的理论问题可能会推迟系统的开发.2.实际语言可能出错,或者使用比喻以及其他语言现象使得语言不合文法.这样,语法驱动的系统无法对一个句子进行语法分析。本章介绍其它的方法,来处理这些问题。11.1节分析器输出文法结构,接着进行语义分析.11.2节语义文法它根据语义而不是语法书写文法.11.3节模式匹配.11.4节直接使用语义进行分析11.1文法关系1何为文法关系2如何获得文法关系3如何把文法关系转化为逻辑形式文法关系是一个三元组,(discourse-variablerelationvalue).这些值可能是另一个变量或者一个SEM结构.它经常指出了句子或动作的逻辑主语,逻辑宾语,间接宾语,以及介词短语等关系。Jackboughtaticket.(s1PREDBUYS1)(s1TNSPAST)(s1SLUBJ(NAMEj2Jack)(s1LOBJAt1TICKET)AticketwasboughtbyJill.(s2PREDBUYS1)(s2TNSPAST)(s2LSUBJ(NAMEj2Jill)(s2LOBJAt1TICKET1)JillgaveJackabook.(s3PREDGIVES1)(TNSs3PAST)(s3LSUBJNAMEj1Jill)(s3LOBJAb1BOOK1)(s3IOBJ(NAMEj2Jack)JillgaveabooktoJack.(s4PREDGIVES1)(s4TNSPAST)(s4LSUBJ(NAMEj1Jill))(GIVES1LOBJAb1BOOK1)(GIVESTO(NAMEj2Jack))JillthinksthatJackstolethebook.(s5PREDTHINKS1)(s5LSUBJ(NAMEj1Jill))(s5LOBJs6)(s6PREDSTEALS1)(s6TNSPAST)(s6LSUBJ(NAMEj2“Jack”))(s6LOBJTHEb1BOOK1)使用特征获取文法关系1(SSEM(?Semvp?semnp)→(NPSEM?semnp)(VPSEM?semvp)2(VPSEM(a(PRED?semvLOBJa)))→(V[_none]SEM?semv)3(VPSEM(a(PRED?semvLOBJaIOBJ?semnp)→(V[_np]SEM?semv)(NP?semnp)(RREDBUYS1LSUBJ(NAMEj2Jack)LOBJAt1TICKET)可化为:(s1PREDBUYS1)(s1(LSUBJj2Jack))(s1LOBJAt1TICKET1)然后,语义解析器利用文法关系的表示,独立进行处理产生语义表示,比如是前面所说的基于事件角色的逻辑形式.普遍使用的一种方法是使用联系文法关系角色和事件角色的模板.这里,每个动词都有自己的映射.S(SEM(PREDBUYS1LSUBJ(NAMEj1“John)LOBJAt1TICKET1)NPVP(SEM(NAMEj1“John”))(SEMa(PREDBUYS1LSUBJaLOBJAt1TICKET1)VNP(SEMBUYS1)(SEMAt1TICKET1)Johnboughtaticket.由于文法关系已经部分表达语义结构,这种映射一般是直接的.使用图11.3所示动词层次,图11.2给出了图11.1中动词所需的模式.PatternLogicalForm1.(VARPREDPRED)(31)3.(ACTION-VERBLSUBJANIMATE)(AGENT13)4.(ACTION-VERBLOBJPHYSOBJ)(THEME13)5.(GIVE-VERBTOANIMATE)(TO-POSS13)6.(GIVE-VERBIOBJANIMATE)(TO-POSS13)7.(ATTITUDE-VERBLSUBJANIMATE)(EXPERIENCE13)8.(ATTITUDE-VERBLOBJVAR)(THEME13)9.(VARTNSPAST)(PAST1)例1Jackboughtaticket.(s1PREDBUYS1)(BUYS1s1)(s1LSUBJ(NAMEj2Jack)(AGENTs1(NAMEj2Jack))(s1LOBJAt1TICKET)(THEMEs1At1TICKET1)合并可得逻辑形式:(BUYS1s1[AGENT(NAMEj2Jack)][THEMEAt1TICKET])考虑句子:JillthinksthatJackstolethebook.(s5PREDTHINKS1)→(THINKS1s5)(s5LSUBJ(NAMEj1Jill))→(EXPERIENCEs5(NAMEjiJill))(s5LOBJs6)→(THEMEs5s6)(s6PREDSTEALS)→(STEALS1s6)(s6TNSPAST)→(PASTs6)(s6LSUBJ(NAMEj2Jack))→(AGENTs6(NAMEj2Jack))(s6LOBJTHEb1BOOK1)→(THEMEs6THEb1BOOK1)合并可得逻辑形式:(THINKS1s5[EXPERIENCER(NAMEj1Jill)][THEME(STEALS1s6[AGENT(NAMEj2Jack)][THEMEs6THEb1BOOK1])])VERBACTION-VERBATTITUDETO-VERBGIVESTEALBUYTHINK11.2语义文法本节介绍一种为某种应用构造文法的技术.英语文法为了广泛使用而包含许多结构;对某个特定的应用,这些结构常常发挥作用.此时,可以构造语义驱动的文法.例如,考虑一个航空公司航班查询的应用.下面一些有关航班的名词短语经常出现:theflighttoChicagothe8o'clockflightthefirstflightoutflight457toChicago为处理这些名词短语,文法需要包括如下规则:NP→DETCNP(theflight)CNP→N(flight)CNP→CNPPP(flighttoChicago)CNP→NPART(flightout)CNP→PRE-MODCNP(8o'clockflight)NP→NNUMBER(flight457)本应用中,下列名词短语用来表示城市:ChicagothenearesttoDallas只要增加一条相应的规则处理专有名词,就能生成这些短语.但同时不得不限制某些规则的使用以产生某些不合适的短语.*thecitytoChicago*the8o'clockcity*thefirstcityout*city567这些名词短语是合法的,但在实际中却永远不会使用.因此,一般需要引进某些特征以限制这些短语的产生.如果对于一个具体的应用,我们有更为简单的办法,即引进基于语义特性的词类.采取这种方法,原来的文法可重写如下:FLIGHT-NP→DETFLIGHT-CNP(theflight)FLIGHT-CNP→FLIGHT-N(flight)FLIGHT-CNP→FLIGHT-CNPFLIGHT-DEST(flighttoChicago)FLIGHT-CNP→FLIGHT-CNPFLIGHT-SOURCE(flightfromBoston)FLIGHT-CNP→FLIGHT-NFLIGHT-PART(flightout)FLIGHT-CNP→FLIGHT-PRE-MODFLIGHT-CNP(8o'clockflight)FLIGHT-NP→FLIGHT-NNUMBER(flight457)CITY-N→CITY-NAME(Boston)CITY-NP→DETCITY-CNP(thecity)CITY-CNP→CITY-N(city)CITY-CNP→CITY-MODCITY-CNPCITY-MOD-ARG(nearestcitytoDallas)我们还需要其它一些基于语义的文法.比如,FLIGHT-DEST→toCITY-NPFLIGHT-DEST→forCITY-NPFLIGHY-SOURSE→fromCITY-NP上一层的文法相应被改写,比如TIME-QUERYWhendoesFLIGHT-NPFLIGHTVP语义文法:基于某个应用的特征而构造的文法称为语义文法.我们可以根据语义文法按照通常的方法产生逻辑形式.由于所需的语义信息可以从语法结构中直接得到,这个过程通常是直接的.由于分析树已包含所需的信息,可以直接把分析树作为逻辑形式图11.4给出了WhendoestheflighttoChicagoleave?TIME-QUERYFLIGHT-NPFLIGHT-VPDETFLIGHT-CNPFLIGHT-CNPFLIGHT-DESTCITY-NPwhendoestheflighttoChicagoleave这棵分析树可以用LISP语言表示如下:(TIME-QUERYwhendoes(FLIGHT-NP(DETthe)(FLIGHT-CNP(FLIGHT-CNPflight)(FLIGHT-DESTto(CITY-NPChicago))))(FLIGHT-VPleave))语义文法与语法文法之间并没有明显的界限.语义文法通常比语法文法大得多,只适用于特定的应用.语义文法适合快速为某个应用开发一个分析器.语义文法不易移植,但语法文法却具有一定的通用性.11.3.模式匹配在某些应用中,目标任务非常明确,我们可以利用应用本身具有的结构开发特定的技术。考虑一个系统,它统计报刊上的证券交易信息。需要的信息一般有固定的格式。比如,谁从谁以多少价格购买什东西。这个系统除了获取这些特定的信息外,无须理解文本中的其他内容。比如,在证券交易系统中,to表明证券的购买者;而在航空查询系统中,to指明了目的地。首先,为所需的信息构造相应的模板。比如,构造一个用来统计南美恐怖主义事件的系统。图11.5的模板反映所需的信息.TERRORISTINCIDENTDATEdateLOCATEcity/state/countryTYPEe.g.bombingSTAGEEXECUTIONe.g.accomplished,plannedINSTUMENTe.g.bombgunPERPETRATORNAMEe.g.“FMLN”PHYSICALTARGETe.g.car,houseHUMANTARGETe.g.presidentNATIONALITYTARGETe.g.SanSalvadorEFFECTe.g.noinjury接着,为可能的输入类型构造相应的模式,以抽取所需的信息。比如,模式takeHUMANhostage→(TERRORIST-INCIDENTHUMN-TARGET1)注意,使用这个方法,对句子至少要分析到名词短语并产生单词的标准形式。此时,前面介绍的部分分析的技巧就可发挥良好的作用。考虑一下,为什么不构造完全分析器以获得尽可能的信息呢?首先,对句子进行完全分析计算将是非常复杂;其次,为现实的应用构造完全的文法目前仍是不可行的,许多句子将无法分析;最后,存在歧义性的句子,分析将会遇到不可克服的困难。事实上,一个句子的特定部分可被可靠的分析,文法可以只处理这些部分,而其余的部分可留到模式匹配的阶段再处理。其中,有两个部分可以有效的分析。一是动词短语,二是名词短语。分析器还可以确定某些功能词,如介词,虚词,连接词等以及特定称谓。为基于语义的式匹配,分析器需要计算短语的语义特征图11.6和图11.7给出了计算动词和名词语义特征的文法。图11.8给出了一个词典。1.(VGTYPE?typLEX?1)→(VG1VFORM{prespast}TYPE?typLEX?1)2.(VGTYPE?typLEX?11?12)→(MODALLEX?11)(
本文标题:自然语言处理-第11章-语义解释的其它方法
链接地址:https://www.777doc.com/doc-7262129 .html