天天看點

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

Unsupervised Statistical Machine Translation

    • 知識點
    • 摘要
    • 引言
    • 背景:基于短語的SMT
    • Cross-lingual n-gram embeddings
    • 本文無監督SMT
    • Iterative refinement
    • 實驗結果
    • 總結和工作展望

這是2018EMNLP上的一篇文章。

基于短語的統計機器翻譯用的是文章《Statistical phrase-based translation》中的方法。face3中PBSMT用的也是該文章中的方法。

文章連結:

Unsupervised Statistical Machine Translation

代碼連結:

https://github.com/artetxem/monoses

知識點

  1. 提出了一種基于短語的統計機器翻譯(SMT)系統。
  2. 用到了n-gram語言模型。
  3. 用到了 Minimum Error Rate Training (MERT) 方法。

MERT方法文章連結:

Minimum Error Rate Training in Statistical Machine Translation

摘要

雖然現代機器翻譯依賴于大型并行語料庫,但最近的工作已設法僅使用單語種語料庫訓練神經機器翻譯(NMT)系統。盡管這種方法在資源匮乏的環境中具有潛力,但現有系統仍遠遠落後于有監督的同類系統,進而限制了它們的實際利益。在本文中,我們提出了一種基于短語的統計機器翻譯(SMT)系統,大大縮小了與有監督系統的差距。我們的方法受益于SMT的子產品化體系結構:我們首先通過跨語言嵌入映射從單語語料庫導出一個短語表,将其與n-gram語言模型結合,并通過無監督的MERT變體微調超參數。此外,疊代回譯進一步改善了結果,例如,在WMT 2014 English-German和English-French中分别取得14.08和26.22 的BLEU得分,比以前的無監督系統提高了7-10 BLEU點,并且縮小與 有監督SMT(Moses trained on Europarl)的差距到2-5 個BLEU點。

引言

神經機器翻譯(NMT)最近已成為機器翻譯中的主流。與更嚴格的統計機器翻譯(SMT)架構相反,NMT模型是端到端訓練的,利用連續表示減輕了稀疏性問題,并通過使用不受限制的上下文克服了局部性問題。歸功于這種額外的靈活性,NMT可以更有效地利用大型并行語料庫,盡管在訓練語料庫不夠大的情況下SMT仍然很出色。

有點沖突的是,雖然大多數機器翻譯研究都集中在資源豐富的環境中,其中NMT确實已經取代了SMT,最近的一些工作設法僅依靠單語語料就可以訓練NMT系統而無需任何監督。考慮到大多數語言對(包括資源較少的語言,但也包括許多主要語言的組合)缺乏并行語料庫,這條研究線為将有效的機器翻譯引入更多場景提供了令人興奮的機會。然而,現有的解決方案仍然遠遠落後于它們的監督對手,極大地限制了它們的實際可用性。

在本文中,我們探讨了SMT的剛性和子產品化性質是否更适合于這些無監督的環境,并提出了一種新穎的無監督的SMT系統,該系統可以僅在單語料上進行訓練。為此,我們提出了一種自然擴充的 skip-gram 模型,該模型同時學習單詞和短語嵌入,然後通過自我學習将它們映射到跨語言空間。我們使用由此産生的跨語言短語嵌入來生成短語表,并将其與語言模型和基于距離的失真模型相結合,以建構基于标準短語的SMT系統。該模型的權重通過疊代式最小錯誤率訓練變量以無監督的方式進行了調整,并且整個系統通過疊代式回譯得到了進一步的改進。該系統的體系結構如圖1所示。我們在WMT德語英語和法語英語資料集上的實驗證明了我們的建議的有效性,在WMT 2014 English-German和English-French中分别取得14.08和26.22 的BLEU得分,比以前的無監督系統提高了7-10 BLEU點,并且縮小與 有監督SMT(Moses trained on Europarl)的差距到2-5 個BLEU點。

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

本文的其餘部分結構如下。

  • 第2節介紹了基于短語的SMT。
  • 第3部分介紹了學習跨語言n-gram嵌入的無監督方法,這是我們方法的基礎。
  • 第4節介紹了本文所提出的無監督SMT系統。
  • 第5節讨論了通過反向翻譯進行疊代優化的方法。
  • 第6節介紹了實驗運作和獲得的結果。
  • 第7節讨論了與此主題相關的工作。
  • 第8節總結了論文。

背景:基于短語的SMT

雖然最初的動機是作為一個噪聲信道模型,但基于短語的SMT現在被表述為幾個統計模型的對數線性組合,這些統計模型為翻譯候選對象打分。這些評分函數的參數是根據頻率計數獨立估計的,然後在單獨的驗證集中調整它們的權重。在推理時,解碼器根據得到的組合模型尋找得分最高的翻譯候選。标準SMT系統中的具體評分模型如下

Phrase table

短語表是源語言n-gram的集合,以及它們在目智語言中的可能翻譯,以及每種翻譯的不同得分。為了翻譯更長的序列,解碼器将這些部分n-gram的翻譯組合起來,根據相應的分數和其餘的評分函數對得到的候選序列進行排序。為了建構短語表,SMT從一個并行語料庫計算兩個方向上的單詞對齊,使用不同的試探法對這些對齊進行對稱,提取一緻的短語對集合,并根據頻率計數對它們進行評分。為此,标準SMT對每個短語表條目使用4個評分:直接和反向詞彙權重(來自詞級對齊),以及直接和反向短語翻譯機率(在短語級計算)。

Language model

語言模型為目智語言中的單詞序列配置設定一個機率。傳統的SMT使用n-gram語言模型,在大型單語語料庫上使用簡單的頻率計數,并進行回退和平滑處理。

Reordering model

重新排序模型考慮了不同語言之間的詞序,根據目智語言中每個翻譯短語的位置對候選翻譯進行評分。标準的SMT結合了兩種這樣的模型:一種基于距離的失真模型,它懲罰了對單調順序的偏離;另一種詞彙重新排序模型,它合并了來自平行語料庫的短語方向頻率。

Word and phrase penalties

單詞和短語的懲罰為每個生成的單詞和短語配置設定一個固定的分數,可用于控制輸出文本的長度以及對較短或較長短語的偏好。

在教育訓練了所有這些不同的模型之後,将應用一個調優過程來優化它們在最終的對數線性模型中的權重,該模型通常會在單獨的驗證并行語料庫中最大化某些評估名額。一種常見的選擇是通過最小錯誤率訓練(MERT)來優化BLEU評分(Och, 2003)。

Cross-lingual n-gram embeddings

3.1節介紹了我們建議的skip-gram擴充以學習n-gram嵌入,而3.2節介紹了如何将它們映射到共享空間以獲得跨語言n-gram嵌入。

3.1 Learning n-gram embeddings

負采樣skip-gram取 詞-上下文對(w; c),并使用邏輯回歸來預測這對樣本是來自訓練語料庫中采樣的真實分布,還是來自噪聲分布中的k個樣本。

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

在其基本表述中,w和c都對應于在訓練語料庫中某個視窗内同時出現的單詞。為了學習諸如 York Times 或Toronto Maple Leafs等非組合詞組的嵌入,Mikolov等人建議在預處理步驟中将它們合并為單個令牌。為了這個目的,他們基于訓練語料庫中的共現頻率使用評分函數,折現系數δ懲罰稀有詞,并反複合并門檻值以上的詞:

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

但是,在我們的場景中,我們還需要學習組成n-gram的表示形式,因為即使是組成短語,跨語言的n-gram也不總是1:1對應。例如,短語 he will come 通常會被翻譯成 vendra(西班牙語),是以需要将整個短語表示為一個單元來恰當地模組化這種關系。

一種選擇是合并所有n-gram,而不考慮它們的分數,但是考慮到它們的重疊性質,這并不是一件容易的事,當考慮不同長度的n-gram時,這一點會進一步加重。 雖然我們嘗試為每個句子随機生成多個一緻的細分,并在生成的語料庫上訓練嵌入,但這在我們的初步實驗中效果不佳。 我們将其歸因于随機細分引起的複雜互動作用(例如,共生分布從根本上發生變化,即使對于unigram也是如此),嚴重加劇了稀疏性問題等。

作為一種替代方法,我們提出了一種skip-gram的泛化,它可以動态學習n-gram嵌入,并具有理想的unigram不變性:我們提出的模型學習與unigram的原始skipgram完全相同的嵌入,而同時學習更長n-gram的其他嵌入。這樣,對于給定視窗内距離d處的每個詞-語境對(w; c),我們用通常的負采樣損耗更新其對應的嵌入w和c。除此之外,我們檢視在相同距離d上的所有不同長度的n-grams p,對于每對(p; c),我們通過負采樣更新嵌入p。

為了加強unigram不變性,上下文c和陰性樣本cN(始終對應unigram)不更新(p;c)。這樣就可以根據skip-gram模組化的共生模式自然學習n-gram嵌入,而無需引入影響其基本行為的細微互動。

我們将上述過程實作為word2vec的擴充,并使用它來訓練單語言n-gram嵌入,視窗大小為5,300維、10個負樣本、5次疊代和禁用子抽樣。為了使模型大小保持在合理的範圍内,我們将詞彙表限制在最常見的200,000 unigram、400,000 bigrams和400,000 trigrams。

3.2 Cross-lingual mapping

跨語言映射方法采用兩種語言的獨立訓練的詞嵌入,并學習線性變換以将它們映射到共享的跨語言空間。大多數映射方法是受監督的,并且依賴于雙語詞典,通常在幾千個條目的範圍内,盡管最近的工作已基于自我學習或對抗性訓練設法以完全不受監督的方式取得了可比的結果。

在我們的案例中,我們使用《A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings》的方法使用其開源實作VecMap将n-gram嵌入映射到共享的跨語言空間。

VecMap方法連結:

A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings

該方法最初是為詞嵌入設計的,該方法通過連接配接不同語言中嵌入項的語内相似度分布建立初始映射,并通過自學習疊代改進該解決方案。該方法采用基于頻率的詞彙截斷,學習每種語言中2萬個最頻繁的詞彙。我們保留了這個臨界值,以學習最頻繁的20,000字母組合的映射,然後将結果映射應用于整個嵌入空間,包括更長的n-gram。

本文無監督SMT

基于短語的SMT遵循子產品化架構,該架構通過 log-linear 模型結合了多個評分功能。在标準SMT系統中發現的評分功能中,失真模型和單詞/短語懲罰是無參數的,而語言模型是在單語語料庫上進行訓練的,是以它們都可以直接內建到我們的無監督系統中。根據通常在并行語料庫上訓練的其餘模型,我們決定不考慮詞法重排,因為失真模型已經解決了單詞重排的問題。至于短語表,我們将學習第3節中讨論的跨語言n-gram嵌入,并使用它們來誘導和評分短語翻譯對。最後,我們使用基于回譯的無監督程式來調整所得對數線性模型的權重。除非特殊說明,否則我們将Moses2與預設超參數一起使用以實作系統的這些不同元件。我們使用預設情況下捆綁在Moses中的KenML來估算我們的5-gram 模型,通過修改後的 Kneser-Ney smoothing,修剪n-gram模型中單次出現大于3的。

短語表

鑒于缺乏從中提取短語翻譯對的平行語料庫,目智語言中的每個n-gram都可以作為源語言中每個n-gram的潛在翻譯候選。為了使短語表的大小保持在合理的範圍内,我們按照第3節中的說明訓練了跨語言的短語嵌入,并将每個源短語的翻譯候選對象限制為目智語言中與其最接近的100個近鄰。

為了估計它們對應的短語翻譯機率,我們将softmax函數應用于它們各自嵌入的餘弦相似度。更具體地講,給定源語言短語e^ 和翻譯候選f^,它們的直接短語翻譯機率,計算如下:

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

注意,在上式中,f^’ 周遊所有目智語言嵌入,并且τ是控制預測置信度的恒溫參數。為了調整它,我們使用 最近鄰檢索 在跨語言嵌入本身引入了一個字典,并對其使用了最大似然估計。但是,在與機率預測相同的方向上引入字典會導緻退化的解決方案(當τ接近0時,softmax近似于逼近最大值),是以我們在相反的方向上引入字典,并對其應用最大似然估計:

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

為了優化τ,我們使用學習率為0.0003,批次大小為200的Adam,使用PyTorch實作。為了計算詞彙權重,我們将目标短語中的每個單詞與最有可能生成它的源短語中的單詞對齊,并取其各自翻譯機率的乘積:

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

Unsupervised tuning

如第2節中所述,标準SMT在較小的并行語料庫上使用MERT(《Minimum error rate training in statistical machine translation》)來調整通過其對數線性模型組合的不同評分方程的權重。鑒于我們隻能使用單語語料庫,我們建議通過回譯生成一個合成的并行語料庫,并對其應用MERT調整,在兩個方向上反複重複該過程(請參見算法1)。為了達到這個目的,我們從每個單語語料庫中随機保留10,000個句子,并對它們進行10次疊代,我們發現這些疊代足夠收斂。

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

Iterative refinement

第4節中描述的步驟足以從單語語料庫中訓練一個SMT系統,正如我們在第6節中所展示的實驗,它已經優于以前的無監督系統。然而,我們提出的方法仍然進行了重要的簡化,可能會影響其潛在性能:它不使用任何詞彙重新排序模型,它的短語表受到底層嵌入詞彙的限制(例如,它不包含長于三元組的短語,參見3.1節),并且短語翻譯機率和詞彙權重是基于跨語言嵌入估計的。

為了克服這些限制,我們提出了一種基于回譯的疊代優化程式。更具體地說,我們通過将一種語言的單語語料通過初始系統進行翻譯來生成合成的并行語料庫,并在相反的方向上對其進行訓練和調整。注意,這個新系統沒有任何初始限制:短語表是使用無限制詞彙表的标準單詞對齊來建構和評分的,并且還學習了詞彙重新排序模型。完成之後,我們使用生成的系統來翻譯另一種語言的單語語料庫,并在另一個方向上訓練另一個SMT系統。如算法2所示,這個過程是疊代的,直到滿足某個收斂準則。

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

雖然可以預期此過程在每次疊代時都會産生更準确的模型,但它在計算上也非常昂貴。為了加速我們的實驗,我們使用來自每個單語語料庫的200萬個句子的随機子集進行訓練,此外還保留了10,000個單獨的句子作為MERT調整的驗證集,以上算法疊代3次 。此外,我們使用FastAlign而不是GIZA++來加快單詞對齊的速度。 除此之外,通過預設設定的标準Moses工具對合成并行語料庫進行訓練。

實驗結果

Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation
Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation

總結和工作展望

在本文中,我們提出了一種新型的無監督SMT系統,該系統可以僅在單語語料上進行訓練。為此,我們擴充了skip-gram model以同時學習單詞和短語嵌入,并将其映射到跨語言空間,以适應以前的無監督技術。生成的跨語言短語嵌入可用于生成短語表,再結合n-gram語言模型和基于距離的失真會生成無監督的基于短語的SMT系統。 我們使用無監督的MERT變量對權重進行微調以改善結果,并且通過疊代回譯對整個系統進行再訓練來獲得其他方面的改進。

将來,我們希望将我們的方法擴充到使用小型并行語料庫的半監督場景,我們希望這對于調整目的特别有用。

此外,我們想嘗試使用NMT的混合方法,使用我們的無監督SMT系統生成合成的并行語料庫,并通過疊代的反向翻譯對NMT系統進行訓練。

繼續閱讀