劉 洋
(清華大學計算機科學與技術系 北京 100084) (清華信息科學與技術國家實驗室(籌) 北京 100084) (智能技術與系統國家重點實驗室(清華大學) 北京 100084)
神經機器翻譯前沿進展
劉 洋
(清華大學計算機科學與技術系 北京 100084) (清華信息科學與技術國家實驗室(籌) 北京 100084) (智能技術與系統國家重點實驗室(清華大學) 北京 100084)
(liuyang2011@tsinghua.edu.cn)
機器翻譯研究如何利用計算機實現自然語言之間的自動翻譯,是人工智能和自然語言處理領域的重要研究方向之一.近年來,基于深度學習的神經機器翻譯方法獲得迅速發展,目前已取代傳統的統計機器翻譯成為學術界和工業界新的主流方法.首先介紹神經機器翻譯的基本思想和主要方法,然后對最新的前沿進展進行綜述,最后對神經機器翻譯的未來發展方向進行展望.
人工智能;深度學習;神經機器翻譯;編碼器-解碼器架構;注意力機制
機器翻譯研究如何利用計算機實現自然語言之間的自動轉換,是人工智能和自然語言處理領域的重要研究方向之一.機器翻譯作為突破不同國家和民族之間信息傳遞所面臨的“語言屏障”問題的關鍵技術,對于促進民族團結、加強文化交流和推動對外貿易具有重要意義.
自20世紀40年代末至今,機器翻譯研究大體上經歷了2個發展階段:理性主義方法占主導時期(1949—1992)和經驗主義方法占主導時期(1993—2016).早期的機器翻譯主要采用理性主義方法,主張由人類專家觀察不同自然語言之間的轉換規律,以規則形式表示翻譯知識.雖然這類方法能夠在句法和語義等深層次實現自然語言的分析、轉換和生成,卻面臨著翻譯知識獲取難、開發周期長、人工成本高等困難.
隨著互聯網的興起,特別是近年來大數據和云計算的蓬勃發展,經驗主義方法在20世紀90年代以后開始成為機器翻譯的主流.經驗主義方法主張以數據而不是人為中心,通過數學模型描述自然語言的轉換過程,在大規模多語言文本數據上自動訓練數學模型.這一類方法的代表是統計機器翻譯[1-3],其基本思想是通過隱結構(詞語對齊、短語切分、短語調序、同步文法等)描述翻譯過程,利用特征刻畫翻譯規律,并通過特征的局部性采用動態規劃算法在指數級的搜索空間中實現多項式時間復雜度的高效翻譯.2006年,Google Translate在線翻譯服務的推出標志著數據驅動的統計機器翻譯方法成為商業機器翻譯系統的主流.盡管如此,統計機器翻譯仍面臨著翻譯性能嚴重依賴于隱結構與特征設計、局部特征難以捕獲全局依賴關系、對數線性模型難以處理翻譯過程中的線性不可分現象等難題.
自2014年以來,端到端神經機器翻譯(end-to-end neural machine translation)[4-5]獲得了迅速發展,相對于統計機器翻譯而言在翻譯質量上獲得顯著提升.圖1給出了統計機器翻譯與神經機器翻譯在30種語言對上的對比實驗結果[6],神經機器翻譯在其中的27種語言對上超過統計機器翻譯.因此,神經機器翻譯已經取代統計機器翻譯成為Google、微軟、百度、搜狗等商用在線機器翻譯系統的核心技術.

Fig. 1 Comparison between statistical machine translation and neural machine translation (NMT) on 30 languages pairs[6]圖1 統計機器翻譯(Pb-SMT)與神經機器翻譯(NMT)在30個語言對上的對比[6]
端到端神經機器翻譯的基本思想是通過神經網絡直接實現自然語言之間的自動翻譯.為此,神經機器翻譯通常采用編碼器-解碼器(encoder-decoder)框架實現序列到序列的轉換[5].
以圖2為例,給定一個中文句子“布什 與 沙龍 舉行 了 會談”,編碼器-解碼器框架首先為每個中文詞生成向量表示,然后通過一個遞歸神經網絡(recurrent neural network)從左向右生成整個中文句子的向量表示.其中,“〈/s〉”表示句尾結束符.我們將源語言端所使用的遞歸神經網絡稱為編碼器,即將源語言句子編碼成一個稠密、連續的實數向量.

Fig. 2 The encoder-decoder framework圖2 編碼器-解碼器框架
此后,目標語言端采用另一個遞歸神經網絡將源語言句子向量反向解碼生成英文句子“Bush held a talk with Shalon 〈/s〉”.整個解碼過程逐詞生成,當生成句尾結束符“〈/s〉”后,解碼過程終止.我們將目標語言端所使用的遞歸神經網絡稱為解碼器.需要注意的是,每一個新生成的英文詞都作為生成下一個英文詞的歷史信息.因此,解碼器可以視作包含源語言信息的目標語言的語言模型.
相對于傳統的統計機器翻譯,基于編碼器-解碼器框架的神經機器翻譯具有2個優點:
1) 直接從生數據中學習特征.統計機器翻譯需要人工設計定義在隱結構上的特征來刻畫翻譯規律.由于自然語言的高度復雜性,如何確保特征設計覆蓋全部語言現象成為重要挑戰.神經網絡最大的優勢在于能夠直接從生數據中學習特征.研究結果表明,編碼器-解碼器框架學習到的句子向量表示能夠將句法不同、語義相同的句子聚在一起,同時能夠將通過調換主語和賓語產生的句法相同、語義不同的句子區分開[5].
2) 能夠捕獲長距離依賴.由于自然語言的復雜性和多樣性,表達相同含義,不同語言之間的詞語順序差異性非常大.這種語言結構差異給統計機器翻譯帶來了嚴重的挑戰.用戶在使用統計機器翻譯系統時,經常會發現單個詞語翻譯很準確,但整體上難以形成合乎語法的句子.這種現象產生的根源在于,統計機器翻譯通過隱結構描述翻譯過程,為了在指數級的隱結構組合空間中實現高效搜索,不得不采用局部特征來支持動態規劃算法.除此之外,另一個重要原因在于考慮更多的上下文信息會面臨嚴重的數據稀疏問題.神經機器翻譯通過基于長短時記憶(long short-term memory)的遞歸神經網絡[7]能夠有效捕獲長距離依賴,同時通過向量表示緩解數據稀疏問題,顯著提升了譯文的流利度和可讀性.
盡管如此,編碼器-解碼器框架仍然面臨一個嚴重的問題:編碼器生成的源語言句子向量表示的維度與源語言句子長度無關.換句話說,無論是10個詞的源語言句子、還是100個詞的源語言句子,都會被編碼為固定維度的向量.這對于編碼器處理長距離信息傳遞帶來了極大的挑戰.事實上,即使采用長短時記憶,編碼器往往還是難以有效處理長距離依賴,在長句上的翻譯質量顯著下降[5].
1.2 注意力機制

Fig. 3 Attention-based neural machine translation圖3 基于注意力機制的神經機器翻譯
為了解決定長源語言句子向量難以捕獲長距離依賴的問題,文獻[6]引入了注意力(attention)機制動態計算源語言端上下文.
如圖3所示,基于注意力機制的神經機器翻譯采用了完全不同的編碼器,其目標不再是為整個源語言句子生成向量表示,而是為每個源語言詞生成包含全局信息的向量表示.該編碼器首先使用一個正向遞歸神經網絡將信息從左向右傳遞,然后再使用一個逆向遞歸神經網絡將信息從右向左傳遞,最后將正向和逆向的隱狀態拼接起來作為源語言詞的向量表示.這種做法的優點在于每個源語言詞的向量表示均包含了其左側和右側的上下文信息.
在目標語言端,解碼器在生成每個目標語言詞時動態尋找與之相關的源語言上下文.例如,當生成英文詞“Bush”的時候,中文詞“布什”與之最相關,而“舉行”和“了”等詞可能并不相關,只需要將“布什”的向量表示作為源端上下文傳遞到目標端.而當生成英文詞“held”的時候,最相關的中文詞是“舉行”和“了”.因此,注意力機制改變了信息傳遞的方式,能夠動態計算最相關的上下文,從而更好地解決了長距離信息傳遞問題并顯著提升了神經機器翻譯的性能.因此,基于注意力機制的編碼器-解碼器模型目前已成為神經機器翻譯的主流方法并得到廣泛使用.
神經機器翻譯最早在2013年由文獻[8]提出,但當時的翻譯效果并不理想,沒有超過統計機器翻譯.2014年和2015年文獻[5]所提出的解碼器和編碼器框架以及文獻[6]提出的注意力機制確定了神經機器翻譯的主要架構,但是系統翻譯性能仍然僅僅與統計機器翻譯持平.可喜的是,神經機器翻譯在2016年取得了突飛猛進的進展,翻譯性能顯著超過統計機器翻譯,并且成為以Google Translate為代表的商業翻譯系統的核心技術[9].由于近兩年來神經機器翻譯方面的論文數量非常龐大,難以全部覆蓋,本文下面將主要從5個方面對神經機器翻譯在2016年取得的重要進展進行簡要評述.
2.1 訓練算法
給定平行語料庫,神經機器翻譯的傳統訓練準則是極大似然估計.文獻[10]指出極大似然估計存在2個問題:1)訓練目標中的損失函數是定義在詞語級別的,而機器翻譯的評價指標(如BLEU)通常都是定義在句子或篇章級別的;2)在訓練過程中每生成一個目標語言詞都是以觀測數據作為上下文,而在測試過程中則是以可能存在錯誤的模型預測作為上下文,因而在訓練和測試階段存在不一致的問題.
為了解決上述問題,文獻[11]將最小風險訓練(minimum risk training)方法引入神經機器翻譯.最小風險訓練的基本思想是將模型預測引入訓練過程,以機器翻譯評價指標來定義損失函數,通過降低模型在訓練集上損失的期望值(即風險)來緩解神經機器翻譯訓練和測試不一致的問題.這種方法可以視作是在統計機器翻譯中獲得廣泛應用的最小錯誤率訓練方法[12]在神經機器翻譯中的推廣形式.與之類似,文獻[10]采用REINFORCE算法將評價指標融入訓練過程,文獻[13]將訓練過程與柱搜索緊密結合.Google推出的神經機器翻譯系統中采用上述針對評價指標優化模型參數的訓練算法,并發現在大規模訓練數據上仍然能夠獲得穩定且顯著的提升[9].
這些方法的優點在于能夠直接針對評價指標來優化模型參數,同時訓練方法與模型架構和訓練指標無關,可以應用到任意的模型架構和評價指標,顯著提升了神經機器翻譯的性能.
2.2 先驗約束
神經機器翻譯廣受人詬病的一點是缺乏可解釋性,神經網絡內部都是實數向量,缺乏合理的語言學解釋,這使得研究人員對神經機器翻譯進行分析和調試變得尤為困難.因而,如何將人類的先驗知識與數據驅動的神經網絡方法相結合成為神經機器翻譯的一個重要研究方向.
目前,將先驗知識與神經機器翻譯相結合主要有2種方式:
1) 直接修改模型架構.文獻[14]為了解決神經機器翻譯所面臨的翻譯過度和翻譯不足問題,將基于短語的統計機器翻譯中廣泛使用的覆蓋率(coverage)機制引入神經網絡,顯著提升了神經機器翻譯系統輸出譯文的忠實度.文獻[15]也采用修改模型架構的方式將位置偏移、Markov條件、繁殖率等結構化約束加入神經機器翻譯.
2) 保留原始的模型架構,通過修改訓練目標影響模型參數訓練.文獻[16]發現源語言到目標語言翻譯模型和目標語言到源語言翻譯模型在計算注意力時均存在不足但可以相互彌補,因而通過在訓練目標中加入一致性(agreement)約束鼓勵2個模型相互幫助,同時提高了2個翻譯方向的性能.
盡管上述工作取得了一定的進展,但如何將先驗知識與神經機器翻譯相結合仍面臨著很大的挑戰:無論是修改模型結構還是修改訓練目標,都只能加入有限的先驗知識,目前仍然缺乏一個通用的框架來支持向神經機器翻譯中加入任意的先驗知識.
2.3 模型架構
對于神經機器翻譯而言,最重要的2個概念是門閥(gating)和注意力.前者是長短時記憶的核心機制,用來實現信息傳遞過程中“記憶”和“遺忘”功能;后者則引入動態選擇相關上下文的理念.是否還存在更先進的機制來進一步改進神經機器翻譯的模型架構?
文獻[17]提出的神經網絡圖靈機近年來廣受關注.如果將傳統遞歸神經網絡中的隱狀態比作為“內存”來存儲短時記憶的話,神經網絡圖靈機則主張用“外存”來存儲長時記憶,其存儲單元尋址方式類似于注意力機制.無獨有偶,文獻[18]提出的記憶網絡(memory networks)也提出了非常類似的思想.目前,神經網絡圖靈機在機器翻譯中的成功應用很少,目前主要的進展是文獻[19]將利用記憶機制來改進解碼器,顯著提升了神經機器翻譯的質量.然而,memory的尋址機制實際上與attention的計算非常類似.在同時使用長短時記憶、attention和memory的情況下,memory能夠提供什么額外的有用信息,目前仍沒有清晰的語言學解釋,有待進一步探索.
另一個研究方向是依據統計機器翻譯中廣泛使用的語言學結構來建立神經機器翻譯模型.這方面的代表性工作是文獻[20]提出的樹到序列神經機器翻譯,他們將統計機器翻譯中的樹到序列模型與神經網絡相結合.這樣的建模方式存在一定的爭議性,因為深度學習通常主張從生數據中學習表示,而不是依賴于句法樹這樣由語言學家發明的人造結構.如何實現語言結構與神經網絡的有效結合將繼續成為神經機器翻譯的研究熱點之一.
2.4 受限詞匯量
神經機器翻譯的解碼器在生成目標語言詞語時,需要通過在整個目標語言詞匯表上進行歸一化來計算概率分布,因而計算復雜度極高.為了降低復雜度,神經機器翻譯系統往往將詞匯表限制為高頻詞,并將其他所有低頻詞視為未登錄詞.2015年,神經機器翻譯的研究人員主要通過未登錄詞替換[21]和采樣[22]等方法處理受限詞匯量問題.
在2016年,研究人員更加關注如何用細粒度意義表示單元(如字母、字、語素、亞詞等)解決受限詞匯量問題.文獻[23]提出了詞語-字母混合模型,利用詞語模型處理高頻詞,利用字母模型處理低頻詞.文獻[24]提出利用字節對編碼(byte pair encoding)自動發現亞詞(subword),進而建立基于亞詞的神經機器翻譯模型.文獻[25]提出一種不依賴于顯式切分的、基于字母的編碼器,在目標語言端緩解了受限詞匯量問題.
上述方法有效解決了神經機器翻譯詞匯量受限的問題,但仍需在更多的黏著語、孤立語和屈折語上進一步驗證.
2.5 低資源語言翻譯
作為一種數據驅動方法,神經機器翻譯的性能高度依賴于平行語料庫的規模、質量和領域覆蓋面.由于神經網絡的參數規模龐大,只有當訓練語料庫達到一定規模,神經機器翻譯才會顯著超過統計機器翻譯[26].然而,除了中文、英文等資源豐富語言,世界上絕大多數語言都缺乏大規模、高質量、廣覆蓋率的平行語料庫.即使對于中文和英文,現有平行語料庫的領域也主要集中在政府文獻和時政新聞,對于絕大多數領域而言依然嚴重缺乏數據.
因此,如何充分利用現有數據來緩解資源匱乏問題成為2016年神經機器翻譯的一個重要研究方向.文獻[27]提出利用現有機器翻譯系統翻譯單語數據,通過構造偽平行語料庫來緩解平行語料庫匱乏問題.文獻[28]將自動編碼器引入神經機器翻譯,提出了基于雙語語料庫和單語語料庫的半監督學習方法.文獻[26]將遷移學習引入低資源神經機器翻譯,將在資源豐富語言平行語料庫訓練的模型參數遷移到資源匱乏語言翻譯模型的訓練過程中.
盡管上述方法都觀察到翻譯知識從資源豐富的語言對遷移到資源匱乏的語言對能夠顯著提升神經機器翻譯的效果,但是由于向量表示缺乏可解釋性,這種知識遷移的內在機制仍然沒有得到充分研究.事實上,對于整個神經機器翻譯研究而言,目前對于翻譯過程中的內部運行機制的理解仍然十分困難,神經網絡隱層的向量表示缺乏清晰的語言學解釋,這將成為未來的研究重點.
綜上所述,神經機器翻譯是近年來涌現出來的一種基于深度學習的機器翻譯方法,目前已經取代傳統的統計機器翻譯,成為新的主流技術.相對于統計機器翻譯,神經機器翻譯不僅能夠從生數據中直接學習特征,而且能夠通過長短時記憶和注意力等機制有效處理長距離依賴.盡管如此,神經機器翻譯研究仍然面臨著諸多挑戰,5個科學問題仍有待進一步探索:
1) 如何設計表達能力更強的模型?
2) 如何提高語言學方面的可解釋性?
3) 如何降低訓練復雜度?
4) 如何與先驗知識相結合?
5) 如何改進低資源語言翻譯?
我們相信,神經機器翻譯在未來會獲得進一步的發展,通過高質量的機器翻譯服務造福社會大眾.
[1]Brown P, Della Pietra S, Della Pietra V, et al. The mathematics of statistical machine translation: Parameter estimation[J]. Computational Linguistics, 1993, 19(2): 263-311
[2]Och F, Ney H. Discriminative training and maximum entropy models for statistical machine translation[C] //Proc of the 40th ACL. Stroudsburg, PA: ACL, 2002: 295-302
[3]Chiang D. A hierarchical phrase-based model for statistical machine translation[C] //Proc of the 43rd ACL. Stroudsburg, PA: ACL, 2005: 263-270
[4]Sutskever I, Vinyals O, Le Q. Sequence to sequence learning with neural networks[C] //Proc of the 28th NIPS. Red Hook, NY: Curran Associates Inc, 2014: 3104-3112
[5]Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv: 1409. 0473, 2014
[6]Junczys-Dowmunt M, Dwojak T, Hoang H. Is neural machine translation ready for deployment? A case study on 30 translation directions[J]. arXiv: 1610. 01108v2, 2016
[7]Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780
[8]Kalchbrenner N, Blunsom P. Recurrent continuous translation models[C] //Proc of EMNLP. Stroudsburg, PA: ACL, 2013: 1700-1709
[9]Wu Yonghui, Schuster M, Chen Zhifeng, et al. Google’s neural machine translation system: Bridging the gap between human and machine translation[J]. arXiv: 1609. 08144v2, 2016
[10]Ranzato M, Chopra S, Auli M, et al. Sequence level training with recurrent neural networks[J]. arXiv: 1511. 06732, 2015
[11]Shen Shiqi, Cheng Yong, He Zhongjun, et al. Minimum risk training for neural machine translation[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 1683-1692
[12]Och F. Minimum error rate training in statistical machine translation[C] //Proc of the 41st ACL. Stroudsburg, PA: ACL, 2003: 160-167
[13]Wiseman S, Rush A. Sequence-to-sequence learning as beam-search optimization[C] //Proc of EMNLP. Stroudsburg, PA: ACL, 2016: 1296-1306
[14]Tu Zhaopeng, Lu Zhengdong, Liu Yang, et al. Modeling coverage for neural machine translation[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 76-85
[15]Cohn T, Hoang C, Vymolova E, et al. Incorporating structural alignment biases into an attentional neural translation model[C] //Proc of NAACL. Stroudsburg, PA: ACL, 2016: 876-885
[16]Cheng Yong, Shen Shiqi, He Zhongjun, et al. Agreement-based joint training for bidirectional attention-based neural machine translation[C] //Proc of the 25th IJCAI. Palo Alto, CA: IJCAI, 2016: 2761-2767
[17]Graves A, Wayne G, Danihelka I. Neural turing machines[J]. arXiv: 1410. 5401v2, 2014
[18]Weston J, Chopra S, Bordes A. Memory networks[J]. arXiv: 1410. 3916, 2014
[19]Wang Mingxuan, Lu Zhengdong, Li Hang, et al. Memory-enhanced decoder for neural machine translation[C] //Proc of EMNLP. Stroudsburg, PA: ACL, 2016: 278-286
[20]Eriguchi A, Hashimoto K, Tsuruoka Y. Tree-to-sequence attentional neural machine translation[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 823-833
[21]Luong M, Sutskever I, Le Q, et al. Addressing the rare word problem in neural machine translation[C] //Proc of the 53rd ACL. Stroudsburg, PA: ACL, 2015: 11-19
[22]Jean S, Cho K, Memisevic R, et al. On using very large target vocabulary for neural machine translation [C] // Proc of the 53rd ACL. Stroudsburg, PA: ACL, 2015: 1-10
[23]Luong M, Manning C. Achieving open vocabulary neural machine translation with hybrid word-character models[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 1054-1063
[24]Sennrich R, Haddow B, Birch A. Neural machine translation of rare words with subword units[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 1715-1725
[25]Chung J, Cho K, Bengio Y. A character-level decoder without explicit segmentation for neural machine translation[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 1693-1703
[26]Zoph B, Yuret D, May J, et al. Transfer learning for low-resource neural machine translation[C] //Proc of EMNLP. Stroudsburg, PA: ACL, 2016: 1568-1575
[27]Sennrich R, Haddow B, Birch A. Improving neural machine translation models with monolingual data[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 86-96
[28]Cheng Yong, Xu Wei, He Zhongjun, et al. Semi-supervised learning for neural machine translation[C] //Proc of the 54th ACL. Stroudsburg, PA: ACL, 2016: 1965-1974

Liu Yang, born in 1979. PhD, associate professor, PhD supervisor. Member of CCF and Chinese Information Processing Society. His main research interests include natural language processing and machine translation.
Recent Advances in Neural Machine Translation
Liu Yang
(DepartmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing100084) (TsinghuaNationalLaboratoryforInformationScienceandTechnology,Beijing100084) (StateKeyLaboratoryofIntelligentTechnologyandSystems(TsinghuaUniversity),Beijing100084)
Machine translation, which aims at automatically translating between natural languages using computers, is one of important research directions in artificial intelligence and natural language processing. Recent years have witnessed the rapid development of neural machine translation, which has replaced conventional statistical machine translation to become the new mainstream technique in both academia and industry. This paper first introduces the basic ideas and state-of-the-art approaches in neural machine translation and then reviews recent important research findings. The paper concludes with a discussion about possible future directions.
artificial intelligence; deep learning; neural machine translation; encoder-decoder framework; attention mechanism
2016-11-10;
2017-02-22
國家自然科學基金優秀青年科學基金項目(61522204) This work was supported by the National Natural Science Foundation of China for Excellent Young Scientists (61522204).
TP391