阿里木·賽買提,斯拉吉艾合麥提·如則麥麥提,麥合甫熱提,艾山·吾買爾,吾守爾·斯拉木,吐爾根·依不拉音
新疆大學(xué) 信息科學(xué)與工程學(xué)院 多語(yǔ)種信息技術(shù)實(shí)驗(yàn)中心,烏魯木齊830046
頻繁的語(yǔ)言交流,對(duì)包括少數(shù)民族語(yǔ)言在內(nèi)的翻譯服務(wù)提出了大量多樣化的需求。在傳統(tǒng)翻譯行業(yè)中,譯員培養(yǎng)和譯員提供服務(wù)的時(shí)間成本與經(jīng)濟(jì)成本均較高,逐漸走到瓶頸期。人工智能的不斷發(fā)展,深度學(xué)習(xí)技術(shù)推動(dòng)了機(jī)器翻譯等自然語(yǔ)言處理技術(shù)取得重大進(jìn)展,并且在大量訓(xùn)練數(shù)據(jù)的支撐下核心效果不斷提升[1]。在機(jī)器翻譯模型中Arthur 等人加入外部詞匯從而解決翻譯過(guò)程中的數(shù)據(jù)稀疏問(wèn)題[2-3]。Bahdanau 和Wu 等人提出的基于注意力機(jī)制的神經(jīng)機(jī)器翻譯相比基于統(tǒng)計(jì)翻譯方法,翻譯性能及翻譯效果取得了大幅改善,并且在個(gè)別場(chǎng)景中翻譯效果逼近人類翻譯水平[4-5]。2017 年這一技術(shù)穩(wěn)定的局面被Transformer打破[6],并且成為了最受歡迎的神經(jīng)機(jī)器翻譯技術(shù)框架。
在同內(nèi)容的表達(dá)方面,維吾爾語(yǔ)的內(nèi)容序列長(zhǎng)度要明顯長(zhǎng)于漢語(yǔ)的序列長(zhǎng)度,并且在解碼時(shí)文本序列越長(zhǎng)對(duì)context信息的計(jì)算及譯文的質(zhì)量也會(huì)帶來(lái)間接的影響,更難捕捉句子長(zhǎng)距離的依賴。在機(jī)器翻譯中模型融合是將多個(gè)神經(jīng)機(jī)器翻譯系統(tǒng)訓(xùn)練后的結(jié)果產(chǎn)物進(jìn)行系統(tǒng)性的融合處理,以獲取更好的譯文結(jié)果的方法。模型融合的主要思路是在神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯中每個(gè)翻譯模型都有自己的譯文預(yù)測(cè)的優(yōu)勢(shì)部分,模型融合則可使各個(gè)翻譯模型的優(yōu)勢(shì)能夠巧妙地耦合以便獲取一個(gè)更好的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型,機(jī)器翻譯模型融合現(xiàn)已被越來(lái)越多的研究愛(ài)好者們所接受,并且在眾多可研論文及評(píng)測(cè)報(bào)告中表明,模型融合技術(shù)可高效地達(dá)到上述目的[7]。
神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型融合可以按照級(jí)別分為詞匯級(jí)、句子級(jí)和短語(yǔ)級(jí)機(jī)器翻譯模型融合。以句子長(zhǎng)度為邊界劃分的機(jī)器翻譯模型融合則需將候選結(jié)果先合并,再通過(guò)個(gè)性化的選取機(jī)制篩選出質(zhì)量最好的翻譯結(jié)果作為輸出;短語(yǔ)級(jí)神經(jīng)網(wǎng)絡(luò)模型融合采用機(jī)器翻譯譯文和源端輸入句子獲取對(duì)齊后的短語(yǔ)翻譯表(在此也可采用機(jī)器翻譯模型過(guò)程譯文產(chǎn)物),再次計(jì)算翻譯預(yù)測(cè)概率,為獲取新的譯文句子采用短語(yǔ)解碼器再次完成解碼;詞匯級(jí)神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯融合方法則是先將單詞進(jìn)行對(duì)齊(方法包括:GIZA++對(duì)齊方法、法醫(yī)錯(cuò)誤率(TER)和編輯距離對(duì)齊方法等),從而建立一致性網(wǎng)絡(luò)并完成解碼,獲取新的譯文句子。
本文為了充分利用維吾爾語(yǔ)與漢語(yǔ)有限的平行語(yǔ)料,考慮到維吾爾語(yǔ)漢語(yǔ)平行語(yǔ)料實(shí)驗(yàn)室自建數(shù)據(jù)集為更好地體現(xiàn)該方法的權(quán)威可信性及效果,加入了數(shù)據(jù)量較多的中英翻譯任務(wù)采用了CWMT2018 中英數(shù)據(jù)集。本文根據(jù)句子長(zhǎng)度信息,把原平行語(yǔ)料劃分若干個(gè)模型,為每個(gè)模型訓(xùn)練一個(gè)子模型,提出了一種按句子長(zhǎng)度融合策略的神經(jīng)網(wǎng)絡(luò)翻譯方法,并使用兩種不同的方法得到最終的譯文。通過(guò)實(shí)驗(yàn)證明,在語(yǔ)料充足的情況下兩種方法都能使機(jī)器翻譯質(zhì)量得到有效的提升,在三個(gè)不同測(cè)試集上均有所提升。
機(jī)器翻譯訓(xùn)練數(shù)據(jù)中理論上模型訓(xùn)練數(shù)據(jù)句長(zhǎng)得均勻分布,但往往因?yàn)榉N種因素會(huì)有占比的失衡,而正是這樣的一種失衡現(xiàn)象可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型在面對(duì)極端句長(zhǎng)的情況中出現(xiàn)較差的一種表現(xiàn)[8]。為了充分利用海量平行語(yǔ)料并進(jìn)一步提升機(jī)器翻譯模型質(zhì)量,提出了一種按句子長(zhǎng)度劃分策略的融合系統(tǒng),并在維漢及英中任務(wù)中進(jìn)行對(duì)比實(shí)驗(yàn)。
首先,將平行預(yù)料按句子長(zhǎng)度劃分幾個(gè)模塊;然后,使用每個(gè)語(yǔ)料對(duì)基線模型進(jìn)行Fine-Tuning[5]訓(xùn)練。系統(tǒng)框架如圖1所示。當(dāng)模型訓(xùn)練完以后,最終本文使用兩個(gè)方法來(lái)得到最終的譯文。
圖1 不同句子長(zhǎng)度模型的訓(xùn)練融合方法Fig.1 Training fusion method of different sentence length model
句長(zhǎng)邊界劃分后模型的融合:根據(jù)測(cè)試集源語(yǔ)言句子長(zhǎng)度調(diào)用相應(yīng)的模型來(lái)得到譯文。
三特征(困惑度、句長(zhǎng)比與分類器)融合排序:
分別使用四個(gè)子模型進(jìn)行翻譯,將各個(gè)模型翻譯結(jié)果按照句子比例、BERT[9]句子級(jí)困惑度(PPL)以及BERT 句子分類器的概率來(lái)重排序得到最終的翻譯結(jié)果。下面分別介紹一下句子比例、困惑度以及本文的基于BERT的句子分類器。
句子比例計(jì)算:首先,分別對(duì)源語(yǔ)言和目標(biāo)語(yǔ)言平行句對(duì)進(jìn)行分詞;然后,計(jì)算單詞及標(biāo)點(diǎn)數(shù)量,最終通過(guò)公式(1)獲取句子比例。初步認(rèn)為句子比例越接近1,說(shuō)明這兩條句子的平行度越好。
例如:
原文:I am student of Xinjiang University.(句長(zhǎng):7)
目標(biāo):我是新疆大學(xué)的學(xué)生。(句長(zhǎng):7)
通過(guò)公式計(jì)算句子長(zhǎng)度比例P等于1,說(shuō)明該句對(duì)里面的單詞數(shù)量完全一樣。
困惑度:在自然語(yǔ)言處理中,困惑度是用來(lái)評(píng)價(jià)語(yǔ)言模型好壞的指標(biāo)。一般情況下,困惑度越低,說(shuō)明語(yǔ)言模型對(duì)這句話的困惑程度越低,語(yǔ)言模型就越好。困惑度通常計(jì)算句子或文本的概率分布平均到每個(gè)詞上的困惑度數(shù)值。困惑度的計(jì)算方式如式(2)所示。本文對(duì)于中文使用BERT(bidirectional encoder representation from transformers)預(yù)訓(xùn)練語(yǔ)言模型獲取困惑度,并在融合系統(tǒng)中使用。
其中,N表示句子或文本的長(zhǎng)度。
BERT 句子分類器:BERT 是截至2018 年10 月最新的state of the art模型,通過(guò)預(yù)訓(xùn)練和精調(diào)橫掃了11項(xiàng)NLP 任務(wù)[9]。而且它的基本原理是Transformer,也就是相對(duì)比RNN 更加高效、能捕捉句子更長(zhǎng)距離的依賴。本文提出的句子分類思路如下:
首先,將平行語(yǔ)料拼接起來(lái)作為正樣本,將打亂的平行語(yǔ)料再進(jìn)行拼接作為負(fù)樣本創(chuàng)建訓(xùn)練數(shù)據(jù);然后,將拼接后的句子作為BERT 的輸入;最終,通過(guò)feed forward neural network(FFNN)和SoftMax 來(lái)訓(xùn)練句子分類器。
在此使用140 萬(wàn)條數(shù)據(jù)進(jìn)行訓(xùn)練,其中正、負(fù)樣本各70 萬(wàn)。模型的訓(xùn)練結(jié)果為:驗(yàn)證集上的正確率為94%,測(cè)試上的正確率為95%。在融合時(shí)將每個(gè)模型的翻譯結(jié)果和原文進(jìn)行拼接,作為句子分類器模型的輸入,并得到對(duì)齊概率,最終將對(duì)齊概率、困惑度和句子長(zhǎng)度按照比例進(jìn)行打分,選出分?jǐn)?shù)最高的作為最終翻譯結(jié)果。
本文實(shí)驗(yàn)中在維漢任務(wù)中使用100 萬(wàn)條已清洗的維漢平行句對(duì),驗(yàn)證集為1 000條維漢平行句對(duì),在中英任務(wù)中使用機(jī)器翻譯評(píng)測(cè)(CWMT2018)的英-中平行語(yǔ)料進(jìn)行實(shí)驗(yàn),其中訓(xùn)練集為720 多萬(wàn)條英漢平行句對(duì),驗(yàn)證集為1 000 條英中平行句對(duì)組成。在實(shí)驗(yàn)中,針對(duì)數(shù)據(jù)集進(jìn)行了比較細(xì)致的預(yù)處理,包括編碼轉(zhuǎn)換、亂碼過(guò)濾、分詞、異常句子篩選以及BPE[10]切分等。其中:
(1)編碼轉(zhuǎn)換及去重:利用本課題小組研發(fā)的編碼轉(zhuǎn)換工具分別對(duì)維、漢、英語(yǔ)料進(jìn)行全角半角轉(zhuǎn)換、繁體簡(jiǎn)體轉(zhuǎn)換、亂碼過(guò)濾與去重操作。
(2)分詞:利用開源的哈爾濱工業(yè)大學(xué)中文NLP 工具pyltp對(duì)中文語(yǔ)料進(jìn)行分詞處理;使用spacy開源工具對(duì)英語(yǔ)語(yǔ)料進(jìn)分詞。
(3)篩選:將對(duì)齊句子長(zhǎng)度(單詞數(shù)量)比例大于2.0或小于0.5 的句子去掉;對(duì)句子長(zhǎng)度大于120 個(gè)單詞的對(duì)齊句子去掉。
(4)BPE 切分:利用subword-nmt 開源工具對(duì)維-漢,漢-英等語(yǔ)料進(jìn)行BPE切分處理;BPE迭代輪數(shù)均為50 000。
(5)句子長(zhǎng)度區(qū)間劃分:針對(duì)處理后的語(yǔ)料,按照句子長(zhǎng)度劃分四塊數(shù)據(jù)集(0,10]、(10,20]、(20,30]、(25,xx],對(duì)每個(gè)數(shù)據(jù)集進(jìn)行模型訓(xùn)練,并將對(duì)應(yīng)數(shù)據(jù)集訓(xùn)練獲得模型分別以model[0-10],model[10-20],model[20-30],model[25-xx]表示。
處理后的訓(xùn)練集和驗(yàn)證集統(tǒng)計(jì)結(jié)果如表1所示。
表1 訓(xùn)練集和驗(yàn)證集統(tǒng)計(jì)結(jié)果Table 1 Statistical results of training set and validation set
對(duì)LDC 語(yǔ)料進(jìn)行同樣的處理,分別為每個(gè)不同區(qū)間隨機(jī)選取2 000條句對(duì),共選取了三個(gè)測(cè)試集,每個(gè)測(cè)試共有8 000 條句對(duì)。具體測(cè)試集語(yǔ)料統(tǒng)計(jì)結(jié)果如表2所示。
表2 測(cè)試集語(yǔ)料統(tǒng)計(jì)結(jié)果Table 2 Statistical results of test set corpus
本實(shí)驗(yàn)以BLEU值作為主要的自動(dòng)評(píng)價(jià)指標(biāo),采用基于字符(character-based)的評(píng)價(jià)方式計(jì)算BLEU 分?jǐn)?shù)(值),對(duì)譯文未做其他的后處理操作。
本實(shí)驗(yàn)使用Centos7.4操作系統(tǒng),64 GB內(nèi)存,雙CPU Intel?Xeon?Gold 6140 CPU 處理器和2 塊NVIDIA P40顯卡。本文使用Google開源的Tensor2Tensor[11]工具進(jìn)行模型訓(xùn)練并重寫了模型的數(shù)據(jù)語(yǔ)料處理部分。為了實(shí)驗(yàn)結(jié)果的可比性,對(duì)所有的系統(tǒng)均使用transformer_base[6]參數(shù),使用單個(gè)GPU訓(xùn)練,基準(zhǔn)模型訓(xùn)練迭代次數(shù)均為20萬(wàn)步,其他子系統(tǒng)訓(xùn)練迭代次數(shù)10萬(wàn)步。在解碼階段采用Beam Search策略來(lái)進(jìn)行預(yù)測(cè),beam_size大小均為12,解碼時(shí)長(zhǎng)度懲罰因子alpha大小為0.6。當(dāng)訓(xùn)練結(jié)束時(shí),對(duì)最后30輪的訓(xùn)練模型參數(shù)求平均。
按照2.2 節(jié)的環(huán)境與參數(shù)訓(xùn)練了所有的模型,并對(duì)訓(xùn)練集和驗(yàn)證集的損失(Loss)及BLEU 值變化進(jìn)行可視化。圖2 是劃分策略與基準(zhǔn)系統(tǒng)的在訓(xùn)練集上損失變化。可以看出,基線系統(tǒng)隨著模型的訓(xùn)練其損失雖然從6 降到了2 但是整體損失范圍還是在大于2 的范圍內(nèi),采用劃分策略后的數(shù)據(jù)集(0,10],(10,20],(20,30],(25,xx]區(qū)間的子模型損失效果基本一致,其中[0,10]區(qū)間的子模型的訓(xùn)練損失最小。劃分策略后的每一個(gè)子模型的訓(xùn)練損失小于基準(zhǔn)系統(tǒng),這說(shuō)明各個(gè)子模型訓(xùn)練比基準(zhǔn)系統(tǒng)更好。
圖2 訓(xùn)練集損失變化Fig.2 Change of loss in training set
圖3 是各模型在驗(yàn)證集上的BLEU 值變化,圖4 是各模型在驗(yàn)證集上的損失變化,根據(jù)圖3 與圖4 可發(fā)現(xiàn),[0,10]區(qū)間的子模型的訓(xùn)練損失和BLEU 值出現(xiàn)了較大浮動(dòng)的變化,因[0,10]區(qū)間的子模型普遍包含大量短句,而隨著訓(xùn)練次數(shù)的增多,損失的大幅度上升,BLEU的大幅度衰減意味著[0,10]區(qū)間的子模型出現(xiàn)了過(guò)擬合問(wèn)題。而[10,20]區(qū)間的子模型雖然沒(méi)有[0,10]區(qū)間的子模型變化幅度大,但通過(guò)圖3可觀察到隨著訓(xùn)練次數(shù)的增多同樣出現(xiàn)了BLEU 值的衰減。而長(zhǎng)句區(qū)間的兩個(gè)子模型則呈現(xiàn)了較好的效果,其中[25,xx]區(qū)間的子模型,無(wú)論是在損失還是BLEU值效果均明顯優(yōu)于其他模型。
圖3 驗(yàn)證集在訓(xùn)練時(shí)的BLEU變化Fig.3 BLEU change of validation set during training
圖4 驗(yàn)證集在訓(xùn)練時(shí)的loss變化Fig.4 Loss change of validation set during training
通過(guò)對(duì)圖2~圖4分析可知,句子長(zhǎng)度確實(shí)對(duì)訓(xùn)練與測(cè)試有一定的影響,在訓(xùn)練集中包含大量短句的[0,10]區(qū)間子模型效果較為突出,而驗(yàn)證集中面對(duì)小規(guī)模數(shù)據(jù),短句模型會(huì)因過(guò)多的訓(xùn)練次數(shù)出現(xiàn)過(guò)擬合,效果衰減嚴(yán)重,包含大量長(zhǎng)句[25,xx]區(qū)間的子模型呈現(xiàn)了較好的翻譯。本文方法用不同的句子長(zhǎng)度實(shí)驗(yàn)不同的模型翻譯,從而提升翻譯效果。
2.4.1 三特征(困惑度、句長(zhǎng)比與分類器)融合排序
為了驗(yàn)證句子長(zhǎng)度比例、困惑度以及分類器概率對(duì)候選譯文選取的影響,分別對(duì)每一項(xiàng)進(jìn)行實(shí)驗(yàn)。
句子長(zhǎng)度比例:首先,對(duì)各個(gè)子模型的譯文的長(zhǎng)度進(jìn)行對(duì)比并減1;然后,找出最小的結(jié)果所對(duì)應(yīng)的index;最后,把相應(yīng)模型的譯文作為翻譯結(jié)果。
困惑度:首先,計(jì)算各個(gè)子模型譯文的困惑度;然后,排序;最終,選取困惑度較小的對(duì)應(yīng)模型的譯文作為翻譯結(jié)果。這樣選取理論上不太可靠,因?yàn)槎叹渥拥睦Щ蠖纫话惚乳L(zhǎng)句子的小,直接重排序困惑度往往選取的是短句子訓(xùn)練的模型譯文。因此可加入句子比例,在先計(jì)算句子比例,然后選取同樣的句子比例的候選譯文,再按照困惑度重排序最終的譯文。
分類器概率:對(duì)齊分類器概率與句子長(zhǎng)度比例來(lái)選取譯文。
通過(guò)嘗試以這三個(gè)特征權(quán)重打分的方式進(jìn)行融合重排序?qū)嶒?yàn)。首先,對(duì)所有候選譯文計(jì)算句子長(zhǎng)度;然后,找出對(duì)應(yīng)區(qū)間并對(duì)應(yīng)的模型翻譯結(jié)果賦予40%的權(quán)重,計(jì)算句子長(zhǎng)度比例獲取絕對(duì)值后乘以20%的權(quán)重,按照困惑度排序結(jié)果不同級(jí)別的候選譯文賦予0~20的權(quán)重,最終分類器概率乘20%的權(quán)重;最后,計(jì)算每一項(xiàng)候選譯文的權(quán)重得分,選取得分最高的作為最終譯文。具體的實(shí)驗(yàn)結(jié)果如表3 所示??梢钥闯鲈摲椒ㄝ^Base line提升0.4~0.6 BLEU。
表3 按三特征融合重排序Table 3 Reordering by three special features fusion
2.4.2 句長(zhǎng)邊界劃分后模型的融合
實(shí)驗(yàn)中,在不同測(cè)試集上分別對(duì)基準(zhǔn)系統(tǒng)與按句子長(zhǎng)度劃分策略的翻譯系統(tǒng)在Transformer模型上進(jìn)行了對(duì)比實(shí)驗(yàn),句長(zhǎng)邊界劃分后模型的融合實(shí)驗(yàn)結(jié)果如表4所示。從實(shí)驗(yàn)結(jié)果中可以發(fā)現(xiàn),該方法提出的系統(tǒng)翻譯效果明顯優(yōu)越于基準(zhǔn)模型。其中,在測(cè)試集1上跟基準(zhǔn)模型翻譯結(jié)果相比,提升了1.27 BLEU值;在測(cè)試集2上提升了1.21 BLEU值;在測(cè)試3上提升了1.27 BLEU值??梢?jiàn),本文提出的集成策略的系統(tǒng)明顯提高了翻譯質(zhì)量。
表4 Transformer模型翻譯結(jié)果Table 4 Transformer model translation result
另外對(duì)基準(zhǔn)模型,集成系統(tǒng)以及各個(gè)子系統(tǒng)分別在三個(gè)測(cè)試集上進(jìn)行翻譯測(cè)試。翻譯實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 不同句長(zhǎng)區(qū)間模型在不同測(cè)試集的BLEU得分Fig.5 BLEU scores of interval models of different sentence lengths in different test set
本文提出了一種按句子長(zhǎng)度融合策略的神經(jīng)機(jī)器翻譯方法,并使用兩種不同得方法得到最終譯文。根據(jù)圖5可發(fā)現(xiàn):
(1)在Transformer 模型上,按句子長(zhǎng)度劃分的融合集成系統(tǒng)翻譯結(jié)果在維吾爾語(yǔ)-漢語(yǔ)機(jī)器翻譯任務(wù)中和中文-英文機(jī)器翻譯任務(wù)中明顯優(yōu)于其他子系統(tǒng)以及基準(zhǔn)模型的翻譯結(jié)果。
(2)通過(guò)在100 萬(wàn)句對(duì)的維漢數(shù)據(jù)和700 多萬(wàn)句對(duì)的中英數(shù)據(jù)中可發(fā)現(xiàn),句子長(zhǎng)度劃分后模型的融合方法在資源豐富的平行數(shù)據(jù)中效果更佳(因此在后續(xù)實(shí)驗(yàn)中只選用了英中任務(wù)進(jìn)行驗(yàn)證介紹)。
(3)句子長(zhǎng)度區(qū)間在[25,xx](大于25的)子模型翻譯效果相比于基準(zhǔn)模型翻譯效果幾乎持平(平均提高了0.34 BLEU 值)。這說(shuō)明,長(zhǎng)句子訓(xùn)練的模型各方面比其他子模型翻譯效果好。
(4)數(shù)據(jù)集句子長(zhǎng)度區(qū)間在(0,10]、(10,20]、(20,30]的子模型效果相比基準(zhǔn)模型翻譯效果明顯不好,尤其是區(qū)間[0,10]的子模型翻譯效果極差,發(fā)現(xiàn)該模型對(duì)長(zhǎng)句子的翻譯效果較差,平均譯文長(zhǎng)度跟訓(xùn)練集平均句長(zhǎng)幾乎相同,這說(shuō)明在此短句子數(shù)據(jù)對(duì)機(jī)器翻譯效果帶來(lái)了嚴(yán)重影響,短句子訓(xùn)練的模型在短句子上翻譯效果最佳。
在利用特征融合進(jìn)行重排序[12],雖然增加了過(guò)程的復(fù)雜程度,但是翻譯質(zhì)量得到了提升。通過(guò)實(shí)驗(yàn)證明,在語(yǔ)料充足的情況下兩種方法都能使機(jī)器翻譯質(zhì)量得到有效的提升。本文提出的方法與基準(zhǔn)模型相比對(duì)硬件資源、GPU顯存的要求較高,因此,今后將對(duì)模型的壓縮[13]與改進(jìn)方面繼續(xù)探索研究[14]。