不知何方閒人,發現在Google Translate鍵入「China breaks promise」(中國違反諾言),就會譯成「中國信守諾言」,而「US breaks promise」則正確譯出「美國違約」。本港有IT專家指出,Google Translate透過「機器學習」翻譯,從網上擷取資料,建構模型,「如果有某一國家/某種語言嘅媒體,經常都將China breaks promise翻譯做『中國信守諾言』並放上網,咁久而久之,Google Translate就會中伏。」更有人懷疑Google跟中共勾結,刻意製造誤譯。
我自己做了些測試,也向機器學習專家請教,相信問題沒那麼簡單。我把China和US改為人名,發現「Xi Jinping breaks promise」也會譯成「習近平信守諾言」,而「Trump breaks promise」則譯成「特朗普違背諾言」。驟眼看來,Google Translate似變成指鹿為馬的文妓,但進一步測試就發現事情複雜得多。
在「breaks promise」前,我用英文輸入不同名字,如拜登、毛主席、鄧小平、愛因斯坦、耶穌和撒旦,翻譯都完全正確;輸入奧巴馬和普京,結果就跟習近平一樣,都把「breaks promise」誤譯成「信守諾言」。若是人為陰謀,何以奧巴馬和拜登的結果會相反?更少人留意的是,錯譯只限繁體中文,簡體翻譯都是正確的,包括「習近平违反诺言」。(補充:執筆期間我多番測試,最後發現繁體誤譯已修正了。)
要弄懂Google何以出錯,須明白一點它的原理,即「神經機器翻譯」(neural machine translation),簡稱NMT。NMT通過一條複雜數學方程式,按照某些參數,把輸入的字符串(原文)轉化為另一字符串(譯文)輸出,而改良參數的方法,是靠人類餵予海量平行語料,讓機器進行千百萬次訓練。由於系統太複雜,訓練材料太多,人類根本無法理解它的深層數據——這才是AI「邪惡」之處。
以「breaks promise」句子為例,機器根本不理解意思,但只要輸入資料有輕微變化,就會大大干擾結果。「信守諾言」跟「違反諾言」對人類來說,完全相反,但NMT可能歸為同類,位置非常接近,於是機器便會誤中副車,犯下人類覺得無比荒謬的錯誤。順帶一提,輸入「Carrie Lam Cheng Yuet-ngor breaks promise」,Google會譯成「林鄭月娥信誓旦旦」,繁簡皆然。NMT連習近平也沒授予這四字成語,全世界似乎只有林鄭獨享殊榮,恭喜恭喜,你又考第一了!