Page 70 - 《软件学报》2021年第10期
P. 70
3042 Journal of Software 软件学报 Vol.32, No.10, October 2021
Transformer encoder Transformer decoder
1 1
DAE(S):AMR_BOS S 1,…,S n1 DAE(S):AMR_BOS T 1,…,T m1
2 2
DAE(T):TXT_BOS S 1,…,S n2 DAE(T):TXT_BOS T 1,…,T m2
3 3
A2T:AMR_BOS S 1,…,S n3 A2T:TXT_BOS T 1,…,T m3
Fig.3 Illustration of MTL fine-tuning for multi-task pre-training
图 3 MTL 微调方法示意图
4 实 验
本节首先介绍实验所用数据集以及评价标准,然后设计实验对本文的方法进行验证并对实验结果进行分
析讨论.
4.1 实验数据集
预训练数据集
为了训练预训练模型,本文使用 WMT14 英语到德语翻译的 news-commentray-v11 数据集中的英语部分.该
数据集共包括 390 961 个英语句子.使用斯坦福分词工具进行分词后,平均每个句子包含 25 个单词.为了得到这
些句子的自动 AMR 图,本文分别基于 AMR2.0 和 AMR3.0 训练得到两个基于序列到序列的 AMR 分析器.这两
个 AMR 分析器在 AMR2.0 和 AMR3.0 测试集上的性能分别是 73.21 和 74.65 Smatch F1 值.紧接着,合并 AMR
人工标注数据集和自动标注数据集,使用 BPE 工具并设置操作数 2 万以获取子词词表,最后将人工标注数据和
自动标注数据按照此词表进行子词化处理.
AMR 数据集
为了评测 AMR 文本生成的性能,本文使用两个 AMR 数据集,分别是 AMR2.0 和 AMR3.0.这两个数据集的
统计见表 2.值得注意的是,AMR3.0 中的训练集、开发集和测试集均包含了 AMR2.0 的相应部分.本文根据第
2.1 节对 AMR 图进行线性化,同时对文本端使用斯坦福分词工具进行分词.然后,使用预训练数据集的子词词表,
将线性化后的 AMR 图和分词后的文本进行子词化处理.
Table 2 Statistics on AMR2.0 and AMR3.0
表 2 AMR2.0 和 AMR3.0 统计信息
数据集 训练集 开发集 测试集
AMR2.0 36 521 1 368 1 371
AMR3.0 55 635 1 722 1 898
4.2 模型设置
本文使用 Open-NMT 作为 Transformer 模型的实现.模型参数参照文献[24]的 Transformer-base 模型的参数.
在该参数设置中,编码器和解码器的层数均设置为 6,多头注意力机制的头数设置为 8,词向量大小和隐藏状态
大小均设置为 512 维.同时,前向神经网络中间层状态大小设置为 2 048 维.本文模型中使用 Adam 优化器 [40] ,并
设置 1 和 2 值分别为 0.9 和 0.98.学习率和预热步数(warmup step)分别设置为 2.0 和 16 000.以子词为单位的批
处理大小设置为 4 096.所有的模型皆训练 25 万次迭代,并且根据 news-commentray-v11 数据集的开发集选择最
优模型.
在微调模型时,模型参数与如上预训练模型参数设置一致.