按句法树计算语义逻辑形式的方法和系统的制作方法

文档序号:6413018阅读:382来源:国知局
专利名称:按句法树计算语义逻辑形式的方法和系统的制作方法
技术领域
本发明涉及自然语言处理(“NLP”)领域,更具体地涉及一种用于按句法树生成逻辑形式图的方法和系统。
自动处理自然语言的计算机系统使用不同子系统,大致对应于词态的、句法的和语义的分析的语言领域以分析输入的文本和达到机器理解自然语言的层次。在一定层次上理解输入的文本后,计算机系统可以例如建议对输入的文本实行语法和风格上的改变,回答在输入文本中提出的问题,或有效地存放由输入文本所表示的信息。
词态分析辨别输入的词及为每个词提供信息,即自然语言的人类讲话者能使用词典来确定该词。这些信息能包括一个词能起的句法作用(例如名词或动词)及通过增加前缀或后缀以生成不同的相关词从而改变词的方法。例如,词典可在词“鱼”之外列举不同由词“鱼”派生的不同相关词,名括日文汉字“鱼类”、“被钓”、“钓鱼”、“渔夫”、“渔民”、“可捕鱼的”、“可捕鱼性”、“鱼缸”、“渔民”、“渔业”、“鱼钩”、“鱼网”和“像鱼的”。
作为起点,句法分析过程使用由输入词的词态分析所提供的信息和规定语言语法的一组句法规则来分析每个输入句,而句法规则规定了输入句用以书写的该种语言的语法。下面是句法规则举例句=名词词组+动词词组名词词组=形容词+名词动词词组=副词+动词句法分析试图找到一组句法规则的有序子集,应用于输入句的词,以便将词组合成词组,然后将词组组合为完整句子,例如,考虑输入的句子“Big dogs fiercely bite”。使用以上所列三条简单规则,句法分析能分别将词“Big”和“dogs”辨别为形容词和名词,并应用第二规则生成名词词组“Big dogs”、句法分析能分别将词“fiercely”和“bite”辨别为副词和动词,并应用第三规则生成动词词组“fiercely bite”。最后,句法分析应用第一规则由先前生成的名词词组和动词词组形成一个完整句子。通常句法分析结果由一棵无环向下分支树表示,其节点表示输入的词、标点符号、词组,其根节点表示完整句子,此结果称为语法分析。
然而某些句子能具有数个不同语法分析。一条多语法分析的例句是“Time flies like an arrow”。至少有三种可能对应于该句的三种可能含意的语法分析。第一种语法分析中,“time”是句中主语,“flies”是动词及“like an arrow”是修饰动词“flies”的前置词词组。然而,至少还有两条预料不到的语法分析。在第二种语法分析中,“time”是修饰“flies”的形容词,“like”是动词,及“an arrow”是动词的宾语。此语法分析所对应的含意是一定类型的苍蝇“time flies”喜欢或吸向一支箭。在第三种语法分析中,“time”是一个命令式动词,“flies”是宾语,及“like an arrow”是修饰“time”的前置词词组。此语法分析对应于为苍蝇计时的命令,犹如一个人可能使用停表为箭计时那样。
通常构造一个或更多个称为句法分析树的层次树以完成句法分析。句法分析树的每个叶节点通常表示输入句的一个词或标点符号。句法规则的应用将生成一个自下连至一个、两个或有时更多个现有点节的中间层节点。现有节点最初只包括叶节点,但当句法分析应用句法规则时,现有节点既包括叶节点又包括中间层节点。完整句法分析树的单个根节点表示一个完整句。
语义分析产生一个逻辑形式图,用于以较单独用句法分析树描述方式更深的方式描述输入文本的含意。逻辑形式图是用模拟于语言的人类讲话者所达到的水平来理解输入文本的第一次尝试。
逻辑形式图具有节点和链,但不像以上描述的句法分析树,它并不按层次排序。逻辑形式图的链有标记以标示一对节点之间的关系。例如,语义分析可能将句中一定名词辨别为动词的深主语或深宾语。动词的深主语是动作的作用者及动词的深宾语是动词所规定的动作的对象。主动式动词的深主语可能是句子的句法主语,及主动式动词的深宾语可能是动词的句法宾语。然而,被动式动词的深主语可由施事格词组表示,而被动式动词的深宾语可能是句子的句法主语。例如,考虑两个句子(1)“Dogs bite people”及(2)“People are bitten by dogs”。第一句具有主动式动词而第二句具有被动式动词。第一句的句法主语是“Dogs”而动词“bite”的句法宾语是“people”。相反,第二句的句法主语是“People”而动词词组“are bitten”由施事格词组“bydogs”所修饰。对于这两句,“dogs”都是深主语,而“people”都是句中动词或动词词组的深宾语。虽然上面句子1和句子2的句法分析所生成的句法分析树不同,但语义分析所产生的逻辑形式图都是相同的,因为两个句子的基本含意是相同的。
在生成逻辑形式图之后的进一步语义处理可能依靠知识库将分析的文件与真实世界概念联系起来以达到更深层次的理解。一个知识库例子是在线百科全书,从中可获取具体词的更完善定义和上下文信息。
下面在处理输入文本例句“The person whom I met was myfriend.”的上下文中描述三个NLP子系统-词态的、句法的和语义的。

图1是阐述NLP子系统之间信息流的框图。词态子系统101接收输入文本及输出可使用每个词的语言不同部分的词和意义的辨别内容、句法子系统102接收此信息并应用句法规则生成一个句法分析树。语义子系统103接收句法分析树并生成逻辑形式图。
图2-5显示存放在电子存储媒体上的在词态分析期间为输入文本例句的输入词所检索的词典信息。图2显示输入词“the”201和“person”202的词典条目。条目201包括关键词“the”和一个属性/值对的表。第一个属性“Adj”具有含在括号205和206之内的符号,用作它的值。这些符号又包括两对属性/值对(1)“Lemma”/“the”及(2)“Bits”/“Sing Plur Wa6 Det Art Bo Def.”词目(Lemma)是词的基本的其词形未屈折变化的形式。因此属性“Lemma”标示“the”是词典中此条目所表示的词的基本的没有屈折变化的形式。属性“Bits”包括一组表示一个词的一定词态和句法信息的缩写。此信息标示“the”是(1)单数,(2)复数,(3)不可屈折变化,(4)限定词,(5)冠词,(6)普通形容词和(7)定的。属性204标示词“the”可用作形容词。属性212标示词“the”可用作副词。属性“Senses”207表示该词在不同定义和例子中的不同含意,其中一部分包括于括号208-209之间和括号210-211之间的属性/值对的表中。“the”的条目中实际上所含更多含意在图2中省略了,由括号中语句“(more sense records)”213所标示。
在自然语言处理的第一步中,词态子系统将输入文本的每个词和标点符号识别为单独的记号,并使用词典信息为每个记号的每个语言部分构造一个属性/值记录。属性是记录中的域,它们可具有该具体属性的不同规定值之一。这些属性/值记录然后送至句法子系统以供进一步处理,它们用作句法子系统所构造的句法分析树的叶节点。所有句法分析树的节点和随后NLP子系统所构造的所有逻辑形式图节点都是属性/值记录。
句法子系统将句法规则应用于由词态子系统送至句法子系统的叶节点上以构造表示输入文本样本的可能的句法分析树的更高层节点。一个完整的句法分析树包括一个根节点,中间层节点和叶节点。根节点表示输入文本样本的句法结构(例如陈述句)。中间层节点表示中间句法结构(例如动词,名词或前置词的词组)。叶节点表示属性/值记录的初始组合。
在一些NLP系统中,句法规则以自上而下方式应用。此处描述的NLP系统的句法子系统以自下向上方式将句法规则应用于叶节点。也即,句法子系统试图将句法规则每次一项地用于单个叶节点,用于叶节点对,及有时用于较大叶节点组。如果句法规则需要两个叶节点进行操作和一对叶节点两个都包含与规则中所规定的要求相符合的属性,则将该规则用于它们以建立一个更高层句法结构。例如,词“my friend”可分别表示一个形容词和一个名词,它们可组合成名词词组的更高层句法结构。一个对应于语法规则“名词词组=形容词+名词”的句法规则可建立一个中间层名词词组节点,并将两个表示“my”和“friend”的叶节点连至新建立的中间层节点。当建立每个新的中间层节点时,该节点即被连至已有的叶节点和中间层节点,并成为应用句法规则的节点总组合的一部分。将句法规则应用于不断增大的节点组合的过程一直继续下去,直至生成一棵完整的句法分析树或直至没有更多句法规则可应用。一棵完整句法分析树包括作为其叶节点的输入句的所有词并且表示该句的一种可能的语法分析。
此自下而上的句法分析方法建立许多中间层节点和子树,它们可能从来不会包括于最终的完整的句法分析树中。此外,此分析方法会同时产生多个完整的句法分析树。
句法子系统会连续地应用规则来无休止地搜索所有可能的完整句法分析树,直至没有更多规则可供应用。句法子系统也可尝试不同探索方案以首先生成可能性最大的节点。在生成一个或数个完整句法分析树之后,句法子系统一般可终止搜索,因为最可能选为最好地表示输入句的句法分析树可能是第一批生成的句法分析树中的一个。如果在合理搜索之后没有产生完整句法分析树,则可将最有可能的子树组合为一个单树,其根节点可应用特定聚合规则来生成,这样可得到一个合适的语法分析。
图6阐述由句法子系统为图2-5中初始显示的词典条目建立的最初叶节点。叶节点包括两个特殊节点601和614,它们分别表示句子的开端和将句子结束的句点。节点602-613中每一个表示句子中一个输入词能表示的语句中的单个部分。这些语句部分可在词典条目中作为属性/值对找到。例如,叶节点602和603表示词“The”的两个可能语句部分,这些在图2中可作为属性204和212找到。
图7-22显示由句法子系统逐条规则地构造最终句法分析树。每个图阐述应用单个句法规则以生成一个表示句法结构的中间层节点。只阐述那些产生用于组成最终分析树的中间层节点的规则。句法子系统生成许多最终并不包括在最终句法分析树中的中间层节点。
在图7-14中句法子系统应用一元句法规则,用于建立表示简单动词、名词和形容词词组的中间层节点。自图15开始,句法子系统开始应用二元句法规则,和于将简单动词、名词和形容词词组组合为多词句法结构。句法子系统按规则的成功应用的可能性将规则排序,然后试图逐条应用它们,直至找到一条能成功地用于现有节点的规则。例如,如图15中所示,句法子系统成功地应用一条规则以自一个形容词词组和一个名词词组中建立一个表示名词词组的节点。该规则规定了形容词和名词词组应具备的特征。此例中形容词词组必须是一个限定词。跟随指针由节点1501回至节点1503,然后访问节点1503中所包括的词态信息,句法子系统确定节点1501并不表示一个限定词。找到两个具备该规则所要求的特征的节点1501和1502后,句法子系统即应用该规则自两个简单词组1501和1502中建立一个表示名词词组“my friend”的中间层节点。在图22中,句法子系统应用一个三元规则,将特殊的BEGIN1叶节点2201,动词词组“The person whom I met was my friend”2202与表示终结句点的叶节点2203组合为表示陈述句的节点2204,从而生成表示输入句的最终的完整句法分析树。
语义子系统由一棵完整句法分析树生成一个逻辑形式图。在某些NLP系统中,由句法分析树的节点构造逻辑形式图,将属性和新的双向链加到它们上面。逻辑形式图是一个带标记有向图。它是输入句的语义表示。通过自逻辑形式图的节点内部指代句法分析树的叶节点,仍可使用由词态子系统为每个词所获取的信息。逻辑形式图的链的方向和标记两者都表示语义信息,包括逻辑形式图的节点的功能作用。在其分析过程中,语义子系统增加链和节点以表示(1)省略但隐含的词;(2)动词词组的省略的或不清楚的内容和修饰成分及(3)前置词词组所指代的宾语。
图23阐述语义子系统为输入例句所生成的完整逻辑形式图。作为成功应用语义规则的成果,语义子系统将有含意的标记赋予链2301-2306。六个节点2307-2312以及它们之间的链表示该句的语义含意的主要成分。一般而言,逻辑形式节点大致对应于输入的词,但一定的表达语义含意中并不需要的词,例如“The”和“whom”在逻辑形式图中并不出现,而输入的动词“met”和“was”则以它们的不定式形式“meet”和“be”出现。这些节点在计算机系统中用记录来表示,并包含图23中未示出的附加信息。动词以单数过去时态输入这一事实由逻辑形式节点中对应于动词2307和2310含意的附加信息所标示。
将图23与图22比较,可以容易地看出句法分析树与逻辑形式图之间的差别。图22中显示的句法分析树包括10个叶节点和16个在严格层次中连在一起的中间层节点,其中图23中显示的逻辑形式图只包含6个节点。不像句法分析树,逻辑形式图不按层次排序,这根据节点2307和2308之间的两条方向相反的链可明显看出。此外,如上所指出的,这些节点不再表示输入词的确切形式,相反地表示它们的含意。
语义分析之后实行进一步的自然语言处理步骤。它们涉及以下步骤将逻辑形式图与自知识库中获取的附加信息组合在一起,分析句组,及通常试图在每个逻辑形式图周围聚集一个接近于人们处理自然语言那样的丰富的上下文环境。
现有技术中用于生成逻辑形式图的方法涉及句法分析树在计算上的复杂调整和操纵。其结果是,要将新语义规则加至NLP系统中是愈来愈困难了。增加新规则涉及新的过程逻辑,而后者可能与早已在语义子系统中编程的过程逻辑相矛盾。此外,由于句法分析树的节点被延伸并被重新用作逻辑形式图的节点,现有技术的语义子系统产生大的烦琐的复杂的数据结构。覆盖在句法分析树上的逻辑形式图的尺寸和复杂程度使该组合数据结构在进一步使用中易于出错和低效。因此希望有一个更易延伸和可管理的语义子系统用于产生简单的逻辑形式图数据结构。
本发明是用于对NLP系统内输入句进行语义分析的方法和系统。该语义分析子系统接收由词态和句法子系统生成的句法分析树。语义分析子系统应用两组语义规则以调整收到的句法分析树。然后语义分析子系统应用第三组语义规则以便自句法分析树中建立框架逻辑形式图。最后语义分析子系统应用两组附加语义规则于框架逻辑形式图,以便为逻辑形式图的链提供语义上有意义的标记,以便为省略节点建立附加逻辑形式图节点,及以便统一冗余逻辑形式图节点。语义分析子系统所生成的最终逻辑形式图表示输入句的完整语义分析。
图1是用于阐述NLP系统的子系统之间信息流的框图。
图2-5显示存放在电子存储媒体上的为输入例句“The personwhom I met was my friend.”的每个词检索的词典信息。
图6显示在分析输入句的第一步中由句法子系统生成的叶节点。
图7-22显示句法子系统连续地应用句法规则来分析输入句并产生一个句法分析树的过程。
图23阐述语义子系统生成的用以表示输入句含意的逻辑形式图。
图24显示用于阐述自然语言处理用的优选计算机系统的框图。
图25阐述新的优选语义子系统三个阶段。
图26是新语义子系统(NSS)的流程图。
图27显示第一组语义规则。
图28A显示第一组语义规则中语义规则PrLF_You的详细描述。
图28B显示第一组语义规则中语义规则PrLF_You的应用例子。
图29显示第二组语义规则。
图30A-30B显示第二组语义规则中语义规则TrLF_MoveProp的详细描述。
图30C显示第二组语义规则中语义规则TrLF_MoveProp的应用例子。
图31显示apply_rules的流程图。
图32显示NSS第一阶段的流程图。
图33显示第三组语义规则。
图34A-C显示第三组语义规则中语义规则SynToSem1的详细描述。
图34D显示第三组语义规则中语义规则SynToSem1的应用例子。
图35显示NSS第二阶段的流程图。
图36-38显示第四组语义规则。
图39A显示第四组语义规则中语义规则LF Dobj2的详细描述。
图39B显示第四组语义规则中语义规则LF Dobj2的应用例子。
图40显示第五组语义规则。
图41A-C显示第五组语义规则中语义规则PsLF_PronAnaphora的详细描述。
图41D显示第五组语义规则中语义规则PsLF_PronAnaphora的应用例子。
图42显示NSS的第三阶段的流程图。
图43是NSS的计算机系统的框图。
图44-59显示当NSS处理为输入例句生成的句法分析树时它成功地应用每条规则。
本发明提供一种用于根据句法树生成逻辑形式图的新语义方法和系统。在优选实施例中,新语义子系统(NSS)分三个阶段完成语义分析(1)填入和调整句法分析树,(2)生成逻辑形式图,及(3)为逻辑形式图的链生成有意义的标记和构造完整的逻辑形式图。每个阶段包括将一组或两组规则或应用于一组句法树节点或应用于一组逻辑形式图节点。
NSS处理上面背景段落中描述的现有技术语义子系统中的提到的缺点。NSS的每个阶段是一个简单和可扩展的基于规则的方法。当认识到附加语言现象时,可容易地将处理它们的规则包括在NSS所应用的规则组中的一组中。此外,NSS第二阶段生成一个完全单独的逻辑形式图,而不是将逻辑形式图覆盖在现有句法分析树上。因此,与现有技术逻辑形式图数据结构相比较,由NSS生成的逻辑形式图数据结构是简单和节省空间的。
图24是阐述用于NLP系统的优选计算机系统的框图。计算机系统2401包含一个中央处理单元,一个内存,一个存储设备和输入输出设备。NLP子系统2406-2409通常自计算机可读存储设备例如磁盘中装入内存2404。使用由NLP系统提供的服务的应用程序2405通常也装入内存。电子词典2411存在存储设备例如磁盘2410上,其条目读入内存以供词态子系统用。在一个实施例中,用户通常在输入设备2404上输入一个或多个自然语言句以响应于在输出设备2403上显示的提示。自然语言句由应用程序接收、处理,然后通过词态子系统2406送至NLP系统。词态子系统使用电子词典的信息以构造描述每个输入词的记录,并将这些记录送至句法子系统2407。句法子系统分析输入词以构造一个句法分析树并将句法分析树送至语义子系统2408。语义子系统根据收到的句法分析树生成逻辑形式图及将该逻辑形式图送至其它NLP子系统2409。然后应用程序能送出和接收信息至自然语言子系统2409以便利用由NLP系统完成的对输入文本的机器理解,并最后在输出设备2403上向用户输出一个响应。
图25阐述优选的新语义子系统的三个阶段。NSS的阶段1-3分别示于2502,2504和2506。NSS每个阶段所输入和输出的有关数据结构的状态在图25中示如标记2501,2503,2505和2507。NSS接收句法子系统生成的句法分析树2501。NSS第一阶段2502使用语义规则完成句法分析树,并将完成的句法分析树2503送至NSS第二阶段2504。NSS第二阶段生成初始逻辑形式图2505并将初始逻辑形式图送至NSS第三阶段2506。NSS第三阶段应用语义规则于初始逻辑形式图以将有意义的语义标记加至逻辑形式图的链上,以增加新链和节点从而填充输入句的语义表示及以便偶而删除冗余节点。完整的逻辑形式图2507然后送至其它NLP子系统以便用于进一步解释由逻辑形式图所表示输入句或用于回答问题或准备基于输入句的数据。
图26中显示NSS的流程图,流程图显示NSS的三个阶段2601、2602和2603的连续调用。下面将详细描述NSS的每个阶段。
NSS第一阶段-完成句法树的句法作用。
在NSS第一阶段中,NSS应用两组不同的语义规则于自句法子系统接收的句法分析树的节点以改变该句法分析树。这些语义规则能改变句法树的链结构或增加新节点。
NSS应用第一组语义规则以解决无法由句法分析处理的不同的可能遗漏和缺陷。应用这些第一组语义规则可实现对输入的句法分析树的初步调整。第一组语义规则所处理的语言现象包括词“to”或“not”后省略的但又被听的人理解为隐含词的动词,命令句中省略的代词如“you”或“we”,涉及词“and”或“or”的并列结构的扩展,以及省略的宾语或删减的动词词组。图27列出NSS在第一阶段内应用的优选第一组语义规则。显示了每条规则的规则名及随于其后的它所处理的语言现象的精确描述。
每条语义规则的一般格式是用于句法分析树节点或逻辑形式图节点的一组条件和用于句法分析树或逻辑形式图的一系列操作。例如,NSS将第一组语义规则中的每一条规则的条件应用于表示句法分析树的一系列句法记录,以及对于能满足该规则全部条件的每条规则NSS都完成该规则中所含的一系列操作,从而具体改变句法分析树。当然,每条语义规则实际形式决定于句法分析树和逻辑形式图的表示细节,它们可能有许多不同表示。在下面的图中,一条语义规则由黑体字“If”后的条件表达式所描述,其后随之以黑体字“Then”后的一系列操作。语义规则的“If”部分表示必须应用于句法分析树节点或逻辑形式图节点的条件,这些条件为真实时该规则整体地应用于该节点,以及“Then”表达式表示在句法分析树或逻辑形式图上完成的一系列操作。所显示表达式紧密地对应于语义规则的计算机源码表达式。
图28A显示第一组语义规则中语义规则PrLF_You的英语表示。如图28A中可看出的,“If”表达式涉及应用规则的句法分析树节点的不同属性值,以及“Then”表达式规定为词目“you”建立代词节点和为代词节点建立一个名词词组父节点并将所建立节点附加至句法分析树上。
图28B显示将语义规则PrLF_You应用于由句法子系统为句子“PLease close the door”所生成的句法分析树2801的例子。应用PrLF_You的结果是修改的句法分析树2802,有两个新节点2803和2804连至该句的根节点。此语义规则的目的是将命令句中不明言的“you”显式地放入句法分析树中。
在将能用于输入句法分析树的第一组语义规则中的所有语义规则都应用后,NSS将第二组语义规则应用于初步调整的句法分析树的节点以执行初步调整句法分析树的主要调整操作。此第二组规则包括用于辨别和解决远距离附加现象,用于将动词词组转换为带有前置词词组宾语的动词及在一定情况下用于将不定式从句代替词“it”的规则。
图29列出NSS在第一阶段中应用的优选第二组语义规则。显示了每条规则的规则名及随于其后的它所处理的语言现象的精确描述。图30A-30B显示第二组语义规则中语义规则TrLF_MoveProp的英语表示。如在图30A-30B所见的,“If”表达式涉及应用规则的句法分析树节点和不同有关句法分析树节点的不同属性值,及“Then”表达式规定句法分析树的较复杂的重新安排。
图30C显示将语义规则TrLF_MoveProp用于由句法子系统为句子“I have no desire to see the man”生成的句法分析树3001的例子。应用TrLF MoveProp的结果是修改的句法分析树3002。原句法分析树中由节点3003表示的不定式从句已从其作为节点3004的子节点的位置移至作为修改的句法分析树的根节点DECL13006的子节点3005的位置。此语义规则的目的是将例如不定式从句3003那样的从句自句法树中较低层移至较高层以便于随后自句法分析树过渡至逻辑形式图。
在本发明的优选实施例中,语义规则是编程语言中的语句,当执行这些语句时,它们自一个、两个或有时更多个现有树或图的节点中建立一个新的树或图节点并在新建立节点与现有树或图节点之间建立合适的链。在优选实施例中,语义规则的左端规定为应用该规则现有节点或多个节点必须具备的特性。语义规则的右端规定将建立的新节点的类型和新节点的属性值。图28和图30中描述的规则例示此形式。
在本发明的优选实施例中,每个句法分析树和每个逻辑形式图表示为一组节点,节点间的链由节点内的属性值表示。每组规则也表示为一个表。将一组规则应用于句法分析树的步骤涉及自一组节点中选择连续的节点和试图将表示该组规则的一组规则中的每一条规则应用于每个所选节点。如一个节点具有一条具体规则的左端中规定的特性,则可将该规则成功地应用于该节点。有时,成功应用规则的结果是建立一个新节点,或者可将一个现有节点标定为删除。
图31中显示将一组规则用于表示句法分析树或逻辑形式图的一组节点的子程序“apply_rules”的流程图。在NSS的三个阶段的每个阶段中NSS调用子程序“apply_rules”以便应用每组规则。步3101中,apply_rules接收一组节点作为其第一参量和接收一组规则作为其第二参量。步3102至3107表示一个外环,每迭代一次它都试图将输入的一组规则中所有输入规则应用于自输入的一组节点中选出的连续节点。步3103至3106表示一个内环,每迭代一次它都试图将自输入的一组规则中选出的一条规则应用于自输入的一组节点中选出的一个节点。步3102中,apply_rules自第一个节点开始,在输入的一组节点中选择下一个节点。步3103中,apply_rules自第一条规则开始,在输入的一组规则中选择下一条规则。步3104中apply_rules确定所选节点是否具有所选规则左端所规定的特性。如该节点具有所规定特性,则apply_rules在步3105中将所选规则应用于所选节点。如apply_rules在步3106中确定还有更多规则可用于所选节点,则apply_rules回至步3103以选择下一规则。如apply_rules在步3107中确定还有更多节点试图应用输入的一组规则,则apply_rules回至步3102以选择下一节点。
图32中显示在NSS第一阶段中进行处理的流程图。步3201中,变量“parameter1”被赋值为组成由句法子系统生成的句法分析树的一组句法分析树节点的表并输入至NSS。步3202中,变量“parameter2”被赋值为一组显示于图27中的第一组语义规则的表。步3203中,NSS调用子程序“apply rules”,将变量“parameter1”和“parameter2”送至子程序。子程序“apply_rules”将第一组语义规则应用于句法分析树以实现初步调整。步3204中,变量“parameter1”被赋值为组成初步调整的句法分析树的一组句法分析树节点的表。步3205中,变量“parameter2”被赋值为一组显示于图29中的第二组语义规则的表。步3206中,NSS调用子程序“apply rules”,将变量“parameter1”和“parameter2”送至子程序。子程序“apply rules”将第二组语义规则应用于句法分析树以实现主要调整。
NSS第二阶段-生成初始逻辑形式图在NSS第二阶段中,NSS将第三组语义规则应用于调整的句法树节点。第二阶段中每一次成功的规则应用能建立一个新逻辑形式图节点。通过应用此第三组规则,NSS建立一个新逻辑形式图。逻辑形式图节点只包括语义上有意义的属性和一个指回至相应句法树节点的指针。不像现有技术语义子系统,NSS在第二阶段中建立的逻辑形式图节点是完全单独的并与句法分析树节点分开的。NSS构造一个逻辑形式图框架,它所包括的链作为节点内的属性被存放,并将逻辑形式图节点互相连接。
在图33中显示NSS在第二阶段中应用的一组第三组语义规则的表。图33显示每条规则的规则名,其后随之以它处理的语法现象的精确描述。此第三组规则中只有三条规则,只有第一条规则SynToSem1通常使用。第二和第三规则只在句法子系统生成合适的语法分析的特殊情况下才应用,因此调整的句法分析树包含一个合适的语法分析节点。
图34A-34C显示第三组语义规则中语义规则SynToSem1的英语表示。如可在图34A-34C中看到的,“If”表达式涉及应用规则的句法分析树节点和不同有关句法分析树节点的不同属性值,及“Then”表达式规定建立逻辑形式图节点和将新节点放于刚出现的逻辑形式图中。
图34D显示将语义规则SynToSem1应用于句法子系统为句子“The book was written by John”生成的句法分析树3401的例子。应用SynToSem1的结果是框架逻辑形式图3402。框架逻辑形式图具有三个带有用于标记链的临时修饰语的节点。根据自其中建立新节点的句法分析树节点的句法属性,将属性赋予新节点。逻辑形式图中的节点数比相应的句法分析树中少得多,因逻辑形式图表示句子的语义意义。初始句子中的词“the”、“was”和“by”的语法意义被或将被包括入逻辑形式图的属性和标记中,因此在逻辑形式图中不须要源自作为句法分析树中叶节点的存在的复杂节点层次。
图35显示NSS第二阶段的流程图。步3501中,变量“parameter1”被赋值为表示调整的句法分析树的一组节点,步3502中,变量“parameter2”被赋值为一组显示于图33中的第三组语义规则。步3503中,NSS调用子程序“apply_rules”以将第三组语义规则应用于调整的句法分析树节点,从而建立一个对应于调整的句法分析树的新逻辑形式图。
NSS第三阶段-完成逻辑形式图在NSS第三阶段中,NSS将第四组语义规则应用于框架逻辑形式图以将语义上有意义的标记加至逻辑形式图的链上。这些新标记包括“深主语”(“Dsub”),“深宾语”(“Dobj”),“深间接宾语”(“Dind”),“深主格谓语”(“Dnom”),“深补语”(“Dcmp”),和“深形容谓语”(“Dadj”)。在图36-38中显示一组NSS在第三阶段中应用的第四组语义规则。图36-38显示每条规则的规则名和随于其后的它处理的语法现象的精确描述。
图39A显示第四组语义规则中的语义规则LF_Dobj2的英语表示。如可在图39A中看到的,“If”表达式涉及应用该规则的逻辑形式图节点的不同属性值,及“Then”表达式规定逻辑形式图中链的标记。
图39B显示将语义规则LF_Dobj2应用于由NSS为句子“The bookwas written by John”生成的逻辑形式图3901的例子。将LF_Dobj2应用于包含被动从句的逻辑形式图的操作能将句法主语辨别为动作的深宾语。在图39B中这是通过将链3903自临时修饰语重新标记为用于标示深宾语关系的标记3904而完成的。
作为第三阶段中的最后步骤,NSS通过应用第五组语义规则而进行逻辑形式图的最后调整。此组规则包括用于将关系代词与其先行词结合,寻找并显式地包括省略的代词,解决数码省略号,提供省略的深主语,将人称代词的冗余实例统一及将在语义分析的第一子步骤中扩展的并列结构缩约的一些规则。这些规则也涉及取一个代词(或“代词形式”)和辨别它所指代的名词词组的问题。在很多情况下,不可能按照逻辑形式图提供的信息层次来辨别正确的名词词组所指对象。在这些情况下,建立一组最可能的候选人,并将处理操作推迟至以后采用更多全局信息的NLP系统的步骤。图40中显示一组由NSS在第三阶段中应用的第五组语义规则。图40显示每条规则的规则名,其后随之以它处理的语法现象的精确描述。
图41A-41C显示第五组语义规则中语义规则PsLF_PronAnaphora的英语表示。如可自图41A-41C中看到的,“If”表达式涉及应用该规则的逻辑形式图节点和有关的逻辑形式图节点的不同属性值,及“Then”表达式规定增加一个表示代词的省略指代事物的逻辑形式图节点。
图41D显示将语义规则PsLF_PronAnaphora应用于由NSS为句子“Mary likes the man who came to dinner,and Joan likes him too.”生成的逻辑形式图4101的例子。将PsLF_PronAnaphora应用于包含一个带有位于逻辑形式图不同部分内的所指事物的代词节点的逻辑形式图的结果是增加一个有一个代词节点与其直接连接的新节点。图41D中已应用PsLF_PronAnaphora增加新节点4103以标示节点“he1”指代“man”。
图42中显示NSS第三阶段中所做处理的流程图。步4201中,变量“parameter1”被赋值为用于组成在NSS第二阶段中生成的逻辑形式图的一组逻辑形式图节点。步4202中,变量“parameter2”被赋值为一组显示于图36-38中的第四组语义规则。步4203中NSS调用子程序“apply_rules”,将变量“parameter1”和“parameter2”送至子程序。子程序“apply_rules”将第四组语义规则应用于逻辑形式图以将语义上有意义的标记加至逻辑形式图的链上。步4204中,变量“parameter1”被赋值为用于组成在步4203中生成的有意义的标记的逻辑形式图的一组逻辑形式图节点。步4205中,变量“parameter2”被赋值为一组于图40中显示的第五组语义规则。步4206中,NSS调用子程序“apply_rules”,将变量“parameter1”和“parameter2”送至子程序。子程序“apply_rules”将第五组语义规则应用于逻辑形式图以实现最终调整。
图43是用于NSS的计算机系统的框图。计算机4300包含具有语义规则4304-4308的内存及规则应用机4303。在中央处理单元控制下,规则应用机将五组规则应用于句法分析树4301以生成一个相应的逻辑形式图4302。句法分析树由未示出的词态和句法子系统优选地生成。句法树和逻辑形式图也能用于完成随后的任务,该任务要求类似于人类读者自输入句中获取的信息的那些信息。例如,语法检查程序可建议输入句的新的用语以便更准确或简明地叙述输入句中所叙述内容。作为另一例子,计算机操作系统可能完成由输入句描述的计算任务。作为又一个例子,含于输入句中的信息可以分类并由数据库管理系统存放于别处以供以后检索用。
输入例句的语义处理下面的讨论和图44-59描述例句“The person whom I met wasmy friend”的完整NSS处理。将描述由NSS应用的每条语义规则及应用规则的结果的表示。
第一组语义规则中设有一条初步调整规则成功地应用于在第一阶段中自句法子系统输入NSS的句法分析树。第二组语义规则中的一条主要调整规则应用于输入句法分析树。图44显示具有其输入形式的句法分析树4400。可注意到它在图44中的表示比在图22中简单。NSS成功地将显示于图29中的语义规则TrLF_LongDist1作为规则1应用于句法分析树4400的关系从句节点RELCL14401以生成调整的句法分析树4402。应用规则TrL_LongDist1的效果是在名词词组节点4403中引入一个直接宾语属性以标示词“whom”是词组“I met”的直接宾语。英语中正常时态动词的直接宾语随于动词之后。因为在被分析以产生句法树4400的句子中“whom”并不随于“I met”之后,所以应用句法规则时不能辨别出“whom”是“I met”的直接宾语这一事实。
在NSS第二阶段中成功地应用第三组规则中的七条规则。图45中NSS成功地将显示于图33中的语义规则SynToSem1作为规则1应用于句法分析树的限定代词节点DETP2 4501以生成逻辑形式图节点“my”4502。图46中NSS成功地将语义规则SynToSem1应用于句法分析树的名词词组节点NP44601以生成逻辑形式图节点“friend”4602和带有临时语义标记“Tmods”4606的链4603。图47中NSS成功地将语义规则SynToSem1应用于句法分析树的名词词组节点NP34701以生成逻辑形式图节点“I”4702。图48中NSS成功地将语义规则SynToSem1应用于句法分析树的名词词组节点NP24801以生成逻辑形式图节点“whom”4802。图49中NSS成功地将语义规则SynToSem1应用于句法分析树的关系从句节点RELCL14901以生成逻辑形式图节点“meet”4902和带有临时语义标记“Tmods”4904的链4903。图50中NSS成功地将语义规则SynToSem1应用于句法分析树的名词词组节点NP15001以生成逻辑形式图节点“person”5002和带有临时语义标记“Tmods”5004的链5003。图51中NSS成功地将语义规则SynToSem1应用于句法分析树的陈述句节点DECL15101以生成逻辑形式图节点“be”5102和带有临时语义标记“Tmods”5104的链5103。因此,完成NSS第二阶段后即建立了一个框架逻辑形式图。
NSS第三阶段中成功地应用第四组语义规则中的六条规则。图52中NSS成功地将显示于图36中的语义规则LF_Dsub1作为规则1应用于逻辑形式图节点“be”5201以生成链标记“Dsub”5202和带有临时语义标记“Tmods”5204的链5203。图53中NSS成功地将显示于图36中的语义规则LF_Dnom作为规则10应用于逻辑形式图节点“be”5301以生成链标记“Dnom”5302。图54中NSS成功地将显示于图38中的语义规则LF_Props作为规则21应用于逻辑形式图节点“person”5401以生成链标记“Props”5402。图55中NSS成功地将显示于图36中的语义规则LF_Dsub1作为规则1应用于逻辑形式图节点“meet”5501以生成链标记“Dsub”5502。图56中NSS成功地将显示于图36中的语义规则LF_Dobj1作为规则3应用于逻辑形式图节点“meet”5601以生成标记为“Dobj”5603的链从而将节点“meet”连至节点“whom”5602。图57中NSS成功地将显示于图38中的语义规则LF_Ops作为规则22应用于逻辑形式图节点“friend”5701以生成链标记“PossBy”5702。
在NSS第三阶段中成功地应用第五组词义规则中的一条规则。图58中NSS成功地将显示于图40中的词义规则PsLF_RelPro作为规则1应用于作为5602显示于图56中的逻辑形式图节点“whom”以生成标记为“Dobj”5801的链并删除节点“whom”。图59中NSS成功地将显示于图40中的语义规则PsLF UnifyProns作为规则10应用于逻辑形式图以将节点“I”和“my”合并为单个节点。这是NSS成功地应用的最后一条规则。因此图59显示NSS为输入句“The person whom I metwas my friend”生成的最终的完整的逻辑形式图。
虽然本发明是用优选实施例描述的,但这不意味着本发明只限于此实施例。在本发明实质范围内的修改对于熟悉技术的人是显而易见的,后随的权利要求书规定了本发明的范围。
权利要求
1.一种用于在计算机系统中为自然语言句子生成逻辑形式图的方法,该句子由一个具有表示句子句法结构成分的节点的句法分析树所表示,句法分析树被表示于数据结构中,该方法包括为任何隐含于句中的句法结构成分将句法作用加至句法分析树上;用所加句法作用来调整句法分析树以表示句子的完整句法分析;为调整的句法分析树生成框架逻辑形式图,该框架逻辑形式图被表示于与句法分析树的数据结构不同的数据结构中;将语义标记加至所生成框架逻辑形式图;以及用语义标记调整逻辑形式图以增加语义结构成分从而完成逻辑形式图。
2.权利要求1的方法,其中当在预定义词之后省略动词时,增加句法作用的步骤为省略动词增加句法结构成分。
3.权利要求2的方法,其中预定义词是词“to”。
4.权利要求2的方法,其中预定义词是词“not”。
5.权利要求1的方法,其中当句子省略代词时,增加句法作用的步骤为省略代词增加一个句法结构成分。
6.权利要求5的方法,其中省略代词是命令句中的词“you”。
7.权利要求1的方法,其中当句子包括并列结构时,增加句法作用的步骤增加一个句法结构成分以扩展并列结构。
8.权利要求7的方法,其中并列结构包括词“and”。
9.权利要求7的方法,其中并列结构包括词“or”。
10.权利要求1的方法,其中调整句法分析树的步骤包括解决远距附加现象。
11.权利要求1的方法,其中调整句法分析树的步骤包括将动词词组转换为带有前置词词组宾语的动词。
12.权利要求1的方法,其中调整句法分析树的步骤包括用不定式从句替代词“it”。
13.权利要求1的方法,其中生成框架逻辑形式图的步骤包括根据所调整句法分析树的属性将属性赋予框架逻辑形式图节点。
14.权利要求1的方法,其中增加语义标记的步骤包括增加用于标示语言深部的语义标记。
15.权利要求14的方法,其中语言深部是主语。
16.权利要求14的方法,其中语言深部是宾语。
17.权利要求14的方法,其中语言深部是间接宾语。
18.权利要求14的方法,其中语言深部是主格谓语。
19.权利要求14的方法,其中语言深部是补语。
20.权利要求14的方法,其中语言深部是形容词谓语。
21.一种用于在计算机系统中为自然语言中所说明的词组生成逻辑形式图的方法,该自然语言具有用于说明自然语言句法的语法,该方法包括根据自然语言语法生成词组的初步句法分析树,该初步句法分析树包含用于表示词组的词的句法结构成分的节点;调整初始句法分析树以便为词组中隐含的句法结构成分完成句法分析;为调整的句法分析树生成框架逻辑形式图,该框架逻辑形式图被表示于与句法分析树的数据结构独立的数据结构中;以及调整框架逻辑形式图以辨别语义结构成分从而完成逻辑形式图。
22.权利要求21的方法,其中调整初始句法分析树的步骤包括为词组中隐含的任何句法结构成分将句法作用加至句法分析树。
23.如权利要求21的方法,其中调整框架逻辑形式图的步骤包括将语义标记加至生成的框架逻辑形式图。
24.一种包含指令的计算机可读媒体,这些指令通过以下步骤令使计算机系统为自然语言中说明的句子生成逻辑形式图,该自然语言具有用于说明自然语言句法的语法,该计算机系统具有一个根据自然语言语法表示该句的语法分析的句子的初步句法分析树,该初始句法分析树包含表示该句各词句法结构成分的节点,步骤如下为句子中隐含的句法结构成分调整初始句法分析树以完成句法分析;为调整的句法分析树生成框架逻辑形式图,该框架逻辑形式图被表示于与句法分析树数据结构独立的数据结构中;以及调整框架逻辑形式图以辨别语义结构成分从而为该句完成逻辑形式图。
25.权利要求24的计算机可读媒体,其中调整初步句法分析树的步骤包括为该句中隐含的任何句法结构成分将句法作用加至句法分析树。
26.权利要求24的计算机可读媒体,其中调整框架逻辑形式图的步骤包括将语义标记加至生成的框架逻辑形式图。
27.一种用于为自然语言句子生成逻辑形式图的计算机系统,该句由具有表示该句句法结构成分的节点的句法分析树表示,该句法分析树被表示于数据结构中,该方法包括第一阶段部分,用于为该句中隐含的任何句法结构成分将句法作用加至句法分析树以及使用所加句法作用来调整句法分析树以表示该句的完整句法分析;第二阶段部分,用于为调整的句法分析树生成框架逻辑形式图,该框架逻辑形式图被表示于与句法分析树数据结构分开的数据结构中,该逻辑形式图具有节点和链,节点对应于语义结构成分和链对应于语义结构成分间的关系;以及第三阶段部分,用于将语义标记加至生成的框架逻辑形式图和使用语义标记调整逻辑形式图以增加语义结构成分从而完成逻辑形式图。
28.一种用于在计算机系统中处理表示自然语言的词组或句子的输入文本的方法,该方法处理输入文本以便在计算机系统中表示自然语言的人类讲话者所理解的输入文本能表示的至少一个含意,该方法包括以下步骤根据输入文本生成句法分析树以表示输入文本的句法分析;以及生成单独的逻辑形式图以表示输入文本的语义分析。
29.一种用于处理表示自然语言词组或句子的输入文本的计算机系统,该系统处理输入文本以便在计算机系统中表示自然语言的人类讲话者所理解的输入文本能表示的至少一个含意,该系统包括一个根据输入文本生成句法分析树以表示输入文本的句法分析的部件;以及一个生成分开的逻辑形式图以表示输入文本的语义分析的部件,其中逻辑形式图包括节点和有向链。
30.权利要求29的系统,其中生成分开的逻辑形式图的部件包括下列子部件生成初步框架逻辑形式图的第一子部件;以及为框架逻辑形式图的节点辨别语义作用和将框架逻辑形式图的有向链加上标记以产生最终完整的逻辑形式图的第二子部件。
31.一种用于处理表示输入文本的句法分析的句法分析树的计算机系统,该输入文本组成自然语言词组或句子,该计算机系统进行处理以便在计算机系统中表示自然语言的人类讲话者所理解的输入文本能表示的至少一个含意,其中句法分析树包括一组节点和连接节点的有向边,该系统包括一个应用语义规则以自句法分析树中生成分开的逻辑形式图的规则处理机,其中逻辑形式图包括节点和有向链;以及一组语义规则。
32.权利要求31的计算机系统,其中该组语义规则包括用于为该句中隐含的任何句法结构成分将句法作用加至句法分析树的语义规则子组。
33.权利要求32的计算机系统,其中该组语义规则包括使用所加句法作用以调整句法分析树以表示该句的完整句法分析的语义规则子组。
34.权利要求31的计算机系统,其中该组语义规则包括为调整的句法分析树生成框架逻辑形式图的语义规则子组,该框架逻辑形式图被表示于与句法分析树数据结构分开的数据结构内。
35.权利要求34的计算机系统,其中该组语义规则包括将语义标记加至生成的框架逻辑形式图的语义规则子组。
36.权利要求35的计算机系统,其中该组语义规则包括使用语义标记调整逻辑形式图以增加语义结构成分从而完成逻辑形式图的语义规则子组。
全文摘要
用于在语义上分析自然语言句的方法和计算机系统。用于词态和句法分析的自然语言处理子系统将输入句转换为句法分析树。语义分析应用三组语义规则以自句法分析树中建立框架逻辑形式图。接着语义分析应用两组附加语义规则以便为逻辑形式图的链提供语义上有意义的标记,以便为省略成分建立附加的逻辑形式图节点及以便统一冗余成分。最终逻辑形式图表示输入句的完整语义分析。
文档编号G06F17/27GK1226327SQ97196852
公开日1999年8月18日 申请日期1997年6月27日 优先权日1996年6月28日
发明者乔治·海多恩, 卡伦·詹森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1