機器只會逐字逐句翻譯很蠢?谷歌給出了調教方案

機器只會逐字逐句翻譯很蠢?谷歌給出了調教方案
機器只會逐字逐句翻譯很蠢?谷歌給出了調教方案

只讓機器以句子為單位分析,還是不夠。

機器只會逐字逐句翻譯很蠢?谷歌給出了調教方案
機器只會逐字逐句翻譯很蠢?谷歌給出了調教方案

自從人工智能火起來之後,除了翻譯從業者之外,人類一直期待翻譯被人工智能替代的一天。

機器學習在翻譯領域確實很有用,但是它也有一些弱點,或者說不那麼容易解決的難題。讓你印象最深刻的,大概是他們並不是在翻譯句子或者文章,而是在翻譯詞語,即便現在翻譯軟件越發智能,但他們逐字逐句翻譯的傾向依然存在。這是目前的翻譯模型存在的一個明顯弊端。

據Techcrunch報導,最近,谷歌的技術團隊寫了一篇非常詳細的博文去分析該問題的細節,而且給出了自己的解決方案。這篇文章的作者是谷歌自然語言處理部門的Jakob Uszkoreit。

我們先來看看下面這個這兩個句子:

I arrived at the bank after crossing the street.

I arrived at the bank after crossing the river.

在英文裡面,bank作為名詞,有銀行、岸、儲庫和淺灘等意思,在上面兩個句子中,它很有可能不是同一個意思。假若讓算法順著一字一句翻譯下來,它很有可能會選了一個錯的詞——因為即便是人類,如果你不讀到最後,你是不會知道bank在這裡是什麼意思的。

這種模棱兩可的情況俯拾皆是。對於人類而言,我們讀完之後可能會在腦子裡面重寫了一下句子,比如把前提條件或者先發生的事情放到前面去,也就是將After從句提前。如果機器也能這麼機智,它就不僅僅是智能了,而是“人工”了。還有一種方法,就是讓機器翻譯完之後,自己檢查一遍有沒有錯,如果就重新再翻譯一遍,然後再檢查——光是听就覺得,要將神經網絡調成這種思維模式,它會變得很低效。

谷歌用的解決方法叫注意力機制(attention mechanism),其將這個機制內嵌在一套叫變形器(Transformer)的系統當中。系統會拿句子中的每一個單詞跟其他單詞對照,看看其中一個會不會影響到另一個——比如究竟是“他(he)”還是“她(she)”在講話,或者像上面的句子中的“bank”究竟是什麼意思。

氪星讀者們可以藉助以下動圖來意會一下:

機器只會逐字逐句翻譯很蠢?谷歌給出了調教方案
機器只會逐字逐句翻譯很蠢?谷歌給出了調教方案

想到將這種方法用在翻譯上的,不僅是谷歌,還有一家名為 DeepL 的翻譯公司。他們的創始人同樣非常專注於研究這個領域,而且也提到過谷歌這篇博文引用的論文。更重要的是,它可能比谷歌的還好用。

理科生可能會發現,這個方法可能會造成一個副作用。由於算法會讓系統去檢查每一個詞跟其他幾個詞之間的關係強弱,並給強弱關係打分,現實中很可能會出現以下情況:

在上面的句子中,它(it)究竟是指動物(animal),還是指那條街(street)呢?好像兩者都可以誒,原來生活中語意不明指代不明的情況經常存在。要知道答案,可能還要根據上下文,也許只讓機器以句子為單位分析,還是不夠。這讓我莫名想起了一個段子:

在家的女朋友打電話給對正在加班的程序員說:“下班回家買一個西瓜。如果在路上看到有包子,買兩個。”
邏輯超強的程序員果然在路上看到了有包子賣,結果他買回了兩個西瓜……
看來人工智能跟程序員一樣,要好好調教調教。

原創文章,作者:盧曉明。轉載或內容合作請聯繫zhuanzai@36kr.com;違規轉載法律必究。
尋求報導請加微信:report36Kr02。