Page 68 - 《软件学报》2021年第10期
P. 68
3040 Journal of Software 软件学报 Vol.32, No.10, October 2021
词之间的联系.
3 基于多任务预训练的 AMR 文本生成
为了降低 AMR 文本生成性能对标注数据集规模的依赖,相关研究在借助大规模的自动标注数据,即:给定
未标注的大规模(英文)文本数据集,通过预先构建的 AMR 分析器将该数据集中的每个句子转换为其相应的
AMR 图.一旦获得自动标注数据集,传统的做法大体上可以分为两类:一种方式是混合自动标注数据和人工标
注数据集得到新的训练数据集 [36] ;另一种方式是先使用自动标注数据集训练得到预训练模型,然后再使用人工
标注数据集进行微调 [15,18,21] .不同于以上两种传统做法,为了更加有效地利用自动标注数据集,本文提出了基于
单任务预训练和基于多任务预训练的 AMR 文本生成方法.
基于自动标注数据集,本文提出了与 AMR 文本生成任务相关的 3 个预训练任务,分别是 AMR 降噪自编码、
句子降噪自编码以及 AMR 文本生成任务本身.由于前两个预训练任务皆基于降噪自编码,本节将首先介绍基
于序列到序列的降噪自编码预训练,然后再详细描述本文的单任务预训练方法以及多任务预训练方法,最后介
绍本文实验 中使用到的 两种微调(fine-tuning)方法.需要注意的 是,本文所有 的序列到序 列模型均采用
Transformer 模型.此外,模型的损失函数均采用相对熵损失(relative entropy loss)的方法来计算.
3.1 基于序列到序列的降噪自编码预训练
本文针对 AMR 文本生成任务,提出了基于序列到序列模型的降噪自编码 [37] 预训练任务.降噪自编码模型
被广泛应用于基于序列到序列的自然语言处理任务中 [30] ,表明降噪自编码模型既能够较好地捕获源端语言的
特征表示,同时也能够较好地生成目标端语言序列.
降噪自编码模型分为编码器与解码器两部分.给定单词序列 x {} ,x ii 1 在预处理阶段,首先对该单词序列进
n
行噪声化,得到包含噪声的单词序列 x {} .x ii 1 编码器以 x作为输入,并编码得到其对应的隐藏状态序列
n
h {} ;h ii 1 解码器试图消除噪声,根据隐藏状态序列 h 恢复为原本的单词序列 x.因此,降噪自编码模型可以看作
n
是从带噪声序列恢复为无噪声序列的过程.
受 Devlin 等人 [13] 工作的启发,单词序列的噪声化使用了 3 种不同的噪声方式,分别为:(1) 随机重新设置序
列中每个单词的位置,并限制新位置与其原始位置相距不超过 3 个位置;(2) 以 10%的概率,将单词替换为[mask]
标记;(3) 以 10%的概率,将单词丢弃.
降噪自编码模型在预测单词 x i 时,将噪声序列 x的上下文以及预测序列 x 的上文作为条件,即计算条件概率
n
p(x|x),该概率可以分解为 (| )px x p ( | ,x x x i ).
i
i 1
通过降噪自编码预训练的噪声编码、降噪解码两个部分,可以使模型学习到文本序列的上下文语境的特征
表示,同时不会对模型的语言理解能力造成影响.这一过程同样可以看作是训练生成式语言模型,通过有效利用
该语言模型,可以对给定文本序列进行文本纠错.
3.2 单任务预训练
根据 AMR 文本生成任务的特点,利用其源端(即 AMR 端)和目标端(即文本端)序列的特征,本文设计了 3 种
不同的单任务预训练方案.
(1) 基于源端序列的降噪自编码模型(denoising auto-encoder based on source sequence,简称 DAE(S)).利用
源端线性化处理后的 AMR 序列,预训练基于序列到序列的 AMR 降噪自编码模型.通过对 AMR 文本
生成模型的编码器(encoder)进行训练,提高编码器对线性化 AMR 序列图结构的语言特征表示的捕获
能力.不难看出,该预训练任务的源端与 AMR 文本生成任务的源端是相匹配的.因此,该预训练任务将
能够提高 AMR 文本生成任务源端编码器的表示能力;
(2) 基于目标端序列的降噪自编码模型(denoising auto-encoder based on target sequence,简称 DAE(T)).根
据目标端输入的单词序列,预训练基于序列到序列的句子降噪自编码模型.通过对 AMR 文本生成模