作者為Deepbelief人工智能科學(xué)家。2002年在中國臺灣創(chuàng)立臺灣第一個大數(shù)據(jù)公司“亞洲資采”
博鰲人工智能翻譯的“烏龍”
?
?在今年的博鰲亞洲論壇中,除了主要議程外,最引人注目的熱點(diǎn)是首次引進(jìn)了人工智能同傳技術(shù)進(jìn)行會議中的實(shí)時翻譯。然而,理想很豐滿,但現(xiàn)實(shí)卻很骨感,人工智能同傳并沒有出現(xiàn)原先大肆宣稱的“讓同傳業(yè)界面對即將失業(yè)的威脅”,相反的,嚴(yán)重抽風(fēng)的翻譯結(jié)果,反倒讓相關(guān)從業(yè)人員松了口氣,看來這行飯還可以吃很久……
尋找新的“巴別塔”
?
下文會對這次烏龍失誤提供一些技術(shù)面的看法,但既然談到機(jī)器翻譯簡史,就讓我們先把“博鰲翻譯事件”擱一邊,先回溯至語言翻譯的起點(diǎn)——巴別塔。
《圣經(jīng)-舊約-創(chuàng)世紀(jì)》第11章記載,在大洪水退去后,這世界上的人類都是諾亞的子孫。大家說同樣的語言、用同樣的口音。那時人類開始通力合作,希望能夠建造名為巴別塔的通天之塔,這個舉動驚動了神,因此他讓全世界的人類開始有了不同的語言,從此人類再也無法齊心合作,讓造通天塔的計劃以失敗告終,語言差異也成為了人類溝通時最大的障礙。也許是血液中仍有想要重建巴別塔的夢想,因此翻譯就成為人類在過去千百年歷史不斷演進(jìn)的重點(diǎn)文化工程。
語言的隔閡并不是那么容易打破的,尤其是要跨語言來理解同樣的概念,人類歷史上第一次出現(xiàn)跨語言的平行語料,是制作于公元前196年的羅賽塔石碑(Rosetta Stone)上同時使用了古埃及文、古希臘文以及當(dāng)?shù)赝ㄋ孜淖?,來記載古埃及國王托勒密五世登基的詔書?;诠畔ED文的知識,語言學(xué)家可以很容易地根據(jù)這些平行語料理解原本艱澀難懂的古埃及文,這也是翻譯的重大里程碑。
機(jī)器翻譯進(jìn)化史
?
?
可能是神察覺有異,又對人類重建巴別塔的計劃潑了一桶冷水。1964年,美國科學(xué)院成立了語言自動處理咨詢委員會(Automatic Language Processing Advisory Committee,簡稱ALPAC委員會)。兩年后,在委員會提出的報告中認(rèn)為機(jī)器翻譯不值得繼續(xù)投入,因?yàn)檫@份報告,造成接下來的十來年中,美國的機(jī)器翻譯研究幾乎完全停滯空白。
從IBM的第一臺翻譯機(jī)誕生到20世紀(jì)80年代,那時的技術(shù)主流都是基于規(guī)則的機(jī)器翻譯,最常見的做法就是直接根據(jù)詞典逐字翻譯,雖然后來也有人倡議加入句法規(guī)則來修正,但是老實(shí)說,翻出來的結(jié)果都很令人沮喪,因?yàn)榭雌饋泶赖綐O點(diǎn),因此,到了80年代這樣的做法就銷聲匿跡了。
為何語言沒辦法套用規(guī)則?因?yàn)檎Z言是極其復(fù)雜且模糊的系統(tǒng),從字的歧義到各種修辭,根本不可能窮舉出所有規(guī)則。但有趣的是,不少現(xiàn)在近期投身于自然語言的新創(chuàng)公司,仍然很多企圖用窮舉規(guī)則來解決中文語義,總覺得自己的冰雪聰明能夠完全覆蓋語言規(guī)則體系,但這種想法鐵定會是以失敗告終的。
我在這舉個例子來說明為何規(guī)則是不可行的,先別提翻譯在兩個語言轉(zhuǎn)換的復(fù)雜性,光是從中文來說,“快遞送貨很快”這樣的概念你能想到多少種講法?10種?還是100種?在我們之前做過的自然語言統(tǒng)計數(shù)據(jù)來看,一共可能會有3600種講法,而且這個數(shù)字應(yīng)該還會隨時間增加,光一個概念如此簡單的句子就能有那么復(fù)雜的規(guī)則體系,若用到翻譯恐怕規(guī)則量會是個驚人的天文數(shù)字,因此基于規(guī)則的機(jī)器翻譯思路就成為了昨日黃花。
基于實(shí)例的機(jī)器翻譯(EBMT)
?
?在全世界都陷入機(jī)器翻譯低潮期,卻有一個國家對于機(jī)器翻譯有著強(qiáng)大的執(zhí)念,那就是日本。日本人的英文能力差舉世皆知,也因此對機(jī)器翻譯有強(qiáng)烈的剛需。日本京都大學(xué)的長尾真教授提出了基于實(shí)例的機(jī)器翻譯。也就是別再去想讓機(jī)器從無到有來翻譯,我們只要存上足夠多的例句,即使遇到不完全匹配的句子,我們也可以比對例句,只要替換不一樣的詞的翻譯就可以。這種天真的想法當(dāng)然沒有比基于的規(guī)則機(jī)器翻譯高明多少,所以并未引起風(fēng)潮。但是沒多久,人類重建巴別塔的希望似乎又重見曙光。
基于統(tǒng)計的機(jī)器翻譯(SBMT)
?
?引爆這波統(tǒng)計機(jī)器翻譯熱潮的還是IBM,在1993年發(fā)布的《機(jī)器翻譯的數(shù)學(xué)理論》論文中提出了由五種以詞為單位的統(tǒng)計模型,稱為“IBM模型1”到“IBM模型 5”。(好吧……技術(shù)人員真的不太愛花時間取個響亮的名字)。
統(tǒng)計模型的思路是把翻譯當(dāng)成機(jī)率問題。原則上是需要利用平行語料,然后逐字進(jìn)行統(tǒng)計,例如機(jī)器雖然不知道“知識”的英文是什么,但是在大多數(shù)的語料統(tǒng)計后,會發(fā)現(xiàn)只要有知識出現(xiàn)的句子,對應(yīng)的英文例句就會出現(xiàn)“knowledge”這個字,如此一來,即使不用人工維護(hù)詞典與文法規(guī)則,也能讓機(jī)器理解單詞的意思。
這個概念并不新,因?yàn)樽钤鏦arren Weave就提出過類似的概念,只不過那時并沒有足夠的平行語料以及限于當(dāng)時計算器的能力太弱,因此沒有付諸實(shí)行。現(xiàn)代的統(tǒng)計機(jī)器翻譯要從哪里去找來“現(xiàn)代的羅賽塔石碑”呢?最主要的來源其實(shí)是聯(lián)合國,因?yàn)槁?lián)合國的決議以及公告都會有各個會員國的語言版本,但除此之外,要自己制作平行語料,以現(xiàn)在人工翻譯的成本換算一下就會知道這成本高到驚人。
在過去十來年間,大家所熟悉的谷歌翻譯都是基于統(tǒng)計機(jī)器翻譯。聽到這,應(yīng)該大家就清楚統(tǒng)計翻譯模型是無法成就通天塔大業(yè)的。在各位的印象中,機(jī)器翻譯還只停留在“堪用”而非是“有用”的程度。但到了2014年,機(jī)器翻譯迎來了史上最革命的改變——“深度學(xué)習(xí)”來了!
神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯(NMT)
?
?神經(jīng)網(wǎng)絡(luò)并不是新東西,事實(shí)上神經(jīng)網(wǎng)絡(luò)發(fā)明已經(jīng)距今80多年了,但是自從2006年Geoffrey Hinton(即:深度學(xué)習(xí)三尊大神之首)改善了神經(jīng)網(wǎng)絡(luò)優(yōu)化過于緩慢的致命缺點(diǎn)后,深度學(xué)習(xí)就不斷地伴隨各種奇跡似的成果頻繁出現(xiàn)在我們的生活中。2015年,機(jī)器首次實(shí)現(xiàn)圖像識別超越人類;2016年,Alpha Go戰(zhàn)勝世界棋王;2017年,語音識別超過人類速記員;2018年,機(jī)器英文閱讀理解首次超越人類。當(dāng)然機(jī)器翻譯這個領(lǐng)域也因?yàn)橛辛松疃葘W(xué)習(xí)這個超級肥料而開始枝繁葉茂。
深度學(xué)習(xí)三大神中的Yoshua Bengio在2014年的論文中,首次奠定了深度學(xué)習(xí)技術(shù)用于機(jī)器翻譯的基本架構(gòu),他主要是使用基于序列的遞歸神經(jīng)網(wǎng)絡(luò)(RNN),讓機(jī)器可以自動捕捉句子間的單詞特征,進(jìn)而能夠自動書寫為另一種語言的翻譯結(jié)果。此文一出,谷歌如獲至寶,很快地,在谷歌供應(yīng)充足火藥以及大神的加持之下,谷歌于2016年正式宣布將所有統(tǒng)計機(jī)器翻譯下架,神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯上位,成為現(xiàn)代機(jī)器翻譯的絕對主流。
谷歌的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯最大的特色是加入了注意力機(jī)制(attention),注意力機(jī)制其實(shí)就是在模擬人類翻譯時,會先用眼睛掃過一遍,然后會挑出幾個重點(diǎn)字來確認(rèn)語義的過程,果然有了注意力機(jī)制加持后威力大增。谷歌宣稱,在“英—法”,“英—中”,“英—西”等多個語對中,錯誤率跟之前的統(tǒng)計機(jī)器翻譯系統(tǒng)相比降低了60%(可見之前問題多大)。
神經(jīng)網(wǎng)絡(luò)雖然可以根據(jù)現(xiàn)有的平行語料學(xué)習(xí),理解句中細(xì)微的語言特征,但是它并非完美無缺,最大的問題來自于需要大量的語料以及它如黑盒子般的難以理解,也就是說,就算出了錯也無從改起,只能夠供應(yīng)更多的正確語料來讓“深度學(xué)習(xí)”改正。也因此同樣一個句型,卻可以有截然不同的翻譯結(jié)果。(看看下圖的三個翻譯的例子,希望這只是谷歌內(nèi)部的政治正確……)
今年2月,微軟讓機(jī)器語言理解超越人類后馬上又有新舉措,3月14日,微軟亞洲研究院與雷德蒙研究院的研究人員宣布,其研發(fā)的機(jī)器翻譯系統(tǒng)在通用新聞報道測試集newstest2017的中英翻譯測試集上,達(dá)到了可與人工翻譯媲美的水平。這自然是神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯的一大勝利,當(dāng)然在架構(gòu)上也有了不少創(chuàng)新,其中最值得注意的是加入了對偶學(xué)習(xí)(dual learning)以及推敲網(wǎng)絡(luò)(Deliberation Networks)。
對偶學(xué)習(xí)要解決平行語料有限的問題,一般來說深度學(xué)習(xí)必須同時要提供給機(jī)器答案,這樣機(jī)器才能夠根據(jù)它的翻譯結(jié)果與答案間的差異持續(xù)修正改進(jìn)。
如果沒有足夠的平行語料,那機(jī)器該如何學(xué)習(xí)翻譯呢?對偶學(xué)習(xí)給了個有趣的想法,以中英文翻譯為例,那就直接把一個中翻英模型與英翻中模型銬在一起,一個中文句子先透過中翻英轉(zhuǎn)換為英文,然后再把這句英文送進(jìn)英翻中轉(zhuǎn)換為中文,這時候只要兩個模型齊心協(xié)力,讓最終句子的中文輸出與原來輸入的中文句子相同,就表示兩個翻譯器都有正確的翻譯能力。也因此,只要用平行語料訓(xùn)練有基本翻譯能力的兩個模型,接下來這兩個模型就能夠讓對偶學(xué)習(xí)在沒有平行語料的條件下持續(xù)精進(jìn)。
至于推敲網(wǎng)絡(luò)也是模仿人類翻譯的過程,通常人工翻譯會先做一次粗略的翻譯,然后再將內(nèi)容調(diào)整為精確的二次翻譯結(jié)果,其實(shí)各位可以發(fā)現(xiàn)不管再聰明的神經(jīng)網(wǎng)絡(luò),最終仍要參考地表上最聰明的生物,也就是身為人類的我們。
讓“松下問童子”的尷尬消失
?
?機(jī)器翻譯的發(fā)展并不意味著未來翻譯界人士將會沒有飯吃了。可以注意到的是,微軟發(fā)布會曾強(qiáng)調(diào)“通用新聞報道測試集newstest2017”的“中英翻譯測試集”上,數(shù)據(jù)集表現(xiàn)好未必能與通用性劃上等號,這也就可以說明為何騰訊翻譯君明明平??诒诲e,但是為何在博鰲同傳卻表現(xiàn)失準(zhǔn)。
同傳可以說是翻譯任務(wù)的頂點(diǎn),除了要有正確聽力理解原句,還要在有限的時間內(nèi)轉(zhuǎn)換為其他語言,而且別忘了講者不會給翻譯任何等待的時間,所以等于語音識別與機(jī)器翻譯必須同步處理,再加上現(xiàn)場雜音、講者的表達(dá)方式、語氣詞感嘆詞等等干擾因素都有可能會造成機(jī)器的誤判。
就筆者看來,騰訊翻譯君,可被指責(zé)的點(diǎn)可能只是不夠用功,沒有把關(guān)鍵的專有名詞錄入,這才會發(fā)生“一條公路和一條腰帶”這種“經(jīng)典錯誤”。
但是撇開同傳,我用很經(jīng)典的一個案例來測試谷歌翻譯、騰訊翻譯君、有道翻譯官以及彩云小譯,用了一句唐詩“松下問童子”。各位可以看到錯誤最明顯的是谷歌,它翻譯成了“松下電器問了童子”,而從翻譯結(jié)果來看,騰訊翻譯君與彩云小譯都完全正確,有道翻譯官只說對了一半,所以騰訊的翻譯能力還是在業(yè)界水平之上的。
從這里也可以看到一個有趣的差異,為何西方機(jī)器翻譯錯得離譜,但是本國的機(jī)器翻譯卻幾乎都能掌握原意?這是因?yàn)?/span>語言不能脫離人類的使用場景而存在,即我們語文學(xué)習(xí)中常強(qiáng)調(diào)的上下文(context),這來自于我們過去的文化、過去共有的記憶所構(gòu)成的,沒讀過唐詩的谷歌自然無法理解這句詩的精髓。語言會是人工智能時代人類最后的壁壘,因?yàn)檎Z言會因人類的使用不斷地發(fā)生變化,這是機(jī)器很難完美替代的。
隨著技術(shù)進(jìn)步,終有一天,機(jī)器翻譯會從“堪用”變成“有用”,再進(jìn)化至“好用”,但就如同我過去幾篇文章的論點(diǎn)一樣,機(jī)器不會搶了人類的工作,能讓人類失業(yè)的其實(shí)只有我們自己。如何善用人工智能成為自己的工具,把自己從無聊繁瑣的工作中抽身,這才是面對未來的正確姿勢。
延伸閱讀:機(jī)器翻譯的流程(原理)
目前最重要的兩種機(jī)器翻譯方式:規(guī)則法和統(tǒng)計法
2. 統(tǒng)計法 (statistical machine translation, SMT):通過對大量的平行語料進(jìn)行統(tǒng)計分析,構(gòu)建統(tǒng)計翻譯模型(詞匯、比對或是語言模式),進(jìn)而使用此模型進(jìn)行翻譯,一般會選取統(tǒng)計中出現(xiàn)概率最高的詞條作為翻譯,概率算法依據(jù)貝葉斯定理。假設(shè)要把一個英語句子A翻譯成漢語,所有漢語句子B,都是A的可能或是非可能的潛在翻譯。Pr(A)是類似A表達(dá)出現(xiàn)的概率,Pr(B|A)是A翻譯成B出現(xiàn)的概率。找到兩個參數(shù)的最大值,就能縮小句子及其對應(yīng)翻譯檢索的范圍,從而找出最合適的翻譯。
SMT根據(jù)文本分析程度級別的不同分為兩種:基于詞的SMT和基于短語的SMT,后一個是目前普遍使用的,Google用的就是這種。翻譯文本被自動分為固定長度的詞語序列,再對各詞語序列在語料庫里進(jìn)行統(tǒng)計分析,以查找到出現(xiàn)對應(yīng)概率最高的翻譯?!舅?,不要嫌棄谷歌翻譯啦,如果不是依托于它自己強(qiáng)大的搜索引擎,能獲取相對數(shù)量的語料庫,翻譯的質(zhì)量可能更糟,可以對比必應(yīng)和百度。非在線的開源機(jī)器翻譯也有做得很棒的,多也是使用的統(tǒng)計法模式。
聯(lián)系客服