自然語言處理

好文分享

Facebook利用跨字嵌入實現無監督機器翻譯

本文轉載自公眾號 微軟研究院AI頭條,原文地址

現有的機器翻譯需要大量的翻譯文本做訓練樣本,這使得機器翻譯只在一小部分樣本數量充足的語言上表現良好,但如何在沒有源翻譯的情況下訓練機器翻譯模型,即無監督訓練,成為了目前熱門的研究話題。Facebook在EMNLP 2018上的論文《Phrase-Based & Neural Unsupervised Machine Translation》利用跨字嵌入(Cross Word Embedding),提升了高達11 BLEU,那麼Facebook是如何實現的呢?

第一步是讓系統學習雙語詞典。系統首先為每種語言中的每個單詞訓練詞嵌入,訓練詞嵌入通過上下文來預測給定單詞周圍的單詞。不同語言的詞嵌入具有相似的鄰域結構,因此可以通過對抗訓練等方法讓系統學習旋轉變換一種語言的詞嵌入,以匹配另一種語言的詞嵌入。基於這些信息,就可以得到一個相對準確的雙語詞典,並基本可以實現逐字翻譯。在得到語言模型和初始的逐字翻譯模型之後,就可以構建翻譯系統的早期版本。

然後將系統翻譯出的語句作為標註過的真實數據進行處理,訓練反向機器翻譯系統,得到一個更加流暢和語法正確的語言模型,並將反向翻譯中人工生成的平行句子與該語言模型提供的校正相結合,以此來訓練這個翻譯系統。

通過對系統的訓練,形成了反向翻譯的數據集,從而改進原有的機器翻譯系統。隨着一個系統得到改進,可以使用它以迭代方式在相反方向上為系統生成訓練數據,並根據需要進行多次迭代。

逐字嵌入初始化、語言建模和反向翻譯是無監督機器翻譯的三個重要原則。將基於這些原理得到的翻譯系統應用於無監督的神經模型和基於計數的統計模型,從訓練好的神經模型開始,使用基於短語模型的其它反向翻譯句子對其進行訓練,最終得到了一個既流暢,準確率又高的模型。

對於無監督機器翻譯,微軟亞洲研究院自然語言計算組也進行了探索。研究人員利用後驗正則(Posterior Regularization)的方式將SMT(統計機器翻譯)引入到無監督NMT的訓練過程中,並通過EM過程交替優化SMT和NMT模型,使得無監督NMT迭代過程中的噪音能夠被有效去除,同時NMT模型也彌補了SMT模型在句子流暢性方面的不足。相關論文《Unsupervised Neural Machine Translation with SMT as Posterior Regularization》已被AAAI 2019接收。