序列分析模型:从依赖解析到循环神经网络
1. 依赖解析与 SyntaxNet
1.1 依赖解析树的概念
依赖解析树的核心思想是描绘句子中单词之间的关系。例如,在句子里,“I”和“taxi”分别作为动词“took”的主语和直接宾语,是“took”的子节点。
1.2 树的线性化
为了将树表示为序列,我们可以采用线性化的方法。对于一个有根节点 R 以及子节点 A、B、C 的图,通过边 r_a、r_b、r_c 相连,其线性化表示为 (R, r_a, A, r_b, B, r_c, C)。若节点 B 还有子节点 D 和 E,分别通过边 b_d 和 b_e 相连,那么新的图可表示为 (R, r_a, A, r_b, [B, b_d, D, b_e, E], r_c, C)。
1.3 依赖解析的挑战
将依赖解析视为一个序列到序列(seq2seq)的问题,即读取输入句子并输出表示其依赖解析线性化的标记序列。然而,这与之前简单的词性标注问题不同,在词性标注中单词和词性标签有明确的一对一映射,且可通过上下文轻松确定词性标签。但在依赖解析中,句子中单词的顺序与线性化标记的顺序没有明显关系,还需识别可能跨越多个单词的边,这似乎违反了不考虑长期依赖的假设。
1.4 弧标准系统
为解决依赖解析问题,我们采用弧标准系统。该系统的步骤如下:
1. 把句子的前两个单词放入栈中,其余单词放入缓冲区。
2. 在每一步,有三种可能的操作:
- Shift :将一个单词从缓冲区移到栈顶。
- Left arc <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



