ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

微軟研究院AI頭條發表於2018-07-18
編者按:隨著神經機器翻譯的快速發展,英語、法語等大語種之間的翻譯任務已經能夠達到良好的翻譯效果,而小語種的翻譯仍然是一個難題。與大語種豐富的語料資料相比,小語種機器翻譯面臨的主要挑戰是語料的稀疏性問題。為了更好地解決這一問題,微軟亞洲研究院自然語言計算組提出了一個呈三角結構的神經機器翻譯模型TA-NMT,利用大語種的豐富語料來提升小語種機器翻譯的能力。

近年來,神經機器翻譯發展迅速,在諸如英法、英德、中英等許多大語種(Rich Language)翻譯任務上均取得了突破性成果。但因為神經機器翻譯的模型引數量龐大,且訓練方法為極大似然估計,所以需要大量的對齊語料,比如數百萬個句對,才能得到一個比較理想的翻譯模型

研究表明,如果對齊語料數量過少,如只有十幾萬個句對,那麼神經機器翻譯模型會在這個小資料集上產生比較嚴重的過擬合,從而導致其效能低於傳統的統計機器翻譯模型,這被稱為神經機器翻譯的資料稀疏性問題(Low-resource Problem)。這個問題普遍存在而且非常關鍵,尤其是在小語種(Rare Language)的翻譯問題上。通常情況下,一個小語種(如蒙古語)和其他任意一種語言之間的雙語資料常常是稀疏的,如果稀疏性問題不解決,將會嚴重影響神經機器翻譯在小語種上的翻譯應用

為了解決這一問題,業界已經做出了很多嘗試。方法大致分為兩類:第一類方法是充分利用容易獲取的單語資料,典型的方法為Back-translation。它利用反向的翻譯模型,將目標語言端的單語資料翻譯成源語言的資料,通過這一方法構造偽雙語資料來訓練正向的翻譯模型。這一方法可以擴充套件為將兩個方向的翻譯模型結合起來進行聯合訓練(Joint Training),利用源語言和目標語言的單語資料來同時提升兩個方向的翻譯模型;第二類方法為多語言模型方法,典型的有multilingual模型。它針對每種語言分別定義了編碼器和解碼器,並通過共享的attention機制來完成不同語種之間的翻譯

在本篇論文中,我們提出了第三類方法——充分利用大語種豐富的對齊語料來提升小語種機器翻譯的能力。讓我們設想圖1中的場景,X和Y為兩個大語種,如英語和法語,它們之間有很豐富的雙語資料。Z為一個小語種,如蒙古語,它和X以及Y之間只有少量的雙語資料。而我們的目標是要提升X↔Z和Y↔Z即四個包含小語種的翻譯模型的翻譯效能。我們將這一方法稱為TA-NMT,即三角結構神經機器翻譯模型(Triangular Architecture Neural Machine Translation

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

圖1 典型小語種場景

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

圖2 用X和Y之間的豐富語料提升四個包含小語種的翻譯模型


廣義EM優化

在我們提出的方法中,我們將小語種Z所在的空間作為隱空間,對X→Y和Y→X的翻譯進行建模,以充分利用X和Y之間的豐富語料。這樣一來,X→Y的翻譯過程就可以拆分為兩個步驟X→Y和Z→Y,然後就可以用EM演算法對這兩個過程進行迭代優化。Y→X的翻譯過程也是如此。具體來說,以X→Y方向為例,通過將Z作為隱變數,我們利用Jensen不等式,對優化目標log p(y|x)進行重寫,得到:

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

其中Q(z)為隱變數z的一個任意後驗分佈,L(Q)即為我們得到的優化下界。由Q(z)的任意性,我們可以選擇Q(z)=p(z|x)作為z的後驗,這樣一來優化下界就可以顯式地寫出來,即:

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

同時,由於Q(z)的選擇,我們也可將log p(y|x)與L(Q)之間的誤差推匯出來,即:

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

其中KL(·)為Kullback–Leibler divergence。這樣,我們便可以用廣義EM演算法對上式進行最大化優化。在E步驟中,我們最小化KL項,使得從x到z和從y到z的結果儘可能一致,即:

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

在M步驟中,我們最大化優化下界L(Q),最大化從z到y得到的最終翻譯期望,即:

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

可以看到,在E步中,我們藉助p(z|x)和p(z|y)來更新p(z|x),在M步中,我們藉助p(z|x)來更新p(y|z)⁡。對於Y→X方向,我們也可以根據上面的推導得到對p(z|y)和p(x|z)的優化方法。這樣就可以完成對於四個小語種翻譯模型的優化。


聯合EM訓練

其實在上面的推導中,我們發現,X→Y方向的訓練中,也用到了Y→X才會更新的模型p(z|y);反之,在Y→X方向的訓練中,也用到了X→Y才會更新的模型p(z|x)。所以我們可以將兩個方向結合起來,進行聯合的迭代訓練,從而可以同時優化四個小語種翻譯模型。其過程如下圖所示,其中紅框表示該步驟負責優化的翻譯模型。

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

3 聯合EM訓練過程


實驗

我們的實驗用到了MultiUN和IWSLT2012兩個資料集,均採用英語和法語作為大語種。在MultiUN資料集中,我們採用阿拉伯語和西班牙語作為模擬的小語種;在IWSLT資料集中,我們採用羅馬尼亞語和希伯來語作為真實場景的小語種。

實驗中,我們比較了兩個baseline模型,一個是經典的神經機器翻譯模型RNNSearch,另外一個是Phrase-based統計機器翻譯模型。此外,我們還比較了兩個teacher student和back-translation兩個模型。由於TA-NMT中沒有用到Z端的單語資料,所以我們將TA-NMT方法進行了進一步擴充套件,將back-translation訓練的模型作為TA-NMT的初始模型,在此基礎上進行進一步聯合EM訓練,我們稱這個擴充套件方法為TA-NMT(GI)。其中GI表示good initialization。實驗結果如下表所示:

可以看到,在沒有引入Z端單語資料的情況下,TA-NMT的效能高於RNNSearch、PBSMT、T-S。在引入Z端單語資料的情況下,TA-NMT(GI)的效能高於BackTrans。

同時,我們畫出了英語-法語-阿拉伯語組和英語-法語-羅馬尼亞語組的訓練曲線。下圖中縱軸為相應驗證集上的BLEU值,橫軸為訓練中的模型引數的更新次數。可以看到,整個過程中,E步和M步中優化的兩個模型效能均穩步上升。

ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力

總結來說,我們提出的TA-NMT訓練模型充分利用大語種語言對之間豐富的雙語資料來提升小語種翻譯模型的效能。基本思路是在大語種之間的翻譯過程中將小語種作為中間隱變數引入,將該翻譯過程拆分為兩個經由小語種的翻譯過程,從而可以用EM方法進行優化。同時我們提出了聯合EM訓練方法,可以同時對四個小語種翻譯模型進行優化。

參考文獻:

Shuo Ren, Wenhu Chen, Shujie Liu, Mu Li, Ming Zhou, Shuai Ma, Triangular architecture for rare language translation, ACL 2018.

論文連結:

https://arxiv.org/abs/1805.04813

相關文章