- 签证留学 |
- 笔译 |
- 口译
- 求职 |
- 日/韩语 |
- 德语
对于使用有限句法预处理器来提供语义解释的输入。也可以不经过句法处理阶段,除了使用基本的词语形态分析之外,其他一切都用语义驱动的模式来完成。在这种系统中,语法和语义信息存储在词条中。具体地说,词典中包含了一些重要信息,比如词语的各种可能意义,其中包括动词和形容词的格框架信息;还有一些规范,根据这些规范可以进行语义消歧,并且可以将词语和其他词组合起来集成到更大的语义结构中。这里,我们分析一个系统,其中,信息都存成一组模式-行为规则,对确定型分析器相似的缓冲区进行处理。缓冲区包含输入成分,并由模式-行为规则进行更新。只要我们输入一个新词,该词的词典条目中的规则就激活。例如,和词“booked”相关的规则如图1所示。每个规则包含一个对语义类进行检测的模式以及出现在缓冲区中的各个词。若某个模式匹配成功,和这次匹配相关的缓冲区元素就被移除,用动作部分指定的结构将其替换。除此之外,规则的动作部分还可以激活或者停用附加的规则。例如,图1 中的规则BOOK.1和带ANIMATE类型条目的缓冲区后跟包含词“book”的缓冲区相匹配,用(RESERVING*[AGENT1])条目替换这两个缓冲区。其中,*可实例化为新的篇章变量。因此,1指的是和该匹配相关的第一个缓冲区的值。操作符(^)用于将两个浅层描述合并起来构造一个新的解释。
考虑句子“John booked me a flight to Chicago”如何用上述规则进行解释。现在,假定所有的NP在本次解析开始前都已经预先处理好了。一开始,分析器只有一条激活规则S.end(检查句子是否处理到结尾了)、前两个填好词的缓冲区(NAME j1 HUMAN“John”)以及“booked”。激活booked的规则,然后是BOOK.1匹配成功。用下面的值替换前两个缓冲区:
(RESERVING r1 [AGENT (NAME j1 "John")])
下一个缓冲区用结构(PRO m1 HUMAN me)填充。这一次,规则BOOK.3匹配成功。其动作是将第一个缓冲区的值和新的结构合并起来,生成下面的结构作为缓冲区1的新值:
(RESERVING r1 [AGENT (NAME j1 "John")]
[BENEFICIARY (PRO m1 ME1)])
下一个输入是名词短语“a flight to Chicago”的分析结果< INDEF1 f1 FLIGHT(TO-LOC f1(NAME c1 "Chicago"))>。规则BOOK.2匹配成功,所得结果再次和第一个缓冲区合并,生成分析结果如下:
(RESERVING r1 [AGENT (NAME j1 HUMAN "John")]
[BENEFICIARY (PRO m1 HUMAN “me")]
[THEME <INDEFI fI FLIGHT
(TO-LOC f1 (NAME c1 "Chicago"))>])
当读入最后的句号时,规则S.end触发,表示分析结束。
图1 样例词典
要对这个解释器进行扩展,使它能分析名词短语,需要引入一个和确定型分析器中的注意力转移相似的机制。举例说明,a的规则是:
ART.1 "a" → INDEF1
在前面的例子中,如果名词短语“a flight to Chicago”没有进行预处理,分析器将会到达下面这个位置:
Buffer 1: (RESERVING r1 [AGENT (NAME jl "John")]
[BENEFICIARY (PRO m1 ME1)])
Buffer 2: a