
Microsoft NMT Translator 微軟必應神經機器翻譯詳解
神經機器翻譯 (NMT) 是採用 AI 的高品質機器翻譯的新標準。 它代替的是舊式統計機器翻譯 (Smt) 技術,該技術在 2010-2020 中期的幾年中達到了品質頂峰。
與 SMT 相比,NMT 不僅能夠從原始翻譯品質評分的立場提供更好的翻譯,而且聽起來更流暢、更類似人類。 這種流暢性的主要原因在於NMT使用一個句子的完整語境來翻譯單詞。 SMT 僅考慮每個單詞前面和後面幾個單詞的直接語境。
NMT 模型是 API 的核心,對最終使用者不可見。 唯一明顯的區別是改進的翻譯品質,尤其是針對中文、日語和阿拉伯語等語言。
什麼是機器翻譯?
機器翻譯系統是使用機器學習技術將大量文本從其任何支援的語言中翻譯出來的應用程式或線上服務。該服務將「源」文字從語言翻譯成另一種「目標」語言。
儘管機器翻譯技術背後的概念和使用它的界面相對簡單,但是其背後的科學和技術卻極其複雜,並且將幾種領先的技術結合在一起,特別是深度學習(人工智慧),大數據,語言學,雲計算和Web API。
自2010年代初以來,一種新的人工智慧技術,即深度神經網路(又名深度學習),使語音辨識技術達到了品質水準,從而使Microsoft Translator團隊將語音辨識與其核心文字翻譯技術相結合,從而啟動了語音辨識技術。新的語音翻譯技術。
歷史上,該產業使用的主要機器學習技術是統計機器翻譯(SMT)。在給定幾個單字的上下文的情況下,SMT 使用進階統計分析來估計單字的最佳翻譯效果。從2000年代中期開始,包括微軟在內的所有主要翻譯服務提供者都使用SMT。
神經機器翻譯(NMT)的出現引起了翻譯技術的根本轉變,從而帶來了更高品質的翻譯。這項翻譯技術已於2016年下半年開始為使用者和開發人員部署 。
SMT和NMT翻譯技術有兩個共同點:
- 兩者都需要大量的人類前翻譯內容(多達數百萬個翻譯句子)來訓練系統。
- 兩者都不充當雙語詞典,而是根據可能翻譯清單來翻譯單字,而是根據句子中使用的單字的上下文進行翻譯。
什麼是Microsoft Translator?
為 API 集合的一部份,Microsoft Translator Text API和Microsoft Speech服務是Microsoft的機器翻譯服務。
Microsoft 翻譯文字翻譯
自2007年以來,Microsoft團隊一直在使用Microsoft Translator文本API,自2011年以來,它已作為客戶的 API 使用。MicrosoftTranslator文本API在Microsoft內部得到了廣泛使用。它被整合到產品當地化,支援線上交流團隊(。也可以從熟悉的產品。
Microsoft Translator可在任何硬體平臺上的 Web 或客戶端應用程式中, 以及與任何作業系統一起使用,以執行語言翻譯和其他與語言相關的作業,例如語言偵測,文字到語音或字典。
利用產業標準的REST技術,開發人員將帶有指示目標語言的參數的來源文字(或用於語音翻譯的音訊)傳送到服務,然後服務將翻譯後的文字傳送回客戶端或Web應用程式使用。
Microsoft Translator服務是託管在Microsoft資料中心中的Azure服務,並從其他Microsoft雲服務也獲得的安全性,可伸縮性,可靠性和不間斷可用性中受益。
微軟翻譯語音翻譯
Microsoft Translator語音翻譯技術從Skype Translator開始於2014年底推出,自2016年初開始作為開放API供客戶使用。它已整合到Microsoft Translator即時功能,Skype,Skype會議廣播與適用於Android的Microsoft Translator應用程式中,iOS_Windows。
語音翻譯現在可以通過Microsoft Speech獲得,Microsoft語音是一套完全可定製的端到端服務,語音辨識,語音翻譯及語音合成(文字到語音)。
文字翻譯如何工作?
用於文字翻譯的主要技術有兩種:傳統技術,統計機器翻譯(SMT)和新一代技術,即神經機器翻譯(NMT)。
統計機器翻譯
Microsoft Translator實現的統計機器翻譯(SMT)建立在Microsoft十多年來自然語言研究的基礎上。現代翻譯系統不是編寫手動的規則來在語言之間進行翻譯,而是將翻譯視為從現有的人工翻譯中學習語言之間的文本轉換並利用應用統計和機器學習的最新進展的問題。
所謂的「平行語料庫」在很大程度上充當著現代羅塞塔石碑,在上下文中為許多語言對和領域提供單詞,短語和慣用語翻譯。統計建模技術和高效算法可幫助計算機解決解密(檢測訓練數據中源語言和目標語言之間的對應關係)和解碼(查找新輸入句子的最佳翻譯)問題。Microsoft Translator將統計方法的功能與語言信息結合在一起,以產生可以更好地泛化並導致更易理解的翻譯的模型。
由於這種方法不依賴字典或語法規則,因此它提供了短語的最佳翻譯,可以在給定單詞周圍使用上下文而不是嘗試執行單個單詞翻譯。對於單字翻譯,開發了雙語詞典。
神經機器翻譯
持續改進翻譯非常重要。但是,自2010年代中期以來,SMT技術的性能改進一直處於穩定狀態。通過利用Microsoft的AI超級計算機(尤其是Microsoft Cognitive Toolkit)的規模和功能,Microsoft Translator現在提供了基於神經網絡(LSTM)的翻譯,從而使翻譯質量提高了新的十年。
這些神經網絡模型可通過Microsoft Speech和使用類別ID的文本API用於所有語音語言。
與傳統的SMT相比,神經網絡轉換的執行方式根本不同。
以下動畫描述了神經網絡翻譯要翻譯句子所經歷的各個步驟。由於採用這種方法,翻譯將把整個句子納入上下文,而不是SMT技術使用的僅幾個單詞滑動窗口,並且將產生更多流暢且人工翻譯的翻譯。
基於神經網絡訓練,每個單詞均沿500維向量(a)編碼,該向量表示特定語言對(例如英語和漢語)中其獨特的特徵。基於用於訓練的語言對,神經網絡將自定義這些維度應該是什麼。他們可以編碼一些簡單的概念,例如性別(女性,男裝,中性),禮貌程度(s語,隨意,書面,形式等),單詞類型(動詞,名詞等),以及其他任何非顯而易見的特徵從訓練數據中得出。
神經網絡翻譯所經歷的步驟如下:
- 每個單詞,或更確切地說是表示它的500維向量,都經過“神經元”的第一層,它將在表示句子中其他單詞的上下文中的單詞的1000維向量(b)中對其進行編碼。
- 一旦將所有單詞一次編碼到這些1000維向量中,該過程將重複幾次,每一層都可以在完整句子的上下文中更好地微調該單詞的1000維表示(與SMT技術相反)只能考慮3到5個字的窗口)
- 然後,注意層(即軟件算法)將使用最終輸出矩陣,該注意層將使用此最終輸出矩陣和先前翻譯的單詞的輸出來定義接下來應翻譯源句中的哪個單詞。它還將使用這些計算來潛在地丟棄目標語言中不必要的單詞。
- 解碼器(翻譯)層以其最合適的目標語言等效語言翻譯所選單詞(或更具體地說,在完整句子的上下文中表示該單詞的1000維向量)。然後將最後一層(c)的輸出反饋到關注層,以計算應翻譯來源片中的哪個下一個單字。

在動畫所示的範例中,內容感知的1000維模型 the "將編碼為名詞(house)是法語(la maison)中的女性詞。這會允許為適當的翻譯「 是」 拉 「而不是」 「(單數,雄性)或「LES」(複數)一旦到達解碼器(翻譯)層。
注意演演算法將根據先前翻譯的單字(在本例中為' the')計算出,下一個要翻譯的單詞應該是主題(" house ")而不是形容詞(" blue ") 。之所以可以實現這一目標,是因為系統瞭解到英語和法語會顛倒這些單詞在句子中的順序。還可以計算出,如果形容詞是「 big 」而不是顏色,則它不應反轉它們(" the big house " =>"大房子")。
由於採用了這種方法,在大多數情況下,最終輸出比基於SMT的翻譯更流暢,更接近人工翻譯。
語音翻譯如何工作?
Microsoft Translator也能夠翻譯語音。該技術翻譯器即時功能,翻譯器應用程式,Skype翻譯器中公開,並且最初僅透過Skype翻譯器功能以及在iOS和Android上的Microsoft翻譯器應用程式中提供此功能。開發人員現在可以使用Azure門戶上提供的最新版本的基於REST的開放式API進行開發。
儘管乍看之下從現有技術的基礎上構建語音翻譯技術似乎是一個簡單的過程,但它需要做的工作比將現有的「傳統」人機語音辨識引擎簡單地插入到現有文本中要多得多。翻譯一。
為了將「源」語音從一種語言正確地翻譯為另一種「目標」語言,系統需要經歷四個步驟。
- 語音辨識,將音訊轉換為文字
- 真文字:一種Microsoft技術,可對文字進行規範化以使其更適合翻譯
- 以此文字翻譯引擎進行翻譯,但使用專門為現實生活中的口語對話開發的翻譯模型
- 必要時要文字到語音轉換,以產生翻譯後的音訊。

自動語音辨識 (ASR)
使用經過培訓的神經網路(NN)系統執行自動語音辨識(ASR),該系統可分析數千小時的傳入音訊語音。該模型是根據人與人之間的交互而不是人與機器的命令進行訓練的,從而產生針對常規對話進行優化的語音辨識。為了實現這一點,與傳統的人機ASR相比,需要更多的資料以及更大的DNN。
真文字
當人類與其他人類交流時,我們的講話不像我們通常認為的那樣完美,清晰或整潔。透過 TrueText 技術,通過消除語音差異(填充詞)(例如" um","啊","和","喜歡",stutters和重複。以新增句點,適當標點符號和大寫字母,還可以提高文字的可讀性和可翻譯性。為了獲得這些結果,使用了數十年的語言技術工作,這是從 TRANSLATOR 開發出來的,建立 TrueText。下圖以真實的範例描述TrueText進行各種轉換以標準化此文字文字。
