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

发布时间 2023-07-16 11:05:13作者: 张Zong在修行

摘要

神经机器翻译(NMT)模型在翻译干净文本时已被证明是强大的,但它们对输入中的噪声非常敏感。改进NMT模型的鲁棒性可以看作是对噪声的“域”适应的一种形式。最近创建的基于噪声文本的机器翻译任务语料库为一些语言对提供了噪声清洁的并行数据,但这些数据在大小和多样性方面非常有限。最先进的方法严重依赖于大量的反向翻译数据。本文有两个主要贡献:首先,我们提出了新的数据增强方法来扩展有限的噪声数据,进一步提高NMT对噪声的鲁棒性,同时保持模型的小。其次,我们探索了以语音转录本的形式利用外部数据噪声的效果,并表明它可以帮助鲁棒性。

1、介绍

在大型、干净的平行语料库上训练的神经机器翻译(NMT)模型在翻译遵循各种架构的干净文本方面取得了令人印象深刻的表现(Bahdanau等人,2015;Gehring et al., 2017;Vaswani et al., 2017)。

尽管取得了这样的成功,NMT模型在处理有噪声的句子时仍然缺乏鲁棒性。Belinkov和Bisk(2017)表明,字符的扰动会导致翻译质量的显著下降。他们指出,对噪声数据的训练,可以被视为对抗性训练,可能有助于提高模型的鲁棒性。Michel和Neubig(2018)提出了噪声文本(MTNT)数据集的机器翻译,该数据集包含从Reddit1抓取的评论和手动翻译的平行句子对。该数据集包含用户生成的具有不同类型噪声的文本,例如两个语言对的拼写错误、语法错误、表情符号、口语等。

在WMT19鲁棒性任务2 (Li et al., 2019)中,提高NMT鲁棒性被视为一个领域自适应问题。MTNT数据集用作域内数据,其中模型使用干净数据进行训练,并适应噪声数据。领域自适应主要通过两种方法进行:对领域内数据进行微调(Dabre和Sumita, 2019;Post and Duh, 2019)以及使用域标签进行混合训练(Berard et al., 2019;郑等人,2019)。共享任务提供的有噪声数据的大小很小,每个方向上只有数千个有噪声的句子对。因此,参与任务的大多数方法使用反向翻译执行噪声数据增强(Berard等人,2019;Helcl等人,2019;Zheng等人,2019),有些方法还直接添加了合成噪声(Berard等人,2019)。NMT模型的鲁棒性可以被看作是去噪源句子(例如处理错字等),同时在翻译中保持类似的非正式语言水平(例如保留表情符号/表情符号)。基于这一假设,我们认为干净文本的反向翻译虽然提供了大量的额外数据,但它是有限的,因为它从翻译中消除了大多数类型的噪音。除了在有噪声的并行数据上调整模型外,还使用了其他技术来提高性能,通常根据BLEU (Papineni et al., 2002)对干净的参考文献进行测量。例如,Berard等人(2019)通过在每个单词之前添加特殊标记来表示单词大小写,从而应用内联套管。在(Murakami et al., 2019)中,占位符被用来帮助翻译带有表情符号的句子。

本文还探索了数据增强的鲁棒性,但专注于反向翻译以外的技术。我们遵循WMT19健壮性任务,并在Fr↔En上作为语言对的有约束和无约束数据设置下进行实验。在约束设置下,我们只使用共享任务提供的数据集,并提出了新的数据增强方法,从这些数据中产生噪声。我们比较了反向翻译(BT) (Sennrich等人,2016a)和前向翻译(FT)对噪声文本的影响,发现前向翻译的伪平行数据有助于提高鲁棒性。我们还将Bulte和Tezcan(2019)的模糊匹配思想应用于MTNT,方法是在平行语料库中找到相似的句子,以增强有限的噪声数据。结果表明,模糊匹配方法可以扩展有噪声的并行数据,提高模型在有噪声文本和干净文本上的性能。所建议的技术实质上优于基线。虽然它们在WMT19共享任务中仍然落后于获胜的提交,但最终的模型是在更小的干净数据上训练的,但增强了噪声数据,从而实现了更快、更有效的训练。在无约束设置下,我们首次提出以两种形式使用语音数据集:(a) IWSLT (Cettolo等人,2012)和MuSTC (Di Gangi等人,2019)人类转录本作为自发的、干净的语音数据来源,以及(b) MuSTC数据集自动生成的转录本作为另一个噪声源。我们表明,使用口语数据集中的非正式语言也有助于提高NMT的鲁棒性。

本文的结构如下:第2节介绍了噪声文本的数据增强方法,包括之前提出的方法和我们的数据增强方法。第3节描述了我们的实验设置,包括我们使用的数据集、增强数据和基线模型。第4节展示了从不同训练中构建的模型的结果,并在干净和有噪声的测试集上进行了评估。

2、噪声数据增强

2.1、以前的工作

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

以前的方法包括反向翻译、注入合成噪声和对抗性攻击。在WMT19鲁棒性任务中,使用单语数据的反向翻译来生成有噪声的平行句(Murakami等人,2019;Zhou et al., 2019;Berard等人,2019;Helcl et al., 2019)。Zheng等人(2019)提出了一种反向翻译的扩展,可以从干净的单语数据中生成噪声翻译。因此,在反转方向后,有噪声的翻译成为源,这将模拟来自MTNT并行数据的有噪声的源句子。Belinkov和Bisk(2017)将合成噪声注入干净数据,形成有噪声的并行数据;Karpukhin et al.(2019)。然而,基于规则的合成噪声注入仅限于某些类型的噪声。Cheng等人(2018,2019)提出了将随机噪声注入干净训练数据的对抗方法

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

2.2、模糊匹配

我们调整了该方法来增强来自Bulte和Tezcan(2019)的并行语料库的数据。原始方法的目的是使用单语语料库寻找与平行语料库$(S, T)$中相似的源句子,然后将原始源句子的翻译重用为发现的相似源句子的翻译。我们将其调整为仅在提供的噪声训练语料库上使用。对于训练集中的每个源句子si∈S,通过测量字符串相似度Sim(si, sj),将所有其他源句子sj∈S(si 6= sj)与该句子进行比较。如果两个句子的相似度高于阈值λ,则将两个句子相互映射到彼此对应的目标句子,并将两个新句子对(si, tj), (sj, ti)添加到我们的增广训练数据中。相似度在标记水平上用Levenshtein距离(Levenshtein, 1966)来衡量。相似度得分计算为编辑距离除以两个句子的最小长度(公式1)。除了在并行语料库中进行模糊匹配外,我们还对单语语料库进行了实验,将单语语料库中的句子mi映射到其模糊匹配的目标句子tj(如果Sim(mi, sj) > λ,我们将新的句子对(mi, tj)添加到训练增强数据中)。

为了提高查找匹配的速度,我们遵循了Bulte和Tezcan(2019)中的方法,并使用Python库SetSimilaritySearch3在计算编辑距离之前选择相似的候选项。对于每个源句子,只选择前10个相似的候选句子来计算编辑距离得分。

2.3、提出翻译

反向翻译(Sennrich et al., 2016a)是一种非常流行的域内数据增强技术。在实验中,我们使用在MTNT并行语料库上微调的模型对MTNT单语数据进行反向翻译。然而,考虑到提高鲁棒性的任务是产生更少噪声的输出,用反向翻译生成的数据可能具有嘈杂的目标翻译(来自单语言数据)和较少噪声的源文本(来自反翻译)。由于这可能会增加输出文本的噪声水平,我们还使用在有噪声的并行语料库上微调的模型进行了前向翻译实验。前向翻译生成的伪并行数据用于同一语言方向上的模型微调。为了避免过拟合,我们合并了两个语言方向的有噪声的并行数据来产生有噪声的前向翻译。将前向平移和后向平移产生的伪并行数据与有噪声的并行数据相结合,并在基线模型上进行微调

2.4、自动语音识别

3、实验

3.1、Corpora

我们使用了来自WMT19对Fr↔En的健壮性任务的所有并行语料库。对于域外训练,我们使用WMT15 Fr↔En新闻翻译任务数据,包括Europarl v7、Common Crawl、UN、News Commentary v10和Gigaword语料库。在下面的部分中,我们将这些语料库的组合表示为“干净数据”。MTNT数据集用作我们的域内数据进行微调。我们还尝试使用外部语料库,即IWSLT20175和MuST-C6语料库7,以探索非正式口语在人类语音转录本中的作用。我们还利用了MTNT数据集中的单语言数据。并行和单语言数据的大小如表1所示。

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

为了进行预处理,我们首先使用Moses标记器(Koehn等人,2007)对数据进行标记,然后应用字节对编码(BPE) (Sennrich等人,2016b)将单词分割成子词。我们尝试了一个大的词汇表,包括嘈杂的和干净的标记,并为BPE应用了50k个合并操作。经过评估,我们用Moses去代币器去代币化了我们的假设文件。我们使用了multi-bleu-detok.perl来评估测试集上的BLEU分数。

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

3.2、增强数据

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

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

ASR 我们通过不同的长度比阈值(1.5和1.2)过滤ASR平行数据。我们利用asr_evaluation8文库评估ASR转录本的单词错误率(WER)和单词识别率(WRR),以此来衡量ASR转录本的噪声水平,并将其与黄金人类转录本S进行比较。

​ 表2:不同长度比阈值滤波后ASR生成数据的噪声水平。

3.3、模型

我们的基线模型仅使用干净的数据进行训练,是具有默认超参数的标准Transformer模型(V aswani et al., 2017)。批处理大小为4096个token(子字)。我们的模型使用OpenNMTpy (Klein等人,2017)在单个GTX 1080 Ti上进行了5次epoch的训练。我们实验了对噪声数据进行微调,并使用“域”标签进行混合训练(Caswell等人,2019;Kobus等人,2016)指出句子的来源。我们对干净数据、MTNT并行数据、前向翻译、后向翻译、ASR数据和模糊匹配数据使用了不同的标签。在每个源句子的开头添加标签。

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

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

4、结论

我们评估了在不同数据集上微调的模型在有噪声和干净测试集上的BLEU。我们注意到,尽管MTNT和MTNT2019测试集都是有噪声的,但MTNT2019的噪声较小,并且包含较少的诸如表情符号之类的噪声。同样,由于newsdiscussion测试集包含非正式语言,因此它比newsest测试集稍微嘈杂一些。两个方向的评价结果如表3和表4所示。

4.1、微调噪音文本

可以看出,在两个方向上,对噪声数据进行微调可以使噪声测试集具有更好的性能。虽然MTNT中训练数据的大小只有19k和36k个句子,但通过对其进行简单的微调,TuneS模型的BLEU分数在MTNT测试集上分别提高了+5.65和+6.03,在MTNT2019测试集上分别提高了+5.44和+2.68(见表中第二行)。值得注意的是,尽管对噪声数据进行了微调,但在干净测试集上的性能也有所提高。这表明有噪声的并行数据可以提高模型在有噪声和干净文本上的鲁棒性。

表3:在Fr→En方向不同数据上微调模型的BLEU分数。Tune-B模型使用合并Fr→En和En→Fr方向的MTNT数据进行微调,而Tune-S仅使用Fr→En数据进行微调。BT和FT分别代表反向和正向翻译。FM表示模糊匹配数据通过双重调整,我们的意思是我们在MTNT训练数据上对模型进行第二次微调

表4:En→Fr方向上不同数据上微调模型的BLEU分数。ASR数据中的λ表示滤波阈值,如2.4节所述。混合训练模型将所有可用的数据组合在一起,并在每个句子前面添加域标记。其他表示法与表3中相同。

4.2、数据增强

由于这在该领域很常见,我们进行了反向翻译实验(表3中的第三行)。我们使用目标到源Tune-S模型对MTNT语料库中的单语数据进行了反向翻译。将反向翻译数据与有噪声的并行数据相结合,用于对基线模型进行微调。对于Fr→En,通过引入反向翻译的数据,与在并行数据上简单调优相比,模型性能下降了超过2个BLEU分数。这表明反向翻译数据可能会打破源文本和目标文本之间的噪声水平差距,因此在反向翻译数据上微调的模型倾向于输出噪声更大的翻译,并且性能更差。

由于MTNT数据集的大小太小,我们尝试在两个语言方向上合并数据,结果得到55k个句子对用于微调。对于这两个方向,在合并的MTNT数据(Tune-B)上调优的模型比在单个方向数据(Tune-S)上调优的模型表现出更差的性能。这是由于引入反方向数据会增加目标文本中的噪声。我们分别添加了前向翻译和模糊匹配数据,并对合并的MTNT数据进行了微调。结果表明,与Tune-B模型相比,引入前向平移或模糊匹配数据都能提高模型在噪声测试集上的性能。然而,如果只添加前向翻译或模糊匹配数据,该模型的性能仍然落后于Tune-S。因此,我们混合FT, FM和合并的MTNT数据。在我们使用混合数据进行微调后,两个方向的模型在增强数据下都得到了更好的分数。具有前向翻译和模糊匹配数据的Fr→En模型在MTNT2019测试集上的性能为42.80 BLEU分,比Tune-S模型提高了+1.32 BLEU分。前向翻译数据是使用Tune-B模型生成的,该模型包含相反方向的信息,这可能有利于前向翻译并防止模型过拟合。与反向翻译相比,正向翻译可以保持源句和目标句之间的噪声级差。

4.3、双微调

考虑到与MTNT数据集方向相反的数据会影响模型的性能,我们采用双微调进行补偿。我们使用前向翻译数据、模糊匹配数据和合并的MTNT数据组合上已经调优的模型,并在相应的方向上与MTNT数据进行微调(例如Fr→En模型的Fr→En数据)。在这种情况下,同一语言方向上的MTNT数据将对模型进行两次微调,从而使模型适应特定的语言方向域第二次微调能够进一步提高模型对噪声数据的鲁棒性,并在干净数据上保持类似的性能。在En→Fr方向上,第二次微调在MTNT和MTNT2019上分别提高了+0.57和+0.85 BLEU点。

4.4、标点符号修改

MTNT2019测试集使用一组不同的法语文本标点符号作为MTNT数据集和干净的训练数据。在MTNT2019测试集中,法语引用使用省略号(')和角引号(«和»),而不是MTNT训练数据中使用的单引号(')和双引号(")(Berard et al., 2019)。因此,用MTNT训练数据微调的模型在MTNT2019测试集上进行评估时,对标点符号的性能表现不一致。作为后处理步骤,我们固定了En→Fr方向的标点符号。这种单一的替换提高了+4.36 BLEU分数比双微调模型。为了比较,我们还对Tune-S模型的输出进行了后处理。标点符号的修正使BLEU分数增加了+3.24

4.5、外部数据

为了探索其他类型噪声的影响,我们在不同的外部数据集上对基线模型进行了微调(参见表3和表4中的“无约束”行)。我们在IWSLT数据集中对人类转录和翻译进行了实验。MTNT2019的BLEU评分(Fr→En)比基线增加了+2.14,而其他三个测试集的结果则下降。在En→Fr方向上,对IWSLT进行微调可以提高模型在所有四个测试集上的性能,并且随着MTNT数据的添加,BLEU分数在噪声数据上的表现甚至比Tune-B模型更好。语音记录的好处可能来自非正式语言,如俚语、口语和领域相关的单词。除此之外,我们还保留了抄本中的指示词(例如“[laughter]”和“[applause]”),这些指示词也可以起到噪音的作用。

当使用从MuST-C数据集中的音频文件生成的ASR数据时,我们首先通过删除原始文本长度超过ASR文本长度1.5倍的句子来过滤ASR数据。对ASR数据进行微调的模型显示BLEU分数略有下降。我们发现ASR转录本经常跳过句子中的一些短语。因此,我们将长度比阈值降低到1.2,从而使模型达到与基线模型相似的性能。在最新的评估中,asr调整模型比基线提高了+1.08 BLEU评分。最后,我们在MuST-C语料库中对人类抄本和翻译的平行文本进行了测试,与IWSLT相似,所有测试数据的性能都有所提高。这表明,即使不使用域内噪声数据,引入具有不同类型噪声的外部数据也可以提高模型的鲁棒性。

最后,我们通过对不同数据添加标签进行了领域敏感训练实验。我们混合了所有可用的数据,包括MTNT数据(两个方向),IWSLT,必须c, ASR,前向翻译和模糊匹配数据。标签被添加到源句子的开头。如表4最后一行所示,混合训练可以提高噪声文本在基线上的性能。然而,该模型的性能并不优于经过微调的模型。这可能是由于引入了ASR生成的数据,这些数据可能包含更多低质量的训练样本。

4.6、WMT19稳健性排行榜

我们向WMT19鲁棒性排行榜提交了我们最好的约束系统,如表5和表6所示。在Fr→En方向上,我们提交了对合并的MTNT数据、前向翻译和模糊匹配数据进行微调的模型(表3中的第5行)。在En→Fr方向上,我们提交了固定标点符号的双调模型(表4中的第6行)。

​ 表5:WMT19稳健性排行榜(Fr→En)

​ 表6:WMT19稳健性排行榜(En→Fr)

我们的系统可以在Fr→En和En→Fr方向上获得第四名和第三名。领先的系统在大量干净的单语数据上使用反向翻译,因此可以从干净数据的大小中受益。虽然该系统没有利用干净的单语数据,但找到了一种扩展有噪声的并行数据的替代方法,这对训练可能更有效。结果表明,我们的系统可以达到一定的竞争地位。

5、结论

本文采用数据增强策略来提高神经机器翻译模型的鲁棒性。我们在WMT19对Fr↔En语言方向的稳健性任务设置下进行了实验。我们建议使用前向翻译和模糊匹配作为后向翻译的替代方法来增强噪声数据。我们的最佳模型与增强噪声数据相比,Fr→En和En→Fr的BLEU分数分别提高了+1.32和+0.97。我们还探讨了语音转录形式的外部噪声数据的影响,并表明模型可以从通过人工语音转录注入噪声的数据中受益。ASR生成的数据无助于提高鲁棒性,因为它包含低质量的训练样本,这些样本会破坏句子,而人类语音转录本被证明有助于翻译嘈杂的文本,即使没有领域内数据。未来的工作可能包括训练一个与领域相关的语音识别模型,生成更好的ASR并行数据,而不是使用现成的系统。