高 巍,李耀松+,李大舟,陳子祥,孟智慧
(1.沈陽化工大學 計算機科學與技術學院,遼寧 沈陽 110142;2.中國移動通信集團設計院有限公司 河北分公司,山西 太原 030000)
近年來,機器翻譯作為自然語言處理的重要組成部分取得了飛速的發(fā)展。翻譯方法由最初的基于統(tǒng)計、基于短語和基于實例的方法,逐漸演變?yōu)榛谏窠?jīng)網(wǎng)絡和編解碼器模型的神經(jīng)機器翻譯方法,在翻譯質量上甚至媲美人工翻譯。同時,翻譯模式也由最初的一種語言到另一種語言的翻譯模式,逐漸發(fā)展為能同時進行一種語言到多種語言的翻譯,逐漸呈現(xiàn)出多元化的趨勢。然而烏爾都語與英語在語法規(guī)則、書寫形式等方面存在差異,且平行語料資源稀缺,導致傳統(tǒng)機器翻譯模型無法發(fā)揮出較好的效果。因此設計一個高質量的翻譯模型,成為提高烏爾都語到英語翻譯質量的重要手段[1-3]。
本文提出一個基于雙向編解碼器的烏爾都語到英語的機器翻譯模型。編碼器和解碼器都采用雙向LSTM搭建,并在編碼器與解碼器之間引入注意力機制。首先,經(jīng)詞嵌入編碼后的源語句作為編碼器的輸入,輸出結果會包含源語句信息的語義向量。注意力機制在不同時刻將對應的語義向量傳入解碼器。經(jīng)解碼器的輸出向量再經(jīng)過Softmax函數(shù)進行處理,輸出目標單詞的概率向量,再根據(jù)詞匯表選出預測目標詞。采用BLEU評分來對最終的翻譯文本進行評估。
國內(nèi)外針對烏爾都語與英語的機器翻譯的研究相對較少。最早由Bushra Jawaid提出了一個基于統(tǒng)計短語的烏英機器翻譯模型[4],通過調查英語和烏爾都語的語法結構,發(fā)現(xiàn)這兩種語言在語法和書寫上存在顯著差異。在此基礎上提出了對短語和單詞的重新排序。最終基于Moses SMT模型進行實驗,實驗結果表明,基于重新排序短語的統(tǒng)計機器翻譯方法有效提高了烏爾都語到英語的翻譯質量。Kyunghyun Cho等提出了一種由兩個遞歸神經(jīng)網(wǎng)絡組成的新型神經(jīng)網(wǎng)絡模型LSTM編碼器-解碼器[5],通過使用現(xiàn)有的對數(shù)線性模型中的LSTM編碼器解碼器計算的短語對的條件概率作為統(tǒng)計特征,改善統(tǒng)計機器翻譯系統(tǒng)的性能??紤]到英語和烏爾都語屬于不同的語系,他們的語言特征不同,Shahnawaz等將語言特征和詞匯結合起來,提出了一個使用GIZA++、SRILM和Moses的英語-烏爾都語機器翻譯模型[6]。采用最小翻譯錯誤率訓練模型,對因子翻譯模型進行譯碼和訓練,最終提高了烏爾都語到英語的翻譯模型的評分。
神經(jīng)網(wǎng)絡機器翻譯自興起以后,在性能上遠超傳統(tǒng)的統(tǒng)計機器翻譯和基于規(guī)則、短語的機器翻譯[7,8]。最早由Shahnawaz等將人工神經(jīng)網(wǎng)絡(ANN)應用于烏英機器翻譯[9],并加入機器翻譯實例推理(CBR)和翻譯規(guī)則庫,最后采用CBR方法對輸入的英語句子進行烏爾都語翻譯規(guī)則的選擇。但翻譯規(guī)則需要人工制定,并且時常需要更新和維護,導致工作量大且冗雜。神經(jīng)機器翻譯模型在大語種之間的翻譯和研究備受關注,然而針對小語種的翻譯效果欠佳[10]。
針對烏英平行語料庫資源稀缺的問題,本文采用ELMo[11]神經(jīng)網(wǎng)絡來預訓練英語和烏爾都語的單語料庫。預訓練詞向量表征的定義參見文獻[12]。本文通過ELMo方法對烏英語料庫進行預訓練,兼顧詞語用法在語義和語法上的復雜特點和伴隨語言環(huán)境的改變而改變的問題,能夠產(chǎn)生豐富的詞語表征。與其它詞嵌入向量的表征方法相比,ELMo方法可以更好地學習到詞語的上下文語境信息。
在上述基礎上,本文采用雙向編解碼器的烏英機器翻譯模型。編碼器的雙向結構可以使模型充分挖掘源語言句子的信息。在編碼器與解碼器之間引入注意力機制,可以使解碼器在解碼每個單詞時關注不同的信息點從而提高準確率。解碼器也采用雙向LSTM結構,一層自左向右進行解碼,另一層自右向左進行解碼,使模型在預測目標詞時既關注已有歷史信息,又可以建模未來信息。實驗結果表明,該模型優(yōu)于傳統(tǒng)的烏英機器翻譯模型。
神經(jīng)網(wǎng)絡模型主要是將輸入數(shù)據(jù)通過復雜的向量化計算,從中獲得存在的規(guī)律,最終返回其結果[13]。在神經(jīng)機器翻譯的編碼器-解碼器結構中,首先將源語言句子中的詞編碼成詞向量,然后傳入到編碼器的神經(jīng)單元中編碼成對應的隱藏狀態(tài)的向量,直到遇到句子結束符。最后將整個句子編碼成一個背景向量。注意力機制會根據(jù)解碼器的當前預測去動態(tài)地關注源語言端的不同部分,從而構成不同的背景向量。將此背景向量傳入解碼器,解碼器根據(jù)當前輸入和背景向量逐字解碼從而生成目標語言。圖1為神經(jīng)機器翻譯的編碼器-解碼器結構。

圖1 神經(jīng)機器翻譯編碼器-解碼器框架
2.2.1 編碼
編碼器輸入向量為X={x1,x2,…,xn}, 在時間步t, 將輸入的t時刻特征向量xt和上個時間步的隱藏狀態(tài)ht-1經(jīng)循環(huán)神經(jīng)網(wǎng)絡變換為當前時間步的隱藏狀態(tài)ht, 將f定義為編碼器隱藏層變換函數(shù)。計算公式如式(1)所示
ht=f(xt,ht-1)
(1)
編碼器再通過自定義函數(shù)q將各個時間步的隱藏狀態(tài)轉化為背景向量C計算公式如式(2)所示
C=q(h1,h2,…,hn)
(2)
編碼器輸出的變量C包含了整個輸入序列x1,x2,…,xn的語義信息。對于訓練樣本中的輸出序列y1,y2,…,yT′, 在每個時間步t′ (t′∈[1,T′]), 解碼器基于上一時間步的輸出yt′-1和背景變量C, 結合上一時間步的隱藏狀態(tài)st′-1變換為當前時間步的隱藏狀態(tài)st′。 將g定義為解碼器隱藏層的變換函數(shù)。計算過程如式(3)所示
st′=g(yt′-1,st′-1,C)
(3)
2.2.2 解碼
解碼器當前時間步輸出yt′的概率分布基于當前時間步的解碼器隱藏狀態(tài)st′、 上一時間步的輸出yt′-1以及背景變量C來計算。L為自定義函數(shù)。如式(4)所示
P(yt′)=L(yt′-1,st′,C)
(4)
2.2.3 注意力機制
注意力機制使解碼器在不同時刻都有獨特的背景向量。假設t′的背景向量為Ct′, 則t′時刻隱藏層的變量st′的計算如式(5)所示
st′=g(yt′-1,st′-1,Ct′)
(5)
假設編碼器t時刻的隱藏輸出變量為ht, 則解碼器在t′時刻的背景向量Ct′的計算如式(6)所示
(6)
其中,αt′t的計算即對解碼器不同時刻的隱藏層變量進行加權平均,如式(7)所示
(7)
對于et′t的計算如式(8)所示,其中V,Ws,Wh均為需要學習的模型參數(shù)
et′t=VTtanh(Wsst′-1+Whht)
(8)
本文在編碼器的構建上選用雙向循環(huán)網(wǎng)絡架構,將LSTM作為神經(jīng)單元。編碼器底層采用正向編碼層和逆向編碼層相結合,以獲得更完整的語義信息。編碼器的模型結構如圖2所示。

圖2 雙向LSTM編碼器

LSTM依靠細胞元記憶和存儲信息,但是細胞元本身不會更新和刪除信息。信息的更新和刪除主要由輸入門單元it、 遺忘門單元ft和輸出門單元ot這3個部分協(xié)同完成。LSTM節(jié)點結構圖如圖2右框線內(nèi)所示。輸入門單元負責處理當前位置的輸入信息;遺忘門單元負責控制上個節(jié)點被遺忘的信息量;輸出門單元負責輸出當前節(jié)點的輸出信息。計算公式如式(9)所示
(9)
式中:ht-1代表t-1時刻的隱藏輸出信息。bi,bf,bo為隨機偏置向量。Wi,Wf,Wo分別代表需要學習的權重矩陣。
細胞元信息Ct基于式(9)進行更新。計算過程如式(10) 所示
(10)
式中:Ct-1代表t-1時刻的細胞元信息,Zt代表添加的候補信息。
ht表示t時刻節(jié)點的隱藏輸出變量,計算公式如式(11)
ht=ot·tanh(Ct)
(11)
本文在解碼器的搭建上采用雙層LSTM架構,在單向解碼層的基礎上,同時采用從左向右解碼和從右向左解碼,然后通過Attention[14]來進一步對齊生成。圖3、圖4分別為雙向解碼器在句尾時刻的正向解碼和逆向解碼過程。

圖3 雙向解碼器正向解碼過程

圖4 雙向解碼器逆向解碼過程
如圖3、圖4所示,L2R為正向解碼層,R2L為逆向解碼層。假設目標序列為 {y1,y2,y3}, 初始時刻,L2R和R2L都輸入一個起始標記(上圖中的),分別預測第一個字y1和最后一個字y3。 接著,將第一個字y1以及歷史信息作為輸入傳到L2R模塊的下一節(jié)點中,來預測第二個字y2。 預測y2時,不僅用到L2R模塊本身的編碼,還用到R2L模塊已有的編碼結果;反之,將最后一個字以及歷史信息傳入到R2L模塊,再加上L2R模塊已有的編碼信息,來預測倒數(shù)第二個字。依此類推,直到出現(xiàn)了結束標記(上圖中的

(12)
束搜索(beam search)算法在機器翻譯中的預測階段被廣泛使用。單向的編解碼器模型在解碼階段采用束搜索算法來生成候選序列。在每個時間步,束搜索算法會生成一個長度為k的候選序列,最終從候選序列中挑選出最優(yōu)的結果作為最終預測結果。束搜索算法雖不能保證全局最優(yōu),但其在預測過程中有更大的搜索空間,效果要優(yōu)于貪心搜索算法。
在本文雙向解碼算法中,采用雙向束搜索算法來生成預測目標序列。雙向束搜索算法分別緩存自左向右的Topk最優(yōu)結果和自右向左的Topk最優(yōu)結果。在當前時刻進行預測時,首先枚舉當前預測字的Topk個候選字,然后結合自右向左和自左向右兩個方向的Topk候選路徑進行預測,一共生成Topk3個候選組合。在組合完成后,對每種“候選字+自左向右候選路徑”的得分在“自右向左候選路徑”維度上取平均,重新變成Topk2個候選組合。再從這Topk2個組合中,選出分數(shù)最高的Topk個候選值。對“候選字+自右向左候選路徑”的組合做相反的、同樣的處理。最終得出兩個方向的翻譯結果,選擇概率最高的作為最終結果輸出。
實驗所采用數(shù)據(jù)集均為公開數(shù)據(jù)集,其中一部分來源于由古蘭經(jīng)和圣經(jīng)平行語料,約15 000行,由Jawaid和Zeman翻譯制作,另一部分來源于IPC(indic parallel corpus),是由亞馬遜平臺將6種印度次大陸語言翻譯為英語的文檔集合,其中英語與烏爾都語的平行語料約35 000行,總計50 000行數(shù)據(jù)集,其中訓練集、驗證集、測試集的劃分見表1。

表1 數(shù)據(jù)集劃分
本文使用ELMo 預訓練英語、烏爾都語單語語料得到詞語的語境上下文向量。ELMo語言模型可以對深層次的信息產(chǎn)生更加豐富的詞語表征。具體來說,對于每個神經(jīng)網(wǎng)絡的訓練任務,高層的LSTM的狀態(tài)捕捉詞語意義中和語境相關特征,而低層的LSTM捕捉語法方面的特征。采用這種雙向數(shù)據(jù)表征的方法可以多方位獲取語句的信息,顯著提升表征性能,效果優(yōu)于僅使用單層LSTM的表征。
對于烏爾都語-英語平行語料庫采用SentencePiece算法切分,它是一種無監(jiān)督文本詞條化工具。表2和表3分別為原始語料和經(jīng)SentencePiece切分后的語料。

表2 SentencePiece算法處理后語料

表3 SentencePiece算法處理后語料
本文中采用的評價標準為雙語評估替換(bilingual evaluation understudy,BLEU)。該方法是2002年IBM提出的用于評估機器翻譯效果的一種方法,特點簡單樸素、短平快、易于理解。它是用來衡量機器翻譯文本與參考文本之間的相似程度的通用指標。
基于雙向LSTM的烏英機器翻譯模型訓練過程中學習率初始值設定為0.001,dropout設置為0.3。迭代50輪的結果如圖5所示。虛線代表BLEU值變化情況,實線代表損失值變化情況。

圖5 雙向LSTM模型訓練損失值與BLEU變化
由圖5可以看出,伴隨著Epoch的增加,損失值逐漸下降,利用測試集測試后所得的BLEU值則持續(xù)增大。從第40輪開始,模型逐漸收斂,損失值曲線和BLEU值曲線趨于平滑。最終Loss值下降到3.8左右,模型的最優(yōu)BLEU值達到8.31。
本文又進行了系列對比實驗,首先將本文的雙向LSTM模型與單向LSTM模型進行實驗對比,圖6為雙向LSTM模型與單向LSTM模型訓練過程中的BLEU值變化情況。

圖6 雙向LSTM與單向LSTM模型BLEU值對比
由圖6可以看出,在前20次迭代過程中,雙向LSTM模型與單向LSTM模型的BLEU值相似。隨著迭代次數(shù)的增加,雙向LSTM模型的BLEU值提升變快,明顯高于單向LSTM模型。因為雙向LSTM模型在解碼時可以關注到更多的詞信息,在一些長句子的解碼上也比單向LSTM模型更好。最終,雙向LSTM模型相比單向LSTM模型BLEU值提升了1.46。
然后又將進行ELMo預訓練后的詞向量放進雙向LSTM模型進行訓練,與原來未使用ELMo預訓練詞向量的雙向LSTM模型進行對比,訓練所得BLEU評分如圖7所示。

圖7 雙向LSTM與ELMo+雙向LSTM模型BLEU值對比
從圖7中可以看出,基于ELMo的雙向LSTM模型在訓練初期得出的翻譯得分略低于雙向LSTM模型,但隨著訓練次數(shù)的增加基于ELMo的雙向LSTM模型翻譯效果逐漸提高,最終BLEU值達到了9.27,比雙向LSTM模型高了0.96分。結果表明經(jīng)ELMo預訓練后的詞向量更具有代表性和泛化性,可以幫助神經(jīng)網(wǎng)絡模型更好地提取特征。并且雙向LSTM模型在編碼過程中可以更加充分的掌握源語言句子信息,解碼時也可以避免單向傾斜性的問題,相比傳統(tǒng)的單向模型在BLEU值上提升了2.42。
為進一步驗證本文提出的基于雙向編解碼器的神經(jīng)機器翻譯模型的有效性,本文分別在WMT-2014英-德和英-法數(shù)據(jù)集上進行了對比實驗,其中英-德雙語平行語料約200 k行,英-法雙語平行語料約150 k行,實驗所得BLEU評分見表4。

表4 泛化性實驗對比
由表4可以看出,本文基于ELMo和雙向LSTM的機器翻譯模型相比于單向LSTM模型在英德和英法翻譯效果上都有一定的提升,驗證了本文模型的泛化性和有效性。
本文提出了一種基于雙向編解碼器的烏英機器翻譯模型。針對烏爾都語的語料庫稀缺的問題,充分考慮烏爾都語文本語料中復雜多變的形態(tài)以及書寫特點,采用ELMo語言模型進行語料的預訓練,ELMo算法采用雙向LSTM結構對詞進行編碼,多方位獲取上下文語義信息。同時模型采用雙向編解碼結構,既在編碼過程中保證源語言信息的編碼的完整性,又在解碼過程中有效地建模歷史和未來信息,提高了信息的利用率,最終在預測目標序列時采用雙向束搜索算法,避免模型陷入局部最優(yōu),從而取得全局最優(yōu)的預測序列?;陔p向編解碼器的烏英神經(jīng)機器翻譯模型相比傳統(tǒng)烏英機器翻譯模型,降低了模型損失值,同時又提高了譯文BLEU 值。本文雖在模型評分上取得一定的提高,但限于語料庫的匱乏,并沒有充分發(fā)揮模型的性能,特別是在長句上的表現(xiàn)。下一步會構建并擴充語料資源,并對模型進行進一步分析完善,從而提高烏英機器翻譯的質量。