0
本文作者: 三川 | 2017-04-20 18:08 | 專題:Facebook F8大會 |
該講座主題為 Facebook 機器翻譯的兩代架構(gòu)以及技術(shù)挑戰(zhàn)。
雷鋒網(wǎng)消息:在昨日的 F8 會場,該講座吸引了眾多開發(fā)者到場,主講者是 Facebook 語言翻譯部門技術(shù)負責人 Necip Fazil Ayan。
Necip Fazil Ayan 首先介紹了 Facebook 翻譯業(yè)務(wù)的使命和愿景,以及對機器翻譯的應(yīng)用。
Necip Fazil Ayan:Facebook 希望推動建立一個真正的全球社區(qū),即“連接世界”:每個人都能與全世界任意國家的人、任意語言內(nèi)容自如交互。翻譯,便是其中最關(guān)鍵的一環(huán)。
使命:通過打破語言障礙,讓世界更開放、更緊密聯(lián)結(jié)。
愿景:每一名用戶都能用其語言無障礙的使用 Facebook。
有兩種途徑。
“See translation”:當 Facebook 系統(tǒng)判斷用戶無法理解某個帖子時,便提供“翻譯”選項。
系統(tǒng)判斷的依據(jù)很簡單:對貼子的語言識別和對用戶的語言預(yù)測。
“Auto translation”: 當系統(tǒng)判斷翻譯質(zhì)量很高時,會自動顯示翻譯結(jié)果,而不是原始語言。 這背后,是 Facebook 對平臺上的每一條翻譯都計算 confidence score(置信度),并據(jù)此預(yù)估翻譯質(zhì)量。這靠另一個單獨的機器學習模型來實現(xiàn)。
目前,F(xiàn)acebook 絕大部分的翻譯系統(tǒng),仍是基于 phrase-based machine translation 架構(gòu),即“基于短語的機器翻譯”。
在過去的十到十五年中,該架構(gòu)被行業(yè)廣泛采用。但在最近的幾年,F(xiàn)acebook 正轉(zhuǎn)向 neural net machine translation 架構(gòu),即神經(jīng)網(wǎng)絡(luò)機器翻譯。據(jù)雷鋒網(wǎng)了解,去年 6 月,F(xiàn)acebook 部署了第一個基于神經(jīng)機器翻譯的產(chǎn)品——德譯英;拉開了從“基于短語”切換到神經(jīng)機器翻譯的大幕。至今,已有 15 個不同語言的翻譯系統(tǒng),遷移到了新的機器翻譯架構(gòu);Facebook 平臺上,超過 50% 的翻譯出自基于神經(jīng)網(wǎng)絡(luò)的系統(tǒng)。
那么,為什么 Facebook 要轉(zhuǎn)移至神經(jīng)網(wǎng)絡(luò)機器翻譯?或者說,新架構(gòu)的優(yōu)點是什么?
首先,Necip Fazil Ayan 表示,神經(jīng)機器翻譯為 Facebook 帶來翻譯質(zhì)量的大幅提升:
精確度(是否清楚表達了原句的意思)提升 20%,通順程度(翻譯語句聽起來是否正常)提升 24%。
這是兩代架構(gòu)的翻譯結(jié)果對比(土耳其語到英語)
左邊是基于短語的機器翻譯,大多數(shù)詞語的意思是對的,但順序不對勁。右邊是神經(jīng)網(wǎng)絡(luò)機器翻譯,大多數(shù)詞語的意思也是對的,但語序更加自然。翻譯出來的句子更容易理解、更通順。
我先談?wù)劵诙陶Z的機器翻譯。該系統(tǒng)學習詞語之間的對應(yīng)關(guān)系,然后把這些對應(yīng)關(guān)系泛化到成串詞語上,即短語。這些短語是從海量的句子翻譯(原句+譯句)中得來。給定一個新句子,該系統(tǒng)會根據(jù)已學到的短語翻譯,試圖找出一個最優(yōu)分段方案。
短語越長,我們越不擔心重新排列詞序問題(local reordering)。數(shù)據(jù)越多,學習長短語的效果越好。
基于短語架構(gòu)機器翻譯的缺陷:
缺乏語境。短語一般最多只有 7 到 10 個單詞的長度
短語的重新排序問題很大,尤其對于詞序差異很大的語言,比如英語和土耳其語
其統(tǒng)計模型難以擴展新功能
泛化效果不好,非常依賴學習過的數(shù)據(jù)
再來看一看神經(jīng)網(wǎng)絡(luò)機器翻譯系統(tǒng)。
神經(jīng)機器翻譯系統(tǒng)會考慮原句的整個語境,以及當次翻譯過程中此前翻譯出的所有內(nèi)容。它的優(yōu)點有:
支持大段的語序重排(long distance reordering)
連續(xù)、豐富的表達。我們把詞語映射到矢量表示(詞向量)。它們不再是獨立的詞語,而是一維空間中的點。不同點之間的距離,可被用來代表不同詞語之間的語義相似性
神經(jīng)網(wǎng)絡(luò)的擴展性非常好。我們可以把不同來源的信息整合進去,使我們得以很容易的把不同類型的表達結(jié)合到一起
更通順
至于為什么更多語境能起到積極作用,我想多解釋一下:這里的任務(wù),是根據(jù)語境預(yù)測下一個詞語。當語境信息越豐富,預(yù)測就更準確。借助遞歸神經(jīng)網(wǎng)絡(luò)(RNN),我們的語言建模能力獲得了無限制的提升。通過更大的視野,我們可以做出更好的決策。
對于翻譯系統(tǒng)本身,我們也是用 RNN with attention。我們的架構(gòu)包含編碼器以及解碼器。編碼器的作用是把原語句轉(zhuǎn)化為矢量表達;隨后,解碼器把后者轉(zhuǎn)為另一個句子,這就是機器翻譯的過程。
對于原語句,我們用的是一個雙向的神經(jīng)網(wǎng)絡(luò)。這意味著,我們既利用了前文中的詞語,也用到了后文的詞語。所以,編碼器的輸出,是一個利用了前后文所有語境的、對原句的表示。目標句子也使用 RNN 來生成。在生成過程中的每一步,我們均充分利用了此前生成的詞語,以及語境的某部分。重復這一步驟,我們便得到了最終的機器翻譯結(jié)果。
首先是網(wǎng)絡(luò)語言,我們稱之為“Facebook 語言”。人們在社交網(wǎng)絡(luò)上會使用俚語、造出來的動詞,以及奇奇怪怪的拼寫;還有用標點符號表情的,這直接讓 Facebook 的語言識別和機器翻譯系統(tǒng)失靈。
解決該問題的一個方案,被我們成為 sub-word units。
神經(jīng)網(wǎng)絡(luò)受到特定詞匯量的限制,通常是訓練階段遇到過的詞匯。對某些語言而言,這造成了非常大的麻煩,尤其是那些可以對現(xiàn)有詞匯添加新成分、以生成一個新詞匯的語言,比如土耳其語。由于這一點,我們不可能知道一個高質(zhì)量翻譯所需的全部詞匯。
解決辦法是把詞匯分拆為更小的、更凝聚的單元。舉個例子,可把單詞 being、moving 拆成動詞 +ing 的形式。這種方式,可用 sub-word 模型來生成新動詞,比如 +ing 生成其它動詞的進行時。對于 low resource 語言(LRC),這大幅提升了翻譯效果,并且還能對非正式語言進行標準化。
另一項主要挑戰(zhàn)是 low resource 語言。正如我提到了,F(xiàn)acebook 支持超過 45 種語言,超過 2000 種翻譯方向。訓練一個翻譯系統(tǒng)需要大量數(shù)據(jù),不幸的是,對于許多語言我們并沒有很多數(shù)據(jù)。
一個解決方案被我們成為 back translation。我們一般使用平行數(shù)據(jù)(parallel data)來訓練這些系統(tǒng)。當我們只有少量平行數(shù)據(jù),我們會用它來創(chuàng)建一個小型的翻譯系統(tǒng)。另外,對于多門語言,我們有許多單語言數(shù)據(jù)(monolingual data),即只以一門語言表示的數(shù)據(jù)。所以我們把該數(shù)據(jù)填入這一小型機器翻譯系統(tǒng),然后獲得翻譯。很顯然,翻譯結(jié)果并不完美。
但把它們結(jié)合起來,我們可以訓練更大的機器翻譯系統(tǒng)。這種方法十分吸引人的一點,是它有兩個翻譯方向:它不僅生成英語到土耳其語的翻譯系統(tǒng),還能生成土耳其語到英語的翻譯。另外,由于目標語句基于單語言數(shù)據(jù),它會更加通順。
一項比較艱巨的挑戰(zhàn),是大規(guī)模部署機器翻譯以及應(yīng)用研究。我們需要訓練非常多的翻譯系統(tǒng),并且快速地訓練、快速地解碼、快速地生成翻譯。
一項加速計算過程的方案,名為 online vocabulary reduction (在線詞匯縮減)。正如我之前提到的,在神經(jīng)網(wǎng)絡(luò)架構(gòu)中,目標詞匯是受限制的。詞匯量越大,計算成本越高。
于是我們盡可能減小 output projection layer 的規(guī)模。
當你需要翻譯一個特定語句,你可以觀察句子中所有詞匯的出現(xiàn)頻率、排在最前的翻譯選項,以對詞匯進行篩選。
在這個例子中,你可以在活躍詞匯庫中忽略 and 和 move,因為對于該翻譯,它們并沒有對應(yīng)到任意一個詞匯。這使得計算時間大幅縮短,而并不犧牲翻譯質(zhì)量。
最后,我想說我們實現(xiàn)了許多提升,但仍有很長的路要走。對于 low resource 語言,我們需要做得更好,這是一個非常艱巨的挑戰(zhàn)。我們需要開始翻譯圖像和視頻。我們需要找到更高效地使用圖像、視頻中語境信息的方法。我們需要開發(fā)出私人訂制的、符合語境的翻譯系統(tǒng)。我對加入這趟“連接世界”的旅程感到萬分激動并自豪。
謝謝。
本講座由雷鋒網(wǎng)編譯,轉(zhuǎn)載請聯(lián)系。
相關(guān)文章:
一窺谷歌神經(jīng)機器翻譯模型真面貌,其底層框架開源!
Google Brain:NMT訓練成本太高?用大規(guī)模神經(jīng)機器翻譯架構(gòu)分析給出解決方案
哈佛神經(jīng)機器翻譯系統(tǒng) OpenNMT 更新等 | AI 開發(fā)者頭條
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章