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

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

Ch15 特征 与 合一

基于约束的形式化方法(constraint-based formalism):把特征中的信息用约束来表示。

基于约束的表示策略:能够表示细颗粒度的信息,可以模拟比上下文无关语法更加复杂的现象,可以有效地计算句法表示的语义。

基于特征结构和合一来实现这个表示策略。

15.1 特征结构

特征结构(feature structure):是「特征—值」(feature-value)偶对的简单集合:

特征结构的表示方式:「特征—值」矩阵(Attribute-Value Matrix,AVM)。

特征路径(feature
path):是在特征结构中引导到一个特定的值的各个特征所组成的一个表。

重入结构(reentrant
structure):是一种特征结构,所包含的特征共享某些特征结构作为值。

在重入结构下,两条特征路径可以通向结构上完全相同的结点。从而可以非常简洁地来表示语言中概括性的现象。

15.2 特征结构的合一

为了使特征结构可以计算,需要合一(unification)运算来实现两种主要的操作:

合一运算:是一个二元算子(用 ⊔
表示),接受两个特征结构作为运算单元,当合一成功时返回一个特征结构作为合一的结果。

特征结构:是一种用于表示某些语言学实体的局部信息的方法;也是一种把信息约束加到可以接受这个信息的语言学实体的方法。

合一运算:是一种将各个特征结构中的信息进行合并的方法;也是一种描述满足两个约束集合的语言学实体的方法。

合一运算:是单调的(monotonic)。如果一个特征结构的描述是正确的,那么这个特征结构与其他的特征结构合一的结果所形成的新的特征结构仍然满足原来描述的要求。

合一运算:是与顺序无关的(associative)。给定特征结构的一个集合进行合一时,可以按任意的顺序来进行计算,得到的结果都是相同的。

两个特征结构进行合一,产生一个新的特征结构,这个新的特征结构或者与原来输入的特征结构等同,或者比原来输入的特征结构更加特殊(具有更多的信息)。

不特殊(更加抽象)的特征结构蕴涵于(subsume)等同的或者更加特殊(具有更多信息)的特征结构。

“蕴涵于使用” ⊑ 表示,“蕴涵于”关系是偏序关系(partial
order)。因为每个特征结构蕴涵空结构[],特征结构之间的关系可以定义为半格(semilattice)。

合一:是整合来自不同约束的知识的一种实现方法。

15.3 语法中的特征结构

把上下文语法规则中的成分都加上特征结构的说明,然后使用适当的合一运算来表达对于这些成分的约束,就可以实现以下目标:

两种约束形式说明:

新方法的基本点:

合一运算能够处理的语言现象:

15.4 合一的实现

输入的特征结构使用非成圈有向图,即有向无环图(DAG)来表示。在DAG中,特征作为标记记录在的边上,特征值或者是原子符号,或者是DAG。

合一运算的实现是递归的图匹配算法。算法需要把一个输入中的特征都走一遍,试着去发现在另一个输入中相匹配的特征。如果所有的特征都匹配,则合一成功。只要有一个特征不匹配,则合一失败。为了正确地对于那些以特征结构为其值的特征进行匹配,需要使用递归。

15.4.1 合一的数据结构

每个特征结构包括两个域:

合一运算的合并可以通过在处理过程中改变DAG的指针域来实现。合一的结果创建出了一个新的结构,这个结构包含了来自原来两个项目的信息的并。

15.4.2 合一的算法

解除参照(dereferencing):如果在扩充的特征结构中的指针域不空,那么这个结构的真实内容就顺着指针域中的指针去查找,顺着指针查找的结果就称为解除参数。

递归的三种可能的基本情况:

15.5 带有合一约束的剖析

合一运算与合一的顺序无关,但是合一运算并不能够减少在搜索过程中剖析器的搜索空间。

15.5.1 Earley剖析器结合合一的剖析

把特征结构和合一运算结合到Earley算法中的目的有两个:

15.5.2 基于合一的剖析

包含语义成分的规则(Ref:Ch17)。语法规则可以对特征结构的成分加上各种约束,也可以包括用句法范畴的概念不能描述的约束。

15.6 类型与继承

基本的特征结构存在的两个问题:

解决上面两个问题的办法是使用类型(types):

类型化的特征结构(typed feature
structure)系统中,类型是一种新的类别,与标准特征结构中的属性和值是类似的。

类型分为两种:

15.6.1 合一的扩充

小结

本章的重点是基于特征结构进行的合一运算