2018-04-17 / 尹相志
你必須知道的機(jī)器翻譯簡史
作者為Deepbelief人工智能科學(xué)家。2002年在中國臺灣創(chuàng)立臺灣第一個大數(shù)據(jù)公司“亞洲資采” 博鰲人工智能翻譯的“烏龍” 尋找新的“巴別塔” 《圣經(jīng)-舊約-創(chuàng)世紀(jì)》第11章記載,在大洪水退去后,這世界上的人類都是諾亞的子孫。大家說同樣的語言、用同樣的口音。那時人類開始通力合作,希望能夠建造名為巴別塔的通天之塔,這個舉動驚動了神,因此他讓全世界的人類開始有了不同的語言,從此人類再也無法齊心合作,讓造通天塔的計(jì)劃以失敗告終,語言差異也成為了人類溝通時最大的障礙。也許是血液中仍有想要重建巴別塔的夢想,因此翻譯就成為人類在過去千百年歷史不斷演進(jìn)的重點(diǎn)文化工程。 語言的隔閡并不是那么容易打破的,尤其是要跨語言來理解同樣的概念,人類歷史上第一次出現(xiàn)跨語言的平行語料,是制作于公元前196年的羅賽塔石碑(Rosetta Stone)上同時使用了古埃及文、古希臘文以及當(dāng)?shù)赝ㄋ孜淖?,來記載古埃及國王托勒密五世登基的詔書?;诠畔ED文的知識,語言學(xué)家可以很容易地根據(jù)這些平行語料理解原本艱澀難懂的古埃及文,這也是翻譯的重大里程碑。 機(jī)器翻譯進(jìn)化史 可能是神察覺有異,又對人類重建巴別塔的計(jì)劃潑了一桶冷水。1964年,美國科學(xué)院成立了語言自動處理咨詢委員會(Automatic Language Processing Advisory Committee,簡稱ALPAC委員會)。兩年后,在委員會提出的報(bào)告中認(rèn)為機(jī)器翻譯不值得繼續(xù)投入,因?yàn)檫@份報(bào)告,造成接下來的十來年中,美國的機(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)計(jì)數(shù)據(jù)來看,一共可能會有3600種講法,而且這個數(shù)字應(yīng)該還會隨時間增加,光一個概念如此簡單的句子就能有那么復(fù)雜的規(guī)則體系,若用到翻譯恐怕規(guī)則量會是個驚人的天文數(shù)字,因此基于規(guī)則的機(jī)器翻譯思路就成為了昨日黃花。 基于實(shí)例的機(jī)器翻譯(EBMT) 基于統(tǒng)計(jì)的機(jī)器翻譯(SBMT) 統(tǒng)計(jì)模型的思路是把翻譯當(dāng)成機(jī)率問題。原則上是需要利用平行語料,然后逐字進(jìn)行統(tǒng)計(jì),例如機(jī)器雖然不知道“知識”的英文是什么,但是在大多數(shù)的語料統(tǒng)計(jì)后,會發(fā)現(xiàn)只要有知識出現(xiàn)的句子,對應(yīng)的英文例句就會出現(xiàn)“knowledge”這個字,如此一來,即使不用人工維護(hù)詞典與文法規(guī)則,也能讓機(jī)器理解單詞的意思。 這個概念并不新,因?yàn)樽钤鏦arren Weave就提出過類似的概念,只不過那時并沒有足夠的平行語料以及限于當(dāng)時計(jì)算器的能力太弱,因此沒有付諸實(shí)行。現(xiàn)代的統(tǒng)計(jì)機(jī)器翻譯要從哪里去找來“現(xiàn)代的羅賽塔石碑”呢?最主要的來源其實(shí)是聯(lián)合國,因?yàn)槁?lián)合國的決議以及公告都會有各個會員國的語言版本,但除此之外,要自己制作平行語料,以現(xiàn)在人工翻譯的成本換算一下就會知道這成本高到驚人。 在過去十來年間,大家所熟悉的谷歌翻譯都是基于統(tǒng)計(jì)機(jī)器翻譯。聽到這,應(yīng)該大家就清楚統(tǒng)計(jì)翻譯模型是無法成就通天塔大業(yè)的。在各位的印象中,機(jī)器翻譯還只停留在“堪用”而非是“有用”的程度。但到了2014年,機(jī)器翻譯迎來了史上最革命的改變——“深度學(xué)習(xí)”來了! 神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯(NMT) 深度學(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ī)器翻譯下架,神經(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ì)機(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)在通用新聞報(bào)道測試集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ò),最終仍要參考地表上最聰明的生物,也就是身為人類的我們。 讓“松下問童子”的尷尬消失 同傳可以說是翻譯任務(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í)只有我們自己。如何善用人工智能成為自己的工具,把自己從無聊繁瑣的工作中抽身,這才是面對未來的正確姿勢。
|
|