編者按git
在「機器翻譯是如何煉成的(上)」的文章中,咱們回顧了機器翻譯的發展史。在本篇文章中,咱們將分享機器翻譯系統的理論算法和技術實踐,講解神經機器翻譯具體是如何煉成的。讀完本文,您將瞭解:github
神經機器翻譯模型如何進化並發展成令NLP研究者萬衆矚目的Transformer模型;算法
基於Transformer模型,咱們如何打造工業級的神經機器翻譯系統。數據庫
2013年~2014年不溫不火的天然語言處理(NLP)領域發生了翻天覆地的變化,由於谷歌大腦的Mikolov等人提出了大規模的詞嵌入技術word2vec,RNN、CNN等深度網絡也開始應用於NLP的各項任務,全世界NLP研究者歡欣鼓舞、躍躍欲試,準備告別使人煎熬的平淡期,開啓一個屬於NLP的新時代。服務器
在這兩年機器翻譯領域一樣發生了「The Big Bang」。2013年牛津大學Nal Kalchbrenner和Phil Blunsom提出端到端神經機器翻譯(Encoder-Decoder模型),2014年穀歌公司的Ilya Sutskerver等人將LSTM引入到Encoder-Decoder模型中。這兩件事標誌着以神經網絡做爲基礎的機器翻譯,開始全面超越此前以統計模型爲基礎的統計機器翻譯(SMT),並快速成爲在線翻譯系統的主流標配。2016年穀歌部署神經機器翻譯系統(GNMT)以後,當時網上有一句廣爲流傳的話:「做爲一個翻譯,看到這個新聞的時候,我理解了18世紀紡織工人看到蒸汽機時的憂慮與恐懼。」網絡
2015年注意力機制和基於記憶的神經網絡緩解了Encoder-Decoder模型的信息表示瓶頸,是神經網絡機器翻譯優於經典的基於短語的機器翻譯的關鍵。2017年穀歌Ashish Vaswani等人蔘考注意力機制提出了基於自注意力機制的Transformer模型,Transformer家族至今依然在NLP的各項任務保持最佳效果。總結近十年NMT的發展主要歷經三個階段:通常的編碼器-解碼器模型(Encoder-Decoder)、注意力機制模型、Transformer模型。架構
下文將逐步深刻解析這三個階段的NMT,文中少許的數學公式和概念定義可能充滿「機械感」,若是您在閱讀過程感到十分費勁,那煩請您直接閱讀第4部分,瞭解百分點如何打造本身的工業級NMT系統。併發
01 新的曙光:Encoder-Decoder模型框架
上文已經提到在2013年提出的這種端到端的機器翻譯模型。一個天然語言的句子可被視做一個時間序列數據,相似LSTM、GRU等循環神經網絡比較適於處理有時間順序的序列數據。若是假設把源語言和目標語言都視做一個獨立的時間序列數據,那麼機器翻譯就是一個序列生成任務,如何實現一個序列生成任務呢?通常以循環神經網絡爲基礎的編碼器-解碼器模型框架(亦稱Sequence to Sequence,簡稱Seq2Seq)來作序列生成,Seq2Seq模型包括兩個子模型:一個編碼器和一個解碼器,編碼器、解碼器是各自獨立的循環神經網絡,該模型可將給定的一個源語言句子,首先使用一個編碼器將其映射爲一個連續、稠密的向量,而後再使用一個解碼器將該向量轉化爲一個目標語言句子。ide
編碼器Encoder對輸入的源語言句子進行編碼,經過非線性變換轉化爲中間語義表示C:
在第i時刻解碼器Decoder根據句子編碼器輸出的中間語義表示C和以前已經生成的歷史信息y₁,y₂,……,yᵢ-₁來生成下一個目標語言的單詞:
每一個yᵢ都依次這麼產生,即seq2seq模型就是根據輸入源語言句子生成了目標語言句子的翻譯模型。源語言與目標語言的句子雖然語言、語序不同,但具備相同的語義,Encoder在將源語言句子濃縮成一個嵌入空間的向量C後,Decoder能利用隱含在該向量中的語義信息來從新生成具備相同語義的目標語言句子。總而言之,Seq2Seq神經翻譯模型可模擬人類作翻譯的兩個主要過程:
編碼器Encoder解譯來源文字的文意;
解碼器Decoder從新編譯該文意至目標語言。
02 突破飛躍:注意力機制模型
2.1. Seq2Seq模型的侷限性
Seq2Seq模型的一個重要假設是編碼器可把輸入句子的語義全都壓縮成一個固定維度的語義向量,解碼器利用該向量的信息就能從新生成具備相贊成義但不一樣語言的句子。因爲隨着輸入句子長度的增長編解碼器的性能急劇降低,以一個固定維度中間語義向量做爲編碼器輸出會丟失不少細節信息,所以循環神經網絡難以處理輸入的長句子,通常的Seq2Seq模型存在信息表示的瓶頸。
通常的Seq2Seq模型把源語句跟目標語句分開進行處理,不能直接地建模源語句跟目標語句之間的關係。那麼如何解決這種侷限性呢?2015年Bahdanau等人發表論文首次把注意機制應用到聯合翻譯和對齊單詞中,解決了Seq2Seq的瓶頸問題。注意力機制可計算目標詞與每一個源語詞之間的關係,從而直接建模源語句與目標語句之間的關係。注意力機制又是什麼神器,可以讓NMT一戰成名決勝機器翻譯競賽呢?
2.2. 注意力機制的通常原理
通俗地解釋,在數據庫裏通常用主鍵Key惟一地標識某一條數據記錄Value,訪問某一條數據記錄的時候可查詢語句Query搜索與查詢條件匹配的主鍵Key並取出其中的數據Value。注意力機制相似該思路,是一種軟尋址的概念:假設數據按照<Key, Value>存儲,計算全部的主鍵Key與某一個查詢條件Query的匹配程度,做爲權重值再分別與各條數據Value作加權和做爲查詢的結果,該結果即注意力。所以,注意力機制的通常原理(參考上圖):首先,將源語句中的構成元素想象成是由一系列的<Key, Value>數據對構成,目標語句由一序列元素Query構成;而後給定目標語句中的某個元素Query,經過計算Query和各個Key的類似性或者相關性,獲得每一個Key對應Value的權重係數;最後,可對Value進行加權,即獲得最終的Attention數值。所以,本質上注意力機制是對源語句中元素的Value值進行加權求和,而Query和Key用來計算對應Value的權重係數。通常性計算公式爲:
在機器翻譯中Seq2Seq模型通常是由多個LSTM/GRU等RNN層疊起來。2016年9月谷歌發佈神經機器翻譯系統GNMT,採用Seq2Seq+注意力機制的模型框架,編碼器網絡和解碼器網絡都具備8層LSTM隱層,編碼器的輸出經過注意力機制加權平均後輸入到解碼器的各個LSTM隱層,最後鏈接softmax層輸出每一個目標語言詞典的每一個詞的機率。
GNMT如何計算讓性能大幅提高的注意力呢?假設(X,Y)爲平行語料的任一組源語句-目標語句對,則:
源語句長度爲M的字符串:
目標語句長度爲N的字符串:
編碼器輸出d維向量做爲h的編碼:
利用貝葉斯定理,句子對的條件機率:
解碼時解碼器在時間點i根據編碼器輸出的編碼和前i-1個解碼器輸出,最大化P(Y|X)可求得目標詞。
GNMT注意力機制實際的計算步驟以下:
讀到這裏,您也許開始倦意十足,甚至唾棄本文不知所云。請多給點耐心閱讀,由於至此激動人心的時刻纔開始:文章的主角Transformer(變形金剛)同窗出場了!
03 高光時刻:基於自注意力機制的Transformer模型
第2部分咱們提到基於seq2seq+注意力機制比通常的seq2seq的模型架構取得了更好的效果,那麼這種組合有什麼缺點呢?事實上循環神經網絡存在着一個困擾研究者已久的問題:沒法有效地平行運算,但不久研究者就等來了福音。2017年6月Transformer模型橫空問世,當時谷歌在發表的一篇論文《Attention Is All You Need》裏參考了注意力機制,提出了自注意力機制(self-attention)及新的神經網絡結構——Transformer。該模型具備如下優勢:
傳統的Seq2Seq模型以RNN爲主,制約了GPU的訓練速度,Transformer模型是一個徹底不用RNN和CNN的可並行機制計算注意力的模型;
Transformer改進了RNN最被人詬病的訓練慢的缺點,利用self-attention機制實現快速並行計算,而且Transformer能夠增長到很是深的深度,充分發掘DNN模型的特性,提高模型準確率。
下面咱們深刻解析Transformer模型架構。
3.1. Transformer模型架構
Transformer模型本質上也是一個Seq2Seq模型,由編碼器、解碼器和它們之間的鏈接層組成,以下圖所示。在原文中介紹的「The Transformer」編碼器:編碼器Encoder由N=6個徹底相同的編碼層Encoder layer堆疊而成,每一層都有兩個子層。第一個子層是一個Multi-Head Attention機制,第二個子層是一個簡單的、位置徹底鏈接的前饋網絡Feed-Forward Network。咱們對每一個子層再採用一個殘差鏈接Residualconnection,接着進行層標準化Layer Normalization。每一個子層的輸出是LayerNorm(x+Sublayer(x)),其中Sublayer(x)是由子層自己實現的函數。
「The Transformer」解碼器:解碼器Decoder一樣由N=6個徹底相同的解碼層Decoder Layer堆疊而成。除了與每一個編碼器層中的相同兩個子層以外,解碼器還插入第三個子層(Encoder-Decoder Attention層),該層對編碼器堆棧的輸出執行Multi-HeadAttention。與編碼器相似,咱們在每一個子層再採用殘差鏈接,而後進行層標準化。
Transformer模型計算attention的方式有三種:
編碼器自注意力,每個Encoder都有Multi-Head Attention層;
解碼器自注意力,每個Decoder都有Masked Multi-Head Attention層;
編碼器-解碼器注意力,每個Decoder都有一個Encoder-Decode Attention,過程和過去的seq2seq+attention的模型類似。
3.2. 自注意力機制
Transformer模型的核心思想就是自注意力機制(self-attention),能注意輸入序列的不一樣位置以計算該序列的表示的能力。自注意力機制顧名思義指的不是源語句和目標語句之間的注意力機制,而是同一個語句內部元素之間發生的注意力機制。而在計算通常Seq2Seq模型中的注意力以Decoder的輸出做爲查詢向量q,Encoder的輸出序列做爲鍵向量k、值向量v,Attention機制發生在目標語句的元素和源語句中的全部元素之間。
自注意力機制的計算過程是將Encoder或Decoder的輸入序列的每一個位置的向量經過3個線性轉換分別變成3個向量:查詢向量q、鍵向量k、值向量v,並將每一個位置的q拿去跟序列中其餘位置的k作匹配,算出匹配程度後利用softmax層取得介於0到1之間的權重值,並以此權重跟每一個位置的v做加權平均,最後取得該位置的輸出向量z。下面介紹self-attention的計算方法。
▶可縮放的點積注意力
可縮放的點積注意力即如何使用向量來計算自注意力,經過四個步驟來計算自注意力:
從每一個編碼器的輸入向量(每一個單詞的詞向量)中生成三個向量:查詢向量q、鍵向量k、值向量v。矩陣運算中這三個向量是經過編解碼器輸入X與三個權重矩陣Wᴼ̴、Wᴷ、Wᵛ相乘建立的。
計算得分。圖示例子輸入一個句子「Thinking Machine」,第一個詞「Thinking」計算自注意力向量,需將輸入句子中的每一個單詞對「Thinking」打分。分數決定了在編碼單詞「Thinking」的過程當中有多重視句子的其它部分。分數是經過打分單詞(全部輸入句子的單詞)的鍵向量k與「Thinking」的查詢向量q相點積來計算的。好比,第一個分數是q₁和k₁的點積,第二個分數是q₁和k₂的點積。
縮放求和:將分數乘以縮放因子1/√dₖ (dₖ是鍵向量的維數dₖ=64)讓梯度更穩定,而後經過softmax傳遞結果。softmax的做用是使全部單詞的分數歸一化,獲得的分數都是正值且和爲1。softmax分數決定了每一個單詞對編碼當下位置(「Thinking」)的貢獻。
將每一個值向量v乘以softmax分數,但願關注語義上相關的單詞,並弱化不相關的單詞。對加權值向量求和,而後即獲得自注意力層在該位置的輸出zᵢ。
所以,可縮放的點積注意力可經過下面公式計算:
在實際中,注意力計算是以矩陣形式完成的,以便算得更快。那咱們接下來就看看如何用經過矩陣運算實現自注意力機制的。
首先求取查詢向量矩陣Q、鍵向量矩陣K和值向量矩陣V,經過權重矩陣Wᴼ̴、Wᴷ、Wᵛ與輸入矩陣X相乘獲得;一樣求取任意一個單詞的得分是經過它的鍵向量k與全部單詞的查詢向量q相點積來計算的,那麼咱們能夠把全部單詞的鍵向量k的轉置組成一個鍵向量矩陣Kᵀ,把全部單詞的查詢向量q組合在一塊兒成爲查詢向量矩陣Q,這兩個矩陣相乘獲得注意力得分矩陣A=QKᵀ;而後,對注意力得分矩陣A求softmax獲得歸一化的得分矩陣A^,這個矩陣在左乘以值向量矩陣V獲得輸出矩陣Z。
▶多頭注意力
若是隻計算一個attention,很難捕捉輸入句中全部空間的信息,爲了優化模型,原論文中提出了一個新穎的作法——Multi-Head Attention。Multi-Head Attention是不能只用嵌入向量維度d(model)的K,Q,V作單一attention,而是把K,Q,V線性投射到不一樣空間h次,分別變成維度dq,dₖ,dᵥ再各自作attention。
其中,dq=dₖ=dᵥ=d(model)/h=64就是投射到h個Head上。Multi-Head Attention容許模型的不一樣表示子空間聯合關注不一樣位置的信息,若是隻有一個attention Head則它的平均值會削弱這個信息。
Multi-Head Attention爲每一個Head保持獨立的查詢/鍵/值權重矩陣Wᴼ̴ᵢ、Wᴷᵢ、Wᵛᵢ,從而產生不一樣的查詢/鍵/值矩陣(Qᵢ、Kᵢ、Vᵢ)。用X乘以Wᴼ̴ᵢ、Wᴷᵢ、Wᵛᵢ矩陣來產生查詢/鍵/值矩陣Qᵢ、Kᵢ、Vᵢ。與上述相同的自注意力計算,只需八次不一樣的權重矩陣運算可獲得八個不一樣的Zᵢ矩陣,每一組都表明將輸入文字的隱向量投射到不一樣空間。最後把這8個矩陣拼在一塊兒,經過乘上一個權重矩陣Wᵒ,還原成一個輸出矩陣Z。
Multi-Head Attention的每一個Head到底關注句子中什麼信息呢?不一樣的注意力的Head集中在哪裏?如下面這兩句話爲例「The animal didn’t crossthe street because it was too tired」和「The animal didn’t cross the street because it was too wide」,兩個句子中"it"指的是什麼呢?「it"指的是"street」,仍是「animal」?當咱們編碼「it」一詞時,it的注意力集中在「animal」上和「street」上,從某種意義上說,模型對「it」一詞的表達在某種程度上是「animal」和「street」的表明,可是在不用語義下,第一句的it更強烈地指向animal,第二句的it更強烈的指向street。
3.3. Transformer模型其餘結構
▶殘差鏈接與歸一化
編解碼器有一種特別的結構:Multi-HeadAttention的輸出接到Feed-forward layer之間有一個子層:residual connection和layer normalization(LN),即殘差鏈接與層歸一化。殘差鏈接是構建一種新的殘差結構,將輸出改寫爲和輸入的殘差,使得模型在訓練時,微小的變化能夠被注意到,該方法在計算機視覺經常使用。
在把數據送入激活函數以前需進行歸一化,由於咱們不但願輸入數據落在激活函數的飽和區。LN是在深度學習中一種正規化方法,通常和batch normalization(BN)進行比較。BN的主要思想就是在每一層的每一批數據上進行歸一化,LN是在每個樣本上計算均值和方差,LN的優勢在於獨立計算並針對單同樣本進行正規化,而不是BN那種在批方向計算均值和方差。
▶前饋神經網絡
編解碼層中的注意力子層輸出都會接到一個全鏈接網絡:Feed-forward networks(FFN),包含兩個線性轉換和一個ReLu,論文是根據各個位置(輸入句中的每一個文字)分別作FFN,所以稱爲point-wise的FFN。計算公式以下:
▶線性變換和softmax層
解碼器最後會輸出一個實數向量。如何把浮點數變成一個單詞?這即是線性變換層要作的工做,它以後就是softmax層。線性變換層是一個簡單的全鏈接神經網絡,它能夠把解碼器產生的向量投射到一個比它大得多的、被稱做對數概率(logits)的向量裏。
不妨假設咱們的模型從訓練集中學習一萬個不一樣的英語單詞(咱們模型的「輸出詞表」)。所以對數概率向量爲一萬個單元格長度的向量——每一個單元格對應某一個單詞的分數。接下來的softmax層便會把那些分數變成機率(都爲正數、上限1.0)。機率最高的單元格被選中,而且它對應的單詞被做爲這個時間步的輸出。
▶位置編碼
Seq2Seq模型的輸入僅僅是詞向量,可是Transformer模型摒棄了循環和卷積,沒法提取序列順序的信息,若是缺失了序列順序信息,可能會致使全部詞語都對了,可是沒法組成有意義的語句。做者是怎麼解決這個問題呢?爲了讓模型利用序列的順序,必須注入序列中關於詞語相對或者絕對位置的信息。在論文中做者引入Positional Encoding:對序列中的詞語出現的位置進行編碼。下圖是20個詞512個詞嵌入維度上的位置編碼可視化。
將句子中每一個詞的「位置編碼」添加到編碼器和解碼器堆棧底部的輸入嵌入中,位置編碼和詞嵌入的維度dmodel相同,因此它倆能夠相加。論文使用不一樣頻率的正弦和餘弦函數獲取位置信息:
其中pos是位置,i是維度,在偶數位置使用正弦編碼,在奇數位置使用餘弦編碼。位置編碼的每一個維度對應於一個正弦曲線。
Transformer模型毋庸置疑是當前機器翻譯的主流模型,面對谷歌等科技巨頭公司強大的實力,百分點認知智能實驗室如何採用Transformer模型研製具備市場競爭力、工業級的多語言神經翻譯系統呢?第4部分將爲您娓娓道來。
04 工業級多語言神經翻譯模型實踐
4.1. 多語言模型翻譯框架
谷歌GNMT採用對多種語言的巨大平行語料同時進行訓練獲得一個可支持多種源語言輸入多種目標語言輸出的神經翻譯模型,但該方法須要昂貴的計算資源支持訓練和部署運行。
百分點神經翻譯系統 Deep Translator
百分點的神經翻譯系統Deep Translator目前支持中文、英文、日文、俄文、法文、德文、阿拉伯文、西班牙文、葡萄牙文、意大利文、希伯來文、波斯文等20多個語言數百個方向兩兩互譯,如何在有限的服務器資源的條件下進行模型訓練與在線計算呢?
不一樣於谷歌GNMT採用多語言單一翻譯模型的架構,研發團隊提出的Deep Translator的多語言翻譯模型爲多平行子模型集成方案。該方案有兩個主要特色:一是模型獨立性,針對不一樣語言方向訓練不一樣的翻譯模型;二是「橋接」翻譯,對於中文到其餘語言平行語料較少的語言方向,以語料資源較爲豐富的英文做爲中間語言進行中轉翻譯,即先將源語言翻譯爲英文,再將英文翻譯爲目標語言。
採起上述方案研發團隊有何深度思考呢?第一點,不一樣於谷歌面向全球的互聯網用戶,國內企業最終用戶語種翻譯需求明確且要求系統本地化部署,對部分語言方向如英中、中俄等翻譯質量要求較高,同時但願這些語言方向的翻譯效果能持續提高,發現問題時能及時校訂,而其餘使用頻次較低的翻譯模型能保證其穩定性,這致使高頻使用的語言模型更新頻率會較高,低頻使用的語言模型更新頻率較低。若將多語言方向的模型統一在一個框架下,既增長模型複雜度也影響模型穩定性,由於升級一個語言方向,勢必會對整個模型參數進行更新,這樣其餘語言方向的翻譯效果也會受到影響,每次升級都要對全部語言方向進行效果評測,若部分翻譯效果降低明顯還要從新訓練,費時費力。而獨立的模型結構對一種語言方向的參數優化不會影響到其餘語言方向的翻譯效果,在保證系統總體翻譯效果穩定性的基礎上又大大減小了模型更新的工做量。
第二點,工業級可用的神經機器翻譯模型對平行語料質量要求較高,一個可用的翻譯模型須要千萬級以上的平行訓練語料,系統支持的語言方向相對較多,現階段不少語言方向很難獲取足夠的雙邊訓練數據。針對這個問題的解決方案通常有兩種,一是採用無監督翻譯模型,這種翻譯模型只需單邊訓練語料,而單邊訓練語料相對容易獲取,但缺點是目前無監督翻譯模型成熟度較低翻譯效果難以知足使用需求;二是採用「橋接」的方式,由於不一樣語言同英文之間的雙邊語料相對容易獲取,缺點是經英文轉譯後精度有所損失,且計算資源加倍執行效率下降。經過對用戶需求進行分析發現用戶對翻譯效果的要求大於執行效率的要求,且經過對兩種模型翻譯效果的測評對比,「橋接」結構的翻譯效果優於目前無監督翻譯模型,因此最終選擇經過英文「橋接」的框架結構。
4.2. 十億級平行語料構建
平行語料是神經機器翻譯研究者求之不得的資源,能夠絕不誇張地說在突破Transformer模型結構以前平行語料資源就是機器翻譯的競爭力!不論谷歌、臉書如何從海量的互聯網爬取多少平行語料,在行業領域的平行語料永遠是稀缺資源,由於行業領域大量的單邊語料(電子文檔、圖書)、專業的翻譯工做者的翻譯成果並不在互聯網上。這些資源的獲取、整理成平行語料並難免費,須要大量的人工,所以是神經機器翻譯深刻行業應用的攔路虎。
認知智能實驗室如何構建自有的多語種平行語料庫呢?除了獲取全世界互聯網上開放的語料庫資源,開發團隊設計一種從電子文檔中的單邊語料構建領域平行語料的模型與工具,可較爲高效地構建高質量的行業領域平行語料支撐模型訓練。從單邊語料構建平行語料需通過分句和句子對齊,那麼如何從上千萬句單邊語料計算語句語義的類似性?開發團隊提出經過給譯文分類的方式學習語義類似性:給定一對雙語文本輸入,設計一個能夠返回表示各類天然語言關係(包括類似性和相關性)的編碼模型。利用這種方式,模型訓練時間大大減小,同時還能保證雙語語義類似度分類的性能。由此,實現快速的雙語文本自動對齊,構建十億級平行語料。
通過整理網上開源的平行語料與構建行業級平行語料,認知智能實驗室造成部分語種高質量平行語料庫的數量以下。
4.3. 文檔格式轉換、OCR與UI設計
打造一款用戶體驗良好的面向行業領域用戶機器翻譯系統始終是認知智能實驗室研發團隊的孜孜不倦的追求。爲了實現這個夢想,不只僅要採用端到端的神經翻譯模型達到當前效果最佳的多語言翻譯質量,還要提供多用戶協同使用的端到端的翻譯系統。端到端的翻譯系統主要須要解決兩個問題:第一,如何解決多種格式多語言文檔格式轉換、圖片文字OCR的技術難題?第二,如何提供多用戶協同操做使用UI界面?
最終用戶通常但願將PDF、圖片、幻燈片等不一樣格式的經過系通通一轉換爲可編輯的電子版文件並轉譯成最終的目標語言,並較好地保持原有文檔的排版格式進行閱讀。那麼如何對文檔的格式進行轉換、對圖片的文字進行識別並達到在此技術領域的最佳的效果呢?採用領先的OCR技術讓Deep Translator翻譯系統更加貼近用戶的實際工做場景,支持對PDF、PPT、圖片等多種格式、多種語言文檔的直接多語言翻譯而不用人工進行轉換,最終輸出PDF、Word、PPT等可編輯的格式並保持原有的排版風格與格式,方便用戶在源文與譯文之間比較閱讀。
面向科研院所或公司,須要在服務器資源有限的條件下支持多用戶協同操做使用並提供友好的UI操做界面。Deep Translator翻譯系統通過迭代打磨,造成了四大特點:第一,提供文檔翻譯、文本翻譯和文檔轉換的功能操做,知足用戶不一樣的使用需求;第二,設計任務優先級調度與排序算法對多用戶加急任務和正常任務的翻譯;第三,支持單用戶多文檔批量上傳、批量下載、參數配置、翻譯進度查看等豐富的操做;第四,支持多種權限、多種角色管理及帳號密碼的統一認證。
4.4. 產品優點與實踐經驗
百分點認知智能實驗室推出的多語種機器翻譯系統Deep Translator支持本地化部署、定製化訓練模型並達到行業最佳的工業級機器翻譯水平。表1給出了Deep Translator在聯合國平行語料庫的官方測試集進行翻譯質量評測結果,在英譯中、俄譯中等行業領域主流翻譯方向的BLEU得分達到最佳水平。
自2017年問世以來Deep Translator已服務於數百家客戶,包括在國內航空、電子等軍工研究所並獲得良好口碑,另外與融融網(www.rongrong.cn)合做面向上千家軍工科研院所推廣售賣,在推廣行業機器翻譯服務的道路上咱們越走越遠,踐行用認知智能技術服務國防的使命。
參考文獻:
Nal Kalchbrenner and Phil Blunsom. 2013. Recurrent Continuous
Translation Models. In Proceedings of EMNLP 2013
Ilya Sutskever,etc.2014. Sequence to Sequence Learning with Neural Networks.In Proceedings of NIPS 2014.
Dzmitry Bahdanau etc. 2015. Neural Machine Translation by Jointly Learningto Align and Translate. In Proceedings of ICLR 2015.
Ashish Vaswani,etc.Attention is All You Need. In Proceedings of NIPS2017.
Jay Alammar TheIllustrated Transformer,http://jalammar.github.io/illustrated-transformer/
張俊林,深度學習中的注意力模型(2017版),https://zhuanlan.zhihu.com/p/37601161