Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation


這是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點。

在這裏插入圖片描述

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

  • 第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個樣本。
在這裏插入圖片描述
在其基本表述中,w和c都對應於在訓練語料庫中某個窗口內同時出現的單詞。爲了學習諸如 York Times 或Toronto Maple Leafs等非組合詞組的嵌入,Mikolov等人建議在預處理步驟中將它們合併爲單個令牌。爲了這個目的,他們基於訓練語料庫中的共現頻率使用評分函數,折現係數δ懲罰稀有詞,並反覆合併閾值以上的詞:
在這裏插入圖片描述
但是,在我們的場景中,我們還需要學習組成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^,它們的直接短語翻譯概率,計算如下:
在這裏插入圖片描述
注意,在上式中,f^’ 遍歷所有目標語言嵌入,並且τ是控制預測置信度的恆溫參數。爲了調整它,我們使用 最近鄰檢索 在跨語言嵌入本身引入了一個字典,並對其使用了最大似然估計。但是,在與概率預測相同的方向上引入字典會導致退化的解決方案(當τ接近0時,softmax近似於逼近最大值),因此我們在相反的方向上引入字典,並對其應用最大似然估計:
在這裏插入圖片描述
爲了優化τ,我們使用學習率爲0.0003,批次大小爲200的Adam,使用PyTorch實現。爲了計算詞彙權重,我們將目標短語中的每個單詞與最有可能生成它的源短語中的單詞對齊,並取其各自翻譯概率的乘積:
在這裏插入圖片描述

Unsupervised tuning

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

在這裏插入圖片描述

Iterative refinement

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

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

在這裏插入圖片描述

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

實驗結果

在這裏插入圖片描述
在這裏插入圖片描述

總結和工作展望

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

將來,我們希望將我們的方法擴展到使用小型並行語料庫的半監督場景,我們希望這對於調整目的特別有用。

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

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