Page 67 - 《软件学报》2021年第10期
P. 67
徐东钦 等:基于多任务预训练的 AMR 文本生成研究 3039
人 [34] 所使用的预训练模型不同,本文使用的预训练模型为序列到序列结构.
2 基于序列到序列的 AMR 文本生成
本文使用目前综合性能最佳的 Transformer 序列到序列模型作为 AMR 文本生成的基准模型.Transformer
模型由编码器与解码器组成,而编码器与解码器又分别由多个堆叠的编码器层与解码器层组成.编码器层包括
自注意力层(self-attention layer)和全连接前馈神经网络(position-wise feed-forward network,简称 FFN),解码器则
包括自注意力层、编码器与解码器注意力层(encoder-decoder attention layer)和全连接前馈神经网络.每两个子
层之间使用残差连接(residual connection)及层级正则化(layer normalization)处理子层间传递的数据.与基于循
环神经网络和基于卷积神经网络的序列到序列模型相比,带多头注意力机制 Transformer 模型不仅能够捕获序
列之间的长距离依赖,同时还能并行处理数据.目前,在机器翻译、句法树解析等任务中,Transformer 均取得了较
好的性能.有关 Transformer 模型的更多细节,可以参阅 Vaswani 等人 [24] 的论文.
2.1 AMR图线性化预处理
本文使用了 Zhu 等人 [10] 实验中基准系统所使用的预处理方法:首先,使用深度优先遍历方法遍历 AMR 图,
获得线性化 AMR 序列;其次,删除序列中的变量标签、谓词语义(predicate senses)后缀、WiKi 链接标签和概念
节点两侧的引号等,对所有单词小写化获取简化的线性化 AMR.特别地:(a) 若 AMR 图中存在重入节点,则在删
除重入节点的变量之前,在该变量的位置复制一个重入节点,使其从 AMR 图变为 AMR 树;(b) 若概念节点两侧
仅有括号,则删除该位置两侧的括号;(c) 删除线性化 AMR 图最外层的一对括号.如图 2 所示,简化的线性化
AMR 为一个符号序列,该序列中包括了原 AMR 图中的去除谓词语义标签的概念名称、概念之间的语义关系
以及用于表示结构的括号.
原始的句子:
In other words, everybody tends to mistake the part for the whole.
原始的 AMR 图:
(w2/word-01
:ARG1 (t/tend-02
:ARG1 (e/everybody)
:ARG2 (m/mistake-01
:ARG0 e
:ARG1 (p/part)
:ARG2 (w/whole)))
:mod (o/other))
线性化处理后的 AMR 图:
word :arg1 tend:arg1 everybody:arg2 (mistake:arg0 everybody:arg1 part:arg2 whole))
Fig.2 An example of linearized AMR
图 2 一个 AMR 图线性化示例
2.2 子词化处理
在有限的数据规模下,数据稀疏问题显得尤为明显,该问题直接影响了深度学习中模型对特征的学习能力.
为了解决数据稀疏问题,Konstas 等人 [15] 使用匿名机制来缓解实体和数字的稀疏,但这需要人为地制定规则,耗
时耗力.Song 等人 [18] 使用了字 LSTM 加复制机制,但这增加了模型本身学习解决问题的复杂度.受启发于机器翻
译领域解决低频词翻译的方法,本文采用字节对编码(byte pair encoding,简称 BPE) [35] 方法.通过将低频词拆分
为更小粒度的高频子词单元,该方法能够显著提升包括机器翻译在内的众多自然语言处理任务中模型对低频
词的建模能力.
对于 AMR 文本生成任务,由于源端和目标端存在着大量相同的单词.如图 2 所示,线性化 AMR 图和原句子
中均含有 mistake、part、whole 等相同的单词,也包含如 tend 和 tends、word 和 words 等共源的单词.于是,本文
将源端和目标端一同进行子词化处理;并在处理完毕后,共享源端和目标端的词汇表,以建立起源端和目标端单