资讯 人工智能学术
此为临时链接,仅用于文章预览,将在时失效

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

作者:我在思考中
2021/11/25 17:54

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

随着网络上各种信息的指数级增长,以及跨语言获取信息的需求不断增加,机器翻译逐渐成为网上冲浪?‍♀️时必不可少的工具。网页翻译让我们在 Reddit 等外国论坛里和网友谈笑风生;火山同传等智能字幕翻译系统让我们无需等待字幕组,直接观看“生肉”剧集;聊天翻译让我们建立跨国贸易,结交外国友人。

然而,上面提到的场景往往有一个共同点,那就是被翻译的文本往往是不规范的。无论是聊天时手误导致的错别字,还是视频语音原文识别的错误,都会极大地影响译文质量。因此,实际应用场景下的机器翻译对翻译模型的鲁棒性有很高的要求。

今天就为大家介绍一篇由字节跳动人工智能实验室火山翻译团队发表在 EMNLP 2021 Findings 的短文 - Secoco: Self-Correcting Encoding for Neural Machine Translation。这篇论文让翻译模型在学习翻译任务的同时,学习如何对输入的带噪文本进行纠错,从而改善翻译质量。

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译
论文地址:https://arxiv.org/abs/2108.12137
代码地址:https://github.com/rgwt123/Secoco



1

研究背景和动机

神经机器翻译在近些年取得了很大进展,但是大部分工作都是基于干净的数据集。在现实生活中,神经机器翻译系统面对的输入往往都是包含噪声的,这对翻译模型的鲁棒性提出了很大挑战。

之前的翻译鲁棒性工作主要分为三类:

可以看到,大部分的工作都专注于如何生成噪声,很少探究如何进一步使用它们;本文则想要通过建模从噪声数据到干净数据的修正过程,从而增强模型的鲁棒性。

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译
图1 一个简单的修正过程
如图 1 所示,如果想要把一个带噪序列 "abbd" 修正为 "abcd" ,那么可以先删除第三个位置的 "b",再在第三个位置插入 "c"。也就是说,可以将对带噪文本的修正转化为插入和删除的序列,并在编码器端显式地建模这一过程。



2

自修正模型Secoco

作者针对神经机器翻译提出了具有鲁棒性的自修正框架Secoco (Self-correcting Encoding)。

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

图2 整体模型架构

正如图2左侧所示,Secoco 和普通的翻译模型不同之处在于 Secoco 有两个修正操作的预测模块,这些预测模块基于输入序列的表示生成相应的操作序列。删除预测器 (Deletion Predictor) 根据当前词的表示预测是否要删除,而插入预测器 (Insertion Predictor) 则根据两个连续的词的表示预测中间是否要插入新的词。

虽然这种迭代编辑的过程每一步都需要前面的操作,但是为了简化训练过程,插入预测器和删除预测器都是相互独立的,并与普通的翻译任务同时进行训练。

一个关键的问题是如何生成这些训练数据?关键点在于获取从带噪数据转化为干净数据的编辑操作。作者提供了两种方式。一种是针对有带噪数据和对应干净 reference 数据的情况,一种是没有带噪数据的情况。

对于有reference的数据,可以使用类似计算最短编辑距离的方法,获取从带噪数据转化为干净数据的最短编辑过程,然后将替换操作转化为删除-插入操作。

对于没有reference的数据,可以使用基于规则的方法生成伪数据。针对不同的场景,可以设计对应的规则,然后从干净的数据中生成带噪数据,最后反向这个过程就可以得到编辑过程。

训练完成后,便可以进行解码。正如图2右侧展示的,Secoco 有两种解码方式。第一种是仅使用编码器-解码器结构直接进行翻译 (Secoco-E2E),另一种则是对输入进行迭代编辑后再进行翻译 (Secoco-Edit)。



3

性能一览

作者在三个测试集进行了实验,包括一个基于电视剧的中英对话测试集,一个内部的中英语音翻译测试集,以及加入人工噪声的英德WMT14测试集。

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

表1  测试集统计

如表1所示,对话测试集包含主语省略,标点省略,错别字等问题;语音测试集包含口语词,错别字等 ASR 引起的问题;WMT14 则包含由规则构造的随机插入,随机删除,重复等问题。

实验结果如表2所示。除了 Secoco 之外,作者还和3种方法进行了对比,分别是将合成的噪声数据加入原始数据中一起训练 (BASE+synthetic);使用修复模型加上翻译模型的 pipeline 级联结构 (REPAIR);以及多编码器-单解码器的结构 [1] (RECONSTRUCTION)。可以看出,所有的方法相较于基线模型都有所提升。Secoco 在三个测试集上都获得了最好的效果。

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

表2 实验结果

此外,在这三个测试集中,对话测试集明显包含更多的噪声,Secoco 最多可以带来3个 BLEU 的提升。语音测试集由于是由 ASR 导出的,因此最好的结果也仅有12.4。

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

表3 迭代编辑样例

表格3中给出了一些迭代编辑的具体例子。针对每一句输入,模型对其进行迭代删除和插入操作,直到文本不再发生变化。从例子中可以看到,一次编辑操作可以同时删除或者插入多个词。此外,对于上述的测试集,平均每个句子需要2-3次编辑操作。



4

总结

针对互联网中非规范输入带来的鲁棒性问题,本文主要介绍了一个具有自我修正能力的神经机器翻译框架 Secoco,该框架通过两个独立的编辑操作预测器建模修正带噪输入的过程。实验表明,Secoco 在多个测试集上都优于基线模型,增强了翻译模型的鲁棒性,并提供了一定的可解释性。

[1] Shuyan Zhou, Xiangkai Zeng, Yingqi Zhou, Antonios Anastasopoulos, and Graham Neubig. 2019. Improving robustness of neural machine translation with multi-task learning. In Proceedings of the Fourth Conference on Machine Translation (Volume 2: Shared Task Papers, Day 1), pages 565–571.

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

雷峰网(公众号:雷峰网)


长按图片保存图片,分享给好友或朋友圈

EMNLP2021 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译

扫码查看文章

正在生成分享图...

取消
相关文章