这一方法的症结在于寻找这两个子句之间的结构对应关系,它受句法因素的影响很大。该算法的输入是局部上下文(前面一个句子)的语法结构和省略语句的部分句法结构。需要注意的是,虽然不一定能够得到完全的分析,但是自底向上句法分析器还是能够产生分析结果的。
对一些类型的结构(如VP省略),对应关系是非常明确的。如果一个动词短语包含助动词“do”(但没有补足语)和修饰语(如too, as well 和also),则预示着动词短语的省略,互相对应的是两个句子中的主语。对于其他情况,寻找对应关系就更有问题。例如,考虑对话33,省略子句中的NP和前面子句中的NP对应。
潜在的对应关系可以通过搜索一个从输入片段中推导出的模式来发现。为了尽可能发现句法结构上平行的片段,用输入片段中包含除内容词(如名词和形容词)外所有信息的模式来搜索,功能词(如介词和冠词)将保留。如果这一匹配没有产生任何潜在的目标片段,可以用更一般的模式(例如可以删除数的限制,删除特定冠词、介词,删除修饰语,等等)来匹配。考虑对话33的处理。这个算法的输入如图1 所示。
图1 省略的例子
初始模式是(NP[3s](DET the)(CNP))。搜索匹配的上下文子句的句法结构,没有发现对应的内容。如果放宽模式中数的约束,即(NP(DET the)(CNP)),就能够发现香蕉(the bananas)和指代和桃子(the peach)之间的匹配,也可以推导出语义形式。如果模式匹配不上,可以继续放宽约束,尝试模式(NP(DET)(CNP));如果失败,再继续尝试(NP)。可以定义一系列逐步放宽的模式,第一个匹配的模式将抓住最重要的结构属性。
包含一系列成分的省略形式更复杂。考虑以下的例子:
35a. A: Did the clerk put the bananas on the shelf? (职员把香蕉放到架子上了吗?)
35b. B: Yes.(是的。)
35c. A: The ice cream in the refrigerator? (把冰激凌放到冰箱里了吗?)
句子35c的正确解释涉及两个独立的成分而不是单个的成分,即名词短语“the ice cream”和介词短语“in the refrigerator”(这将匹配为动词“put”的补语的一部分)。可以扩展模式匹配过程以便搜索每一个片段,同时,要满足额外的约束:输入中不同成分的顺序与问题中目标成分的顺序一样。另外,目标片段的序列应该是同一个成分的子部分。例如,在对话35中,A的初始句法形式、输入片段以及由输入片段生成的模式序列如图2 所示。
图2 具有多个成分的例子
名词短语NP6中生成的模式可以与名词短语NP3,NP4,和NP5有效地匹配,而介词短语PP3没有找到可以匹配的成分。但是,在放宽PP3中的介词为“in”的约束之后,将可以成功匹配介词短语PP2。只有NP4和PP2出现在一个单独的成分结构(VP1)内,并且以合适的顺序出现在原来句子中。这样,在构建新的解释时,名词短语NP6与NP4对应,介词短语PP3与PP2对应。从这个语义形式中抽取掉NP4和PP2所在参数位置的内容,并在抽取后的结果中填充新的成分,NP6和PP3的解释。
责任编辑:admin