1. 程式人生 > >Phrase-Based & Neural Unsupervised Machine Translation

Phrase-Based & Neural Unsupervised Machine Translation

Phrase-Based & Neural Unsupervised Machine Translation

論文:Phrase-Based & Neural Unsupervised Machine Translation
程式碼:Github
這篇Paper是EMNLP 2018的best paper,用於實現無監督機器翻譯,不過無監督機器翻譯的思想早就有研究者提出來了,這篇paper是在前人的基礎上做了一些優化改進,使得模型更加容易訓練,效果也有所提升。作者提出了兩個模型,一個是NMT(神經機器翻譯)模型,另一個是PBSMT(基於短語的統計機器翻譯)模型。
作者的工作主要體現在以下兩個方面:

  • 對於一些相近的語言,作者提出了一種更加簡單高效的初始化方法
  • 作者總結了無監督機器翻譯的三個原則,並把他們應用到PBSMT,發現效果比NMT還要好。
  • 結合NMT和PBSMT效果可以得到進一步提升

無監督機器翻譯的三個關鍵點

初始化

對於機器翻譯問題的病態性,模型初始化是一種自然先驗,代表了我們期待的解空間的分佈。許多模型採用雙語字典,得到逐個詞翻譯的結果,並以此作為初始化。這樣會導致最終翻譯的結果不可避免的具有源語言的語法特性。

語言模型

通過在單一語種上訓練的語言模型,可以讓模型學習到每一種語言中的句子該如何使用。可以提升句子的合理度,通順度。

迭代反向翻譯(Iterative Back-translation)

這裡的思路就有點像CV裡面的cycleGAN了,先把源語言翻譯成目標語言,然後在翻譯回來。把一個無監督問題變為了一個有監督問題。

作者提出的無監督機器翻譯方法

符號介紹:SS表示源句子空間,TT表示目標句子空間。PsP_s表是源語言的語言模型,PtP_t表示目標語言的語言模型。PstP_{s\rightarrow t}表示源語言到目標語言的翻譯模型,反之亦然。作者方法思路如下:

思路框架很簡單:

  • 訓練語言模型:訓練PsP_s,PtP_t,使得對於任意一個句子,都可以給出其出現的概率。語言模型其實就是判斷句子合理程度的一個方式
  • 初始化翻譯模型:根據語言模型初始化翻譯模型。
  • 迭代優化:通過Back-translation, 逐步迭代優化模型。