机器翻译 | Improving Neural Machine Translation Robustness via Data Augmentation: Beyond Back Translation论文总结

发布时间 2023-07-26 10:04:37作者: 张Zong在修行

论文地址:https://arxiv.org/abs/1910.03009

动机

神经机器翻译(NMT)模型在翻译干净文本时已被证明是强大的,但它们对输入中的噪声非常敏感。改进NMT模型的鲁棒性可以看作是对噪声的“域”适应的一种形式。

最先进的方法严重依赖于大量的反向翻译数据。

最近创建的基于噪声文本的机器翻译任务语料库为一些语言对提供了噪声清洁的并行数据,但这些数据在大小和多样性方面非常有限。

贡献

首先,我们提出了新的数据增强方法来扩展有限的噪声数据,进一步提高NMT对噪声的鲁棒性,同时保持模型的小。

其次,我们探索了以语音转录本的形式利用外部数据噪声的效果,并表明它可以帮助鲁棒性。

方法

1、以前的工作

噪声并行数据的规模有限,通常采用数据增强方法来生成更多的噪声训练材料。

  • 反向翻译:使用单语数据的反向翻译来生成有噪声的平行句。

  • 注入合成噪声:合成噪声注入干净数据,形成有噪声的并行数据。

  • 对抗性攻击:将随机噪声注入干净训练数据的对抗方法。

我们探索以下新方法作为增加噪声并行数据的替代方法。

2、模糊匹配

原始方法的目的是使用单语语料库寻找与平行语料库$(S, T)$中相似的源句子,然后将原始源句子的翻译重用为发现的相似源句子的翻译。

我们将其调整为仅在提供的噪声训练语料库上使用。对于训练集中的每个源句子si∈S,通过测量字符串相似度Sim(si, sj),将所有其他源句子sj∈S(si 6= sj)与该句子进行比较。

如果两个句子的相似度高于阈值$λ$,则将两个句子相互映射到彼此对应的目标句子,并将两个新句子对$(si, tj)$, $(sj, ti)$添加到我们的增广训练数据中。

相似度在标记水平上用Levenshtein距离来衡量。相似度得分计算为编辑距离除以两个句子的最小长度:
$$
Sim(S_i,S_j)=\frac{editdistance(s_i,s_j)}{min(len(s_i),len(s_j))}
$$
为了提高查找匹配的速度,遵循了Bulte和Tezcan(2019)中的方法,并使用Python库SetSimilaritySearch3在计算编辑距离之前选择相似的候选项。对于每个源句子,只选择前10个相似的候选句子来计算编辑距离得分。

3、前向翻译

提高鲁棒性的任务是产生更少噪声的输出,用反向翻译生成的数据可能具有嘈杂的目标翻译(来自单语言数据)和较少噪声的源文本(来自反向翻译)。

前向翻译生成的伪并行数据用于同一语言方向上的模型微调。

为了避免过拟合,合并了两个语言方向的有噪声的并行数据来产生有噪声的前向翻译。

将前向翻译和后向翻译产生的伪并行数据与有噪声的并行数据相结合,并在基线模型上进行微调。

实验

1、数据集

干净数据

WMT19对Fr↔En的所有并行语料库。

对于域外训练,使用WMT15 Fr↔En新闻翻译任务数据,包括Europarl v7、Common Crawl、UN、News Commentary v10和Gigaword语料库。

MTNT数据集用作我们的域内数据进行微调,利用了MTNT数据集中的单语言数据。

使用MTNT中的开发集和newsdiscussdev2015进行验证。在有噪声(MTNT和MTNT2019)和干净(newstest2014和newsdiscusstest2015)测试集上对验证集上性能最佳的模型进行评估。

首先使用Moses标记器对数据进行标记,然后应用字节对编码(BPE) 将单词分割成子词。

尝试了一个大的词汇表,包括嘈杂的和干净的标记,并为BPE应用了50k个合并操作。

使用了multi-bleu-detok.perl来评估测试集上的BLEU分数。

表1:并行和单语数据的大小。除非在括号中指定,源语言表示英语。最后两行是MTNT数据集中有噪声的单语言数据集。

2、增强数据

模糊匹配 只在MTNT并行和单语言数据中寻找有噪声的匹配。对两个方向上的并行数据进行合并,得到更多的组合。当相似度阈值设置为50%时,我们在En→Fr语言方向上有7290个新句子对,在Fr→En语言方向上有7154个新句子对。

前向翻译 使用有噪声的单语数据来产生前向翻译。并行样本的数量与表1中的单语数据相同。除了标记化和BPE外,我们没有对前向翻译进行任何其他预处理。

3、模型

基线模型:仅使用干净的数据进行训练,是具有默认超参数的标准Transformer模型。批处理大小为4096个token。模型使用OpenNMTpy 在单个GTX 1080 Ti上进行了5次epoch的训练

实验对噪声数据进行微调,并使用“域”标签进行混合训练指出句子的来源。我们对干净数据、MTNT并行数据、前向翻译、反向翻译、ASR数据和模糊匹配数据使用了不同的标签。在每个源句子的开头添加标签。

在对域内数据进行微调的过程中,我们继续学习速率和模型参数。当噪声验证集的复杂度在3次迭代后仍未得到改善时,停止微调。在测试集中评估最佳微调检查点。

MTNT数据集以特定语言对提供有噪声的并行数据。我们使用具有两种微调策略的模型:Tune-S和Tune-B。Tune-S模型只对同一方向的有噪声并行数据进行微调,而Tune-B模型对两种语言方向(Fr→En和En→Fr)的组合进行微调

双微调

考虑到与MTNT数据集方向相反的数据会影响模型的性能,我们采用双微调进行补偿。

使用前向翻译数据、模糊匹配数据和合并的MTNT数据组合上已经调优的模型,并在相应的方向上与MTNT数据进行微调(例如Fr→En模型的Fr→En数据)。

在这种情况下,同一语言方向上的MTNT数据将对模型进行两次微调,从而使模型适应特定的语言方向域第二次微调能够进一步提高模型对噪声数据的鲁棒性,并在干净数据上保持类似的性能

标点符号修改

MTNT2019测试集使用一组不同的法语文本标点符号作为MTNT数据集和干净的训练数据。在MTNT2019测试集中,法语引用使用省略号(')和角引号(«和»),而不是MTNT训练数据中使用的单引号(')和双引号(")。

作为后处理步骤,我们固定了En→Fr方向的标点符号。这种单一的替换提高了+4.36 BLEU分数比双微调模型。为了比较,我们还对Tune-S模型的输出进行了后处理。标点符号的修正使BLEU分数增加了+3.24

WMT19稳健性排行榜

在Fr→En方向上,提交了对合并的MTNT数据、前向翻译和模糊匹配数据进行微调的模型(表3中的第5行)。在En→Fr方向上,提交了固定标点符号的双调模型(表4中的第6行)。

领先的系统在大量干净的单语数据上使用反向翻译,因此可以从干净数据的大小中受益。虽然该系统没有利用干净的单语数据,但找到了一种扩展有噪声的并行数据的替代方法,这对训练可能更有效。

结论

采用数据增强策略来提高神经机器翻译模型的鲁棒性。

建议使用前向翻译和模糊匹配作为后向翻译的替代方法来增强噪声数据

还探讨了语音转录形式的外部噪声数据的影响,并表明模型可以从通过人工语音转录注入噪声的数据中受益。

ASR生成的数据无助于提高鲁棒性,因为它包含低质量的训练样本,这些样本会破坏句子,而人类语音转录本被证明有助于翻译嘈杂的文本,即使没有领域内数据。