- 签证留学 |
- 笔译 |
- 口译
- 求职 |
- 日/韩语 |
- 德语
通过使用语义语法(semantic grammar),这些问题都可以得到解决。语义语法最初是为用于问答和智能辅导(Brown and Burton,1975)领域的基于文本的对话系统(text-based dialogue system)而设计的。语义语法更直接地面向组合分析的需求。在这个方法中,设计了直接对应于所讨论领域的实体和关系的语义规则和成分。在这样的语法中,关键的语义成分共同出现在单个的规则中,而且规则的概括性与获取敏感的语义分析所需的概括性相一致。
下面讨论上述的两个通用策略是怎样应用于BERP领域的。思考为例句(1)中的特殊的信息需求而生成的如下候选规则:
InfoRequest → User want to go to eat FoodType TimeExpr
与为成语引入的规则一样,这类规则的右边部分也是非终结符和终结符的自由混和体。在本例中,User, FoodType和TimeExpr表示在该领域以语义为目的的非终结范畴。有了这些,该规则的语义附着就具备了所有必需的信息,通过这些信息可以为这类需求从规则中间成分组合成意义表示。另外,我们不再需要λ表达式,因为这个平直的规则将所有相关的论元都提升到了剖析树的顶端。
现在来研究下面可用于剖析例句中短语Italian food的规则:
FoodType → Nationality FoodType
这个规则的特殊性质允许产生比前述通用名词规则给出的语义附着更有用的语义附着。更具体地说,它可以生成一个表示,这个表示表明由成分FoodType指定的食物是按Nationality成分所对应的风格制成的。
在这些领域中使用语义语法的关键原因之一是处理重复和省略的需要。语义语法可以帮助处理这些现象,因为语义语法本质上具有一定的预测能力。更具体地说,基于剖析器主动预测的范畴,语义语法允许剖析器对即将到来的输入做出非常具体的预测。借助这个能力,前指指代和省略元素就能够与具体的语义范畴建立联系。
以下面的ATIS例子为例,我们来研究这是怎样实现的:
When does flight 573 arrive in Atlanta? (2)
When does it arrive in Dallas? (3)
这类句子可以用下面的规则进行分析,在这个规则中用到了特定领域的非终结符Flight和City:
InfoRequest → when does Flight arrive in City
这类规则对确定it所指而给出的信息远多于纯粹的句法规则,纯粹的句法仅仅限制it指向任何以名词短语表示的事物。在实际情况下,这样的系统可以在对话中向前搜寻最近一次使用过Flight成分的位置,以确定这个代词的可能指代。
当然,把一个系统基于语义语法会带来不少缺点,这也不足为奇。最根本的缺点在于该方法几乎完全丧失了重用性(reuse)。将一个领域的句法和语义结合成单一的表示,使得所生成的语法只能用于该领域。相反,原则上保持句法和语义分开的系统,则可以将它们的语法重用于新的领域。丧失重用性的第二个原因是在语法中回避了句法的概括性。这不可避免地导致单个领域的语法在数量上的增长。例如,最初的名词短语规则足够容纳Italian restaurant 和Italian food这两个短语,但是现在就需要两个不同的规则。事实上,审视BERP语料库可以发现对这些短语:vegetarian restaurant、California restaurant 和expensive restaurant,也需要额外的规则。
另外,语义语法也很容易造成语义的过度生成。作为一个例子,考虑短语Canadian restaurant。它符合上面对民族饭店所给出的规则,并将产生一个意义表示:一个提供加拿大风格的食物的饭店。遗憾的是,几乎可以肯定这是对该短语的不正确的理解,因为在WSJ语料库中出现的该短语中没有一次是这个意义,而都是指位于加拿大的饭店。使用语义语法的对话系统基于在限定领域的这种用法比较罕见的假定。
最后,我们应该指出语义语法也许应当被冠以其他称谓,因为这个语法本身从形式上与书中讨论过的任何其他形式体系并没有差别。相应地,也没有针对语义语法的句法分析或语义分析的特殊算法。语义语法可以使用与所用语法体系相符合的任何算法,比如Earley,或任何其他上下文无关剖析算法。
责任编辑:admin