仿真人類的微軟AI翻譯系統(tǒng)
微軟研究人員在利用深層神經(jīng)網(wǎng)絡人工智能(AI)訓練技術翻譯文本方面發(fā)明了第一臺機器翻譯系統(tǒng),可以將中文新聞的句子翻譯成英文,準確率與人類不相上下。系統(tǒng)在一套常用的新聞報道測試集上實現(xiàn)了達到了人類水平,測試集名為newstest2017。
在前幾期的文章里,我們介紹了神經(jīng)網(wǎng)絡和深度學習的相關內(nèi)容,微軟的這套翻譯系統(tǒng)就是使用深層神經(jīng)網(wǎng)絡,幫助生成更真實、更準確的翻譯。它還采用了多種不同的人工智能訓練方法,包括雙重學習、商議網(wǎng)絡和聯(lián)合訓練,試圖模仿人類的學習方式。
機器翻譯
機器翻譯系統(tǒng)是支持翻譯大量文本的應用程序或在線服務,將文本從“源”語言譯成另一種"目標"語言的過程。
自從2010年代早期,新的人工智能技術- 深度神經(jīng)網(wǎng)絡(又稱深度學習),已經(jīng)達到較高的精準度,微軟翻譯團隊將語音識別結(jié)合其核心文本翻譯技術,推出新的語音翻譯技術。
雖然機器翻譯技術和接口技術的概念相對簡單,但它背后的科技集成卻是極其復雜的,集成了多項尖端技術,特別是深度學習(人工智能)、 大數(shù)據(jù)、 語言學、 云計算和 web API。
從歷史上看,曾經(jīng)主流的機器學習技術在行業(yè)中應用是統(tǒng)計機器翻譯 (SMT)。SMT 使用先進的統(tǒng)計分析,從一句話中上下文的幾個詞中來估計最佳可能的翻譯。SMT自20 世紀中期以來的為所有主要翻譯服務提供商所使用,其中包括微軟。
基于深度神經(jīng)網(wǎng)絡(NN) 的翻譯技術的出現(xiàn),帶動了機器翻譯技術的突變,顯著提高了翻譯質(zhì)量。這種新的翻譯技術在2016年的下半年開始大規(guī)模部署使用。
這兩種技術共同之處有兩個方面︰
兩者都需要大量的人工翻譯的數(shù)據(jù)(高達數(shù)百萬的人工翻譯過的句子)用于培訓翻譯系統(tǒng)。
既不作為雙語詞典,也不是基于翻譯列表,是根據(jù)詞在句子中使用的上下文來翻譯。
Microsoft翻譯
微軟翻譯文本和語音 API,是微軟 認知服務集合的一部分,是微軟云的機器翻譯服務。
1、微軟翻譯文本 API
微軟翻譯文本API 已自2006年以來用于微軟多個個業(yè)務部門的產(chǎn)品和服務中,并且自2011年向第三方客戶提供。微軟翻譯文本API已經(jīng)在微軟公司內(nèi)部廣泛應用,它被用于產(chǎn)品本地化、客戶支持和在線交流(例如, Windows Blog)。還可以從熟悉的微軟產(chǎn)品( Bing、 柯塔娜、 Internet Explorer、 Lync、 Cortana、 Office、SharePoint、 Skype 和 Yammer)訪問這一服務,且無需額外付費。
Microsoft Translator 可在任何硬件平臺上以Web方式或客戶端中使用,與任何操作系統(tǒng)結(jié)合來進行語言翻譯和其他語言相關操作,如文字語言檢測,文本到語音轉(zhuǎn)換,以及詞典。
利用行業(yè)標準的REST技術,開發(fā)人員向服務發(fā)送源文本以及標識目標語言的參數(shù),該服務經(jīng)翻譯后的文本發(fā)送回客戶端或 web 應用程序。
微軟翻譯服務部署在微軟數(shù)據(jù)中心,從安全性、 可伸縮性、 可靠性和不間斷的可用性等方面享受和其他微軟云服務同樣的好處。
2、微軟翻譯語音API
微軟語音翻譯技術首先在2014年底通過Skype Translator集成推出的,并且在2016年初是作為開放的API向客戶提供。它集成在Skype,Skype會議廣播和微軟翻譯app中(Android、 iOS 和 Windows版)。
文本翻譯的工作原理
有兩種主流的機器翻譯技術︰ 傳統(tǒng)的統(tǒng)計機器翻譯(SMT) 和新一代之神經(jīng)網(wǎng)絡 (NN) 翻譯。
1、統(tǒng)計機器翻譯
微軟翻譯使用的統(tǒng)計機器翻譯(SMT) 是建立在超過十年的微軟自然語言處理研究成果上。現(xiàn)代翻譯系統(tǒng)不再手動編寫規(guī)則進行語言轉(zhuǎn)換,而是將翻譯當作基于所有語言現(xiàn)有的人工譯文及相互轉(zhuǎn)換的學習問題,并利用了應用統(tǒng)計學和機器學習方面的最新成果。
所謂的"平行語料庫"在很大程度上充當現(xiàn)代的羅塞塔石,基于語境為許多語言以及專門領域提供單詞、短語和習語翻譯。統(tǒng)計建模技術和高效算法幫助計算機解決解讀(檢測訓練數(shù)據(jù)中源語言和目標語言之間的對應關系)以及解碼 (為新輸入句子找到最好的翻譯)等問題。Microsoft Translator 將統(tǒng)計方法的力量與語言信息相結(jié)合,產(chǎn)生歸納更理想譯文和更易理解的輸出。
由于這種方法并不依賴于詞典或語法規(guī)則,它提供基于上下文的最佳翻譯的詞匯和短語。
2、神經(jīng)網(wǎng)絡翻譯
翻譯質(zhì)量的不斷改善是十分重要的。然而,SMT 技術自2010年代中期性能改進有所停滯。通過大規(guī)模部署的微軟AI 超級計算機,特別是通過微軟認知工具包,微軟翻譯現(xiàn)在提供了基于神經(jīng)網(wǎng)絡 (LSTM) 的翻譯,使翻譯質(zhì)量改進步入了新的十年。
這些神經(jīng)網(wǎng)絡模型已經(jīng)在所有微軟語音翻譯中部署,可以通過語音翻譯API調(diào)用, 或者通過文本API 使用“generalnn“的Category ID參數(shù)調(diào)用。
神經(jīng)網(wǎng)絡翻譯從根本上的執(zhí)行方式相對于傳統(tǒng) SMT翻譯不同。
下面的動畫描述了神經(jīng)網(wǎng)絡翻譯的各個步驟。使用這種方法,翻譯將考慮到上下文完整的句子,而SMT技術只能考慮上下文的幾個詞語。所以,神經(jīng)網(wǎng)絡翻譯將會產(chǎn)生更流利和接近人工翻譯的結(jié)果。
基于神經(jīng)網(wǎng)絡的訓練,每個單詞被編碼沿500 維向量 (a) 表示其獨特的特征,針對特定的語言對(例如英語和中文)。將語言對用于訓練,神經(jīng)網(wǎng)絡將自定義這些維度應該是什么。他們可以對簡單的概念,如性別 (女性,男性,中性),禮貌水平(俚語,休閑,書面的正式的等等),類型的詞(動詞、 名詞等),以及任何其他非明顯的特征作為派生的訓練數(shù)據(jù)進行編碼。
神經(jīng)網(wǎng)絡翻譯運行的步驟如下︰
每個單詞或更具體地說 500-維向量表示它,穿過第一層的"神經(jīng)元",將編碼它在一個1000-維向量 (b) 代表這個詞在上下文句子中其他詞的范圍。
一旦所有單詞均已進行這些 1000- 維向量都編碼,過程被重復幾次,每一層都進行更好地微調(diào)這1000- 維度表現(xiàn)這個詞完整的句子(而SMT翻譯只考慮 3 到 5 個單詞的窗口)的范圍內(nèi)。
翻譯注意層(即軟件算法)將使用此最終輸出矩陣和以前翻譯過的單詞來確定來自源句子的哪個詞,應該接下來到最終輸出矩陣。它還將使用這些計算在目標語言中刪除不必要的詞語。
****(翻譯)層,在它最合適的目標語言等效轉(zhuǎn)換選定的詞(或更具體地說 1000-維向量代表這個詞的完整的句子范圍內(nèi))。這個輸出層(C)然后反饋到注意層計算源句子應該翻譯的下一個單詞。
在動畫的示例中,"the"的上下文感知的 1000- 維度模型將編碼的名詞 (house)是法語的女性詞 (la maison)。這將"the"適當?shù)姆g為"la" 而不是"le" (單數(shù),男性)或"les" (復數(shù)),當它達到****(翻譯)層。
注意算法還將計算基于以前翻譯過的(在這個案例"the"),下一步這個詞被翻譯應該是主題("house") 而不是一個形容詞 ("blue")。可以做到這一點因為系統(tǒng)學過英語和法語轉(zhuǎn)換時這些句子中詞語的順序。假如形容詞是"大"而不是一種顏色的形容詞,那它應該不反轉(zhuǎn) (“the big house” => “l(fā)a grande maison”)。
基于這種辦法最終的翻譯結(jié)果在大多數(shù)情況下,比基于SMT 的翻譯更流暢和更接近于人類的翻譯。
語音翻譯的工作原理
Microsoft Translator 還能夠翻譯語音。此功能最初僅通過Skype Translator,以及iOS 和 Android的Microsoft Translator 應用程序提供?,F(xiàn)在通過最新版的語音翻譯API 提供向開發(fā)人員提供。
雖然乍看上去是個簡單的過程,但這比僅僅將“傳統(tǒng)”人機語音識別引擎插入現(xiàn)有文本翻譯引擎的過程復雜得多。
若要正確從一種語言的"源"語音翻譯成不同的"目標"語言,系統(tǒng)經(jīng)過四步過程。
語音識別,將音頻轉(zhuǎn)換為文本。
TrueText算法: 微軟特有的技術將口語優(yōu)化成更標準的文本,使之更適合機器翻譯。
通過上述的文本翻譯引擎進行翻譯,利用專為現(xiàn)實生活口語會話開發(fā)的翻譯模型。
文本到語音轉(zhuǎn)換,必要時輸出譯文的音頻。
1、自動語音識別 (ASR)
使用經(jīng)過數(shù)千小時訓練的DNN 系統(tǒng)執(zhí)行自動語音識別(ASR)。此模型基于人和人交互數(shù)據(jù),而非人機指令訓練,可產(chǎn)生適合正常對話優(yōu)化的語音識別效果。為達此目的,DNN需要相比傳統(tǒng)人機交互ASR更多大量的生活口語數(shù)據(jù)訓練系統(tǒng)。
2、TrueText
我們?nèi)粘5恼f話并不完美,常常不如自己認為的那樣清晰和流利。憑借 TrueText技術,可以刪除口語中不流利的部分(贅詞,如"嗯"、"啊"、"和"、"比如")、口吃和重復,使文本經(jīng)轉(zhuǎn)換更貼近地反映用戶意圖。還通過添加斷句、正確標點符號和大小寫,使文本更易讀和更易譯。為取得這些成果,我們將數(shù)十年的研究成果應用于開發(fā) Translator的語言技術,從而創(chuàng)建出 TrueText。下圖通過真實的示例演示 TrueText的執(zhí)行過程。
3、翻譯
然后,將相關文本翻譯成任何微軟翻譯支持的60 多種語言之一。
面向開發(fā)人員提供的語音翻譯API或在語音翻譯應用程序或服務中使用最新的神經(jīng)網(wǎng)絡翻譯,可以使用所有語音輸入支持的語言(請參閱這里的完整列表)。當前現(xiàn)有的翻譯模型大多是書面語文本訓練的,通過增加更多的口語文本語料庫,打造更好的為口語會話類型的翻譯建立了的模型。這些模型也可通過'Speech'標準類文本翻譯 API 提供。
對于任何其他非語音類支持語言,仍然使用傳統(tǒng)的SMT 翻譯,除非另有說明如這里。
4、文本到語音
目前我們支持18文本到語音轉(zhuǎn)換語言,如果需要音頻輸出,文本將以語音合成輸出。在語音轉(zhuǎn)文本的翻譯情景中將省略這一階段。
newstest2017系統(tǒng)的新技術
微軟官方博客中提到,新的翻譯系統(tǒng)中用到了四大技術:對偶學習、聯(lián)合訓練、推敲網(wǎng)絡和一致性正則化,對應的論文也已經(jīng)公開。
1、對偶學習臺(Dual Learning)
對偶學習利用的是人工智能任務的天然對稱性。其發(fā)現(xiàn)是由于現(xiàn)實中有意義、有實用價值的人工智能任務往往會成對出現(xiàn),兩個任務可以互相反饋,從而訓練出更好的深度學習模型。例如,在翻譯領域,我們關心從英文翻譯到中文,也同樣關心從中文翻譯回英文;在語音領域,我們既關心語音識別的問題,也關心語音合成的問題;在圖像領域,圖像識別與圖像生成也是成對出現(xiàn)。此外,在對話引擎、搜索引擎等場景中都有對偶任務。
一方面,由于存在特殊的對偶結(jié)構,兩個任務可以互相提供反饋信息,而這些反饋信息可以用來訓練深度學習模型。也就是說,即便沒有人為標注的數(shù)據(jù),有了對偶結(jié)構也可以做深度學習。另一方面,兩個對偶任務可以互相充當對方的環(huán)境,這樣就不必與真實的環(huán)境做交互,兩個對偶任務之間的交互就可以產(chǎn)生有效的反饋信號。因此,充分地利用對偶結(jié)構,就有望解決深度學習和增強學習的瓶頸,如“訓練數(shù)據(jù)從哪里來、與環(huán)境的交互怎么持續(xù)進行”等問題。
2、推敲網(wǎng)絡(Deliberation Network)
“推敲”二字可以認為是來源于人類閱讀、寫文章以及做其他任務時候的一種行為方式,即任務完成之后,并不當即終止,而是會反復推敲。微軟亞洲研究院機器學習組將這個過程沿用到了機器學習中。推敲網(wǎng)絡具有兩段****,其中第一階段****用于解碼生成原始序列,第二階段****通過推敲的過程打磨和潤色原始語句。后者了解全局信息,在機器翻譯中看,它可以基于第一階段生成的語句,產(chǎn)生更好的翻譯結(jié)果。
3、腦聯(lián)合訓練(Joint Training)
這個方法可以認為是從源語言到目標語言翻譯(Source to Target)的學習與從目標語言到源語言翻譯(Target to Source)的學習的結(jié)合。中英翻譯和英中翻譯都使用初始并行數(shù)據(jù)來訓練,在每次訓練的迭代過程中,中英翻譯系統(tǒng)將中文句子翻譯成英文句子,從而獲得新的句對,而該句對又可以反過來補充到英中翻譯系統(tǒng)的數(shù)據(jù)集中。同理,這個過程也可以反向進行。這樣雙向融合不僅使得兩個系統(tǒng)的訓練數(shù)據(jù)集大大增加,而且準確率也大幅提高。
從源語言到目標語言翻譯(Source to Target)P(y|x) 與從目標語言到源語言翻譯(Target to Source)P(x|y)
4、一致性規(guī)范(Agreement Regularization)
翻譯結(jié)果可以從左到右按順序產(chǎn)生,也可以從右到左進行生成。該規(guī)范對從左到右和從右到左的翻譯結(jié)果進行約束。如果這兩個過程生成的翻譯結(jié)果一樣,一般而言比結(jié)果不一樣的翻譯更加可信。這個約束,應用于神經(jīng)機器翻譯訓練過程中,以鼓勵系統(tǒng)基于這兩個相反的過程生成一致的翻譯結(jié)果。
復雜性讓機器翻譯成為一個極有挑戰(zhàn)性的問題,但也是一個極有意義的問題。微軟亞洲研究院副院長、機器學習組負責人劉鐵巖認為,我們不知道哪一天機器翻譯系統(tǒng)才能在翻譯任何語言、任何類型的文本時,都能在“信、達、雅”等多個維度上達到專業(yè)翻譯人員的水準。不過,他對技術的進展表示樂觀,因為每年微軟的研究團隊以及整個學術界都會發(fā)明大量的新技術、新模型和新算法,“我們可以預測的是,新技術的應用一定會讓機器翻譯的結(jié)果日臻完善?!?/p>
- END -
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。