Motivation:
依存句法分析在句法分析和语义消歧任务上发挥着重要的作用。在此之前决策式的分析方法(deterministic parsing)大部分都是语言心理学家考虑的问题,而这种方法在消歧任务上有很大优势,因此本文提出一种数据驱动的依存句法分析方法——基于转移的决策式分析方法用来替代传统的做法。将生成句法树的任务转换成生成操作序列的任务。
基本概念:
一颗依存树应该满足以下形式约束:
Single head:即句子中的每个单词只有一个入边;
Acyclic:依存图或依存树中不能出现循环结构;
Connected:图中任意两个结点之间通过有限的边可以连接;
Projective:假设这条边连接的是wi和wj,其中i<j,它的中心词是head(是wi,wj中的一个)。如果对于i和j之间的每一个词,都存在一条从head到它的路径,那么这条边就满足Projective性质。
总体流程:
先看一个整个算法执行的步骤:
- 我们目前有的是预料(如下图)和句法解析算法(下面介绍)
原始数据
- 然后用句法解析算法对语料进行处理生成一系列的操作,原始数据加上操作才是训练数据(这里才是训练数据);
- 根据训练数据生成一个解析器(parser);
- 测试数据放入解析器生成一系列的操作,有了这些操作就相当于得到句法树;
- 计算attachment score,判断生成句法树的质量。
解析算法:
这部分算法用来根据语料生成训练数据,对于如何根据训练数据生成模型文章中并没有提到。参考其他资料可以发现,大部分都是利用SVM或最大熵训练解析器(parser)。
- Baseline:
- S/R:
If the node on top of the stack can be a transitive head of the next input token then Shift; otherwise Reduce.
- S/RA:
preferring a Shift over a Right-Arc in congurations where the token on top of the stack is a verb and the next token could be a post-modier of this verb but could also be a pre-modier of a following token.例如下图所示情况。
实验结果:
可以发现模型越复杂,效果越好。
启发:
- 在选择操作时,使用更复杂的优先级算法;
- 除上面4个约束以外,考虑其他约束;
- 改动不同生成parser的模型。