陳 媛,陳 紅
(河南科技大學 a.外國語學院;b.信息工程學院;c.河南省電力電子裝置與系統工程研究中心,河南 洛陽 471023)
機器翻譯是指利用計算機等相關技術自動將一種自然語言轉換成與之語義等價的另一種自然語言的過程[1]。機器翻譯自提出以來主要可以分為規(guī)則機器翻譯[2]、實例機器翻譯[3]、統計機器翻譯[4]和神經機器翻譯[5]4種。神經機器翻譯作為當前機器翻譯的主流翻譯方法,其在通用領域內的翻譯已經達到了不錯的效果,但是在小語種或專業(yè)領域這樣的低資源領域仍面臨很大的挑戰(zhàn)[6]。隨著目前智能電網的不斷建設,技術人員國際交流越來越頻繁,因此做好電氣工程領域內的神經機器翻譯工作是很有必要的。
自神經機器翻譯提出以來,翻譯模型經歷多次的迭代更新,由最初的序列到序列的翻譯模型(sequence to sequence,Seq2Seq)[7]、基于注意力機制的翻譯模型Attention-NMT[8]到如今主流的完全基于注意力機制的翻譯模型Transformer[9],模型提取特征的能力逐步獲得了提升。為取得更好的翻譯效果,針對翻譯模型陸陸續(xù)續(xù)提出了很多改進方法。對于神經機器翻譯來說,如何充分利用現有的語料資源,并從中提取到更多的特征信息是提升模型翻譯性能的一個關鍵點。文獻[10]將機器翻譯后的譯文作為解碼器端的輸入,并對神經機器翻譯模型解碼器端的掩碼結構進行了改進,可以進一步利用源語言信息對機器翻譯的文本進行重解碼過程,提高了譯文的翻譯質量。文獻[11]使用語言模型單詞預測概率作為輔助信息,將其與翻譯模型的編碼信息拼接后進行全連接層的映射,得到融合語言模型知識的特征向量,并將其用于翻譯模型的解碼過程,得到了翻譯效果的提升。文獻[12]使用卷積神經網絡對訓練語料進行字符級別的特征提取,并將其與詞級別的特征向量使用拼接的方法進行向量融合,并提出基于注意力機制嵌入的長短時記憶網絡(long short-term memory,LSTM)神經機器翻譯模型,取得了翻譯效果的提升。文獻[13]對句子中的小句進行標注,并提出多路協同自注意力機制和編碼器-解碼器小句對齊注意力子層地方法對翻譯模型進行改進,很好地融合了小句內的知識信息,提升了模型的翻譯效果。為在模型中獲得更全面的源語言表示,文獻[14]通過字典、語義消歧和隨機候選3種方法獲取單詞的翻譯作為其詞義信息,并將得到的詞義信息融合至編碼器端,得到融合詞義信息的源語言表示向量,提升了模型的翻譯性能。文獻[15]針對篇章級的神經機器翻譯,對句子內的單詞和篇章內的所有句子以及句內單詞進行詞句權重和詞詞權重的計算,并將其與編碼器端本身的自注意力機制進行融合,再通過門控機制得到最終的源語言向量,一定程度上解決了篇章翻譯在翻譯當前句時只關注前后幾個句子的問題。
對于電氣工程這樣的低資源領域,如何充分利用現有的語料并從中提取出更多的特征信息顯得更加重要,本文以目前主流的神經機器翻譯模型Transformer為基線模型,針對模型內單元堆疊的結構造成的頂層單元輸出和底層單元輸出在語義和語法信息上偏重差距較大的問題,在翻譯模型編碼器側底部額外添加了特征提取層,用于提取源語言內包含的底層信息,將其輸出,繼續(xù)用于后續(xù)的編碼器編碼,增加編碼環(huán)節(jié)的特征提取層數,并采用殘差連接的方式將提取到的底層信息向上傳遞,以在翻譯模型內部得到包含更全面信息的源語言表示向量。同理,也將目標語言的底層信息向上傳遞,進一步發(fā)揮編碼器底層信息融合的優(yōu)勢。采用特定的電氣工程領域內的中英平行語料進行模型訓練,提升模型在電氣領域內的翻譯效果。
Transformer模型雖然通過多層編碼器單元的堆疊結構實現了編碼器特征提取能力上的提升,但是隨著模型深度的增加,也很容易造成模型底層信息的丟失。對于提取特征的編碼器,頂層編碼器單元輸出的源語言表示向量相比于底層編碼器單元輸出的源語言表示向量會更側重于語義信息;相反地,底層編碼器單元輸出的源語言表示向量相比于頂層編碼器單元輸出的源語言表示向量則會更側重于詞義信息。而原始的Transformer翻譯模型直接使用編碼器的頂層輸出作為源語言的特征向量進行解碼會一定程度上導致特征向量中包含的源語言底層信息不足,因此本文在Transformer模型的基礎上對其進行結構上的改進,在模型編碼器之前添加了額外的特征提取層,并分別使用多種網絡結構進行源語言底層信息的特征提取,最后將提取到的信息傳輸至頂層編碼器單元的輸出處,使用殘差連接的方式對2個向量進行融合,將融合后的特征向量作為最終的源語言表示向量送入至解碼器端,用于后續(xù)解碼和翻譯過程。并對解碼器端進行改進,使用殘差連接的結構將解碼器端底層的目標語言詞嵌入向量傳輸至頂層的解碼器單元輸出處,實現解碼器端底層信息的傳遞,在編碼器端融合底層特征的基礎上發(fā)揮更大的底層信息優(yōu)勢,使得解碼過程中能充分利用目標語言的底層特征,模型結構如圖1所示。

圖1 融合底層信息的電氣工程領域神經機器翻譯模型
為保證特征提取層提取底層特征的能力,本文分別使用前饋神經網絡(feedforward neural network,FNN)、雙向長短時記憶網絡(bi-directional long short-term memory,BiLSTM)[16]、雙向門控循環(huán)單元(bidirectional gate recurrent unit,BiGRU)[17]、多頭自注意力機制(Multi-Head Self-Attention)4種網絡結構在翻譯模型的編碼器側對源語言進行底層信息的特征提取。其中,FNN采用兩次與模型維度相同的全連接層映射實現;BiLSTM、BiGRU網絡內的隱藏層向量均設置為512,對其網絡輸出進行維度變換后作為底層特征提取層的輸出;Multi-Head Self-Attention網絡為防止由于層數堆疊過多,導致模型發(fā)生過擬合和信息丟失的問題,使用與Transformer內部編碼器單元相同的網絡結構,并在其內部采用與Transformer編碼器端相同的掩碼機制,且其網絡結構內部的隱藏層向量維度設置為512,與Transformer模型保持一致。
為實現電氣工程領域內的神經機器翻譯,本文全部采用搜集到的電氣工程領域內的中英平行語料對翻譯模型進行訓練,其內容主要來自于電氣領域內的一些公開資料,如電氣領域內具有中英文對照的專業(yè)書籍[18-21]、公開發(fā)表的期刊、專利、電氣設備說明書,以及電氣領域內的大型技術論壇或官方網站等,其中訓練集約19×104條,驗證集和測試集各為2 000條。
本實驗以Transformer為基線模型,并使用PyTorch 開源神經翻譯模型(open source neural machine translation in PyTorch,OpenNMTpy)[22](https://github.com/OpenNMT/OpenNMT-py)進行模型的復現。實驗運行環(huán)境為Ubuntu18.04操作系統,并采用1張型號為NVIDIA GeForce RTX 3090的顯卡。實驗過程中設置中英文詞表大小為40 000,將中英平行語料的句子長度設置在100以內,對語料中長度超過100的句子進行過濾,并分別采用空格和jieba分詞對訓練語料的英文和中文進行分詞。模型內詞向量維度和編解碼器內部傳遞的隱藏層維度均設置為512,注意力頭數設置為8頭。訓練過程中batch_type設置為“sents”,batch_size設置為64,采用Adam優(yōu)化算法進行優(yōu)化,神經元隨機失活的概率dropout設置為0.1,并采用束搜索的機制進行解碼,其中beam_size設置為5,其余參數均采用OpenNMT的默認參數。本次訓練共設置25 000步,每1 000步進行1次模型的驗證和保存,并使用系統內的multi-bleu-detok1.perl文件對機器翻譯的譯文進行雙語評估研究(bilingual evaluation understudy,BLEU)值的評價。
對于機器翻譯任務來說,如何評價一個翻譯模型的效果對于模型的翻譯效果體現和后續(xù)模型的改進方向是有很大的指導意義的。翻譯結果的評價,可以分為人工測評和自動測評兩種方法,人工評價的方式需要大量的語言學專家對翻譯的文本進行質量評估,需要耗費大量的人力物力,且人工評價的方式具有很強的主觀性,沒有客觀統一的評價方法,而采用自動評價的方法,通過計算的方式來對翻譯文本進行質量的評估,雖不如人工評價準確,但相對來說會更方便和快捷,因此機器翻譯的評測指標也是機器翻譯領域內一個很重要的研究方向。
本文采用自動評測技術BLEU[23]對機器翻譯的結果進行評估。該方法以句子為單位,對機器翻譯譯文內n元詞組與人工翻譯得到的參考語句的n元詞組之間的相似度來判斷翻譯效果。首先,對特定的n元詞組分別在機器翻譯譯文和多個參考語句內出現的最大次數進行統計,取二者中的最小值作為最終統計的共現次數,然后將該共現次數除以機器翻譯譯文內總的n元詞組的個數,得到其對應的精度Pn,然后對Pn進行求對數、加權求和、取指數的計算用于求取BLEU值。BLEU值越高,則代表機器翻譯的輸出譯文與參考語句越接近。為了防止計算過程中由于句子過短導致的BLEU值虛高,在進行完對數的加權求和后,又乘以懲罰因子BP,句子越短BP值的數值越接近0,其計算公式如下:
Countclip(n-gram)=min{Count(n-gram),Max RefCount(n-gram)};
(1)
(2)
(3)
(4)
其中:Countclip(n-gram)為經過修剪(clipping)后的n-gram計數;Count(n-gram)為n元詞組在機器翻譯結果中出現的次數;Max RefCount(n-garm)為n元詞組在參考語句中出現的最多次數;C為候選翻譯的集合;C′為從候選翻譯集合中選擇的一個特定的候選翻譯;Countclip(n-gram′)為經過修剪后的候選翻譯集合中n-gram′的計數值;BP為長度懲罰因子;c為機器翻譯語句的長度;r為參考譯文的長度;wn為n-gram精確度的權重;在本文中N取值為4,wn=1/N。
為驗證特征提取層的有效性,本次實驗共分為3組。首先,對由FNN、BiLSTM、BiGRU和Multi-Head Self-Attention等4種網絡結構組成的特征提取層進行翻譯模型改進的實驗效果分析。并對由Multi-Head Self-Attention構成的特征提取層進行多層堆疊的對比實驗,探尋最佳的特征提取層數。最后,在特征提取層的基礎上在解碼器端添加殘差連接,實現解碼器端底層信息的向上傳遞。
本文以Transformer為基線模型Baseline,并對基線的翻譯模型進行特征提取層的改進,分別實現以FNN、BiLSTM、BiGRU、1層的Multi-Head Self-Attention等4種網絡結構作為特征提取層的翻譯模型FNN+、BiLSTM+、BiGRU+、Multi-Head Self-Attention1+。實驗中的訓練環(huán)境和所有參數均保持一致,實驗結果如表1所示。表1中:σ=(融合底層特征的翻譯模型BLEU值-基線模型BLEU值)×100 。

表1 特征提取層對比實驗BLEU值
由表1的實驗結果進行分析可知:
(Ⅰ)本文提出的多種基于特征提取層的底層信息融合實驗均對基線模型有翻譯效果的提升,證明了底層信息融合方法的有效性。
(Ⅱ)單層網絡結構構成的特征提取層中,以參數量最多的BiLSTM網絡結構提升效果最佳,充分證明了LSTM網絡提取特征的有效性。相比于BiLSTM的實驗效果,BiGRU組成的特征提取層對翻譯模型的提升效果較差,考慮是由于網絡結構簡化的同時,也降低了BiGRU網絡對特征提取的效果。
(Ⅲ)由FNN和Multi-Head Self-Attention1+構成的特征提取層對翻譯模型的提升效果相當,但其中結構在模型內引入的參數量較少,說明對于底層信息的特征提取來說,簡單的網絡結構反而能實現更好的特征提取功能。
(Ⅳ)BiGRU和Multi-Head Self-Attention1+在模型中引入的參數量相似,但Multi-Head Self-Attention1+對翻譯模型的提升效果更強,說明了特征提取的能力強于結構簡化的BiGRU網絡。
為探索多層自注意力機制對模型特征提取能力的影響,本文另外設置了多層的Multi-Head Self-Attention網絡結構作為特征提取層時的對比實驗。分別取1~6層的Multi-Head Self-Attention作為特征
提取層添加至翻譯模型中得到對應的Multi-Head Self-AttentionN+模型,實驗結果如表2所示,其中σ=(Multi-Head Self-AttentionN+模型BLEU值-基線模型BLEU值)×100 。
由表2可知:由多個多頭自注意力機制網絡堆疊作為底層信息提取層,確實會帶來翻譯效果上的提升,但是其堆疊的層數并不能與翻譯模型的提升效果成正比,其中以3層的Multi-Head Self-Attention結構對翻譯模型的提升效果最好,因為在特征提取層數增加的同時,翻譯模型內部的參數也會隨之增加,而適當增加參數可以提升模型的翻譯性能,但是過多參數的引入反而會導致模型在訓練過程中出現過擬合的情況,反而對翻譯效果的提升造成負面影響。

表2 層數對比實驗BLEU值
編碼器端使用特征提取層融合底層信息的同時,在不添加額外參數的前提下,通過殘差連接的結構將解碼器端底層的目標語言詞嵌入信息傳輸至解碼器頂層單元的輸出處,用于后續(xù)解碼,分別得到對應的FNN+_Res、BiLSTM+_Res、BiGRU+_Res、Multi-Head Self-AttentionN+_Res模型,使得模型在融合源語言底層特征的同時,也能很好地利用解碼器端的譯文信息,充分利用融合底層信息后模型內部傳遞的特征向量,實現底層信息的疊加效果,進而提高模型的翻譯性能,實驗結果如表3所示。表3中σ=(綜合改進模型BLEU值-基線模型BLEU值)×100。

表3 綜合實驗BLEU值
對表3進行數據分析可知:
(Ⅰ)在解碼器端添加殘差連接的機制后,本文所提出的分別由4種網絡結構組成特征提取層的翻譯模型均有了翻譯效果的進一步提升,說明在編碼器端融合底層特征后對模型譯文的生成有著很好的提升效果,而在解碼器端再次使用殘差連接的方法不僅可以實現目標語言端底層信息的傳遞,補全解碼器低層的語法信息,而且可以實現提升效果的疊加,證明了融合底層信息方法的有效性。
(Ⅱ)對比表3與表1數據可知,在解碼器端添加殘差連接的機制后,減少了BiLSTM和BiGRU對模型提升效果的差距,說明解碼器端殘差連接的機制充分發(fā)揮了編碼器端特征提取層的作用。
(Ⅲ)由表1與表3數據可知,由FNN作為特征提取層的翻譯模型,在解碼器端添加了底層信息的殘差連接之后,對翻譯模型有了進一步的提升效果,且其效果高于由BiLSTM和BiGRU特征提取層對模型的提升效果,再次證明了對于底層信息的特征提取,簡單的網絡結構也可以實現很好的效果。
(Ⅳ)對比表1與表3內數據可知,由多層的多頭自注意力機制構成的特征提取層在添加解碼器的殘差連接后,很好地實現了模型的翻譯性能,其中以單層的多頭自注意力機制對翻譯模型提升的效果最好,而層數的增加反而降低了模型的翻譯性能,說明解碼器端殘差連接的結構會進一步放大底層優(yōu)勢,因此層數較少的多頭自注意力構成的特征提取層反而能很好的提升模型的翻譯性能。
(Ⅴ)取基線模型、編碼器端效果最好的Multi-Head Self-Attention3+、信息增強后效果最好的Multi-Head Self-Attention1+_Res模型進行翻譯效果的對比,如圖2所示。由圖2可知:編碼器端融合特征提取層輸出的源語言底層信息后,模型的翻譯效果有了較好的提升,在此基礎上對解碼器端進行殘差連接的改進之后,模型的翻譯效果取得了進一步的提升,且從模型訓練的開始就表現出更好的翻譯性能。

圖2 綜合對比圖
(Ⅵ)取部分測試集的參考語句、基線模型翻譯結果和使用單個多頭注意力機制作為特征提取層的融合底層信息的翻譯模型的翻譯結果進行對比,如表4所示。由表4可見,與基線模型相比,向量融合改進后的模型翻譯結果不僅減少了未登錄詞“

表4 翻譯效果對比
本文針對Transformer模型多層單元堆疊的結構特點,提出一種融合底層信息的神經機器翻譯模型,在編碼器端底部添加額外的特征提取層,并分別采用FNN、BiLSTM、BiGRU和Multi-Head Self-Attention等4種網絡結構實現源語言底層信息的特征提取,并通過殘差連接的方式實現編解碼器端底層信息的向上傳遞,實現底層信息的融合,一定程度上解決了模型結構堆疊造成的底層信息丟失問題,且由于底層信息與頂層輸出分別包含更多的語法信息和語義信息,二者融合的方法也使得模型在編解碼器輸出處得到了信息更全面的特征向量,從而實現模型翻譯性能的提升。使用電氣工程領域內的中英雙語平行語料對模型進行訓練,其翻譯性能最多提升了2.47個百分點。但由于目前的工作仍處于初步探索和嘗試階段,還有很多問題和任務有待解決,包括訓練語料較少,電氣工程學科特征融入不足等,針對以上問題,未來的工作會從數據增強和融入電氣工程領域內的語言學特征兩方面進行。