機器翻譯會迫使翻譯們?nèi)I(yè)嗎?
“熟讀唐詩三百首,不會作詩也會吟”。見識海量范文之后的機器真的可以通過“暴力學(xué)習(xí)”來取代人類的工作嗎?實際上,優(yōu)秀的譯文應(yīng)該具有靈活性和創(chuàng)造性,寄望于通過“大數(shù)據(jù)統(tǒng)計”路線來推進機器翻譯的想法是不能指望的,因為這種翻譯過程不包括對語句內(nèi)容及其所屬的言語行為的理解,這一重大缺陷也不能通過對該技術(shù)的改進而克服。
撰文 王培(美國天普大學(xué)計算機與信息科學(xué)系)
最近谷歌漢譯英改用了神經(jīng)網(wǎng)絡(luò)技術(shù)。做了測試的人們有兩點共識,一是譯文質(zhì)量比以前的技術(shù)要好很多,二是離人的翻譯水平還差得很遠。有趣的是,在此基礎(chǔ)上專家們對機器翻譯的前景卻有截然相反的估計。樂觀主義者認(rèn)為,照這個速度發(fā)展下去,機器早晚會接管所有翻譯工作;悲觀主義者則認(rèn)為,根據(jù)機器翻譯所暴露的缺陷可以看出,這個技術(shù)再怎么發(fā)展也有好多因素是沒辦法掌握的。
這讓我們想起了“半瓶水”既可以說成“半滿”也可以說成“半空”。一般說來,對于一個正在發(fā)展中的技術(shù)而言,兩種說法都有道理:一方面,現(xiàn)存一些缺陷是會被該技術(shù)的進一步發(fā)展所彌補的;但另一方面,任何一個技術(shù)都有其根本局限,所以不是所有的問題都一定會在這個技術(shù)的框架中被解決。要預(yù)測機器翻譯的發(fā)展空間,必須具體分析現(xiàn)有技術(shù)對翻譯過程的刻畫。
機器翻譯的流派
參考資料[1]介紹了機器翻譯領(lǐng)域及其中的主要技術(shù)流派。翻譯是人工智能研究中最早被考慮到的實際應(yīng)用之一。在人們發(fā)現(xiàn)計算機可以被用來對語言進行編碼處理以后,很快就有人想到可以用它來進行翻譯工作。和人工智能的其它子領(lǐng)域相似,這里的故事也是跌宕起伏。
在開始時,受當(dāng)時語言學(xué)界主流(喬姆斯基理論)的影響,機器翻譯主要走的是“基于規(guī)則”的路線。簡而言之,這就是為每種語言整理出一本“詞典”和一本“語法書”,然后在兩種語言之間建立詞和句子的水平上的對應(yīng)關(guān)系。以英譯中為例,這樣一個翻譯過程對每個英文句子進行下列處理:
(1)分析其語法結(jié)構(gòu)以及其中每個詞的角色(主語、謂語、賓語等等)。在這個過程中,主要考慮詞類(名詞、動詞、形容詞等等),而不考慮每個詞的意思。
(2)分析其語義,即把句中英語詞匯及其語法關(guān)系表示成獨立于語言的概念關(guān)系。
(3)把這些概念關(guān)系用漢語重新表達出來。
在這些步驟中所遵循的規(guī)則都是語言學(xué)家所總結(jié)出來的。盡管語言學(xué)家和人工智能工作者付出了巨大的努力,這條路徑并沒有導(dǎo)致預(yù)想的進展并達到實用水平。這主要是因為人類的語言,即所謂“自然語言”,實在是太復(fù)雜了。和人工構(gòu)造的數(shù)學(xué)語言或計算機語言不同,自然語言的使用非常靈活,其結(jié)果是幾乎所有語法規(guī)則均有例外,幾乎所有的詞匯都有多個意義,因而不同語言的語句或詞匯之間也就不存在符合規(guī)則的對應(yīng)關(guān)系。
部分地出于對“基于規(guī)則”的方案的失望,自然語言處理研究者們逐漸轉(zhuǎn)向了“基于統(tǒng)計”的路線。這個辦法是把大量的實際出現(xiàn)的語句整理成“語料庫”,然后用統(tǒng)計的辦法來發(fā)現(xiàn)其中的某些規(guī)律性,比如說詞與詞之間的相繼頻率(如在“這”之后“是”出現(xiàn)的概率)或可替換性(如把語料庫里句子中的“狗”換成“貓”后,有多少結(jié)果還在語料庫中)。以此來實現(xiàn)語句預(yù)測、補全、糾錯等功能。把統(tǒng)計方法用到機器翻譯當(dāng)中,就是用大量的已有翻譯范文(比如聯(lián)合國文件)為訓(xùn)練數(shù)據(jù)來生成一個翻譯系統(tǒng)。這種翻譯技術(shù)直接在兩個語言的詞句之間建立對應(yīng)關(guān)系,而在此過程當(dāng)中不依賴于人工整理的語法規(guī)則和詞典。當(dāng)然,這個辦法要求的數(shù)據(jù)量和計算量都非常大,但這些現(xiàn)在已不是不可滿足的。
谷歌的神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng)是統(tǒng)計方法的一種具體的實現(xiàn)方式。下面這個出自谷歌網(wǎng)站的動圖簡單表示了這個系統(tǒng)將一個中文句子翻譯成英語的過程。首先,一個“編碼網(wǎng)絡(luò)”將逐字加長的輸入字串表示成一系列數(shù)值向量。然后一個“解碼網(wǎng)絡(luò)”依照這些向量逐詞生成一個英語句子。在解碼過程中,系統(tǒng)對各個向量的“關(guān)注”程度是不同的,這就表現(xiàn)為兩個網(wǎng)絡(luò)節(jié)點之間的連線有濃有淡,而且隨翻譯的進展而改變。
這兩個神經(jīng)網(wǎng)絡(luò)都是用大量語料訓(xùn)練出來的,即通過反復(fù)調(diào)整參數(shù),它們“記住了”這兩種語言各語句之間的對應(yīng)關(guān)系,并可以據(jù)此推廣到以前沒見過的句子。對每個輸入語句,系統(tǒng)實際上是在計算不同輸出語句的概率,并最終選取可能性最高的那個。參考資料[2]是谷歌團隊關(guān)于這個系統(tǒng)工作原理的技術(shù)報告。和以往同樣基于統(tǒng)計的翻譯系統(tǒng)來比,這個系統(tǒng)的優(yōu)勢之一就是把“短語到短語”的翻譯拓展到“句子到句子”的翻譯,因此改善了譯文的可讀性。另一個創(chuàng)新是把沒見過的詞切分成片段,因此可以根據(jù)其前后綴、詞根等來決定如何翻譯。
最近,谷歌翻譯團隊又取得了新進展。現(xiàn)在同一個翻譯模型可以處理多語種,并實現(xiàn)了一定程度的“遷移學(xué)習(xí)”。比如說該模型的訓(xùn)練語料是在英語-日語之間和英語-韓語之間,但訓(xùn)練完成后可以被用于日語-韓語之間的翻譯,盡管該模型從未被直接在這兩個語言之間被訓(xùn)練過。這種功能被稱作“零數(shù)據(jù)”(zero-shot)翻譯,但這個說法有誤導(dǎo)之嫌,因為翻譯仍然是基于海量數(shù)據(jù)的,盡管不是直接關(guān)于某次翻譯所涉及的兩種語言間的對應(yīng)關(guān)系。
統(tǒng)計翻譯能走多遠
對不關(guān)心技術(shù)細節(jié)的讀者,我們只需說統(tǒng)計翻譯的基本思路是“照貓畫虎”,即把每句話按照最接近、最常見的方式處理,正所謂“熟讀唐詩三百首,不會作詩也會吟”。在系統(tǒng)見識了海量范文之后,用這個辦法的確可以完成大量翻譯工作。隨著語料的積累、算法的優(yōu)化、硬件性能的提高等可以預(yù)見到的進展,機器翻譯的能力必定會進一步提高。
但這不意味著統(tǒng)計翻譯可以完全取代人的翻譯工作。具體到谷歌神經(jīng)網(wǎng)絡(luò)翻譯來說,下面兩個基本預(yù)設(shè)其實就劃出了這個技術(shù)的邊界:(1)“翻譯是把一種語言中的語句對應(yīng)到另一種語言中的語句”;(2)“在諸個可能的翻譯結(jié)果中,選擇那個在訓(xùn)練語料中最常出現(xiàn)的”。
這兩個預(yù)設(shè)對簡單翻譯任務(wù)來說是合理的,但翻譯活動中的很多其它因素被完全忽略了,例如背景知識、上下文、作者(說者)的意圖、讀者(聽者)的接受能力、文體的一貫性、情感色彩等等。在任何需要考慮這些因素的場合,神經(jīng)網(wǎng)絡(luò)翻譯的局限性就暴露出來了。
這些局限性是不能被神經(jīng)網(wǎng)絡(luò)翻譯的進展所克服的,因為它們來自這個技術(shù)的基本前提,而否定了這些前提的發(fā)展就不能再算是這個技術(shù)的發(fā)展,而應(yīng)當(dāng)說是另一個技術(shù)了。某些小改動可以緩解一些困難,如對訓(xùn)練樣本加標(biāo)記,把翻譯單位從單句擴大到多句等等,但這些都不足以徹底解決問題。神經(jīng)網(wǎng)絡(luò)翻譯的上述問題可以總結(jié)為一點:這種翻譯過程沒有包括對語句內(nèi)容及其所屬的言語行為的理解。
翻譯和理解
這就扯出個大麻煩來:怎么才算“理解”?對這個概念不同的人顯然有不同的理解。谷歌翻譯團隊就說,既然他們的模型可以把一句話翻譯成多種語言,這就說明該模型真正理解了這句話的含義。這個標(biāo)準(zhǔn)對人說來是足夠好了,但人工智能的歷史說明了對人合適的標(biāo)準(zhǔn)對機器未必合適。如果某系統(tǒng)對一句話的翻譯很準(zhǔn)確,但既不能回答有關(guān)的簡單問題,也不能以此影響自己的行為,那說它“理解了這句話”就很牽強。
本文不試圖對“理解”這個概念做全面、深入的分析,而希望通過兩個簡單的例子說明統(tǒng)計翻譯的局限性。這兩個不恰當(dāng)?shù)拿~翻譯我以前都提到過。
在《人工智能危險嗎?》中,我提到阿西莫夫的“Three Laws of Robotics”應(yīng)當(dāng)譯作“機器人三律令”而非“機器人三定律”,因為這里的“l(fā)aw”更接近于康德的“道德律令”,而完全不像牛頓的“三大定律”。譯成“定律”會使有些讀者誤以為它們是所有機器人都必然會遵循的法則,而根據(jù)阿西莫夫的本意,它們是機器人的設(shè)計者強加的約束,因此完全可能被修改甚至背離。實際上阿西莫夫在他的后期作品中又加了一條更根本的律令作為對那三條的修正。
在《圖靈測試是人工智能的標(biāo)準(zhǔn)嗎?》中,我提到“chatbot”應(yīng)當(dāng)譯作“聊天程序”而非“聊天機器人”。這個英文單詞是由“chat”(“聊天”)和“robot”(“機器人”)的后半部分組成,所以譯作“聊天機器人”不是毫無來歷??偟膩碚f,“bot”是指和機器人有一些相似的“擬人”程序,但在英文中沒人會把“chatbot”誤解為一種“robot”,而在中文中,“聊天機器人”完全可能被誤解成“機器人”的一種。隨著把“bot”譯作“機器人”成為時尚,后者將不再特指與通用計算機相區(qū)別的專用計算裝置。這就是為什么“實體機器人”、“物理機器人”等說法開始出現(xiàn),以強調(diào)它們和純軟件的差別。實際上更好的選擇是保留“機器人”一詞的“實體”、“專用硬件”的本意,而用其它詞匯稱呼擬人化的程序,因為這些程序和其它程序的區(qū)別并不明晰,而且在所有重要的意思上(商業(yè)宣傳除外)都沒有理由被稱為“機器人”。
上述例子說明,在翻譯過程中的候選對象常常是需要從多個方面比較和斟酌的,而絕不僅僅是算出現(xiàn)概率這么直截了當(dāng)。盡管“約定俗成”的確是翻譯的一個重要原則,但絕不是唯一的原則。實際上“具體情況具體分析”應(yīng)當(dāng)被看作一個更重要的原則。這就是說要試圖把握要翻譯的內(nèi)容“在此時此地”是什么意思,而不僅僅是它“在一般情況下”是什么意思。優(yōu)秀的譯文應(yīng)該具有靈活性和創(chuàng)造性,而這不是“統(tǒng)計路線”所能提供的。
第三條路線
我前面提到的問題遠非鮮為人知,而是更接近于有目共睹。但是,除非有更好的技術(shù)出現(xiàn),對這些問題人們除了容忍或抱怨也沒什么好辦法。
現(xiàn)在大部分研究者仍是希望在“統(tǒng)計路線”的內(nèi)部解決自然語言處理問題。出于前面解釋的理由,我對此不抱希望。統(tǒng)計技術(shù)的確能給我們相對簡單的自然語言處理工具,但這些工具的局限性也是命中注定的。
另一個顯而易見的可能性是在自然語言處理中把“基于統(tǒng)計”的技術(shù)和“基于規(guī)則”的技術(shù)相結(jié)合。這條路線會取得一定的進展,但仍不可能徹底解決這兩個技術(shù)的基本設(shè)定中的“先天缺陷”,更不要說還要解決使二者相互協(xié)調(diào)的難題。
我自己的研究目標(biāo)是建立一個通用智能系統(tǒng)(見《你這是什么邏輯?》等專欄文章),這自然就涉及到自然語言的處理。因為在我的系統(tǒng)中自然語言的作用不是核心性的,而是邊緣性的(盡管也很重要),這方面的具體工作近年來才剛剛開始。我的基本想法和初步結(jié)果在參考文獻[3]中有介紹。在這里只把和前述兩條路線的主要不同點列出來:
不把“自然語言處理”作為一個相對獨立的功能模塊,而是作為系統(tǒng)的推理和學(xué)習(xí)機制對言語經(jīng)驗的加工。這就是說對語言材料的處理和對其它材料(感知、運動、概念等等)的處理是基本一樣的。
不循“語法-語義-語用”的次序進行語言理解,而是反過來以“目標(biāo)制導(dǎo)”的方式分析意義(見《“意思”是什么意思?》),并用語法知識協(xié)助復(fù)雜意義的分析。
不假定一個獨立、完整、確定的語法系統(tǒng),而是允許語法知識、語義知識、語用知識混合存在于各個不同的抽象水平上的概念之中,并主要靠系統(tǒng)自身從經(jīng)驗中習(xí)得這些知識。
所有知識,包括語言知識,都只是一定程度上為“真”(見《證實、證偽、證明、證據(jù):何以為“證”?》),但知識的習(xí)得和使用更接近于推理,而不是統(tǒng)計。
這條路線在語言學(xué)中更接近于“認(rèn)知語言學(xué)”的傳統(tǒng)。盡管目前我們的結(jié)果還沒到能實際應(yīng)用的程度,但有理由認(rèn)為這條路線有可能在自然語言處理上(包括翻譯)走得更遠,因為它更接近人學(xué)習(xí)和使用語言的實際過程。具體到翻譯來說,這就要求系統(tǒng)通過學(xué)習(xí)掌握詞語的一般譯法,但在翻譯過程中考慮到前述那些被統(tǒng)計翻譯所忽略的因素,通過推理來確定每句話應(yīng)該怎么譯。在這個過程中,“理解”體現(xiàn)為把翻譯內(nèi)容與系統(tǒng)的概念系統(tǒng)相聯(lián)系,尤其是找到其“前因后果”,即作者(說者)為什么要這么寫(說),并以此希望在讀者(聽者)心中產(chǎn)生什么效果。以這種“理解”為基礎(chǔ),系統(tǒng)試圖用另一種語言實現(xiàn)盡可能類似的效果。這種對翻譯的理解和“規(guī)則路線”與“統(tǒng)計路線”均有根本不同。
但縱使是這條路線取得了完全的成功,也不會使得所有的翻譯失業(yè)。像我在《計算機將擁有『常識』?還有很多關(guān)要闖》中所解釋的那樣,即便一個計算機系統(tǒng)具有了通用智能,它的經(jīng)驗也不會和人的完全一樣,因此它的概念和信念不會有和人一樣的內(nèi)容。這種差異必定會體現(xiàn)在翻譯作品之中。對某些材料(如文學(xué)作品),我們大概還是喜歡人的翻譯,盡管機器翻譯可能也不錯。這就像外國人學(xué)中文很難完全達到中國人的水平(中國人學(xué)外文也同樣),因為到后來差異主要是來自于經(jīng)歷和文化,而不是語言知識和技巧。這類差異可不是靠智力可以彌補的。
總而言之,計算機系統(tǒng)會逐漸越來越多地接管翻譯們的工作,但不會在這個領(lǐng)域里完全取代人。實際上這個結(jié)論可以推廣到很多其它領(lǐng)域。人工智能必定會造成就業(yè)結(jié)構(gòu)的重大調(diào)整,但在那些密切依賴人類經(jīng)驗的領(lǐng)域,機器是不會完全取代人的。
參考資料
[1] Yorick Wilks, Machine Translation: Its Scope and Limits, 2009th edition, Springer, 2008
[2] Yonghui Wu, et al., Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation, arXiv:1609.08144[cs.CL], 2016
[3] Pei Wang, Natural Language Processing by Reasoning and Learning, in Proceedings of the Sixth Conference on Artificial General Intelligence, pages 160-169, 2013