董 斌
(西北工業大學明德學院 西安 710124)
隨著我國對外開放程度的不斷提高,英語已經成為對外交流場合的主要語言。傳統人工翻譯成本高昂,且受環境限制嚴重。近年來,借助于計算機的中英語言機器自動翻譯成為了一個重要研究方向[1~3]。
基于規則翻譯和基于例子翻譯是早期機器翻譯主要采用的方法,但翻譯的準確性和自適應性均難以滿足實際翻譯需要[4]。隨著機器學習技術的產生與發展,研究人員提出了基于機器學習的機器翻譯模型[5]。文獻[6]構建一種基于神經網絡的機器翻譯模型,該模型采用的端到端框架成為了后續機器翻譯研究的基本結構。該框架的基本思路是采用機器學習方法搭建一個能夠連接源語言序列和目標語言序列的編碼/解碼結構,實現兩種語言之間的映射。基于編碼/解碼框架,支持向量機、卷積神經網絡、循環神經網絡等各種機器學習智能技術被用于構建機器翻譯模型[7~8]。
本文基于編碼-解碼框架,構建了一種新的用于中英翻譯的機器翻譯模型。該模型采用長短時記憶循環神經網絡(RNN)生成詞向量,在編碼階段和解碼階段分別加入組嵌入技術和權值衰減方法,在提高機器翻譯模型準確性的同事,降低了模型達到收斂的迭代次數,仿真實驗結果驗證了所提方法的有效性。
為了能夠使機器自動地捕獲語言特征,實現基于計算機的自然語言高效映射,首先需要建立一個能夠連接兩種自然語言的機器翻譯模型。編碼/解碼結構是一種十分廣泛的機器翻譯模型,結構如圖1所示。編碼器部分接收帶翻譯語言的輸入,輸出編碼序列,解碼器接收編碼序列,輸出翻譯結果。

圖1 編解碼器結構
如圖1所示,編解碼器的輸入是一個任意長度的源語言序列,然后利用編碼器將其捕獲到能夠表征其句子的特征序列,最后利用解碼器實現特征到語言序列的轉換。因此,編碼階段是將輸入源自然語言映射為一個碼向量,而解碼階段是編碼階段的逆過程,將碼向量映射為目標語言序列,編解碼映射的理論基礎是最大化預測序列概率準則。
令A={a1,a2,…,an}表示源語言的輸入序列,B={b1,b2,…,bm}表示目標語言的輸出序列,則目標語言編解碼器生成的概率可以表示為

式中,c為編碼器輸出的編碼向量,該向量能夠有效表征源語言序列的特征。式(1)等號右邊表示各個目標語言詞匯的生成概率,計算方法為

式中,φ(·)表示基于當前目標語言序列和源語言序列生成當前詞向量的概率,vb為解碼器輸出的目標語言詞向量,cs為編碼器輸入源語言的上下文向量,ct為解碼器輸出目標語言的上下文向量。綜合式(1)和式(2)可知,編解碼器的機器翻譯就是不斷利用輸入源語言的和輸出目標語言來對當前的詞向量進行預測,最終輸出預測概率最大的目標語言詞向量組合。
編解碼器是機器翻譯的基本結構,具體實現機器翻譯還需要對編解碼器結構進行具體設計。文中基于編解碼器機器翻譯設計原則,結合當前中英機器翻譯的實際需要,對機器翻譯結構進行了具體設計,主要包括詞向量生成、基于組嵌入的編碼器和基于權值衰減的解碼器。
基于符號的自然語言數字化表示是機器能夠理解并處理自然語言的基礎。自然語言符號化過程就是將自然語言自動地轉化為詞向量的過程,進而利用計算機的強大計算能力提取自然語言特征[9~10]。常見的詞向量生成算法如One-Hot編碼方法和分布式表示方法需要對自然語言詞數據進行標注,不適用于當前大規模自然語言機器翻譯的場合,文中采用一種基于RNN的自然語言詞向量生成方法。
RNN詞向量生成結構包括輸入層、隱藏層和輸出層,隱藏層隨時間的迭代計算方式為

其中,xt表示t時刻輸入向量,f(·)表示神經網絡激活函數,U和W均為神經網絡的權值矩陣,b為網絡偏置向量。
傳統的循環神經網絡訓練方法是誤差反向傳播算法(BP算法),但是在自然語言詞向量生成過程中,面對源語言序列的長距離依賴問題,BP算法可能會出現梯度衰減或者梯度爆炸的情況,即使采用了梯度裁剪后也難以徹底解決問題。為了更好地解決源語言長距離依賴的梯度爆炸問題,本文采用長短時記憶(LSTM)神經網絡。
LSTM網絡的基本原理是在經過預訓練的RNN上,增加LSTM記憶單元形成新的網絡[11~12]。LSTM記憶單元網絡結構如圖2所示,共包含四個門:輸入門、遺忘門、記憶細胞和輸出門,各部分功能介紹如下。輸入門和輸出門可以有效解決RNN網絡權值更新的沖突,基本屬性為控制門,其中輸入門負責記憶細胞的數據傳入。記憶細胞能夠存儲網絡中的內容,是LSTM的存儲單元。遺忘門的作用是控制記憶細胞的狀態。輸出門綜合當前的輸入數據和記憶細胞數據給出LSTM網絡的輸出結果。LSTM單元的各個門均需要設置激活函數,文中輸入門、遺忘門和輸出門均采用Sigmoid激活函數,而記憶細胞采用Tanh激活函數。

圖2 LSTM單元結構
圖2中LSTM單元中各個門的計算公式為

式中,⊙表示矩陣或向量的點乘運算。
LSTM計算過程表明,如果遺忘門接近于1并且輸入門接近于0,此時前一時刻數據就會一直被存儲在記憶細胞中,實現了源語言序列長距離依賴關系的捕獲,舊狀態數據能夠參與到當前時刻輸出門的計算中。這說明,通過遺忘門和記憶細胞能夠有效融合當前輸入信息和前一時刻輸入信息,這樣能夠有效避免采用BP算法訓練RNN網絡的梯度衰減問題,提升機器翻譯性能。
傳統機器翻譯編碼器模型的輸入是經過詞向量生成算法生成的詞向量,只含有訓練語料之內的信息,缺乏情感信息和上下文信息不能描述表征源語言序列特點。為此,本節構建了一種基于組嵌入的機器翻譯編碼器模型。
組嵌入的基本思想是將源語言序列中的每個詞按照一種或多種方式進行分組劃分,使得源語言序列中每個詞對應一個或者多個分組。對于中英機器翻譯模型,中英文最小單元集合可以定義為

其中,subword表示在英文單詞中具有單獨含義的一部分,例如superman中的super。如果按照一種分組方式對源語言序列中的詞進行分組,序列中所有詞經過劃分后將生成一個組集GUint={組 別};如果分組的方式為多種,源語言序列中的詞將生成多個組。
假設輸入的源語言序列S生成的詞向量集合為

其中wi∈WUint表示經過詞向量生成的詞序列。假設分組劃分方式為φ,則分組后的組集為

其中gi∈GUint表示經過劃分后的組別。例如對于源語言序列“I am a student”,w1=I,w2=am,w3=a,w4=student,如果采用的分組方式是單詞詞性,則分組后為g1=pron,g2=vi,g3=art,g4=n。在中英文機器翻譯組嵌入過程中,常用的劃分規則包括詞性、上下文語義、褒貶程度、大小寫等。
源語言序列經過分組劃分后,需要進行嵌入處理,具體的嵌入方式就是利用one-hot方法將分組后的詞向量轉化為多維連續向量。假設WUint經過one-hot嵌入生成的結果可以表示為

其中eWi表示嵌入后的m維向量。同理,GUint經過one-hot嵌入生成的結果可以表示為

其中eGi表示嵌入后的n維向量,這個過程稱為組嵌入。
相比傳統嵌入模型,源語言序列經過組嵌入后,能夠將多維詞語屬性和原始詞向量一起作為編碼器的輸入,豐富了源語言序列輸入特征,能夠提高機器翻譯的準確性。
機器翻譯過程中,源語言序列中詞語對應的目標語言序列詞語經常會受到前文翻譯結果的影響,并且這種影響還會隨著距離的長短的變化而變化。然而,傳統機器翻譯模型沒有充分考慮大前后文詞語含義的影響,容易出現前后文翻譯不一致的情況,且影響機器翻譯準確性。針對這個問題,本節設計了一種基于權值衰減的解碼器模型。
權值衰減解碼的基本思路是在機器翻譯解碼的過程中,給先出現的詞賦予較高權值,而后出現的詞賦予較低權值。這與實際翻譯的過程是相符的,這是由于先出現的詞會影響后續詞語的翻譯,而最后出現的詞對整個翻譯過程的影響最小,因此權值最小。
機器翻譯是一種未知條件下的自動翻譯,因此機器無法獲取源語言序列的真實長度[13]。為此對每一句帶翻譯語句均首先采用最大句子長度,待檢測到句尾結束符再清除空字符。整個待處理源語言序列的損失函數定義為

其中t表示待翻譯語言序列的實際長度。加權后的損失函數可以表示為

式中fa為權值衰減影響因子。經過式(15)的加權后,越是靠后的詞語對整個翻譯的影響就越小,實現了解碼器損失函數的權值衰減,增強了機器翻譯的準確性。
為了驗證本文構建的中英機器翻譯模型的性能,本節采用實驗數據對其進行性能測試,并與常用機器翻譯模型進行對比分析。測試數據集選取國際口語機器翻譯大賽中的中英機器翻譯數據,測試環境為英偉達公司的GTX1660顯卡,處理器為Intel i7-9700,內存8G,操作系統為Windows7。為了達到快速檢驗機器翻譯模型性能,實驗中僅處理數據集中長度小于12的句子,且RNN模型訓練的batch設置為40。
為了能夠在機器翻譯模型測試過程中及時有效地評價翻譯性能,需要采用翻譯性能自動評價指標。綜合考慮已有機器翻譯性能評價方法,文中選取應用較為廣泛的BLEU評價方法[14~15]。BLEU評價是一種對翻譯質量自動評估的方法,具體計算方式為

其中,BP表示一個與句子長度相關的衰減系數,wn表示翻譯過程中n元詞的權值,pn表示翻譯模型對n元詞翻譯的準確率。
首先對加入權值衰減的解碼器性能進行實驗分析,表1為不同權值衰減影響因子對機器翻譯模型BLEU指標的影響。

表1 不同權值衰減因子性能測試
實驗結果表明,在解碼器中加入權值衰減后,能夠有效提升機器翻譯模型的翻譯性能,相比無權值衰減的模型,BLEU指標提升十分明顯。這是因為通過在解碼器中加入權值衰減因子,能夠對源語言序列中的各個詞賦予不同權重,使得越靠前翻譯的詞權值越高,這樣能夠極大地提升后續語句翻譯的準確性。由表1可知,權值因子的大小對機器翻譯性能具有一定影響,隨著權值衰減因子的增大,解碼器損失函數將會近似于各個詞語的權值均相等,逐漸失去權值衰減的作用;當權值衰減因子設置過小時,機器翻譯模型對排序靠前詞語的權值過大,也會導致當前詞語翻譯不準確,影響模型翻譯性能。為此,針對具體的翻譯數據集,需要經過實驗選取合適的權值衰減因子。
詞嵌入能夠有效提升機器翻譯模型的準確性,且能夠提高模型訓練效率,表2為機器翻譯模型有無組嵌入時模型的收斂速度和翻譯BLEU實驗結果,組嵌入為單一分組,分組方式為按照詞性。實驗結果表明,加入組嵌入后,不但能夠有效提升機器翻譯模型的訓練效率,用更少的迭代次數使模型達到收斂狀態,還能進一步提升翻譯準確性。

表2 組嵌入性能測試
為了進一步測試本文構建的機器翻譯模型性能,采用準確率、召回率和F1對模型翻譯性能進行測試,實驗中權值衰減因子設置為2,組嵌入方式分別選擇詞性、上下文語義、褒貶程度,多分組綜合三種分組方式,實驗結果如表3所示。表3測試結果表明,組嵌入能夠有效提升機器翻譯模型翻譯性能,各個角度的單一分組方式均對模型收斂速度和翻譯準確性具有很大提高,并且綜合多種分組方式能夠進一步提高模型翻譯性能。

表3 綜合測試結果
隨著機器學習等人工智能技術的不斷發展,機器翻譯性能取得了顯著提升。本文研究了基于編碼解碼模型的中英文機器翻譯問題,提出了一種改進的機器翻譯方法。該方法在編碼階段通過組嵌入提高模型收斂速度,在解碼階段通過權值衰減提高翻譯準確性,實現結果驗證了改進方法具有優良的收斂速度和翻譯準確性。