Facebook提出無監督機器翻譯,BLEU提高10個點

來源:[1804.07755] Phrase-Based & Neural Unsupervised Machine Translation

編譯:Bing

自動語言翻譯是NLP領域研究的一大熱門,它可以免去語言不通的煩惱,讓用戶隨意瀏覽信息、接受服務。為了保證質量,現有的機器翻譯系統需要用大量的翻譯文本做訓練樣本。這樣就使得機器翻譯只有在一小部分樣本數量充足的語言表現良好。

這一領域目前研究的重點就是在不需要任何源翻譯的情況下訓練機器翻譯模型,即無監督訓練。Facebook的研究團隊在EMNLP 2018上展示的研究成果正式最近針對這一問題的研究,並獲得了EMNLP 2018的最佳論文,論智將大概內容編譯如下:

我們的新方法在此前無監督翻譯的基礎上得到了極大地提升,並且達到了和有將近10萬份翻譯參考樣本的監督式方法的水平。BLEU分數是衡量機器翻譯準確性常用的準則,提高1分就已經很有說服力了,而我們的方法最終提升了10個BLEU分數。

總的來說,這是機器翻譯領域的重要研究成果,尤其是對世界上數千種缺乏樣本的小眾語言來說,是非常有用的。對資源較少的語言,現在有一種方法能學習彼此間互相翻譯了,例如烏爾都語和英語之間的翻譯,只需要一段英語和與之無關的烏爾都語即可互譯,無需對應的文本。

這一新方法開啟了多種語言快速翻譯、精準翻譯的大門。

詞對詞翻譯

為了達到我們的研究目的,第一步就是讓系統學習雙語詞典,也就是將一個單詞和目標語言中的翻譯版本聯繫起來。為了做到這一點,我們用了此前論文中的方法,讓系統首先學習各種語言中每個單詞的詞嵌入(單詞的向量表示)。

詞嵌入經過訓練,是為了根據語境預測單詞(例如給定一個單詞,猜測前面五個單詞和後面五個單詞分別是什麼)。雖然這一過程簡單,但詞嵌入可以捕捉有趣的予以結構。例如,「kitty」的最近鄰單詞是「cat」,並且單詞「kitty」的詞嵌入與「animal」的嵌入比與「rocket」更近(因為「rocket」幾乎很少在由「kitty」的語境中出現)。

並且,不同語言的詞嵌入的近鄰結構是相似的,因為世界各地的人們對事物的認知是一樣的。例如在英語中,「cat」和「fluffy」的關係和西班牙語中的「gato」和「peludo」的關係是一樣的,因為這些詞出現的語境相似。

基於這種相似性,我們提出讓系統學習某種語言詞嵌入的旋轉,用多種技術的結合,例如對抗訓練,來匹配另一種語言的詞嵌入。有了這一信息,我們可以不用任何翻譯來推斷出相當準確的雙語詞典,進行詞對詞的翻譯。

兩種語言的二維詞嵌入(左)可以通過簡單的旋轉連接起來(右)

翻譯語句

用無監督的雙語詞典推斷法進行詞對詞翻譯並不是好的翻譯方法,因為詞語可能會丟失,或打亂順序,或出現錯誤。但是,它能最大程度地保留文本的意思。我們可以用語言模型對其進行本地化編輯,該模型經過單一語言數據的訓練,可以對詞語的順序進行打分。

如果我們有一個大型的烏爾都語數據集,就可以訓練一個烏爾都語模型和同樣的英語模型。有了語言模型和詞對詞翻譯,我們可以建立起翻譯系統的早期版本。

雖然這一版本還不夠完美,但是該系統已經比單純的詞對詞翻譯要好了,並且可以從很多源語言翻譯成目標語言。

接下來,我們將這些系統翻譯(從烏爾都語翻譯成英語)看作是標準數據,反過來用它們訓練機器翻譯系統(從英語翻譯成烏爾都語)。可以想到,作為輸入的英語語句可能會有些許遺漏,因為在第一次翻譯時會有誤差。這一技術由R. Sennrich等人於ACL 2015上提出,是機器翻譯系統的半監督學習(其中可使用少量平行文本)。這是該技術第一次用於完全的無監督系統中,重要的是,它最初是在監督數據上訓練的。

我們現在有了烏爾都語語言模型了,我們可以將反向翻譯的平行語句和烏爾都語語言模型生成的正確語句相結合,訓練從英語到烏爾都語的翻譯系統。

系統訓練完成後,我們可以用它翻譯很多英語語句,建造起另一個數據集,幫助之前的烏爾都語-英語翻譯系統提高性能。一個系統變得更好,就可以用它生成用於訓練反向系統的數據,不斷進行迭代。

模型結合

在我們的研究中,我們設立了三個步驟:

  • 詞對詞翻譯初始化
  • 語言建模
  • 反向翻譯

這三個步驟是無監督機器翻譯的重要原則,有了這些原則,我們可以衍生出不同的模型,我們將這些原則應用於兩種不同的方法處理無監督機器翻譯問題。

首先是無監督神經模型,比詞對詞翻譯更流暢,但是無法生成我們想要的翻譯質量。但是它們可以用於反向翻譯,在反向翻譯中,這種方法被看作有10萬條平行句子的監督式模型。

接下來,我們將上述三原則應用於另一個基於經典數據模型的方法,即基於短語的機器翻譯。這些模型在小眾語言上表現得較好,非常有趣。但是這是首次應用於無監督機器翻譯上,在這種情況下,我們發現翻譯結果中,詞語的使用是正確的,但不夠流暢。不過這一方法同樣比此前的無監督模型表現得要好。

最後,我們將這兩種模型結合得到了最好的模型,既能流暢生成語句,又能翻譯無誤。我們首先訓練了神經模型,然後通過基於短語的模型,用額外的反向翻譯語句對其進行訓練。

重要的是,這種複合型模型極大地提高了吳建德機器翻譯的精確度,在英語-法語和英語-德語翻譯上提高了10個BLEU分數,這兩種翻譯常被用作基準。

我們同樣在其他語言互譯上測試了這種新方法,例如在英語-羅馬尼亞語、英語-烏爾都語這樣小眾的翻譯,結果都比之前有很大的進步,甚至有些超過了用平行數據訓練處的監督式方法。

德語-英語翻譯案例的結果如下:

結語

提高10個BLEU對我們來說是很大的驚喜了,然而更值得關注的是未來機器翻譯進步的空間。在短期內,技術的進步一定會讓更多語言翻譯變得更加容易、翻譯質量更好。但這次的研究成果和基本研究準則不會僅僅用於機器翻譯。在其他無監督學習領域,此次研究的成果也可讓智能體利用無標記數據執行多種任務。這次的研究證明了,系統可以在無監督的情況下學習,並搭建多種系統,其中的元素會在多次迭代中提高性能。


推薦閱讀:

TAG:機器翻譯 | 科技 | 自然語言處理 |