技術(shù)宅


很多經(jīng)常查找外文資料的朋友都會用到谷歌、百度的在線翻譯功能,這其實就是機(jī)器翻譯的一種典型應(yīng)用(圖1)。
不過由于機(jī)器翻譯只是簡單地對單詞進(jìn)行機(jī)械翻譯,因此很多時候翻譯的結(jié)果并不讓人滿意。因為在實際生活中,很多語句翻譯還要結(jié)合上下文、語氣、語境等綜合因素進(jìn)行,這樣才能獲得更為準(zhǔn)確的翻譯結(jié)果。
為了讓機(jī)器翻譯的結(jié)果更為準(zhǔn)確,相應(yīng)的技術(shù)不斷更新。早期主要應(yīng)用的是基于規(guī)則的技術(shù),就是為機(jī)器配置一些簡單的規(guī)則,比如名詞以特定的后綴-heit、-keit、-ung等結(jié)尾,然后機(jī)器根據(jù)這些規(guī)則進(jìn)行機(jī)械翻譯。之后隨著語音識別、DNN(深度神經(jīng)網(wǎng)絡(luò))技術(shù)的快速發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的機(jī)器翻譯技術(shù)逐漸成為主流。微信翻譯目前使用的是“神經(jīng)機(jī)器翻譯”(NeuralMachine Translation,以下簡稱NMT)技術(shù),它就是基于神經(jīng)網(wǎng)絡(luò)的翻譯技術(shù)(圖2)。


NMT是怎樣翻譯的呢?為什么這次微信翻譯會出現(xiàn)如此大的差錯?
NMT和傳統(tǒng)的基于規(guī)則的翻譯技術(shù)不同,它不是一次翻譯一個單詞的破碎句子,而是使用大型人工神經(jīng)網(wǎng)絡(luò)計算單詞序列的概率,將完整的句子放辦P個集成模型中,從而實現(xiàn)更高質(zhì)量的翻譯。
NMT在一定程度上模仿人腦的思維方式,當(dāng)我們輸入一句需要翻譯的語句時,NMT首先會根據(jù)一個單詞在整個句子(可以是長句)當(dāng)中的語境,為這個單詞建立一個神經(jīng)網(wǎng)絡(luò)的模型,形成一個語義表示。舉個例子,我們輸入的是“dog”這個單詞,那么NMT會先把它理解為“狗”。但是如果我們輸入的是一句話,如“一條狗生下了小狗”,那么NMT就會根據(jù)單詞在句子甚至段落的語境中,將模型重新轉(zhuǎn)換成另一種語言。比如在法語的語境中,狗默認(rèn)是“l(fā)echien”,但是在上述語境中,顯然前一個“狗”指的是狗媽媽,因此這里的“狗”就會被翻譯成代表“女性”的“l(fā)a chienne”(圖3)。
既然NMT是基于神經(jīng)網(wǎng)絡(luò)的技術(shù),那么就離不開模型和算法。為了讓NMT學(xué)會翻譯各種語句,科學(xué)家們會先制定一個模型,然后輸入海量數(shù)據(jù)給NMT訓(xùn)練,通過大量的數(shù)據(jù)訓(xùn)練,并且結(jié)合NMT自主學(xué)習(xí),最終形成一套算法。這套算法部署到服務(wù)器后,當(dāng)用戶輸入特定的語句時,服務(wù)器在后臺就會根據(jù)算法進(jìn)行翻譯,結(jié)合上下文語境,將最佳的翻譯結(jié)果輸出到屏幕顯示(圖4)。
這次微信翻譯出現(xiàn)異常,原因可能出現(xiàn)在訓(xùn)練數(shù)據(jù)上,因為這次用戶輸入的只是一句類似“you playbasketball like zhangsan?”的句子。在這個翻譯場景中,類似人名“zhangsan”是一個不常見的單詞,它既沒有出現(xiàn)在任何一本英語辭典當(dāng)中,看上去跟句子的上下文也沒什么關(guān)系。可以說NMT在之前的訓(xùn)練中可能并沒有接觸過這樣的數(shù)據(jù),因此微信翻譯服務(wù)器在接到類似的語句輸入時,NMT就只能根據(jù)算法將最優(yōu)的翻譯結(jié)果推送給用戶,從而出現(xiàn)文章前面所說的翻譯Bug(圖5)。
不過根據(jù)NMT的翻譯機(jī)制,上述Bug的出現(xiàn)還可能是其他原因?qū)е碌摹1热鏸J I}練集噪音,微信翻譯團(tuán)隊人員可能使用生成對抗攻擊的方式訓(xùn)練,在訓(xùn)練中手動加入噪音,這樣在翻譯中會主動對類似的翻譯結(jié)果進(jìn)行糾錯的操作,最終卻干擾了翻譯結(jié)果。也有可能是學(xué)習(xí)錯誤導(dǎo)致的,比如領(lǐng)域不匹配,這次語句出現(xiàn)匕asketball,而微信翻譯的訓(xùn)練數(shù)據(jù)集可能沒有籃球領(lǐng)域,或者跟籃球有關(guān)的非常少,導(dǎo)致NMT無法精準(zhǔn)識別,從而翻譯效果欠佳。
因此從嚴(yán)格意義上說,這次Bug并不能讓微信翻譯團(tuán)隊背鍋,這是由于NMT翻譯機(jī)制導(dǎo)致的,其他使用NMT技術(shù)翻譯的產(chǎn)品也會出現(xiàn)類似的錯誤。

這次微信翻譯的Bug在網(wǎng)上弄得沸沸揚(yáng)揚(yáng),從上面的描述我們知道,原因并非出在微信身上。這次Bug并不影響NMT技術(shù)給我們帶來的便利,隨著NMT得到更廣泛的應(yīng)用,它必定會給我們的生活帶來更多便利。
舉例來說,通過使用NMT技術(shù),我們可以和全球任何人進(jìn)行互動,這在全球一體化的今天具有很大的現(xiàn)實意義,比如很多網(wǎng)店商家,借助NMT就可以和全球客戶進(jìn)行交流。NMT在多語言同聲翻譯中的應(yīng)用,則給大家和不同國家的同事之間交流帶來方便。基于NMT和語音識別開發(fā),在2018年博鰲論壇擔(dān)任同聲傳譯的騰訊同傳,就讓參加會議的各國朋友在第一時間“聽”懂和“看”懂了主持人發(fā)言(圖6)。