為什麼Google翻譯只重演算法不重語言學的語法結構和規則

更準確地說,Google翻譯是基於統計的,演算法只重統計。因為刻畫語法結構和規則同樣要靠演算法。

實際上,早期的一些翻譯系統正是基於語言學的語法和規則的。後來在實踐中,發現這一方法有兩個缺陷:

  1. 和人工語言不同,自然語言是逐漸發展起來的,保存了很多歷時的演變,因此,自然語言的規則基本上總是有例外,然後這些例外本身也可能有例外。當翻譯系統的演算法試圖包括所有的規則、規則的例外、例外的例外的時候,翻譯質量就一發不可收拾了。
  2. 不同語言有不同的語法和規則。基於語法和規則的系統,新加入一門語言的成本比較高,或者說,擴展性較差。

而基於統計或者說機器學習的演算法則不然。基於統計的翻譯系統通過分析大量的語料(原文和譯文),直接學習翻譯(規則隱含在機器學習的過程)。

因此,基於機器學習的翻譯系統,不需要顯示地定義所有的規則、規則的例外、例外的例外,給它更多的語料,它能自動學習翻譯的各種邊角情況,不斷提高自身的翻譯質量。只要語料充足,加入一門新語言也不成問題。是不是很神奇?

實際上,Google翻譯的神奇之處不僅如此。Google翻譯支持100多種語言,排列組合一下 ,支持的語言之間的翻譯達到上萬種組合。這就是2016年末Google翻譯實現的新模型,可以接受任何語言作為輸入,然後將其翻譯成任何語言。

這一做法改善了翻譯的質量(因為某些翻譯組合的譯文語料可能不如其他組合充足),同時允許翻譯沒有見過譯文語料的組合,也就是所謂的零樣本翻譯(Zero-Shot Translation)。

具體來說,Google使用的是Seq2Seq(序列到序列)模型,包含一個處理輸入的編碼RNN(循環神經網路)和一個生成輸出的解碼RNN。編碼RNN和解碼RNN中間有8層LSTM-RNN網路,層間有殘差連接。詳見Google發表的論文Google"s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation (arXiv:1609.08144)


推薦閱讀:
相關文章