機器翻譯(Machine Translation)想必是大家最耳熟能詳的人工智慧應用之一了,它不僅是計算語言學(Computational Linguistics)的瑰寶,同時也是居家旅行的必需品。雖然機翻已可滿足一些簡單的應用情景,但是它有時犯起蠢來還真是讓人哭笑不得。
這不,前段日子,小編的朋友圈裡就刷起了「谷歌翻譯眼中的大學排名」:
清華大學:我可能是個假 Tsinghua???
交大老學長:機器翻譯還是 too young, too simple, sometimes nave!
也許是因為谷歌不太了解中國的大學?然而,麻省理工也難逃谷歌翻譯愚蠢的執念:
-
MIT:確認過眼神,是我的「不如」!
(以上截圖均在2018年4月8號,此bug現已被修復了。)
實際上,在谷歌翻譯的「排行」下,除了名校,各家科技公司也都遭到了不同程度的「不公對待」!
無獨有偶,在前兩周的博鰲亞洲論壇上,本想著靠「AI同傳」(人工智慧同聲傳譯)大放異彩的某訊,卻也鬧出了不少烏龍:
「AI同傳」 崩潰後的翻譯效果
這,究竟是「人工」的毀滅,還是「智能」的淪喪?! 今天,午餐君就帶你一起走進科學計算語言學,了解下機器翻譯的前世今生!
下文約 2500 字,預計閱讀時間為 5 分鐘。
序曲(1930-1950)
機器翻譯的雛形最早可以追溯到1933年,一位蘇聯科學家利用卡片、打字機和舊式膠片相機發明了一個簡易的機械式翻譯器。然而,這個發明並沒有引起任何人的注意,也沒有留下實物或照片。
1946年,第一臺電子計算機 ENIAC 誕生之後,美國科學家 Warren Weaver 就開始思考如何更好地利用計算機「為人民服務」。圖靈在二戰期間利用機器破譯密文的事跡給了他機器翻譯的靈感:翻譯也可以看成是一種編碼和解碼的過程!
當我看到俄文文章,我說「它就是以英語寫成,只是被古怪符號加密而已。現在我要破解密碼。」
—— Warren Weaver(1947)
恰逢冷戰初期,翻譯外文(尤其是俄文)的情報與文獻是美國的一個剛性需求。在政治與科技的歷史進程的雙重推動之下,1949年,Warren 正式在《翻譯備忘錄》中提出機器翻譯的思想。1954年,美國 Georgetown-IBM 實驗室成功利用 IBM 701 計算機將60句俄文句子翻譯成了英文。
某種程度上,這標誌著人類重新開始了建造巴比塔之路。
巴別塔:《舊約·創世記》記載,當時人類聯合起來興建能通往天堂的高塔;為了阻止人類的計劃,上帝迫使人類說不同的語言,使其不能互相溝通。建造高塔的計劃因此失敗,人類自此說著不同的語言,各散東西。這座沒有完成的塔被叫做「巴別塔」,「巴別」意為「上帝之門」。
機器翻譯的此後70年的發展,大體可分為四大階段:基於規則的機器翻譯(Rule-Based Machine Translation, RBMT)、基於例句的機器翻譯(Example-Based Machine Translation, EBMT)、統計機器翻譯(Statitical Machine Translation, SMT)、神經機器翻譯(Neural Machine Translation, NMT)。
前世 · RBMT (1950 ~ 1980)
最容易被大家想到的一種翻譯方法就是先根據雙語詞典(Bilingual Dictionary),將原句逐詞翻譯,再根據目標語言的特性調整每個詞的形態,最後通過各種規則來限制最後的翻譯結果。沒錯! 這種以詞為基本單位的翻譯方法,被稱為直譯法(Direct Machine Translation)。
顯然,這種直譯方案有著諸多劣勢:
1)一詞多義時,無法選擇更符合語境的含義;
2)需要人工來制定每個詞相應的規則,這是一個浩大的工程;
3)沒能充分利用兩個語言的固定語法結構來進行翻譯;
4)難以擴展到多語言(當你有n個語言需要互相翻譯時,需要對多達 n*(n-1)/2個 語言對 分別制定規則)。
為了試圖解決這些問題,科學家們先後又提出了以句法結構為著眼點的遷移式機器翻譯(Transfer Machine Translation) 和 基於中間語的機器翻譯(Interlingua Machine Translation)。然而,這些嘗試耗費了巨大的人力、物力去構建規則,卻收效甚微。
依靠人來編寫無窮無盡的語法規則去消解歧義,不僅耗費了時間和精力,當時的計算機能力也無法完成有效的搜索。因此,機器翻譯的效果只能在天氣預報這種非常專業化且格式化的文本上才有所價值,因為歧義較少。
1966年,美國科學院成立了自動語言處理諮詢委員會 (Automatic Language Processing Advisory Committee),並發布了名為《語言與機器》的報告,徹底否定了機器翻譯的研究價值,認為人類在有限的未來裡不可能發明具有實際價值的機器翻譯系統。機器翻譯一度陷入泥沼,進入低潮期。
儘管被宣判了死刑,機器翻譯的客觀需求卻仍然隨著全球化的進程日益增長。信息技術的發展不斷將整個世界變得越來越小,不同語言的人在網絡上進行信息交互也越來越頻繁。廢棄的巴別塔下,人越來越多了!
工業界、政府又慢慢開始與大學合作,開發出了多款翻譯軟體,如 Weinder、EURPOTRAA、TAUM-METEO,重新帶動了機器翻譯的熱潮。
前世 · EBMT (1980 ~ 1990)
技術方面的靈光乍現來自於日本京都大學。由於日語結構和英語差異非常顯著,使得基於人工編寫規則的方法在日英互譯時困難重重。1984年,京都大學前校長 長尾真 另闢蹊徑:為什麼我們不充分利用已有的人工翻譯好的雙語例句呢? 當我們要翻譯一個新句子的時候,在雙語例句庫裡找到和它最像的一句,然後利用機器找出有差異的局部、翻譯局部、填回結果,不就可以了嗎?
利用第一行的例句進行對第二句英文的翻譯
這種基於例句的思想,在實踐中被證明是非常有效的!當例句庫越大,翻譯的效果自然也就越準確、越自然。這是因為翻譯出來的句子的整體結構是來自於人類翻譯的結果,機器翻譯系統所做的只是修改局部以貼合新句子語義。
這一想法,直接啟發了後來的一批學者,並順利將機器翻譯的研究過渡到了下一個時期,也是機器翻譯最為輝煌的時期,SMT!
前世 · SMT (1990 ~ 2015)
基於短語的統計機器翻譯(SMT)充分發揚了 長尾真 提出的EBMT的觀點,它的核心邏輯是:如果我有兩種翻譯的選擇,就選那種在雙語語料庫(也常稱為平行語料庫,parallel corpora)中出現可能性更大的那個,因為這意味著它更符合人類的語言習慣。
那麼,如何衡量一種翻譯在語料庫中存在可能性呢?首先我們需要把「翻譯」這個複雜的過程,分解成一系列的更簡單的過程:
1) 把原句切分成一系列的小塊 (chunk)
2) 然後找到每一塊對應的候選翻譯集合
3) 生成所有候選句子
(注意,此時可以考慮不同的順序)
4) 算出每一句出現的概率,選擇最大的。
基於短語的模型(n-gram)保證了局部翻譯的一致性,也降低了平行語料庫中「對齊」(alignment)的需求。我們也放棄了所有的語言學知識,一切的「規則」 都是從海量的平行語料中自動計算得來的。
相反,如果在SMT模型中,我們試圖強行引入語法規則,常常會降低模型的效果。這也就是為什麼 統計自然語言處理 (Statistical NLP) 先驅 Fred Jelinek 熱衷於調侃語言學家了。
我每開除一名語言學家,我的模型準確率就提升一個百分點。
—— Fred Jelinek
2005年,Franz Och 領導的 Google 團隊在美國國家標準與技術研究(NIST)舉辦的機器翻譯大賽中獲得了大滿貫。這標誌著SMT的絕對勝利,也讓 Google 在機器翻譯領域成為了新的帶頭羊,以領先的技術和免費的優勢,佔據了絕對的主導地位。
今生 · NMT (2015 ~ 現在)
從2013年開始,機器學習(Machine Learning)的學者圈子裡有一些人開始將關注點轉向人工神經網絡(Artificial Neural Networks)、深度學習(Deep Learning)等。(關於機器學習,可以參考《你好,機器作詩了解一下》 。)
與此同時,詞嵌入(Word Embedding)的詞語表徵方式也隨著 word2vec 的發布,流行了起來。詞嵌入技術使得很多自然語言處理的問題可以用神經網絡來解決。機器翻譯作為自然語言處理和計算語言學的瑰寶,自然也是備受關注!
2014年,Kyunghyun Cho 等人開始利用循環神經網絡(Recurrent Neural Networks)加強SMT的效果 ,開啟了神經機器翻譯(NMT)的時代(三年多的時間他們的第一篇NMT論文已經有 2300+ 的引用量了)。
不久,序列到序列(seq-to-seq)模型成為了NMT的主要框架。敏銳的 Google 非常迅速地跟進了這個方向,提出了 GNMT (Google Neural Machine Translation),並融合進了其產品線。
一個有注意力機制的序列到序列模型
(Attentional Seq2Seq Model)
從圖中可以看出來,NMT模型是迭代地產生翻譯結果的:先將原句進行理解(編碼,encode),然後根據相關的局部信息動態翻譯(解碼,decode)出對應的詞彙。在整個過程中,沒有直接出現統計學相關的計算,而是靠神經網絡的結構來進行推理。
2017年,Facebook、 Google、Microsoft 在 NMT 這個領域都頻繁提出自己的新模型,競爭非常激烈。最前沿的研究開始把目光放在如何降低對平行語料庫的依賴,從而在沒有平行語料庫的情況下仍然能夠訓練 NMT 模型。
總結與展望
當然,任何一個成熟的機器翻譯工業產品都不可能只靠一種模型,而應該是多種策略的組合。開頭提到的谷歌翻譯的關於「不如」的 bug,看起來像是 Google 的NMT 模型由於周圍語境的影響導致的。但是,Google 能夠迅速修補這個bug,就說明它的系統中應該也有類似基於規則的成分,所以才能根據需要如此靈活地調節模型。不過,具體為何產生這樣的 bug,恐怕只有 Google 的相關工作人員才更清楚了。「解釋性差」也正是人們最常批評 NMT 的原因之一了。
機器翻譯相關的研究一直以來都是推動計算語言學發展的最主要的動力之一,這四個階段的發展與計算語言學整體的走向也是一脈相承。儘管機器翻譯有時的效果不盡如人意,但是忽視或否認它所帶來的積極作用是不明智的。
在2013年的科幻電影《雪國列車》裡,同傳機器還被想像成是未來的高端科技,而2018年的今天,市面上就已經有多家可以滿足旅遊中常見需求的隨身翻譯機。
《雪國列車》中的同傳機器
某隨身翻譯器的demo
(為避免廣告嫌疑,選用了某國外產品在日本的測評視頻。
國內產品也有很多測評視頻可以在視頻網址上搜到。)
會場的演講實時翻譯、在屏幕上實時打出另一個語言的字幕也快成為了AI領域發布會的標配了。基於計算語言學現在的發展速度和上升空間,相信未來會有更出色、更穩定的應用。