GNMT(Google's Neural Machine Translation System) 閱讀筆記

我發現知乎專欄的圖片顯示不兼容markdown的語法,因此我寫好的內容的圖片這裡都沒有顯示,因此建議需要的同學到我的個人主頁去查看這篇文章:GNMT(Google』s Neural Machine Translation System) 閱讀筆記

Background

幾年前,人們開始使用RNN(Recurren Neural Networks)來直接學習如何將一個輸入單詞序列映射為輸出序列。

Phrase-based機器翻譯方法將一個輸入語句分解未幾個單詞block或者phrase,再獨立地翻譯它們。作為對比,NMT則是將整個輸入語句作為一個整體來看待。這就使得與PBMT相比,NMT需要更少的engineering design。在NMT剛問世時,它就已經達到了和PBMT相同的精準度。

在那之後,雖然NMT模型也在不斷被改進,但是一隻沒有達到應用與生產的要求。而在GNMT中,Google成功克服了NMT的諸多問題,達到了足夠令人滿意的翻譯效果,並將其應用在了Google Translate中。

Data from side-by-side evaluations, where human raters compare the quality of translations for a given source sentence. Scores range from 0 to 6, with 0 meaning 「completely nonsense translation」, and 6 meaning 「perfect translation."

基本原理

先用一幅圖來展示GNMT工作的具體流程:(以中譯英為例)

  • 首先,the network 將中文單詞編碼(encode)為一個向量,每個向量代表到目前為止所有單詞的意思("Encoder")

  • 當整個句子讀入之後,Decoder開始工作。每次生成一個English word。("Decoder")

  • 在生成翻譯單詞的每一步,docoder都會使用一個在已經encoded的中文向量上的加權分布,來決定當前最相關的中文單詞,進而進行翻譯。(上圖中不同連接線的透明度代表了Decoder多大程度上 pay attention to 某一個漢字)

效果對比

An example of a translation produced by our system for an input sentence sampled from a news site. Go here for more examples of translations for input sentences sampled randomly from news sites and books.

目前,GNMT已經完全應用於漢譯英,這是眾所周知最難翻譯的之一。其他的翻譯將會陸續採用GNMT。當然,Google在其自家的TensorFlow上完成了這一系列的實驗和商業部署。

<未完待續>

推薦閱讀:

AI 時代的媒體會是什麼樣
<模型匯總_3>深度學習中最貪玩的模型dual-learning NMT
神經機器翻譯工具——OpenNMT

TAG:自然语言处理 | 深度学习DeepLearning | 机器翻译 |