楊曉霞,李 亞
(昆明理工大學(xué),云南 昆明 650500)
機(jī)器翻譯(Machine Translation,MT)是通過計算機(jī)自動地將源語言(Source Language,SL)轉(zhuǎn)變?yōu)榫哂邢嗤Z義的目標(biāo)語言(Target Language,TL)的過程。隨著社會對機(jī)器翻譯需求的增多和科技的發(fā)展,機(jī)器翻譯的發(fā)展日新月異。機(jī)器翻譯的發(fā)展主要經(jīng)歷了基于規(guī)則的機(jī)器翻譯(Rule-based Machine Translation)、統(tǒng)計機(jī)器翻譯(Statistical Machine Translation,SMT)以及神經(jīng)機(jī)器翻譯(Neural Machine Translation,NMT)3 個 階段[1]。2013 年,Kalchbrenner 和Blunsom 等人提出使用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNNs)來解決機(jī)器翻譯的問題[2-3],自此神經(jīng)機(jī)器翻譯第一次被提出。2016 年,Junczys 等人在30 多個語言對上做了NMT和SMT 的對比實驗。NMT 在其中28 種語言對上翻譯性能超過了SMT,充分證明了NMT 的性能優(yōu)勢[4]。
雖然NMT 翻譯效果卓越,但是NMT 的翻譯效果嚴(yán)重依賴于高質(zhì)量大規(guī)模的平行語料。然而,獲取高質(zhì)量的平行語料往往需要付出高昂代價。目前,除了英語、法語等小部分高資源語言具有很多高質(zhì)量的平行語料,世界上還有很多種語言在平行語料上都十分匱乏,甚至完全缺失。在機(jī)器翻譯領(lǐng)域的研究中,這些語言一般稱為“低資源語言”(Low-Resource Languages)[5]。
無監(jiān)督機(jī)器翻譯(Unsupervised Machine Translation,UNMT)是不使用平行語料,僅利用單語語料來解決低資源機(jī)器翻譯的一種翻譯方法。無監(jiān)督機(jī)器翻譯不借助平行語料,特別適合低資源機(jī)器翻譯場景,具有極大的研究價值。
無監(jiān)督機(jī)器翻譯的發(fā)展歷程可以分為4 個階段——詞級無監(jiān)督機(jī)器翻譯,基于初始化、去噪自編碼、回譯的無監(jiān)督機(jī)器翻譯,利用統(tǒng)計機(jī)器翻譯的無監(jiān)督機(jī)器翻譯,引入預(yù)訓(xùn)練的無監(jiān)督機(jī)器翻譯。
無監(jiān)督機(jī)器翻譯的思想可以追溯到基于單詞的解密方法[6-7],將機(jī)器翻譯問題視為統(tǒng)計解密問題。具體地講,源語言被視為密文,并將生成密文的過程分為原始序列的生成和其中單詞的概率替換兩個階段。Dou 等人發(fā)現(xiàn),使用詞嵌入技術(shù)可以顯著提升機(jī)器翻譯的翻譯性能[8]。2017 年,Conneau 等人運(yùn)用對抗訓(xùn)練技術(shù)將單語詞嵌入空間對齊,從而實現(xiàn)詞級無監(jiān)督機(jī)器翻譯。然而,這些研究都屬于詞級的機(jī)器翻譯[9]。
2018 年,Artetxe 和Lample 等人幾乎同時在句子級無監(jiān)督機(jī)器翻譯任務(wù)中取得了很好的實驗結(jié)果,使得越來越多的研究者開始重視無監(jiān)督機(jī)器翻譯。他們的研究思路都是先用單語語料訓(xùn)練兩個詞向量空間,然后用無監(jiān)督方法對齊這兩個空間。他們的研究工作都基于無監(jiān)督的跨語言詞嵌入映射。該映射獨立地訓(xùn)練兩種語言的詞嵌入并學(xué)習(xí)線性變換,以通過自學(xué)習(xí)或?qū)褂?xùn)練將它們映射到共享空間[9-10]。由此產(chǎn)生的跨語言嵌入被用于初始化兩種語言的共享編碼器,都使用了回譯和去噪自編碼這兩種技術(shù)來對齊詞向量空間[11-12]。不同之處在于,Artetxe 等人采用了之前的自學(xué)習(xí)方法來初始化詞嵌入空間[10],而Lample 等人則采用了Conneau 等人的對抗訓(xùn)練方法來初始化詞嵌入空間[9]。此外,Artetxe 等人采用了源語言和目標(biāo)語言共享編碼器,不共享解碼器的系統(tǒng)架構(gòu)[11]。Lample 等人的編解碼器都是共享的[12],且Artetxe 等人的工作需要用單語語料里的阿拉伯?dāng)?shù)字做種子詞典,不屬于完全的無監(jiān)督,嚴(yán)格來講是弱監(jiān)督[11]。Lample 等人的工作則是完全無監(jiān)督的[12]。
Yang 等人使用兩個獨立的編碼器(每種語言對應(yīng)一個),但共享一部分權(quán)重參數(shù),并提出了兩種不同的生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GANs),即局部GAN 和全局GAN,以增強(qiáng)跨語言翻譯。它提升了英法、英德語對上的翻譯效果,且在非同源的中英語對上也取得了不錯 結(jié)果。
基于短語的SMT 的模塊化體系結(jié)構(gòu)更適合于無監(jiān)督機(jī)器翻譯問題。Lample 等人和Artetxe 等人通過跨語言嵌入映射生成了初始短語表,將其與n-gram 語言模型結(jié)合在一起,并通過迭代回譯進(jìn)一步改進(jìn)了系統(tǒng)[13-14]。Lample 等人總結(jié)了無監(jiān)督方法在機(jī)器翻譯上成功的關(guān)鍵因素[11-12],將其歸結(jié)為無監(jiān)督翻譯模型的3 條設(shè)計原則——初始化,語言建模,回譯?;谶@3 條設(shè)計原則做了更簡單有效的無監(jiān)督神經(jīng)機(jī)器翻譯模型和無監(jiān)督的基于短語的統(tǒng)計機(jī)器翻譯模型。在英法、英德語對上的實驗結(jié)果證明,統(tǒng)計機(jī)器翻譯模型的效果更好。Lample 等人還做了先后使用神經(jīng)機(jī)器翻譯模型和統(tǒng)計機(jī)器翻譯模型來訓(xùn)練翻譯的實驗,結(jié)果表明,先使用統(tǒng)計機(jī)器翻譯模型訓(xùn)練再使用神經(jīng)機(jī)器翻譯模型訓(xùn)練的效果較好[13]。Artetxe 等人也訓(xùn)練了無監(jiān)督的統(tǒng)計機(jī)器翻譯模型,相對于無監(jiān)督神經(jīng)機(jī)器翻譯模型有很大提升,但不如Lample 等人的無監(jiān)督統(tǒng)計機(jī)器翻譯模型,尤其是在英德語對上性能差距明顯[14]。除了Lample 等人將無監(jiān)督統(tǒng)計機(jī)器翻譯和無監(jiān)督神經(jīng)機(jī)器翻譯聯(lián)合起來使用外,Marie 等人使用無監(jiān)督統(tǒng)計機(jī)器翻譯得到的偽平行數(shù)據(jù)來訓(xùn)練神經(jīng)機(jī)器翻譯模型,然后將生成的神經(jīng)機(jī)器翻譯模型再通過回譯合成新的偽平行語料,用新的偽平行語料繼續(xù)訓(xùn)練神經(jīng)機(jī)器翻譯模型,并反復(fù)重復(fù)該過程[15]。Ren 等人采用了類似的方法,但在每次迭代中使用SMT 作為后驗正則化[16]。可見,這些融合了統(tǒng)計機(jī)器翻譯方法的無監(jiān)督機(jī)器翻譯性能正在逐步提升。
很多研究證明,預(yù)訓(xùn)練語言模型對自然語言處理任務(wù)性能提升十分有效[17-19]。2018 年,Devlin等人提出了基于Transformers 的雙向編碼表征模型(Bidirectional Encoder Representations from Transformers,BERT),是一個用于訓(xùn)練Transformer 的編碼器的語言模型。該預(yù)訓(xùn)練語言模型在11 種NLP 任務(wù)上超過之前的最好結(jié)果[20]。但是,BERT 運(yùn)用在單一語言上,不適合機(jī)器翻譯任務(wù)。于是,Lample 等人于2019 年在BERT 的基礎(chǔ)上進(jìn)行了跨語言語言模型預(yù)訓(xùn)練的研究[21],提出了兩種跨語言預(yù)訓(xùn)練模型:一種是只依賴單語數(shù)據(jù)的無監(jiān)督跨語言預(yù)訓(xùn)練模型;另一種是利用平行數(shù)據(jù)的監(jiān)督跨語言預(yù)訓(xùn)練模型。Lample 等人提出無監(jiān)督跨語言預(yù)訓(xùn)練模型包括因果語言模型(Causal Language Modeling,CLM)和遮蔽語言模型(Masked Language Modeling,MLM)。Lample 等人提出的監(jiān)督跨語言預(yù)訓(xùn)練模型是翻譯語言 模 型(Translation Language Modeling,TLM)。這3 種跨語言語言模型統(tǒng)稱為跨語言語言模型(Cross-lingual Language Models,XLMs)。Lample等人在訓(xùn)練翻譯模型前,先訓(xùn)練無監(jiān)督跨語言語言模型(CLM 或MLM),然后用去噪自編碼和回譯任務(wù)微調(diào)翻譯模型。
現(xiàn)有的無監(jiān)督翻譯方法通常先預(yù)訓(xùn)練語言模型,然后在微調(diào)階段利用去噪自編碼、回譯等訓(xùn)練翻譯模型[5]。預(yù)訓(xùn)練語言模型可以為翻譯模型提供一個良好的初始化。微調(diào)可以幫助源語言目標(biāo)語言在共享嵌入空間上實現(xiàn)對齊。
最初的跨語言詞嵌入方法依賴于平行語料 庫[22-23]。但是,平行語料獲取成本高,甚至很多低資源語言對之間根本不存在平行語料。通過使用跨語言詞嵌入映射,可以大大減少對平行語料的依賴。該操作通過分別學(xué)習(xí)每種語言的單語言單詞嵌入,并通過線性變換將它們映射到共享空間中。早期的工作需要雙語詞典來學(xué)習(xí)這種轉(zhuǎn)換關(guān)系。后來,Artetxe 等通過自學(xué)習(xí)大大降低了對雙語詞典的規(guī)模要求,只使用25 個單詞的種子詞典或甚至是自動生成的數(shù)字列表,即在英-法、英-德、英-芬蘭語對上實現(xiàn)了較好的詞嵌入,使得跨語言詞嵌入映射不再依賴于大量平行語料庫[10]。Conneau 等通過對抗訓(xùn)練、Proscrustes、CSLS 等技術(shù),實現(xiàn)了完全無監(jiān)督的跨語言詞嵌入映射[9],且其在英-德語對上的結(jié)果超過了借助種子詞典的Artetxe 等人的工作[10]。Artetxe 等人提出了一個線性變換的多步驟框架,包括歸一化、白化、正交映射、加權(quán)、去白化以及降維等步驟。他們發(fā)現(xiàn),大部分關(guān)于詞嵌入的工作屬于這一框架的一部分。借助雙語詞典,它在英語-意大利語、英語-德語、英語-芬蘭語、英語-西班牙語語對上都取得了很好的成績[24]。Artetxe 等人對之前提出的跨語言詞嵌入線性變化的多步驟框架做了改進(jìn)[24-25],采用隨機(jī)字典歸納、基于頻率的詞匯cutoff、CSLS 檢索、雙向字典歸納等技術(shù),實現(xiàn)了完全無監(jiān)督初始化,并取得了良好的實驗結(jié)果[25]。
2.2.1 BERT
由Vaswani 等人于2017 年提出的Transformer是流行至今的神經(jīng)機(jī)器翻譯模型架構(gòu)[26]。BERT 是一個用于訓(xùn)練Transformer 的編碼器的語言模型。BERT 提出的預(yù)訓(xùn)練任務(wù)有屏蔽語言模型(MLM)和 預(yù) 測 下 一 個 句 子(Next Sentence Prediction,NSP)兩種。在機(jī)器翻譯任務(wù)中,僅涉及MLM 任務(wù)。MLM 隨機(jī)屏蔽句子中15&的單詞,把屏蔽后的句子做為模型輸入。訓(xùn)練模型通過上下文,正確預(yù)測這些屏蔽掉的單詞。與Vincent 等人提出的去噪自編碼不同,MLM 任務(wù)只對屏蔽詞進(jìn)行預(yù)測,而去噪自編碼是重構(gòu)整個句子[27]。
2.2.2 XLM
XLM 是Lample 等人提出的跨語言語言模型。其中,一個無監(jiān)督跨語言語言模型MLM 與Devlin 等人的MLM 任務(wù)極其相似,其中MLM 如圖1 所示。它們之間的差異在于,Lample 等人的MLM 使用任意數(shù)量句子的文本流(每256 tokens 進(jìn)行截斷),而不是采用句子對[20]。Lample 等人的無監(jiān)督機(jī)器翻譯任務(wù)中,編解碼器都采用MLM 初始化的效果最好。
圖1 MLM
2.2.3 RoBERTa
Liu等人對BERT進(jìn)行了優(yōu)化,提出了RoBERTa,全稱為Robustly optimized BERT approach[28]。RoBERTa相較于BERT 最大的改進(jìn)有3 點——動態(tài)遮蔽,取消下一句預(yù)測(NSP)任務(wù),擴(kuò)大一次訓(xùn)練所選取的樣本數(shù)(Batch Size)。BERT 中的遮蔽是在預(yù)訓(xùn)練階段完成的。同一個序列在每個訓(xùn)練輪數(shù)(epoch)中被遮蔽的詞都是相同的。但在RoBERTa 中,遮蔽是在訓(xùn)練階段完成的。每次向模型輸入一個序列時,都會生成新的遮蔽方式。同一個序列在每個訓(xùn)練輪數(shù)中被遮蔽的詞是不固定的。RoBERTa 在自然語言處理任務(wù)上的表現(xiàn)達(dá)到甚至超過了BERT。
去噪自動編碼器(Denoising Autoencoder,DAE)采用部分經(jīng)過加噪的輸入,旨在恢復(fù)出原始的輸入。此技術(shù)通常用于序列到序列模型(如標(biāo)準(zhǔn)Transformer)重建原始文本。
具體過程如下:
(1)將句子x加噪,加噪后的句子用C(x)表示(x可以是源語言或者目標(biāo)語言);
(2)編碼器將C(x)映射到共享語義空間,用一系列的隱狀態(tài)表示;
(3)解碼器把共享語義空間中的一系列的隱狀態(tài)重構(gòu)回原句子,用表示,然后計算x和的交叉熵作為去噪自編碼器的損失函數(shù)來訓(xùn)練模型,其中損失函數(shù)計算公式如下:
式中:θ為編碼器或者解碼器的參數(shù);Z表示詞嵌入;l表示某種語言,即源語言或者目標(biāo)語言;Dl表示語言的數(shù)據(jù)集;C(x)為句子x加噪后的表示;?表示計算交叉熵。
加噪的部分對于模型訓(xùn)練很關(guān)鍵,因為如果在編碼時不加噪,模型可能會直接輸出輸入的句子,這樣交叉熵?fù)p失值雖然很小,但是模型并沒有學(xué)到語言的任何有用特征。常見的加噪方式有兩種:一種是隨機(jī)去掉句子中的某些單詞(去掉的概率為p);另一種是打亂句子中單詞的次序。
回譯技術(shù)是利用單語語料的有效方式[29]。它在無監(jiān)督機(jī)器翻譯中的應(yīng)用方法是通過從目標(biāo)語言到源語言的反向模型pt→s生成偽平行句子來促進(jìn)源語言到目標(biāo)語言翻譯模型ps→t的訓(xùn)練。盡管生成的源語言句子有噪聲,但回譯把無監(jiān)督問題變成了一個半監(jiān)督的學(xué)習(xí)任務(wù)。
在PBSMT 模型中,為了快速啟動迭代過程,在目標(biāo)端使用無監(jiān)督短語表和語言模型來構(gòu)造種子PBSMT 模型,然后利用該模型將源語言的單語語料庫翻譯成目標(biāo)語言(回譯步驟),再用這個偽平行語料庫去訓(xùn)練pt→s翻譯系統(tǒng)。
在NMT 模型中,用u*(y)表示由y∈T推斷出的源語言句子,函數(shù)表達(dá)式為:
同樣地,用v*(x)表示從x∈s推斷出的目標(biāo)語言句子,函數(shù)表達(dá)式為:
生成的[u*(y),y]和[x,v*(x)]可用于通過最小化以下?lián)p失函數(shù)來訓(xùn)練兩個MT 模型:
盡管近幾年來無監(jiān)督機(jī)器翻譯的發(fā)展迅速,但目前的無監(jiān)督機(jī)器翻譯還是面臨很多關(guān)鍵性的挑戰(zhàn)。
(1)目前的無監(jiān)督機(jī)器翻譯大多是在英法、英德語對上進(jìn)行實驗。其他同源語對上的無監(jiān)督機(jī)器翻譯研究較少,尤其是非同源語對上的無監(jiān)督機(jī)器翻譯研究更少。無監(jiān)督機(jī)器翻譯在相似的語言對(如英法、英德)上的表現(xiàn)較好,但在遠(yuǎn)距離語言對(如英-芬蘭、英-阿塞拜疆)上表現(xiàn)較差[30-31]。
(2)目前的無監(jiān)督機(jī)器翻譯采用的源語言和目標(biāo)語言的單語語料數(shù)據(jù)集都屬于同一領(lǐng)域的數(shù)據(jù)集,存在一定的局限性。
無監(jiān)督機(jī)器翻譯在遠(yuǎn)距離的非同源語言上的研究是一個難點,采用最新的跨語言詞嵌入的技術(shù)、跨語言預(yù)訓(xùn)練語言模型技術(shù)以及通過統(tǒng)計機(jī)器翻譯都可以對非同源語對進(jìn)行較好的初始化。通過無監(jiān)督方式融入雙語詞典、句法信息等弱監(jiān)督機(jī)器翻譯方法,也可以改進(jìn)無監(jiān)督機(jī)器翻譯。