一起看看 Google 翻譯是如何透過機器學習變得更為強大

有沒有發現最近 Google 在中英互翻時,更準確了呢?

一起看看 Google 翻譯是如何透過機器學習變得更為強大

大家平常有在用 Google 翻譯的服務嗎?有沒有發現最近翻譯變更精準了呢?Google 在去年九月悄悄導入了神經元網路來強化翻譯的準確度,但當時並沒有進一步說明到底神經元網路做了什麼。今天在一場媒體說明會上,Google 翻譯產品經理 Julie Cattiau 為我們介紹了舊方法與新方法的分別。

以中文為例,以前是用單字的對照表的方式,透過比對一篇文件中,一個中文字出現的位置與英文字的對照,來產生出單字的意思。雖然說單字意思都對,但在語法上就會顯得不太自然,保留太多來源語言的句型結構。透過神經元網路的處理,Google 翻譯會以整句為單位做處理,不僅翻譯單詞,還要找到適當的目標語言句法結構,讓翻譯結果更自然。

然而,要訓練一個語言組(例如中文到英文)須要兩到三週的時間和上億組的範例,考慮到目前 Google 支援 103 種的語言,也就是超過 10,000 的語言組... 顯然持續的訓練是不可能的。這就是 Google 神經元網路第二個厲害的地方 -- Google 先嘗試以英文為媒介,訓練「英韓/韓英」和「英日/日英」的翻譯後,再把神經元網路合在一起,發現它自動就可以達成「日韓/韓日」間的翻譯。當然不是所有的語言都有這麼直接而相似的關係,但在進一步了解什麼語言與什麼語言更接近後,Google 就能找到更適當的路徑,在多種語言間轉換,減少訓練的麻煩。

Google 表示在由 0-6 的翻譯準確度量尺(0 為無法理解,6 為完全翻譯)上,改用神經元網路後,大部份的語言都獲得了 0.5 分的進步,甚至在特定組合(例如英/法)已經和人類不相上下。不過在中文翻譯上 Google 面臨的挑戰更大,特別是中文文字都是不斷的一長串,不像英文可以簡單地分成單字,所以在分數上還是比拉丁語系的低。但即便如此,神經元網路為中文「提高」的分數卻是比其他語言都要高,可見神經元網路套用在中文上是特別有效的啊!

Google 翻譯每月有超過五億的使用者,每秒完成 1000 億個字詞的翻譯(大概以網頁為主吧?)。在全球所有的使用者中,巴西是翻譯服務用最頻繁的(咦),但台灣是成長最快的市場之一,去年 iOS 上的使用量增加了 60%,而 Android 更是成長兩倍。目前 Google 翻譯已經在 41 個語言組中導入了神經元網路的技術,預計未來會再持續增加呢。