《自然语言处理综论》学习笔记

ZhuYuanxiang 2019-06-06 00:00:00
Categories: Tags:

Ch18 计算语义学

语义分析(semantic analysis):将「意义表示」(Ref: Ch 17)进行组合并指派给语言表达式的过程。

常用的知识源:词的意义、语法结构所蕴含的常规意义、话语的结构知识、与话题相关的常识以及与话语中事件状态相关的知识。

句法驱动的语义分析(syntax-driven semantic analysis):在给句子指派意义表示时,仅仅依赖于词典和语法知识。这个意义表示是独立于上下文并与推理无关的表示。

句法驱动的语义分析的作用:

歧义产生的条件:句法、词法、复指语歧义和量词辖域

18.1 句法驱动的语义分析

组合性原则(principle of compositionality):句子的意义可以从其组成部分的意义构建而成。

Mad Hatter 给出的原则提示:句子的意义并不仅仅依赖于句中的词汇量,还依赖于句中词汇的顺序、词汇所形成的群组以及词汇间的关系。即:句子的意义部分依赖于句法结构。

图18.1 用于语义分析的简单的管道流方法:

(输入)→句法分析器→(句法结构)→语义分析器→(输出的语义表示)

规则到规则的假设(rule-to-rule hypothesis):语言并不是通过枚举所允许的字符串或者句法分析树来定义的,而是通过描述可以生成期望输出集合的有限工具来定义的。因此,在面向句法的方法中语义知识应当面向产生句法分析树的有限工具集(语法规则和词典条目)。

18.2 句法规则的语义扩充

将语义附着(semantic attachments)扩充到上下文无关语法(CFG)规则中。(Ref:Ch15)

使用这些扩充的语义附着来描述基于句法结构成分的意义来计算整体意义表示的规则。

两种带约束的规则到规则(rule-to-rule)的方法:

三种实现规则到规则(rule-to-rule)方法的技术:

18.3 量词辖域歧义及非确定性

量词辖域歧义:包含量化词的表达式引起的歧义。

解决量词辖域歧义的方法:

18.3.1 存储与检索方法

存储用来替换单独的语义附着。

存储包括

从存储中检索出完全确定的表示所必须的过程

确保了从存储中检索到的量化表达式将被指派给核心表示中的正确角色。

基于存储的方法存在的两个问题:

18.3.2 基于约束的方法

解决存储的方法存在的问题的方法:

只要一个完全确定的一阶逻辑(FOL)表达式与这些约束一致,那么这个表达式就符合要求。

孔语义学:是基于约束的非确定性表示方法。使用孔来代替
λ变量。向所有的候选FOL子表达式添加标记。在完全确定的式子中,所有的孔都将被已经标记的子表达式填充。

基于约束的非确定性表示方法的作用:

18.4 基于合一的语义分析方法

将复杂的特征结构与单独的上下文无关语法规则组成对,以此来对诸如数一致关系和次范畴化这样的句法约束进行编码,且这些约束通常无法通过上下文无关语法传递。

规则的功能:

18.5 语义与 Earley 分析器的集成

基于Earley分析器可以把语义结合到语法分析中

18.6 成语(俗语)和组成性

成语(idiomatic language):即习惯用语,或者称为“俗语”。

对于习惯用语的结构,最直接的处理方法就是引入为处理这些习惯用语而特意设计的新语法规则。规则将基于语法成分将词项混合,再引入语义内容,而这个语义内容不是从任何词项中得来的。

处理习惯用语需要对普通的组合框架做出下面的改变:

18.7 小结

本章的重点是句法驱动的语义分析。