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.
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。