楊曉霞,李 亞
(昆明理工大學,云南 昆明 650500)
機器翻譯(Machine Translation,MT)是通過計算機自動地將源語言(Source Language,SL)轉變為具有相同語義的目標語言(Target Language,TL)的過程。隨著社會對機器翻譯需求的增多和科技的發展,機器翻譯的發展日新月異。機器翻譯的發展主要經歷了基于規則的機器翻譯(Rule-based Machine Translation)、統計機器翻譯(Statistical Machine Translation,SMT)以及神經機器翻譯(Neural Machine Translation,NMT)3 個 階段[1]。2013 年,Kalchbrenner 和Blunsom 等人提出使用深度神經網絡(Deep Neural Networks,DNNs)來解決機器翻譯的問題[2-3],自此神經機器翻譯第一次被提出。2016 年,Junczys 等人在30 多個語言對上做了NMT和SMT 的對比實驗。NMT 在其中28 種語言對上翻譯性能超過了SMT,充分證明了NMT 的性能優勢[4]。
雖然NMT 翻譯效果卓越,但是NMT 的翻譯效果嚴重依賴于高質量大規模的平行語料。然而,獲取高質量的平行語料往往需要付出高昂代價。目前,除了英語、法語等小部分高資源語言具有很多高質量的平行語料,世界上還有很多種語言在平行語料上都十分匱乏,甚至完全缺失。在機器翻譯領域的研究中,這些語言一般稱為“低資源語言”(Low-Resource Languages)[5]。
無監督機器翻譯(Unsupervised Machine Translation,UNMT)是不使用平行語料,僅利用單語語料來解決低資源機器翻譯的一種翻譯方法。無監督機器翻譯不借助平行語料,特別適合低資源機器翻譯場景,具有極大的研究價值。
無監督機器翻譯的發展歷程可以分為4 個階段——詞級無監督機器翻譯,基于初始化、去噪自編碼、回譯的無監督機器翻譯,利用統計機器翻譯的無監督機器翻譯,引入預訓練的無監督機器翻譯。
無監督機器翻譯的思想可以追溯到基于單詞的解密方法[6-7],將機器翻譯問題視為統計解密問題。具體地講,源語言被視為密文,并將生成密文的過程分為原始序列的生成和其中單詞的概率替換兩個階段。Dou 等人發現,使用詞嵌入技術可以顯著提升機器翻譯的翻譯性能[8]。2017 年,Conneau 等人運用對抗訓練技術將單語詞嵌入空間對齊,從而實現詞級無監督機器翻譯。然而,這些研究都屬于詞級的機器翻譯[9]。
2018 年,Artetxe 和Lample 等人幾乎同時在句子級無監督機器翻譯任務中取得了很好的實驗結果,使得越來越多的研究者開始重視無監督機器翻譯。他們的研究思路都是先用單語語料訓練兩個詞向量空間,然后用無監督方法對齊這兩個空間。他們的研究工作都基于無監督的跨語言詞嵌入映射。該映射獨立地訓練兩種語言的詞嵌入并學習線性變換,以通過自學習或對抗訓練將它們映射到共享空間[9-10]。由此產生的跨語言嵌入被用于初始化兩種語言的共享編碼器,都使用了回譯和去噪自編碼這兩種技術來對齊詞向量空間[11-12]。不同之處在于,Artetxe 等人采用了之前的自學習方法來初始化詞嵌入空間[10],而Lample 等人則采用了Conneau 等人的對抗訓練方法來初始化詞嵌入空間[9]。此外,Artetxe 等人采用了源語言和目標語言共享編碼器,不共享解碼器的系統架構[11]。Lample 等人的編解碼器都是共享的[12],且Artetxe 等人的工作需要用單語語料里的阿拉伯數字做種子詞典,不屬于完全的無監督,嚴格來講是弱監督[11]。Lample 等人的工作則是完全無監督的[12]。
Yang 等人使用兩個獨立的編碼器(每種語言對應一個),但共享一部分權重參數,并提出了兩種不同的生成對抗網絡(Generative Adversarial Networks,GANs),即局部GAN 和全局GAN,以增強跨語言翻譯。它提升了英法、英德語對上的翻譯效果,且在非同源的中英語對上也取得了不錯 結果。
基于短語的SMT 的模塊化體系結構更適合于無監督機器翻譯問題。Lample 等人和Artetxe 等人通過跨語言嵌入映射生成了初始短語表,將其與n-gram 語言模型結合在一起,并通過迭代回譯進一步改進了系統[13-14]。Lample 等人總結了無監督方法在機器翻譯上成功的關鍵因素[11-12],將其歸結為無監督翻譯模型的3 條設計原則——初始化,語言建模,回譯。基于這3 條設計原則做了更簡單有效的無監督神經機器翻譯模型和無監督的基于短語的統計機器翻譯模型。在英法、英德語對上的實驗結果證明,統計機器翻譯模型的效果更好。Lample 等人還做了先后使用神經機器翻譯模型和統計機器翻譯模型來訓練翻譯的實驗,結果表明,先使用統計機器翻譯模型訓練再使用神經機器翻譯模型訓練的效果較好[13]。Artetxe 等人也訓練了無監督的統計機器翻譯模型,相對于無監督神經機器翻譯模型有很大提升,但不如Lample 等人的無監督統計機器翻譯模型,尤其是在英德語對上性能差距明顯[14]。除了Lample 等人將無監督統計機器翻譯和無監督神經機器翻譯聯合起來使用外,Marie 等人使用無監督統計機器翻譯得到的偽平行數據來訓練神經機器翻譯模型,然后將生成的神經機器翻譯模型再通過回譯合成新的偽平行語料,用新的偽平行語料繼續訓練神經機器翻譯模型,并反復重復該過程[15]。Ren 等人采用了類似的方法,但在每次迭代中使用SMT 作為后驗正則化[16]。可見,這些融合了統計機器翻譯方法的無監督機器翻譯性能正在逐步提升。
很多研究證明,預訓練語言模型對自然語言處理任務性能提升十分有效[17-19]。2018 年,Devlin等人提出了基于Transformers 的雙向編碼表征模型(Bidirectional Encoder Representations from Transformers,BERT),是一個用于訓練Transformer 的編碼器的語言模型。該預訓練語言模型在11 種NLP 任務上超過之前的最好結果[20]。但是,BERT 運用在單一語言上,不適合機器翻譯任務。于是,Lample 等人于2019 年在BERT 的基礎上進行了跨語言語言模型預訓練的研究[21],提出了兩種跨語言預訓練模型:一種是只依賴單語數據的無監督跨語言預訓練模型;另一種是利用平行數據的監督跨語言預訓練模型。Lample 等人提出無監督跨語言預訓練模型包括因果語言模型(Causal Language Modeling,CLM)和遮蔽語言模型(Masked Language Modeling,MLM)。Lample 等人提出的監督跨語言預訓練模型是翻譯語言 模 型(Translation Language Modeling,TLM)。這3 種跨語言語言模型統稱為跨語言語言模型(Cross-lingual Language Models,XLMs)。Lample等人在訓練翻譯模型前,先訓練無監督跨語言語言模型(CLM 或MLM),然后用去噪自編碼和回譯任務微調翻譯模型。
現有的無監督翻譯方法通常先預訓練語言模型,然后在微調階段利用去噪自編碼、回譯等訓練翻譯模型[5]。預訓練語言模型可以為翻譯模型提供一個良好的初始化。微調可以幫助源語言目標語言在共享嵌入空間上實現對齊。
最初的跨語言詞嵌入方法依賴于平行語料 庫[22-23]。但是,平行語料獲取成本高,甚至很多低資源語言對之間根本不存在平行語料。通過使用跨語言詞嵌入映射,可以大大減少對平行語料的依賴。該操作通過分別學習每種語言的單語言單詞嵌入,并通過線性變換將它們映射到共享空間中。早期的工作需要雙語詞典來學習這種轉換關系。后來,Artetxe 等通過自學習大大降低了對雙語詞典的規模要求,只使用25 個單詞的種子詞典或甚至是自動生成的數字列表,即在英-法、英-德、英-芬蘭語對上實現了較好的詞嵌入,使得跨語言詞嵌入映射不再依賴于大量平行語料庫[10]。Conneau 等通過對抗訓練、Proscrustes、CSLS 等技術,實現了完全無監督的跨語言詞嵌入映射[9],且其在英-德語對上的結果超過了借助種子詞典的Artetxe 等人的工作[10]。Artetxe 等人提出了一個線性變換的多步驟框架,包括歸一化、白化、正交映射、加權、去白化以及降維等步驟。他們發現,大部分關于詞嵌入的工作屬于這一框架的一部分。借助雙語詞典,它在英語-意大利語、英語-德語、英語-芬蘭語、英語-西班牙語語對上都取得了很好的成績[24]。Artetxe 等人對之前提出的跨語言詞嵌入線性變化的多步驟框架做了改進[24-25],采用隨機字典歸納、基于頻率的詞匯cutoff、CSLS 檢索、雙向字典歸納等技術,實現了完全無監督初始化,并取得了良好的實驗結果[25]。
2.2.1 BERT
由Vaswani 等人于2017 年提出的Transformer是流行至今的神經機器翻譯模型架構[26]。BERT 是一個用于訓練Transformer 的編碼器的語言模型。BERT 提出的預訓練任務有屏蔽語言模型(MLM)和 預 測 下 一 個 句 子(Next Sentence Prediction,NSP)兩種。在機器翻譯任務中,僅涉及MLM 任務。MLM 隨機屏蔽句子中15&的單詞,把屏蔽后的句子做為模型輸入。訓練模型通過上下文,正確預測這些屏蔽掉的單詞。與Vincent 等人提出的去噪自編碼不同,MLM 任務只對屏蔽詞進行預測,而去噪自編碼是重構整個句子[27]。
2.2.2 XLM
XLM 是Lample 等人提出的跨語言語言模型。其中,一個無監督跨語言語言模型MLM 與Devlin 等人的MLM 任務極其相似,其中MLM 如圖1 所示。它們之間的差異在于,Lample 等人的MLM 使用任意數量句子的文本流(每256 tokens 進行截斷),而不是采用句子對[20]。Lample 等人的無監督機器翻譯任務中,編解碼器都采用MLM 初始化的效果最好。

圖1 MLM
2.2.3 RoBERTa
Liu等人對BERT進行了優化,提出了RoBERTa,全稱為Robustly optimized BERT approach[28]。RoBERTa相較于BERT 最大的改進有3 點——動態遮蔽,取消下一句預測(NSP)任務,擴大一次訓練所選取的樣本數(Batch Size)。BERT 中的遮蔽是在預訓練階段完成的。同一個序列在每個訓練輪數(epoch)中被遮蔽的詞都是相同的。但在RoBERTa 中,遮蔽是在訓練階段完成的。每次向模型輸入一個序列時,都會生成新的遮蔽方式。同一個序列在每個訓練輪數中被遮蔽的詞是不固定的。RoBERTa 在自然語言處理任務上的表現達到甚至超過了BERT。
去噪自動編碼器(Denoising Autoencoder,DAE)采用部分經過加噪的輸入,旨在恢復出原始的輸入。此技術通常用于序列到序列模型(如標準Transformer)重建原始文本。
具體過程如下:
(1)將句子x加噪,加噪后的句子用C(x)表示(x可以是源語言或者目標語言);
(2)編碼器將C(x)映射到共享語義空間,用一系列的隱狀態表示;
(3)解碼器把共享語義空間中的一系列的隱狀態重構回原句子,用表示,然后計算x和的交叉熵作為去噪自編碼器的損失函數來訓練模型,其中損失函數計算公式如下:

式中:θ為編碼器或者解碼器的參數;Z表示詞嵌入;l表示某種語言,即源語言或者目標語言;Dl表示語言的數據集;C(x)為句子x加噪后的表示;?表示計算交叉熵。
加噪的部分對于模型訓練很關鍵,因為如果在編碼時不加噪,模型可能會直接輸出輸入的句子,這樣交叉熵損失值雖然很小,但是模型并沒有學到語言的任何有用特征。常見的加噪方式有兩種:一種是隨機去掉句子中的某些單詞(去掉的概率為p);另一種是打亂句子中單詞的次序。
回譯技術是利用單語語料的有效方式[29]。它在無監督機器翻譯中的應用方法是通過從目標語言到源語言的反向模型pt→s生成偽平行句子來促進源語言到目標語言翻譯模型ps→t的訓練。盡管生成的源語言句子有噪聲,但回譯把無監督問題變成了一個半監督的學習任務。
在PBSMT 模型中,為了快速啟動迭代過程,在目標端使用無監督短語表和語言模型來構造種子PBSMT 模型,然后利用該模型將源語言的單語語料庫翻譯成目標語言(回譯步驟),再用這個偽平行語料庫去訓練pt→s翻譯系統。
在NMT 模型中,用u*(y)表示由y∈T推斷出的源語言句子,函數表達式為:

同樣地,用v*(x)表示從x∈s推斷出的目標語言句子,函數表達式為:

生成的[u*(y),y]和[x,v*(x)]可用于通過最小化以下損失函數來訓練兩個MT 模型:

盡管近幾年來無監督機器翻譯的發展迅速,但目前的無監督機器翻譯還是面臨很多關鍵性的挑戰。
(1)目前的無監督機器翻譯大多是在英法、英德語對上進行實驗。其他同源語對上的無監督機器翻譯研究較少,尤其是非同源語對上的無監督機器翻譯研究更少。無監督機器翻譯在相似的語言對(如英法、英德)上的表現較好,但在遠距離語言對(如英-芬蘭、英-阿塞拜疆)上表現較差[30-31]。
(2)目前的無監督機器翻譯采用的源語言和目標語言的單語語料數據集都屬于同一領域的數據集,存在一定的局限性。
無監督機器翻譯在遠距離的非同源語言上的研究是一個難點,采用最新的跨語言詞嵌入的技術、跨語言預訓練語言模型技術以及通過統計機器翻譯都可以對非同源語對進行較好的初始化。通過無監督方式融入雙語詞典、句法信息等弱監督機器翻譯方法,也可以改進無監督機器翻譯。