Artetxe - 2019ACL - An Effective Approach to Unsupervised Machine Translation


本文首先通過跨語言嵌入構建初始短語表,然後,通過合併子詞信息來擴展此初始短語表,以解決先前無監督SMT系統的主要限制之一。然後對SMT系統進行微調。最後,我們使用改進的SMT系統來初始化雙NMT模型,並通過即時反向翻譯進一步調整。

文章鏈接:

An Effective Approach to Unsupervised Machine Translation

知識點

摘要

雖然機器翻譯傳統上依賴大量的並行語料庫,但最近的一個研究項目成功地利用單語語料庫訓練了神經機器翻譯(NMT)和統計機器翻譯(SMT)系統。在這篇論文中,我們通過開發子單詞信息、開發一個理論上很有基礎的非監督調優方法以及合併一個聯合優化過程來識別和解決現有的非監督SMT方法的幾個不足之處。此外,我們使用改進的SMT系統來初始化雙NMT模型,可以通過即時反向翻譯進一步調整。 總之,我們在無監督機器翻譯方面比以前的最新技術有了很大的改進。例如,在2014年英語到德語的WMT中,我們獲得22.5個BLEU積分,比以前的最佳無監督系統高5.5分,比2014年(有監督)的共享任務獲勝者高0.5點。

引言

最新出現的seq2seq模型在機器翻譯領域取得了重大進展,在標準基準方面取得了巨大的進步,並且在某些情況下首次提出了人類對等的主張。不幸的是,這些系統依賴大量的並行語料庫,而這些語料庫僅適用於幾種主要語言的語料庫組合例如英語,德語和法語。

爲了消除對並行數據的依賴,最近的一個研究項目已經成功地使用單語語料庫來訓練無監督機器翻譯系統。第一個這樣的系統是基於神經機器翻譯(NMT),並結合去噪自編碼和反向翻譯,以訓練使用跨語言嵌入初始化的對偶模型。然而,這些早期系統後來被基於統計機器翻譯(SMT)的方法所取代,後者通過跨語言嵌入映射生成了初始短語表,將其與n-gram語言模型結合在一起,並通過迭代回譯進一步改善了系統 。如《Unsupervised statistical machine translation》(2018EMNLP)、《Phrase-based & neural unsupervised machine translation》(face3)兩文中提出的方法。

在本文中,我們開發了一種用於無監督SMT的更加原則化的方法,通過合併子詞信息,應用理論上完善的無監督調整方法和開發聯合優化程序來解決先前系統的一些缺陷。 除此之外,我們使用改進的SMT方法來初始化無監督的NMT系統,並通過即時反向翻譯進一步改進了該系統。

本文的其餘部分安排如下:

  1. 第2節首先討論該主題中的相關工作。
  2. 第3節描述我們的原則性無監督SMT方法。
  3. 第4節討論了我們與NMT的雜交方法。
  4. 第5節介紹實驗結果。
  5. 第6節總結全文。

本文無監督方法

基於短語的SMT被公式化爲幾種統計模型的對數線性組合:翻譯模型,語言模型,重新排序模型和單詞/短語懲罰模型。因此,構建無監督的SMT系統需要從單語語料庫中學習這些不同的組件。事實證明,對於大多數人來說,這很簡單:語言模型是根據定義從單語語料庫中學習的;單詞和短語的懲罰是無參數的;而且可以以很小的代價放棄標準詞法重排模型,而僅使用失真模型也可以,而失真模型也是無參數的。這樣,剩下的挑戰就是學習翻譯模型,也就是說,建立詞組表。

我們提出的方法首先通過跨語言嵌入映射(第3.1節)構建初始短語表。 然後,通過合併子詞信息來擴展此初始短語表,以解決先前無監督SMT系統的主要限制之一(第3.2節)。完成此操作後,我們通過一種新穎的無監督調整程序(第3.3節)來調整基礎對數線性模型的權重。 最後,我們通過共同改進兩個相反方向的模型來進一步完善系統(第3.4節)。

3.1 Initial phrase-table(初始化短語表)

爲了建立我們的初始短語表,我們使用《Unsupervised statistical machine translation》(2018EMNLP)文中的方法。並分別爲每種語言學習n-gram嵌入,通過自我學習將它們映射到共享空間,並使用生成的跨語言嵌入來提取和評分短語對。

更具體地講,我們使用phrase2vec訓練 n-gram嵌入,一個簡單的skip-gram擴展,它將Mikolov et al. (2013)的標準負抽樣損失應用於雙語法上下文和三語法上下文對,以及通常的單詞上下文對。我們使用VecMap將嵌入映射到跨語言空間,並使用《A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings》(2018ACL)一文中的初始化方法,它通過對齊相同的單詞構建初始解決方案,並通過自學習迭代地改進它。最後,我們通過獲取每個源短語的100個最近鄰來提取翻譯候選詞,並對它們的餘弦相似度應用softmax函數對它們進行評分:
在這裏插入圖片描述
其中,溫度τ是使用在反向方向上引出的字典上的最大似然估計來估計的。除了在兩個方向上的短語翻譯概率外,通過將目標短語中的每個單詞與最有可能生成它的源短語中的每個單詞對齊,並將它們各自的翻譯概率相乘,來估計正向和反向詞彙權重。更多細節看《Unsupervised statistical machine translation》(2018EMNLP)。

3.2 Adding subword information(添加子詞信息)

現有無監督SMT系統的固有侷限性是將單詞視爲原子單位,從而無法利用字符級信息。這反映在這些模型翻譯命名實體的已知困難中,因爲僅基於分佈信息來區分相關專有名詞是非常具有挑戰性的,從而產生翻譯錯誤,例如“Sunday Telegraph” !翻譯爲 “The Times of London” (《Unsupervised statistical machine translation》文中的例子)。

爲了克服這個問題,我們建議在單詞/短語級別完成初始對齊後就合併子單詞信息。爲此,我們在初始短語表中增加了兩個附加權重,它們類似於詞法加權,但是使用字符級相似度函數代替了單詞翻譯概率:
在這裏插入圖片描述
ϵ=0.3\epsilon = 0.3保證了最低的相似度分數,因爲我們想要在字符級別上相似的翻譯候選詞而不過分懲罰那些不相似的。在我們的例子中,我們使用一個簡單的相似函數通過單詞的長度len(·)來規範Levenshtein distance lev(·)。
在這裏插入圖片描述
我們把對更詳細的相似函數的探索,特別是可學習的度量留到以後的工作中。

3.3 Unsupervised tuning(非監督微調)

在獨立地訓練了基礎統計模型之後,SMT調優的目標是調整它們的最終對數-線性組合的權重,以優化一些評估指標,如並行驗證語料庫中的BLEU,這通常是通過最小錯誤率訓練或MERT來完成的。不用說,這在嚴格的無監督環境下是做不到的,但我們認爲,優化一些與測試性能相關的無監督標準仍然是可取的。不幸的是,現有的無監督SMT系統都沒有這樣做:《Unsupervised statistical machine translation》 (2018EMNLP)使用啓發式方法在相反方向建立兩個初始模型,使用其中一個通過反向翻譯生成合成的平行語料庫。並應用MERT在相反的方向上調整模型,直到迭代收斂爲止。而 《Phrase-based & neural unsupervised machine translation》(face3)不執行任何調優。在接下來的部分中,我們提出了一種更有原則的優化方法,該方法定義了一個無監督準則和一個優化過程,該優化過程保證收斂到局部最優。

CycleGANs和**對偶學習(dual learning)**的鼓舞,我們的方法採用相反方向的兩個初始模型,並定義了一個無監督的優化目標,該目標結合了兩個單語言語料庫E和F上的循環一致性損失和語言模型損失:
在這裏插入圖片描述
循環一致性損失體現了一種直覺,即譯文應該接近原文。爲了量化這一點,我們取源語言中的單語語料庫,將其翻譯成目標語言再翻譯回源語言,並以原文爲參考計算其BLEU分數:
在這裏插入圖片描述
與此同時,語言模型的損失抓住了機器翻譯應該產生流利的目標語言文本的直覺。爲此,我們使用n-gram語言模型估算目標語言語料庫中的每個單詞熵,並對機器翻譯文本中較高的每個單詞熵進行懲罰,如下所示
在這裏插入圖片描述
長度懲罰 LP = LP(E) · LP(F)用來懲罰過長時間的翻譯:
在這裏插入圖片描述
爲了最小化組合損失函數,我們採用MERT來共同優化兩個模型的參數。在其基本形式中,MERT通過一個n-best列表逼近每個源語句的搜索空間,並通過高效的線性搜索方法計算每個參數的最優值,貪婪地採取步驟獲得最大的收益,從而執行一種座標下降形式。該過程重複迭代,直到收斂,在每次迭代中使用更新的參數對n-best列表進行擴充,以獲得對整個搜索空間更好的近似。鑑於我們的優化目標結合了兩個翻譯系統TFE(TEF(E))T_{F\rightarrow E}\left ( T_{E\rightarrow F} \left ( E \right )\right ),這將需要首先爲TEF(E)T_{E\rightarrow F} \left ( E \right )生成一個n-best列表,併爲其中的每個條目生成一個新的帶有TFET_{F\rightarrow E}的n-best列表,生成一個包含N2N^{2}個元素的n-best列表。爲了提高效率,我們提出了一種交替優化方法,即固定一個模型的參數,用標準MERT對另一個模型進行優化。因此,我們不需要擴展固定模型的搜索空間,因此我們可以僅對N個條目的n-best列表進行處理。 完成此操作後,我們將固定相反模型的參數,並優化另一個模型的參數,直到迭代收斂爲止。

3.4 Joint refinement(聯合優化)

由於缺少平行語料庫,到目前爲止所描述的過程進行了重要的簡化,這可能會影響其潛在的性能:它的短語表有點不自然(例如,翻譯概率是通過跨語言嵌入估計的,而不是實際的頻率計數),而且它完全缺乏詞彙重新排序模型。爲了克服這個問題,現有的無監督SMT方法通過反向翻譯生成一個合成的平行語料庫,並使用它從零開始訓練一個標準的SMT系統,迭代直到收斂。

這種方法的一個明顯的缺點是,反譯方會包含不符合語法的n-gram,這些n-gram最終會出現在誘導短語表中。有人可能會說,只要源文件中有不符合語法的n-gram,這應該是無害的,因爲它們不應該出現在真正的文本中,因此它們在短語中相應的條目不應該被使用。然而,不符合語法的源短語最終會影響後向翻譯概率的估計,包括語法短語的反向翻譯概率。例如,我們假設目標短語“dos gatos”與“two cats”對齊了10次,與“two cat”對齊了90次。雖然不應該選擇不符合語法的短語表條目two cat- dos gatos,但是對two cats- dos gatos的後向概率估計仍然受到它的影響(在本例中是0.1而不是1.0)。

我們認爲,最終,後向概率估計只有在所有源短語都符合語法的情況下才有意義(所以所有可信翻譯的概率之和爲1),同樣,前向概率估計只有在所有目標短語都符合語法的情況下才有意義。根據這一觀察結果,我們提出了一種聯合改進兩個翻譯方向的替代方法。更具體地說,我們使用初始系統建立兩個相反方向的合成語料庫。這樣做之後,我們從每個合成語料庫中獨立提取短語對,並通過取它們的交集來構建短語表。
在有合成源側的並行語料庫中估計前向概率,在有合成目標側的並行語料庫中估計後向概率。這不僅保證了概率估計如前所述是有意義的,而且還徹底拋棄了不符合語法的短語,因爲源和目標n-gram必須出現在原始的單語文本中,才能出現在結果的短語表中。上述過程重複3次進行迭代。

NMT hybridization(NMT雜交)

雖然SMT的剛性和模塊化設計爲無監督機器翻譯提供了一個非常合適的框架,但NMT在有監督的環境中已被證明是一個相當優秀的範例,在標準基準測試中大大優於SMT。同樣,選擇SMT而不是NMT也對這些方法的潛在性能施加了一個嚴格的限制,因爲非監督的SMT系統繼承了與它們的監督對手相同的限制(例如局部性和稀疏性問題)。出於這個原因,我們認爲SMT提供了一個更合適的體系結構來發現語言之間的初始一致性,但是NMT最終是一個建模翻譯過程的更好的體系結構。

根據這一觀察,我們提出了一種混合方法,該方法使用無監督的SMT來預熱通過迭代反向翻譯訓練的雙重NMT模型。更具體地講,我們首先按照第3節中的描述在相反的方向訓練兩個SMT系統,然後使用它們來幫助在相反的方向訓練另外兩個NMT系統。這些NMT系統是按照迭代過程進行訓練的,在迭代過程中,我們在每個方向上 通過 在反向翻譯構建的合成平行語料庫上 執行一次遍歷來交替更新每個方向上的模型。在第一次迭代中,合成平行語料庫完全由SMT系統在相反的方向上生成,但是隨着訓練的進行和NMT模型的改進,我們逐漸切換到由反向NMT模型生成的合成平行語料庫。更具體地說,迭代t使用來自反向SMT系統的
在這裏插入圖片描述
合成並行語句,參數 a 控制從SMT到NMT回譯的轉換迭代次數。剩餘的NNsmtN-N_{smt}句由反向NMT模型生成。受Edunov等人啓發。 ,我們對其中的一半使用貪心解碼,這會產生更流暢和可預測的翻譯,對另一半使用隨機採樣,會產生更多變化的翻譯。在我們的實驗中, N = 1 000000 和 a = 30,並且總共執行60次這樣的迭代。在測試時,我們將波束搜索解碼與每10次迭代中所有檢查點合在一起使用。

實驗結果

在這裏插入圖片描述
結果是相當的好啊,曾經以爲這個人是水文章的,沒想到是位大神啊,失敬失敬!

結論和未來工作

在這篇文章中,我們發現了之前的無監督SMT系統的幾個不足之處,並提出了一種更有原則的方法,通過合併子單詞信息、使用理論上有良好基礎的無監督調優方法和開發聯合優化過程來解決這些問題。除此之外,我們使用改進的SMT方法來初始化一個雙NMT模型,這個模型將通過即時回譯進一步改進。

將來,我們希望探索可學習的相似性函數,例如(McCallum et al。,2005)提出的相似性函數,以計算初始短語表中的字符級得分。除此之外,我們希望像 He et al. (2016) 一樣,在NMT訓練期間考慮語言模型的損失。最後,我們希望將我們的方法調整爲使用多種語言和/或小型並行語料庫的更輕鬆的場景。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章