本文是伯克利大学发表于ACL的论文,概述了Nikita Kitaev和Dan Klein的工作。全文主要贡献点在于使用自关注架构代替长短时记忆网络编码器,可以改善目前为止最好的成分句法分析器。作者的解析器在Penn Treebank上训练后获得了目前为止最好的效果,其中不使用外部数据时获得93.55的F1,使用其他预先训练的单词表示时获得95.13的F1。作者的解析器也优于SPMRL数据集中8种先前公布的最佳精度数据。

引言

RNNs在很大程度上取代了固定窗口大小的前馈网络,部分原因是它们捕获全局上下文的能力。然而,RNNs并不是唯一能够概括全局上下文的体系结构。文章中介绍了一种解析器,它结合使用这种自关注架构构建的编码器和自定义用于解析的解码器。如下图所示。

模型

树形记分和图表译码器

语法解析器对每个树分发了一个实值分数s(T)

其中s(I,j,l) 是一个关于成分的实值记分。

它位于句子中篱笆位置i和j之间,并具有标签l。为了处理一元链,标签集包括训练集中的每个一元链的折叠条目。该模型通过二值化和引入虚拟标签来处理n元树在二值化过程中创建的节点,具有以下性质:与虚拟标签相关联的分数总是零,确保对于n元树的所有可能的二进制化继续保持。

上下文感知词表示

编码器模型被分割为两个部分:基于文字的部分分配了上下文感知向量yt给每一个句子中的位置t。以及组合向量yt以产生跨度分数s(i;j;l)的图表部分。

编码器将一个字序列作为输入嵌入[w1; w2; :::; wT],第一个和第一个最后嵌入是特殊的开始和停止令牌。所有单词嵌入都是与模型的其他部分共同学习的。向量[z1; z2; : : : ; zT ]被转换成一堆8个相同的层,每层由两个堆叠的子层组成:多头关注机制和位置前馈子层。给定输入x的每个子层的输出是LayerNorm(x+SubLayer(x)),即,每个子层之后是残余连接和层规范化步骤。最后,所有子层输出,包括最终输出yt,大小都是dmodel。

8层中的每一层中的第一个子层是多头自我关注机制,这是信息可以在句子中的位置之间传播的唯一手段。自我关注机制的输入是一个T x dmodel矩阵X,其中每个行向量xt代表句子中的单词t。如下图中的每一个都有自己的可训练参数:这允许单词从句子中每个聚焦子层的最多8个远程位置收集信息。

位置智能前馈子层

由于在整个模型中使用了残余连接,输入和输出尺寸是相同的,但作者可以通过调整应用非线性的中间向量的大小来改变参数的数量。

来自前一节中描述的基于字的编码器部分的输出yt被组合以形成跨度分数s(i;j;),如下所示

内容与位置关注

在整个编码器中,信息传递的主要机制是自我关注,其中单词可以使用内容特征和位置信息相互联系。内容和位置信息交织在整个网络中。

将内容和位置信息混合在一个向量中,可能会导致一种关注力凌驾于另一种关注力之上,并损害网络在这两种关注力之间找到最佳平衡的能力。为此,作者提出了一个分解的模型版本,它显式地分离内容和位置信息。

如下图所示,作者的模型中的前馈子层同样被分成两个独立的部分,分别处理位置和内容信息。

或者,因子分解可以看作在整个模型中对参数矩阵实施块稀疏约束。

作者保持与之前相同的向量大小,这意味着因子分解严格地减少可训练参数的数量。为了简单起见,作者将每个向量分成包含位置和内容信息的相等的一半,将模型参数的数量大致减少一半。该分解方案能够达到开发集F1下的93.15分,比未分解模型提高了近0.5分。

这些结果表明,分解不同类型的信息会导致更好的解析器,但原则上存在一个混淆:也许通过使所有矩阵块稀疏,作者偶然发现了更好的超参数配置。例如,这些增益可能仅由于可训练参数的数量不同而导致。

模型分析

为了检查在作者的架构中基于内容和基于位置的关注的相对利用,作者在测试时通过选择性地将内容或位置组件对任何关注机制的贡献归零来干扰经过训练的模型。这可以在不同的层上独立完成。作者的模型学习使用两种关注类型的组合,其中基于位置的关注是最重要的。作者还看到,基于内容的关注在网络中较晚的层更有用,这与作者模型的初始层的行为类似于扩展的卷积网络,而上层在两种关注类型之间具有更大的平衡相一致。

作者还可以通过将窗口应用到注意机制来检查作者的模型对长距离上下文信息的使用。如下表所示,严格开窗的结果很差:即使是大小为40的窗口,与原始模型相比,也会导致解析精度的损失。

下表中还示出了在测试时间内轻松开窗的结果。

接下来,作者检查解析器对远程依赖项的使用是否对通过重新训练作者的模型以适应窗口化而实现任务至关重要。为了评估全局计算的作用,作者同时考虑严格窗口和松弛窗口。原则上,作者可以在训练时用全局计算的显式规定来代替松弛的窗口,但是为了分析的目的,作者选择最小化与原始架构的偏差。

下表所示的结果证明,对于使用作者的模型实现最大的解析精度,远程依赖仍然是必不可少的。严格和松弛窗口之间的旁侧比较表明,使用松弛方案中始终可用的指定位置来汇集全局信息的能力一致地转化为精度增益,但不足以补偿小窗口大小。这表明,原则上不仅必须能够得到来自远程令牌的信息信号,而且还有助于在不存在中间瓶颈的情况下直接访问该信息。

词汇模型

为了在不引入任何对外部系统的依赖的情况下恢复性能,作者探索将词汇特征直接结合到作者的模型中。本节中描述的不同方法的结果如下表所示。

考虑到自关注编码器在句子级上的有效性,将其看作子词结构同样具有美学吸引力。然而,它在经验上要慢得多,没有比字符级LSTM更好的并行化(因为单词往往很短),并且初始结果不如LSTM。一种解释是,在词汇模型中,人们只希望计算每个单词的单个向量,而自我关注的体系结构更适合于在序列中的多个位置生成上下文感知摘要。

作者的方法能够捕获子词信息和上下文线索:嵌入是由网络产生的,该网络以字符作为输入,然后使用LSTM捕获上下文信息,当为句子中的每个词生成向量表示时。

这些预先训练的单词表示是1024维的,而到目前为止作者所有的因式分解模型都有512维的内容表示;作者发现解决这种不匹配的最有效的方法是使用学习到的权重m将ELMo向量投影到所需的维度阿特里克斯随着语境化词语表达的增加,作者假设不再需要完整的8层自我关注。这在实践中证明是正确的:作者用四层编码器获得了95.21F1的最佳开发集结果。

实验分析

下表总结了前面部分中给出的解析器变体的开发集得分。性能最好的解析器在ELMo单词表示上使用了因子化的自关注编码器。

作者在测试集上评估模型的结果如下表所示。

作者通过九种语言上进行训练来测试作者的模型在语言之间通用的能力。除了学习率,作者在SPMRL任务中对一些较小的数据集进行了调整。结果如下表所示。

在9种语言的8种语言中,只在单系统条件下进行评估,作者的测试集结果超过了作者已知的任何系统中以前发布的最好的分数。

结论

在本文中,作者证明了编码器的选择对解析器的性能有很大的影响。特别地,作者使用一种基于因数自关注的新型编码器来演示解析结果。作者看到的益处不仅来自于合并更多的信息(例如子词特征或外部训练的词表示),还来自于结构化体系结构以将各种不同的信息彼此分离。作者的研究结果提示,进一步研究不同的编码方法可以导致对解析和其他自然语言处理任务的进一步改进。