你每天會打開多少次翻譯類的軟體?就像個人電腦和智慧型手機的出現顛覆了人們的工作方式一樣,當在線翻譯工具出現後,那些厚厚的大部頭詞典也被大眾永遠的扔到了故紙堆中。
如果說在國內,有道、百度還可以在機器翻譯市場比競爭對手多一個身位的話,那麼縱觀全球,谷歌翻譯(Google Translate)絕對是毫無爭議的龍頭霸主。截至2020年6月,谷歌翻譯共支持109種不同的語言,每天5億多用戶總共貢獻1,500億個字詞的天量翻譯。
谷歌翻譯的進化
2006年4月28日,谷歌翻譯的統計機器翻譯(Statistical Machine Translation,SMT)服務推出,利用聯合國和歐洲議會的文件和筆錄收集語言數據。它不是直接翻譯語言,而是先將文本翻譯成英文,然後轉譯到目標語言。
但因為準確度的問題,谷歌翻譯曾多次受到批評和嘲笑,據測算,不同語言之間的準確度差異也很大。所以,在2016年11月,谷歌宣布,谷歌翻譯將改用神經機器翻譯引擎——谷歌神經機器翻譯(Google Neural Machine Translation,GNMT),它可以「一次翻譯整句,而不是逐句翻譯」,使之更像人類說話時的正確語法。
既然GNMT是通過應用基於實例的的機器翻譯方法來改進翻譯質量,那麼系統就需要會從數百萬個乃至更多的示例中學習,從這些來源中推斷出最相關的翻譯,然後將結果重新排列並組成基於符合人類語言的語法翻譯。
這也就意味著,當GNMT進行學習時,需要目標語言有大量文本數據。而事實也的確如此,2016年,谷歌翻譯的其中八種語言開始嘗試使用此系統,包括英語,法語,德語,西班牙語,葡萄牙語,中文,日語,韓語和土耳其語。這些都是使用人口眾多的大眾語言。
但直到最近,即使是支撐谷歌翻譯的最先進算法的表現也落後於人類,谷歌的Masakhane 項目就說明了這個問題的嚴重性。該項目旨在將非洲大陸數千種語言自動翻譯成可翻譯的語言,但該項目還沒有跨越數據收集和轉錄的階段。而開發開源 Firefox 瀏覽器的非營利組織 Mozilla發布了全球最大的人類語音數據集Common Voice,其自2017年6月推出以來也只審核了40種語音。
那麼問題就來了,對於那些沒有大量書面文本數據的語言,如何做到翻譯的「信達雅」呢?
在谷歌即將發表的一篇博文中,詳細介紹了一些新的創新,這些創新可以讓包括約魯巴語(Yoruba)和馬來亞拉姆語(Malayalam)這樣十分冷門的語言翻譯變得更加準確到位,改善使用這些語言的用戶的體驗。
谷歌表示,其翻譯突破並非由單一技術驅動,而是針對少文本資源語言、富文本資源語言、總體質量、延遲和整體推理速度的技術組合。在2019年5月至2020年5月期間,根據人類評價和BLEU(一種基於系統翻譯和人類參考翻譯之間的相似度的衡量標準)來衡量,谷歌翻譯在所有語言中平均提高了5分或更多,在50種文本資源最少的語言中平均提高了7分或更多。
混合模型和數據挖掘
第一種技術是一個翻譯模型架構,這是一個由Transformer編碼器和遞歸神經網絡(RNN)解碼器組成的混合架構,在Lingvo(一種用於序列建模的TensorFlow框架)中實現。
在機器翻譯中,編碼器通常將單詞和短語編碼為內部表示形式,然後由解碼器來生成所需語言的文本。谷歌旗下的研究人員在2017年首次提出的基於Transformer的模型,在這方面顯然比RNN更有效,但谷歌表示,它的研究表明,大部分的質量提升只來自於Transformer的一個組成部分——編碼器。
這或許是因為,雖然RNN和Transformer都是為了處理有序的數據序列而設計的,但Transformer並不要求按順序處理。換句話說,如果所涉及的數據是自然語言,Transformer就不需要按照先處理句的開頭再處理結尾的順序進行。
儘管如此,RNN解碼器在推理時仍然比Transformer內部的解碼器「快得多」。認識到這一點,谷歌翻譯團隊在將RNN解碼器與Transformer編碼器耦合之前,對RNN解碼器進行了優化,以創建低延遲的混合模型,這種混合模型的翻譯質量更高,而且比它們所取代的四年前基於 RNN 的神經機器翻譯模型更穩定。
除了新穎的混合模型架構外,谷歌還升級了幾十年前的爬蟲。這種基於字典的老爬蟲是用來從文章、書籍、文檔和網絡搜索結果中的數百萬例翻譯中編譯訓練體例庫。
但新的抓取器則是基於嵌入的14種大型語言對,它使用實數矢量來表示單詞和短語,這意味著更注重精度(檢索數據中相關數據的比例),而不是召回率(實際檢索到的相關數據總量的比例)。谷歌表示,在生產中,這讓抓取器提取的句子數量平均增加了29%。
噪聲數據與遷移學習
翻譯性能提升的另一個因素在於一種能更好地處理訓練數據中的噪聲的建模方法。由於觀察到噪聲數據(噪聲數據指有大量信息無法被正確理解或解釋的數據)會傷害到數據豐富的語言翻譯,谷歌翻譯團隊部署了一個系統,該系統使用基於噪聲數據訓練且被「清潔」數據優化的模型為示例分配分數。
因為機器翻譯傳統上依賴於源語言和目標語言中成對句子的語料庫統計。所以,在少文本資源語言方面,谷歌在谷歌翻譯中實現了一種回譯方案,即把A語言翻譯成B語言,然後在脫離A語言影響的基礎上,再把B語言翻譯成A語言,這樣它增強了並行訓練數據的能力。
在這個方案中,訓練數據與合成並行數據自動對齊,這樣,目標文本是自然語言,而源文本由神經翻譯模型生成。其結果是,谷歌翻譯利用更豐富的單語文本數據來訓練模型,谷歌認為這對於提高流暢度特別有幫助。
Translate現在還利用了M4模型,即一個可以在多種語言和英語之間進行翻譯的單一巨型模型。(M4模型是在去年的一篇論文中首次提出的,該論文證明,在對100多種語言的250多億句子對進行訓練後,M4模型提高了30多種少文本資源語言的翻譯質量)。
M4 模型使谷歌翻譯中的轉移學習成為可能,因此,通過對法語、德語和西班牙語等富文本資源語言的訓練所收集的見解可以應用到少文本資源語言的翻譯中。
展望未來
根據谷歌的說法,自2010年以來,谷歌翻譯每年至少提高了1個BLEU點,但自動機器翻譯絕不是做到了盡善盡美。谷歌承認,即使它的增強型模型也會出現錯誤,包括混淆不同語言的方言、產生過於直白的翻譯以及在特定類型的主題和非正式語言或口語上表現不佳。
如今,這家科技巨頭正試圖通過各種方式來解決這個問題,包括通過其谷歌翻譯社區(Google Translate Community)——一個遊戲化的項目,招募志願者通過翻譯單詞和短語或檢查翻譯是否正確,來幫助機器提高翻譯少文本資源語言的質量。就在今年2月份,該計劃與新興的機器學習技術相結合,在翻譯中增加了五種語言——盧安達語、奧裡亞語、韃靼語、土庫曼語和維吾爾語,這些語言共有7,500萬人使用。
而在追求通用翻譯的路上,谷歌也並不孤單。2018 年 8 月,Facebook 披露了一個 AI 模型,該模型採用了逐字翻譯、語言模型和回譯相結合的方式,超越了語言配對系統。最近,麻省理工學院計算機科學與人工智慧實驗室(CSAL)的研究人員展示了一個無監督模型,該模型可以在不需要兩種語言之間直接翻譯數據的條件下,就隊兩種語言的文本進行相互翻譯。
在一份聲明中,谷歌深情地表示,它對學術界和工業界的機器翻譯研究表示感謝,其中一些研究為其自身的工作提供了參考。「我們通過綜合和擴展最近的各種進展,實現了谷歌翻譯最新的改進,」該公司表示。「有了這次更新,我們很自豪地說,即使是對109種支持的語言中文本資源最少的語言,谷歌翻譯也能提供相對連貫的自動翻譯。」
參考資料:
[1]https://venturebeat.com/2020/06/03/how-googleis-using-emerging-ai-techniques-to-improve-language-translation-quality/
[2]https://www.wikiwand.com/en/Google_Translate#/Supported_languages
[3]https://docs.google.com/spreadsheets/d/1fJQLMj8O5z3Q7eKDxi1tNNrFipiEL0UDyaEF0fleZ54/edit?pli=1#gid=0
[4]https://www.wikiwand.com/en/Statistical_machine_translation
[5]https://www.wikiwand.com/en/Google_Neural_Machine_Translation