ACL 2022 | 一口气翻两千词,字节AI Lab提出篇章到篇章的机器翻译新思路

本文涉及的产品
语种识别,语种识别 100万字符
文本翻译,文本翻译 100万字符
文档翻译,文档翻译 1千页
简介: ACL 2022 | 一口气翻两千词,字节AI Lab提出篇章到篇章的机器翻译新思路

大家都听过大名鼎鼎的图灵测试。近年来取得巨大进步的机器翻译在众多场景下都取得了媲美人类的成绩[1],许多人惊呼,机器翻译能成功「骗」过人类了。但如果深入研究,就能发现机器翻译在一些特殊的场景下,仍然有些肉眼可见的瑕疵。篇章级翻译就是一个典型的场景。

人类在翻译的过程中会保持上下文一致,比如翻译英文名「Monroe」,不会一会儿翻译成「梦露」,一会儿翻译成「门罗」,但许多商用机器翻译仍然会犯这种「低级错误」。


如何在篇章翻译的过程中保持上下文的一致性,让机器表现得更像人类,是机器翻译的一个重要课题。今天就为大家介绍一篇由字节跳动 AI-Lab 火山翻译团队、南京大学与加州圣塔芭芭拉分校共同发表在 ACL 2022 的长文 —— Rethinking Document-level Neural Machine Translation。

这篇论文重新审视了篇章机器翻译领域的过往工作,针对当下流行的研究趋势进行了反思,并提出回归到经典简洁的 Transformer 模型解决篇章翻译问题,通过多分解度的训练方案取得了 SOTA 的效果。最后,这篇文章也贡献了一份新的数据集,旨在推动整个领域的发展。


论文地址:https://arxiv.org/abs/2010.08961代码地址:https://github.com/sunzewei2715/Doc2Doc_NMT

研究背景

在机器翻译的任务中,段落、文档等连续片段的翻译是非常重要的场景,诸如新闻翻译、小说翻译、电影字幕翻译等等。我们将其统称为篇章级别的机器翻译(Document-level Machine Translation)。其最重要的特征是翻译的结果需要考虑到上下文的信息,保持行文的一致性与前后呼应。

而当前的机器翻译模型主要以句子作为翻译的基本单位,逐句逐句地进行翻译。这类方法的问题显而易见:无法有效捕捉到上下文的信息,在翻译的过程中容易出现与上下文不一致、引用错误等问题,如下面这个例子:


可见,将神经机器翻译针对篇章级别的翻译 (Document-level Neural Machine Translation, 下称 DNMT) 进行针对性的改进是一项重要任务。

对过去工作的重新审视

以往有许多工作对 DNMT 做出了改进,但也遭受了部分质疑[2,3,4]。研究者也发现,以往工作取得的提升在某种程度上仅仅归功于在小数据集上的过拟合。

篇章翻译最常用的数据集是 News Commentary 与 TED Talks。这两份数据集仅包含大概 20 万句对,不到 1 万篇文档,而且测试集与训练集分布高度类似,有很高的过拟合的嫌疑。甚至有些工作 [5,6,7] 对句级别模型设定 dropout=0.1,篇章级别模型设定 dropout=0.2,并在此基础上宣称取得了提升。而其中可能潜在的正则化与过拟合的问题未被真正探讨过。

为了验证猜想,研究者仅调整超参数(dropout),在句级别模型上做了若干组实验,如表 1 所示:

表 1:句级别模型不同超参的实验结果

令人震惊的是,研究者发现,简单地增大 dropout 就能几乎填平所有以往工作带来的提升。如在 TED 数据集上,仅是 dropout=0.2 就能让以往工作的提升失去显著性,dropout=0.3 更是超过了所有以往的工作。

这个初步的实验证实,以往的工作缺乏跟坚实 baseline 的对比,单纯增加模型参数(如额外的 encoder)带来的提升很有可能来自小数据集上的过拟合。其他工作也提出了类似的质疑[2,3,4]。

因此,研究者认为,当前以增加额外模型参数或单元的 DNMT 研究趋势需要被重新审视。与之对应的,他们重新回到最原始而简洁的 Transformer 框架,用端到端的训练方式研究篇章翻译。

篇章到篇章的端到端翻译

本节将介绍一种新的篇章级别神经机器翻译的方法:「篇章到篇章」(Doc2Doc)的翻译。

首先,我们需要定义这个任务:令表示一个包含M句话的源端篇章,篇章翻译的目标是将从语言翻译到语言其中表示第句话的长度。

过往的「篇章到句子」的翻译方法依旧是逐句的翻译:


源端的上下文信息,一般包含两到三句历史的句子,也是大多数工作的重点。是目标端的上下文信息,有部分工作进行了有限的利用,诸如 100 个单词等。

区别于「篇章到句子」的翻译,字节 AI Lab 的研究者提出了一项新的训练方式——「篇章到篇章」的翻译。将整篇文档作为一个完整的序列送入模型中:


其中是源端的完整序列信息,是目标端的历史信息。

「篇章到句子」翻译的缺陷

第一,「篇章到句子」的翻译并未利用完整的源端信息。严格来说,所谓「篇章到句子」的翻译仅仅是「几句话到句子」。因为大部分工作仅仅利用了前两三句的句子。然而,更多的上下文信息应该能提升翻译质量。

第二,「篇章到句子」的翻译并未利用完整的目标端信息。大部分以往的工作基本没有利用到目标端的历史信息。然而,如果跨句子级别的语言模型没有被利用起来,就会产生诸如时态错位等不一致问题。

第三,「篇章到句子」的翻译限制了训练的场景。过往的工作聚焦于改进模型结构来引入连续的上下文信息。因此,模型的入口只能供连续的句子进入,导致大量碎片化的句子级别的平行语料无法被利用。

第四,「篇章到句子」的翻译不可避免地引入了额外的参数,并使得模型结构变得复杂和难以推广。

与上述对应的,「篇章到篇章」的翻译利用了完整的源端与目标端信息,可以使用任意的平行语料,且不引入任何的额外参数,具有较明显的优势。

多分解度篇章到篇章的翻译

虽然篇章到篇章的翻译具有多项优点,这项方式并未得到广泛的使用。有工作甚至报告了负面的实验结果[8,9]。在本文中,研究者将直接的篇章到篇章翻译记为单分解度篇章到篇章翻译(Single-Resolutional Doc2Doc, SR Doc2Doc)。

他们发现,只要借用多分解度篇章到篇章(Multi-resolutional Doc2Doc, MR Doc2Doc)的训练方式,即把篇章同较短的段落、句子一起混合训练,篇章到篇章的翻译能被很好地激活。具体地,他们将篇章多次平均分成k份,举例来说,一篇含有 8 个句子的篇章,我们将其分解为 2 份 4 句的序列、4 份 2 句的序列、8 份 1 句的序列,并将这 15 个序列统一送入模型进行训练。

用这种训练方式,模型能翻译超过 2000 词的长序列(即篇章),而且依旧能对几十个词的短序列(即句子)进行翻译。

实验结果
研究者采用与以往工作相同的设置(具体配置可参见原始论文),利用 Transformer Base 模型进行实验,使用数据如表 2 所示:

表 2:本工作所使用的数据集

实验结果如表 3 所示:

表 3:实验结果

多分解度篇章到篇章翻译提升了性能

从表 3 的上半部分可以看到,单分解度篇章到篇章 (SR Doc2Doc) 的训练的确降低了翻译质量。但利用多分解度篇章到篇章 (MR Doc2Doc) 的训练,可以得到最好的结果。值得注意的是,这一提升无需增加任何额外的参数。

额外的句子级别语料能帮助翻译

更进一步,研究者引入了额外的句子级别的平行语料,如表 3 的下半部分所示,一方面,单分解度篇章到篇章的训练被激活并达到了与句子到句子训练相接近的水平。另一方面,多分解度篇章到篇章的训练取得了最好的结果并拉大了与基线的差距。

如上文所分析,句子级别的语料难以被以往的篇章到句子的模型所利用。然而篇章到篇章的训练能非常自然地使用。考虑到句子级别的语料数量远大于篇章级别的语料,多分解度篇章到篇章的训练具有很大的潜力。

更进一步的分析
上下文一致性的提升


除 BLEU 外,研究者也证实了多分解度篇章到篇章的训练也能提升篇章翻译在具体语言学指标中的上下文一致性,如表 4 所示。

表 4:篇章到篇章翻译在翻译一致性上的提升

上下文敏感性

为了测试模型是否有效利用上下文而非忽略上下文,他们还设置了错误的上下文的实验组,发现翻译质量的确下降,如表 5 所示。这项实验证实了上下文信息的重要性。

表 5:错误的上下文带来翻译质量的下降,说明了上下文的重要性

长短序列的兼容性

如图 1 所示,句子到句子的模型擅长短序列的翻译却无法处理长序列的翻译,单分解度篇章到篇章的模型擅长长序列的翻译却做不好短序列的翻译。而多分解度篇章到篇章的翻译能很好地处理任意长度的序列。通过这种训练方式,我们得以用一个模型处理任意长的序列。

图 1:不同模型在不同长度序列上的表现
新数据集与评测指标

为了更进一步地证实自己的结论,并推动该领域的发展,研究者还贡献了一份新的篇章级别数据集和三项专门设计的篇章翻译评测指标。
平行的篇章级别语料


他们从互联网上爬取了接近 6 万篇,139 万句的中文 - 英文平行语料,并将之命名为 PDC (Parallel Document Corpus)。

评测指标

他们制定了三项评测指标:时态一致(Tense Consistency, TC)、连词译出(Conjunction Presence, CP)、代词翻译(Pronoun Translation, PT),具体可参见原始论文。

测试集

他们额外从不同于平行语料的出处爬取、利用上述的三项指标筛选了 148 篇文档,并进行了人工翻译。

基准

实验结果如下(++ 表示额外的平行句子级别语料):

表 6:篇章级翻译在我们新的大规模数据集上提升显著

多分解度篇章到篇章的翻译不仅在 BLEU 上有所提升,在三项细粒度指标上也有明显的提升,也与人工评估有很强的相关性。

例子分析


即便我们更换不同国家的总理,也得到类似的结果:


结论

在这项工作中,研究者试图回答这样一个问题:用经典而简洁的 Transformer 模型来端到端地处理篇章级机器翻译是否可行?结果表明,虽然单纯的篇章到篇章翻译会失败,但多分解度的端到端训练能将其激活,并且不引入额外的参数。一系列包含多项评测指标的实验充分论证了多分解度篇章到篇章翻译的优势,为这个问题给出了肯定的回答。此外,他们也为这个领域贡献了一份值得参考的数据集。

参考文献[1] Hassan, Hany, Anthony Aue, Chang Chen, Vishal Chowdhary, Jonathan Clark, Christian Federmann, Xuedong Huang et al. "Achieving human parity on automatic chinese to english news translation." arXiv preprint arXiv:1803.05567 (2018).[2] Kim, Yunsu, Duc Thanh Tran, and Hermann Ney. "When and Why is Document-level Context Useful in Neural Machine Translation?." In DiscoMT. 2019.[3] Jwalapuram, Prathyusha, Barbara Rychalska, Shafiq Joty, and Dominika Basaj. "Can Your Context-Aware MT System Pass the DiP Benchmark Tests?: Evaluation Benchmarks for Discourse Phenomena in Machine Translation." arXiv preprint arXiv:2004.14607 (2020).[4] Li, Bei, Hui Liu, Ziyang Wang, Yufan Jiang, Tong Xiao, Jingbo Zhu, Tongran Liu, and Changliang Li. "Does Multi-Encoder Help? A Case Study on Context-Aware Neural Machine Translation." In ACL. 2020.[5] Maruf, Sameen, André FT Martins, and Gholamreza Haffari. "Selective Attention for Context-aware Neural Machine Translation." In NAACL. 2019.[6] Yang, Zhengxin, Jinchao Zhang, Fandong Meng, Shuhao Gu, Yang Feng, and Jie Zhou. "Enhancing Context Modeling with a Query-Guided Capsule Network for Document-level Translation." In EMNLP-IJCNLP. 2019.[7] Zheng, Zaixiang, Xiang Yue, Shujian Huang, Jiajun Chen, and Alexandra Birch. "Towards making the most of context in neural machine translation." In IJCAI. 2021.[8] Zhang, Jiacheng, Huanbo Luan, Maosong Sun, Feifei Zhai, Jingfang Xu, Min Zhang, and Yang Liu. Improving the Transformer Translation Model with Document-Level Context. In EMNLP. 2018.[9] Liu, Yinhan, Jiatao Gu, Naman Goyal, Xian Li, Sergey Edunov, Marjan Ghazvininejad, Mike Lewis, and Luke Zettlemoyer. "Multilingual Denoising Pre-training for Neural Machine Translation." In TACL. 2020.

相关文章
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
探索自动化测试的新篇章:AI与机器学习的融合
【7月更文挑战第31天】随着技术的进步,自动化测试领域正迎来一场革命。AI和机器学习的结合不仅为测试流程带来了效率上的飞跃,还极大地提升了测试的准确性和智能性。本文将深入探讨AI和机器学习如何重新定义软件测试的未来,包括它们在提高测试用例生成的智能化、优化测试执行过程、以及增强缺陷预测和分类能力方面的应用。通过分析当前的挑战与机遇,文章旨在为读者揭示这一趋势背后的潜力及其对传统测试实践的影响。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的新篇章:利用AI提升软件质量
【8月更文挑战第27天】在软件开发的海洋中,自动化测试是确保航船不偏离航线的关键罗盘。随着人工智能(AI)技术的兴起,这艘航船正乘风破浪,以前所未有的速度前进。本文将探索如何通过AI技术优化自动化测试流程,不仅提高测试的效率和覆盖范围,而且增强测试用例的智能生成和结果分析能力。我们将从AI在自动化测试中的应用入手,深入探讨其对测试准确性和效率的影响,以及面临的挑战与未来的发展方向。
|
14天前
|
数据采集 人工智能 编解码
书生·万象InternVL 2.5:上海 AI Lab 开源的多模态大语言模型,超越了目前许多商业模型
书生·万象InternVL 2.5是由上海AI实验室OpenGVLab团队推出的开源多模态大语言模型系列。该模型在多模态理解基准(MMMU)上表现优异,超越了许多商业模型,适用于图像和视频分析、视觉问答、文档理解和多语言处理等多个领域。
62 7
书生·万象InternVL 2.5:上海 AI Lab 开源的多模态大语言模型,超越了目前许多商业模型
|
22天前
|
人工智能 vr&ar
GeneMAN:上海AI Lab联合北大等高校推出的3D人体模型创建框架
GeneMAN是由上海AI实验室、北京大学、南洋理工大学和上海交通大学联合推出的3D人体模型创建框架。该框架能够从单张图片中生成高保真度的3D人体模型,适用于多种应用场景,如虚拟试衣、游戏和娱乐、增强现实和虚拟现实等。
53 7
GeneMAN:上海AI Lab联合北大等高校推出的3D人体模型创建框架
|
3天前
|
人工智能 安全 算法
AI时代下的代理IP:在线旅游的新篇章
随着AI技术的发展,在线旅游行业迎来变革。代理IP作为关键一环,通过隐藏用户真实IP、优化网络连接、突破地域限制等手段,提升用户体验和数据安全性。本文探讨代理IP在在线旅游中的应用,结合实际代码与案例,展示其助力行业发展的具体方式。未来,AI与5G等新技术将进一步推动代理IP的应用创新,为用户提供更便捷、安全的旅游服务。
14 3
|
27天前
|
人工智能 编解码 BI
LEOPARD:腾讯AI Lab西雅图实验室推出的视觉语言模型
LEOPARD是由腾讯AI Lab西雅图实验室推出的视觉语言模型,专为处理含有大量文本的多图像任务设计。该模型通过自适应高分辨率多图像编码模块和大规模多模态指令调优数据集,在多个基准测试中表现卓越,适用于自动化文档理解、教育和学术研究、商业智能和数据分析等多个应用场景。
40 2
LEOPARD:腾讯AI Lab西雅图实验室推出的视觉语言模型
|
3月前
|
机器学习/深度学习 人工智能 UED
OpenAI o1模型:AI通用复杂推理的新篇章
OpenAI发布了其最新的AI模型——o1,这款模型以其独特的复杂推理能力和全新的训练方式,引起了业界的广泛关注。今天,我们就来深入剖析o1模型的特点、背后的原理,以及一些有趣的八卦信息。
382 73
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的新篇章:利用AI提升软件质量
【10月更文挑战第35天】在软件开发的海洋中,自动化测试犹如一艘救生艇,它帮助团队确保产品质量,同时减少人为错误。本文将探索如何通过集成人工智能(AI)技术,使自动化测试更加智能化,从而提升软件测试的效率和准确性。我们将从AI在测试用例生成、测试执行和结果分析中的应用出发,深入讨论AI如何重塑软件测试领域,并配以实际代码示例来说明这些概念。
62 3
|
4月前
|
人工智能 监控 算法
智能时代的伦理困境:AI技术的道德边界探索人工智能在教育领域的革新之路未来编程:人工智能与代码共生的新篇章
【8月更文挑战第21天】在人工智能(AI)技术飞速发展的今天,我们正处在一个前所未有的科技变革时期。随着AI技术的深入人类生活的方方面面,它不仅带来了便利和效率的提升,同时也引发了关于道德和伦理的深刻讨论。本文将探讨AI技术发展中遇到的伦理挑战,以及如何建立合理的道德框架来指导AI的未来应用,确保技术进步与人类社会价值观的和谐共存。
253 61
|
2月前
|
人工智能 自然语言处理 NoSQL