阿里木·賽買提,斯拉吉艾合麥提·如則麥麥提,麥合甫熱提,艾山·吾買爾,吾守爾·斯拉木,吐爾根·依不拉音
新疆大學 信息科學與工程學院 多語種信息技術實驗中心,烏魯木齊830046
頻繁的語言交流,對包括少數民族語言在內的翻譯服務提出了大量多樣化的需求。在傳統翻譯行業中,譯員培養和譯員提供服務的時間成本與經濟成本均較高,逐漸走到瓶頸期。人工智能的不斷發展,深度學習技術推動了機器翻譯等自然語言處理技術取得重大進展,并且在大量訓練數據的支撐下核心效果不斷提升[1]。在機器翻譯模型中Arthur 等人加入外部詞匯從而解決翻譯過程中的數據稀疏問題[2-3]。Bahdanau 和Wu 等人提出的基于注意力機制的神經機器翻譯相比基于統計翻譯方法,翻譯性能及翻譯效果取得了大幅改善,并且在個別場景中翻譯效果逼近人類翻譯水平[4-5]。2017 年這一技術穩定的局面被Transformer打破[6],并且成為了最受歡迎的神經機器翻譯技術框架。
在同內容的表達方面,維吾爾語的內容序列長度要明顯長于漢語的序列長度,并且在解碼時文本序列越長對context信息的計算及譯文的質量也會帶來間接的影響,更難捕捉句子長距離的依賴。在機器翻譯中模型融合是將多個神經機器翻譯系統訓練后的結果產物進行系統性的融合處理,以獲取更好的譯文結果的方法。模型融合的主要思路是在神經網絡機器翻譯中每個翻譯模型都有自己的譯文預測的優勢部分,模型融合則可使各個翻譯模型的優勢能夠巧妙地耦合以便獲取一個更好的神經網絡機器翻譯模型,機器翻譯模型融合現已被越來越多的研究愛好者們所接受,并且在眾多可研論文及評測報告中表明,模型融合技術可高效地達到上述目的[7]。
神經網絡機器翻譯模型融合可以按照級別分為詞匯級、句子級和短語級機器翻譯模型融合。以句子長度為邊界劃分的機器翻譯模型融合則需將候選結果先合并,再通過個性化的選取機制篩選出質量最好的翻譯結果作為輸出;短語級神經網絡模型融合采用機器翻譯譯文和源端輸入句子獲取對齊后的短語翻譯表(在此也可采用機器翻譯模型過程譯文產物),再次計算翻譯預測概率,為獲取新的譯文句子采用短語解碼器再次完成解碼;詞匯級神經網絡機器翻譯融合方法則是先將單詞進行對齊(方法包括:GIZA++對齊方法、法醫錯誤率(TER)和編輯距離對齊方法等),從而建立一致性網絡并完成解碼,獲取新的譯文句子。
本文為了充分利用維吾爾語與漢語有限的平行語料,考慮到維吾爾語漢語平行語料實驗室自建數據集為更好地體現該方法的權威可信性及效果,加入了數據量較多的中英翻譯任務采用了CWMT2018 中英數據集。本文根據句子長度信息,把原平行語料劃分若干個模型,為每個模型訓練一個子模型,提出了一種按句子長度融合策略的神經網絡翻譯方法,并使用兩種不同的方法得到最終的譯文。通過實驗證明,在語料充足的情況下兩種方法都能使機器翻譯質量得到有效的提升,在三個不同測試集上均有所提升。
機器翻譯訓練數據中理論上模型訓練數據句長得均勻分布,但往往因為種種因素會有占比的失衡,而正是這樣的一種失衡現象可能導致神經網絡機器翻譯模型在面對極端句長的情況中出現較差的一種表現[8]。為了充分利用海量平行語料并進一步提升機器翻譯模型質量,提出了一種按句子長度劃分策略的融合系統,并在維漢及英中任務中進行對比實驗。
首先,將平行預料按句子長度劃分幾個模塊;然后,使用每個語料對基線模型進行Fine-Tuning[5]訓練。系統框架如圖1所示。當模型訓練完以后,最終本文使用兩個方法來得到最終的譯文。

圖1 不同句子長度模型的訓練融合方法Fig.1 Training fusion method of different sentence length model
句長邊界劃分后模型的融合:根據測試集源語言句子長度調用相應的模型來得到譯文。
三特征(困惑度、句長比與分類器)融合排序:
分別使用四個子模型進行翻譯,將各個模型翻譯結果按照句子比例、BERT[9]句子級困惑度(PPL)以及BERT 句子分類器的概率來重排序得到最終的翻譯結果。下面分別介紹一下句子比例、困惑度以及本文的基于BERT的句子分類器。
句子比例計算:首先,分別對源語言和目標語言平行句對進行分詞;然后,計算單詞及標點數量,最終通過公式(1)獲取句子比例。初步認為句子比例越接近1,說明這兩條句子的平行度越好。

例如:
原文:I am student of Xinjiang University.(句長:7)
目標:我是新疆大學的學生。(句長:7)
通過公式計算句子長度比例P等于1,說明該句對里面的單詞數量完全一樣。
困惑度:在自然語言處理中,困惑度是用來評價語言模型好壞的指標。一般情況下,困惑度越低,說明語言模型對這句話的困惑程度越低,語言模型就越好。困惑度通常計算句子或文本的概率分布平均到每個詞上的困惑度數值。困惑度的計算方式如式(2)所示。本文對于中文使用BERT(bidirectional encoder representation from transformers)預訓練語言模型獲取困惑度,并在融合系統中使用。

其中,N表示句子或文本的長度。
BERT 句子分類器:BERT 是截至2018 年10 月最新的state of the art模型,通過預訓練和精調橫掃了11項NLP 任務[9]。而且它的基本原理是Transformer,也就是相對比RNN 更加高效、能捕捉句子更長距離的依賴。本文提出的句子分類思路如下:
首先,將平行語料拼接起來作為正樣本,將打亂的平行語料再進行拼接作為負樣本創建訓練數據;然后,將拼接后的句子作為BERT 的輸入;最終,通過feed forward neural network(FFNN)和SoftMax 來訓練句子分類器。
在此使用140 萬條數據進行訓練,其中正、負樣本各70 萬。模型的訓練結果為:驗證集上的正確率為94%,測試上的正確率為95%。在融合時將每個模型的翻譯結果和原文進行拼接,作為句子分類器模型的輸入,并得到對齊概率,最終將對齊概率、困惑度和句子長度按照比例進行打分,選出分數最高的作為最終翻譯結果。
本文實驗中在維漢任務中使用100 萬條已清洗的維漢平行句對,驗證集為1 000條維漢平行句對,在中英任務中使用機器翻譯評測(CWMT2018)的英-中平行語料進行實驗,其中訓練集為720 多萬條英漢平行句對,驗證集為1 000 條英中平行句對組成。在實驗中,針對數據集進行了比較細致的預處理,包括編碼轉換、亂碼過濾、分詞、異常句子篩選以及BPE[10]切分等。其中:
(1)編碼轉換及去重:利用本課題小組研發的編碼轉換工具分別對維、漢、英語料進行全角半角轉換、繁體簡體轉換、亂碼過濾與去重操作。
(2)分詞:利用開源的哈爾濱工業大學中文NLP 工具pyltp對中文語料進行分詞處理;使用spacy開源工具對英語語料進分詞。
(3)篩選:將對齊句子長度(單詞數量)比例大于2.0或小于0.5 的句子去掉;對句子長度大于120 個單詞的對齊句子去掉。
(4)BPE 切分:利用subword-nmt 開源工具對維-漢,漢-英等語料進行BPE切分處理;BPE迭代輪數均為50 000。
(5)句子長度區間劃分:針對處理后的語料,按照句子長度劃分四塊數據集(0,10]、(10,20]、(20,30]、(25,xx],對每個數據集進行模型訓練,并將對應數據集訓練獲得模型分別以model[0-10],model[10-20],model[20-30],model[25-xx]表示。
處理后的訓練集和驗證集統計結果如表1所示。

表1 訓練集和驗證集統計結果Table 1 Statistical results of training set and validation set
對LDC 語料進行同樣的處理,分別為每個不同區間隨機選取2 000條句對,共選取了三個測試集,每個測試共有8 000 條句對。具體測試集語料統計結果如表2所示。

表2 測試集語料統計結果Table 2 Statistical results of test set corpus
本實驗以BLEU值作為主要的自動評價指標,采用基于字符(character-based)的評價方式計算BLEU 分數(值),對譯文未做其他的后處理操作。
本實驗使用Centos7.4操作系統,64 GB內存,雙CPU Intel?Xeon?Gold 6140 CPU 處理器和2 塊NVIDIA P40顯卡。本文使用Google開源的Tensor2Tensor[11]工具進行模型訓練并重寫了模型的數據語料處理部分。為了實驗結果的可比性,對所有的系統均使用transformer_base[6]參數,使用單個GPU訓練,基準模型訓練迭代次數均為20萬步,其他子系統訓練迭代次數10萬步。在解碼階段采用Beam Search策略來進行預測,beam_size大小均為12,解碼時長度懲罰因子alpha大小為0.6。當訓練結束時,對最后30輪的訓練模型參數求平均。
按照2.2 節的環境與參數訓練了所有的模型,并對訓練集和驗證集的損失(Loss)及BLEU 值變化進行可視化。圖2 是劃分策略與基準系統的在訓練集上損失變化。可以看出,基線系統隨著模型的訓練其損失雖然從6 降到了2 但是整體損失范圍還是在大于2 的范圍內,采用劃分策略后的數據集(0,10],(10,20],(20,30],(25,xx]區間的子模型損失效果基本一致,其中[0,10]區間的子模型的訓練損失最小。劃分策略后的每一個子模型的訓練損失小于基準系統,這說明各個子模型訓練比基準系統更好。

圖2 訓練集損失變化Fig.2 Change of loss in training set
圖3 是各模型在驗證集上的BLEU 值變化,圖4 是各模型在驗證集上的損失變化,根據圖3 與圖4 可發現,[0,10]區間的子模型的訓練損失和BLEU 值出現了較大浮動的變化,因[0,10]區間的子模型普遍包含大量短句,而隨著訓練次數的增多,損失的大幅度上升,BLEU的大幅度衰減意味著[0,10]區間的子模型出現了過擬合問題。而[10,20]區間的子模型雖然沒有[0,10]區間的子模型變化幅度大,但通過圖3可觀察到隨著訓練次數的增多同樣出現了BLEU 值的衰減。而長句區間的兩個子模型則呈現了較好的效果,其中[25,xx]區間的子模型,無論是在損失還是BLEU值效果均明顯優于其他模型。

圖3 驗證集在訓練時的BLEU變化Fig.3 BLEU change of validation set during training

圖4 驗證集在訓練時的loss變化Fig.4 Loss change of validation set during training
通過對圖2~圖4分析可知,句子長度確實對訓練與測試有一定的影響,在訓練集中包含大量短句的[0,10]區間子模型效果較為突出,而驗證集中面對小規模數據,短句模型會因過多的訓練次數出現過擬合,效果衰減嚴重,包含大量長句[25,xx]區間的子模型呈現了較好的翻譯。本文方法用不同的句子長度實驗不同的模型翻譯,從而提升翻譯效果。
2.4.1 三特征(困惑度、句長比與分類器)融合排序
為了驗證句子長度比例、困惑度以及分類器概率對候選譯文選取的影響,分別對每一項進行實驗。
句子長度比例:首先,對各個子模型的譯文的長度進行對比并減1;然后,找出最小的結果所對應的index;最后,把相應模型的譯文作為翻譯結果。
困惑度:首先,計算各個子模型譯文的困惑度;然后,排序;最終,選取困惑度較小的對應模型的譯文作為翻譯結果。這樣選取理論上不太可靠,因為短句子的困惑度一般比長句子的小,直接重排序困惑度往往選取的是短句子訓練的模型譯文。因此可加入句子比例,在先計算句子比例,然后選取同樣的句子比例的候選譯文,再按照困惑度重排序最終的譯文。
分類器概率:對齊分類器概率與句子長度比例來選取譯文。
通過嘗試以這三個特征權重打分的方式進行融合重排序實驗。首先,對所有候選譯文計算句子長度;然后,找出對應區間并對應的模型翻譯結果賦予40%的權重,計算句子長度比例獲取絕對值后乘以20%的權重,按照困惑度排序結果不同級別的候選譯文賦予0~20的權重,最終分類器概率乘20%的權重;最后,計算每一項候選譯文的權重得分,選取得分最高的作為最終譯文。具體的實驗結果如表3 所示。可以看出該方法較Base line提升0.4~0.6 BLEU。

表3 按三特征融合重排序Table 3 Reordering by three special features fusion
2.4.2 句長邊界劃分后模型的融合
實驗中,在不同測試集上分別對基準系統與按句子長度劃分策略的翻譯系統在Transformer模型上進行了對比實驗,句長邊界劃分后模型的融合實驗結果如表4所示。從實驗結果中可以發現,該方法提出的系統翻譯效果明顯優越于基準模型。其中,在測試集1上跟基準模型翻譯結果相比,提升了1.27 BLEU值;在測試集2上提升了1.21 BLEU值;在測試3上提升了1.27 BLEU值。可見,本文提出的集成策略的系統明顯提高了翻譯質量。

表4 Transformer模型翻譯結果Table 4 Transformer model translation result
另外對基準模型,集成系統以及各個子系統分別在三個測試集上進行翻譯測試。翻譯實驗結果如圖5所示。

圖5 不同句長區間模型在不同測試集的BLEU得分Fig.5 BLEU scores of interval models of different sentence lengths in different test set
本文提出了一種按句子長度融合策略的神經機器翻譯方法,并使用兩種不同得方法得到最終譯文。根據圖5可發現:
(1)在Transformer 模型上,按句子長度劃分的融合集成系統翻譯結果在維吾爾語-漢語機器翻譯任務中和中文-英文機器翻譯任務中明顯優于其他子系統以及基準模型的翻譯結果。
(2)通過在100 萬句對的維漢數據和700 多萬句對的中英數據中可發現,句子長度劃分后模型的融合方法在資源豐富的平行數據中效果更佳(因此在后續實驗中只選用了英中任務進行驗證介紹)。
(3)句子長度區間在[25,xx](大于25的)子模型翻譯效果相比于基準模型翻譯效果幾乎持平(平均提高了0.34 BLEU 值)。這說明,長句子訓練的模型各方面比其他子模型翻譯效果好。
(4)數據集句子長度區間在(0,10]、(10,20]、(20,30]的子模型效果相比基準模型翻譯效果明顯不好,尤其是區間[0,10]的子模型翻譯效果極差,發現該模型對長句子的翻譯效果較差,平均譯文長度跟訓練集平均句長幾乎相同,這說明在此短句子數據對機器翻譯效果帶來了嚴重影響,短句子訓練的模型在短句子上翻譯效果最佳。
在利用特征融合進行重排序[12],雖然增加了過程的復雜程度,但是翻譯質量得到了提升。通過實驗證明,在語料充足的情況下兩種方法都能使機器翻譯質量得到有效的提升。本文提出的方法與基準模型相比對硬件資源、GPU顯存的要求較高,因此,今后將對模型的壓縮[13]與改進方面繼續探索研究[14]。