序列分析模型:从依存句法分析到循环神经网络
1. 依存句法分析与SyntaxNet
在解决序列到序列(seq2seq)问题时,当问题复杂度增加,我们需要更具创造性的策略。依存句法分析就是一个很好的例子,其目的是构建句子中单词之间的关系映射,形成依存句法树。
1.1 依存句法树的线性化
可以将依存句法树线性化来表示为序列。例如,对于一个有根节点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)。
但将这种seq2seq问题转化为输入句子生成其依存句法线性化序列并不简单,与词性标注(POS tagging)不同,这里句子中单词顺序和线性化后的标记顺序没有明显关系,且依存关系可能跨越多个单词,这违背了不考虑长期依赖的假设。
1.2 弧标准系统
为使问题更易处理,将依存句法分析任务重新考虑为寻找一系列有效的“动作”来生成正确的依存句法。弧标准系统就是这样的技术,其步骤如下:
1. 初始化 :将句子的前两个单词放入栈中,其余单词放入缓冲区。
2. 可选动作 :
- SHIFT :将一个单词从缓冲区移到栈顶。
- LEFT ARC :将栈顶的两个元素合并为一个单元,最右边元素的根节点作为父节点,最左边
超级会员免费看
订阅专栏 解锁全文
15

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



