機器翻譯的前世今生
根據聖經舊約《創世紀》中的記載,大洪水劫後,諾亞的子孫們在巴比倫附近的示拿地定居。說著同樣語言的人類聯合起來興建巴別塔,這讓上帝深為他們的虛榮和傲慢而震怒。於是他悄悄地離開天國來到人間,變亂了人類的語言,無法交流的人們做鳥獸散,巴別塔的偉念也就轟然倒塌。
聖經中對語言誕生的描述充滿了天譴的色彩,雖然事實根本就不是這麼回事,但語言的差異的的確確給人類的溝通與交流平添了諸多隔閡。難道偉大的巴別塔註定只是存在於幻想之中的空中樓閣嗎?
令人沮喪的是,眼下這個問題的答案還是「是」。但在世界首台計算機 ENIAC 於 1946 年誕生後,科學家們就提出了利用計算機實現不同語言之間的自動翻譯的想法。而在經歷了超過一個甲子的歲月後,機器翻譯已經取得了長足的進展,今天的執牛耳者則無疑是互聯網巨頭谷歌。
機器翻譯源於對自然語言的處理。1949 年,洛克菲勒基金會的科學家沃倫·韋弗提出了利用計算機實現不同語言的自動翻譯的想法,並且得到了學術界和產業界的廣泛支持。韋弗的觀點也代表了當時學術界的主流意見,就是以逐字對應的方法實現機器翻譯。
語言作為信息的載體,其本質可以被視為一套編碼與解碼系統,只不過這套系統的作用對象是客觀世界與人類社會。將字 / 詞看成構成語言的基本元素的話,每一種語言就都可以解構為所有字 / 片語成的集合。而引入中介語言可以把所有語言的編碼統一成為用於機器翻譯的中間層,進而實現翻譯。比方說,同樣是「自己」這個概念,在漢字中用「我」來表示,在英語中則用「I」來表示,機器翻譯的作用就是在「我」和「I」這兩個不同語言中的基本元素之間架起一座橋樑,實現準確的對應。
然而樂觀和熱情不能左右現實存在的客觀阻力。今天看來,這樣的一一對應未免過於簡單。同一個詞可能存在多種意義,在不同的語言環境下也具有不同的表達效果,逐字對應的翻譯在意義單一的專業術語上能有較好的表現,但在日常生活的複雜語言中就會演化為一場災難。
但天無絕人之路,進入二十世紀七十年代後,全球化浪潮的出現催生了客觀需求,計算機性能的發展則突破了技術瓶頸,這兩點讓機器翻譯重新回到人們的視野之中。這一時期的機器翻譯有了全新的理論基礎:語言學巨擘諾姆·喬姆斯基在其經典著作《句法結構》(Syntactic Structures)中對語言的內涵做了深入的闡述,他的核心觀點是語言的基本元素並非字詞,而是句子,一種語言中無限的句子可以由有限的規則推導出來。
語言學的進化也對機器翻譯的方法論產生了根本性的影響:韋弗推崇的基於字 / 詞的字典匹配方法被推翻,基於規則的句法分析方法粉墨登場。這裡的「規則」指的是句法結構與語序特點。顯然,基於規則的機器翻譯更貼近於人類的思考方式,也就是把一個句子視為整體,即使進行拆分也並不簡單地依賴字詞,而是根據邏輯關係進行處理。這使得人類翻譯非常靈活,即使是不服從語法規則,甚至存在語病的句子都可以翻譯得準確無誤。
正因如此,基於規則的機器翻譯甫一誕生便受到眾多推崇,似乎成為一勞永逸的不二法門。可理想雖然豐滿,現實卻依然骨感。基於句法規則的機器翻譯也很快遇到了新問題:在面對多樣句法的句子中,並沒有比它的字詞前任優秀多少,任何一款翻譯軟體都沒法把「我勒個去」翻譯成「Oh my God」。
基於規則的窘境迫使研究者們重新思考機器翻譯的原則。語言的形成過程是自底向上的過程,語法規則並不是在語言誕生之前預先設計出來的,而是在語言的進化過程中不斷形成的。這促使 機器翻譯從基於規則的方法走向基於實例的方法:既然人類可以從已有語言中提取規則,機器為什麼不能呢?眼下,基於深度學習和海量數據的統計機器翻譯已是業界主流,谷歌正是這個領域的領頭羊與先行者。
在基於神經機器翻譯(Google Neural Machine Translation)的演算法橫空出世之前,谷歌翻譯也經歷了超過十年的蟄伏。自 2001 年誕生後,谷歌翻譯就一直在不溫不火的狀態中掙扎。直到痛定思痛的高層變換思路,將技術團隊中的主要力量從原本的語言學家替換為計算機科學家。這意味著 機器翻譯的實現理念從句法結構與語序特點的規則化解構轉換為對大量平行語料的統計分析構建模型,曙光才出現在地平線上。
神經機器翻譯最主要的特點是整體處理,也就是將整個句子視作翻譯單元,對句子中的每一部分進行帶有邏輯的關聯翻譯,翻譯每個字詞時都包含著整句話的邏輯。用一個不甚恰當的類比來描述:如果說基於短語的翻譯結果是庖丁解牛得到的全牛宴,神經機器翻譯的結果就是最大程度保持原貌的烤全牛。
在結構上,谷歌的神經機器翻譯建立了由長短期記憶層構成了分別用於編碼和解碼的遞歸神經網路,並引入了注意力機制和殘差連接,讓翻譯的速度和準確度都能達到用戶的要求。編碼器和解碼器都由 8 個長短期記憶層構成,兩個網路中不同的長短期記憶層以殘差連接。編碼器網路的最底層和解碼器網路的最頂層則通過注意力模塊進行連接,其作用在於使解碼器網路在解碼過程中分別關注輸入語句的不同部分。
在輸出端,解碼器網路選擇一個使特定目標函數最大化的序列作為翻譯的輸出。谷歌採用波束搜索技術來選取最優的輸出序列,並使用覆蓋率懲罰和長度正則化來優化搜索過程。覆蓋率懲罰的作用是保證輸入語句中每個部分都有對應的輸出結果,避免漏譯情況的發生;長度正則化則可以控制輸出語句的長度:如果沒有這一處理,解碼器網路將優先選擇較短的序列作為輸出。
出於效率的考慮,神經機器翻譯同時使用了數據並行計算和模型並行計算。數據並行計算的作用在於並行訓練模型的多個副本,模型並行計算的作用則在於提升每個副本中梯度計算的速度。此外,谷歌還在精確性和速度之間做出了一些折中,利用量化推斷技術降低算術計算的精確性,以換取運行速度的大幅度提升。
在提出神經機器翻譯僅僅兩個月後,谷歌又提出了「零知識翻譯」的概念。這一系統在前文系統的基礎上更進一步,只用一套模型便可以實現 103 種不同語言的互譯,這無疑意味著系統通用性的極大提升:一個神經網路以任何語言作為輸入並轉換成任何輸出語言,而不需要任意輸入 - 輸出語言之間的兩兩配對。換言之,谷歌實現了一把解鎖不同語言的萬能鑰匙,這一通用的解決方案對機器翻譯而言無疑具有里程碑式的意義。
這一多語種互譯系統是對原始系統改進的結果:它並未修改基礎系統的模型架構,而是在輸入語句之前人為地添加標誌以確定翻譯的目標語言。通過共享同一個詞胞數據集,這一單個模型就能夠在不添加額外參數的前提下實現多語種的高質量互譯。
雖然在模型訓練的過程中不可能將每種語言都納入資料庫,但互譯系統可以通過特定的「橋接」操作實現對在訓練過程中沒有明確遇見過的語言對之間的互相翻譯,這也就是「零知識翻譯」的含義。
零知識翻譯的實現要歸功於神經網路的遷移學習特性。「橋接」操作即是在兩種陌生的語言中引入一種其他語言作為中介,用英文「橋接」起西班牙文和葡萄牙文的互譯意味著現將輸入的西班牙文翻譯為英文,再將英文的中間結果轉譯為葡萄牙文。這種方式無疑會使翻譯的時間翻倍,而額外的轉譯過程也可能造成原意的偏離。但它的優勢同樣明顯,那就是無需對兩種陌生語言進行訓練。要知道,如果對任意兩種語言構成的輸入 - 輸出對進行訓練,要訓練的模型數目將達到 $100 ^ 2 = 10000$ 的級別;而對所有語言的翻譯使用英語作為中介的話,要訓練的模型數目將只有 $100 imes 2 = 200$,後者在工程上實現的難度顯然遠遠小於前者。
除了在實際翻譯中的應用,零知識翻譯還提供了關於語言本身更深層次上的洞見,系統是否自行生成了一種語義表徵體系?語言和文字本身就可以視為對客觀世界進行編碼的系統。而在轉譯的過程中,神經網路並非簡單地記憶不同短語之間的映射關係,而是直接對句子的語義進行重新編碼。這套由神經網路自主研發的語義系統被谷歌稱為「國際通用語」(interlingua)。某種意義上講,這才是真正的「世界語」,而這一現象對未來語言學發展的影響同樣值得關注。
雖然谷歌在機器翻譯領域取得了令人側目的成就,但實話實說,機器翻譯的準確率依然處在較低的水平上,甚至經常出現一些令人啼笑皆非的結果。但它代表的是人類相互尊重、相互理解的熱切渴求。有了海量的數據和先進的演算法,這些曾經遙遠的願景與渴求正在變得觸手可及。
作者簡介
王天一,北京郵電大學工學博士,貴州大學大數據與信息工程學院副教授,貴州省 3D 數字醫療學會會員。在讀期間主要研究方向為連續變數量子通信理論與系統,主持並參與多項國家級 / 省部級科研項目,以第一作者身份發表 SCI 論文 5 篇。
目前主要研究方向為大數據與人工智慧,研究內容包括以物聯網為基礎的大數據應用及神經網路與機器學習。除技術領域外,對人工智慧的發展方向與未來趨勢亦有深入思考,著有《人工智慧革命》一書。
來源:極客時間專欄《人工智慧基礎課》


TAG:ServiceHot |