序列分析模型:从依存句法分析到循环神经网络
1. 依存句法分析与SyntaxNet
在处理序列到序列(seq2seq)问题时,当问题复杂度增加,我们需要更具创造性的策略。依存句法分析就是这样一个复杂的问题,其核心是构建句子中单词之间的依赖关系树。
1.1 依存句法树的线性化
构建依存句法树的目的是映射句子中单词之间的关系。例如,在句子中,“I”和“taxi”分别是“took”的主语和直接宾语。为了将树表示为序列,我们可以对其进行线性化。对于一个有根节点R和子节点A、B、C的图,我们可以将其线性表示为 (R, r_a, A, r_b, B, r_c, C)。对于更复杂的图,如节点B还有子节点D和E,可表示为 (R, r_a, A, r_b, [B, b_d, D, b_e, E], r_c, C)。
1.2 依存句法分析的挑战
将依存句法分析视为seq2seq问题,即读取输入句子并输出表示其依存解析线性化的标记序列。然而,这与之前的词性标注任务不同,词性标注中单词和词性标签有明确的一对一映射,且可以通过上下文轻松决策。而在依存句法分析中,句子中单词的顺序与线性化标记的顺序没有明确关系,还需要识别可能跨越多个单词的边,这似乎违反了我们不考虑长期依赖的假设。
1.3 弧标准系统
为了使问题更易于处理,我们将依存句法分析任务重新考虑为寻找一系列有效的“动作”来生成正确的依存解析,即弧标准系统。该系统由Nivre在2004年首次提出,后来Chen和Manning在2014年将其应用于神经网络。在弧标准系统中,我们首先将句子的前两个单词放入栈中,其余单词放在缓冲区。在每一步,我们有三种可能的动作: <
超级会员免费看
订阅专栏 解锁全文
11

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



