楊 云 王 全
(陜西科技大學(xué)電子信息與人工智能學(xué)院 陜西 西安 710021)
隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,自然語(yǔ)言處理的多個(gè)領(lǐng)域取得了重大突破。機(jī)器翻譯作為該領(lǐng)域的核心應(yīng)用,主要研究如何利用計(jì)算機(jī)實(shí)現(xiàn)不同語(yǔ)言之間的相互轉(zhuǎn)換[1-2]。海量數(shù)據(jù)與深度學(xué)習(xí)技術(shù)的結(jié)合催生了神經(jīng)機(jī)器翻譯,其在語(yǔ)料豐富的語(yǔ)種上可以取得非常好的結(jié)果[3]。然而,性能比較好的機(jī)器翻譯系統(tǒng),包括統(tǒng)計(jì)機(jī)器翻譯系統(tǒng)和神經(jīng)機(jī)器翻譯系統(tǒng),都嚴(yán)重依賴于大量的平行語(yǔ)料[4]。
為了緩解數(shù)據(jù)稀缺的難題,文獻(xiàn)[5]提出了一種基于共享語(yǔ)義表示的多任務(wù)學(xué)習(xí)方法來(lái)擴(kuò)展源語(yǔ)言。文獻(xiàn)[6]借助中間語(yǔ)言的思想,提出了一種多對(duì)一的翻譯機(jī)制。這些方法緩解了數(shù)據(jù)稀疏問(wèn)題,但同時(shí)使得模型過(guò)于復(fù)雜,訓(xùn)練代價(jià)過(guò)高。文獻(xiàn)[7-8]提出了一種通過(guò)在輸入端引入標(biāo)簽的方法來(lái)訓(xùn)練翻譯模型,雖然提高了訓(xùn)練效率和翻譯性能,但仍然面臨數(shù)據(jù)稀缺的難題。文獻(xiàn)[9]從有限的平行語(yǔ)料出發(fā),通過(guò)優(yōu)化語(yǔ)料的方法,額外地生成中間語(yǔ),以改進(jìn)機(jī)器翻譯的性能,但這種方法需要具備特定的領(lǐng)域知識(shí),困難較大。文獻(xiàn)[10]提出了一種增量式自學(xué)習(xí)策略的多語(yǔ)言翻譯模型,通過(guò)自動(dòng)生成偽雙語(yǔ)數(shù)據(jù)來(lái)緩解數(shù)據(jù)稀缺難題,但偽雙語(yǔ)數(shù)據(jù)可能存在噪聲問(wèn)題,影響翻譯質(zhì)量。
本文針對(duì)機(jī)器翻譯研究過(guò)程中,雙語(yǔ)平行語(yǔ)料稀缺的難題,提出一種聯(lián)合EM算法進(jìn)行模型訓(xùn)練的方法。通過(guò)聯(lián)合EM優(yōu)化方法聯(lián)合學(xué)習(xí)源語(yǔ)言到目標(biāo)語(yǔ)言和目標(biāo)語(yǔ)言到源語(yǔ)言的翻譯模型,在整個(gè)訓(xùn)練過(guò)程中,從這兩個(gè)單向的弱翻譯模型(指初始性能較差的模型)開始,使用小規(guī)模的雙語(yǔ)語(yǔ)料進(jìn)行初始的預(yù)訓(xùn)練,并且通過(guò)逐漸減少訓(xùn)練數(shù)據(jù)的翻譯損失來(lái)迭代更新這兩個(gè)模型。在每個(gè)迭代過(guò)程中,一個(gè)模型用于將單語(yǔ)數(shù)據(jù)從一種語(yǔ)言翻譯成另一種語(yǔ)言,形成另一個(gè)模型的訓(xùn)練數(shù)據(jù),然后根據(jù)原始的雙語(yǔ)數(shù)據(jù)和生成的單語(yǔ)訓(xùn)練數(shù)據(jù)重新構(gòu)建數(shù)據(jù)集訓(xùn)練兩個(gè)新的模型。通過(guò)這種迭代方式,在新的一輪迭代中可以產(chǎn)生更高質(zhì)量的訓(xùn)練數(shù)據(jù)繼續(xù)用于模型的訓(xùn)練。根據(jù)EM算法的特點(diǎn),會(huì)隨著算法的收斂得到性能最好的強(qiáng)模型并且生成高質(zhì)量的新的語(yǔ)料,從而達(dá)到語(yǔ)料擴(kuò)充和模型改進(jìn)的雙重效果。
由于本文在初始化訓(xùn)練中,并不需要訓(xùn)練性能強(qiáng)大的模型,而主流的模型選擇有兩種:統(tǒng)計(jì)機(jī)器翻譯模型和神經(jīng)機(jī)器翻譯模型。在低資源情況下,神經(jīng)機(jī)器翻譯性能弱于統(tǒng)計(jì)機(jī)器翻譯模型,原因在于,當(dāng)數(shù)據(jù)稀疏時(shí),神經(jīng)機(jī)器翻譯模型很容易出現(xiàn)過(guò)擬合[11]。為了驗(yàn)證本文方法的有效性,選擇神經(jīng)機(jī)器翻譯模型作為預(yù)訓(xùn)練模型,而且神經(jīng)機(jī)器翻譯模型相比統(tǒng)計(jì)機(jī)器翻譯模型,可以直接從數(shù)據(jù)中學(xué)習(xí)特征,免去了繁瑣的特征工程[2]。在神經(jīng)機(jī)器翻譯模型的眾多選擇中,本文選擇Transformer模型[12],其結(jié)構(gòu)設(shè)計(jì)如圖1所示。
圖1 Transformer模型架構(gòu)圖
本文初始化預(yù)訓(xùn)練兩個(gè)相反方向的Transformer模型,即源語(yǔ)言到目標(biāo)語(yǔ)言和目標(biāo)語(yǔ)言到源語(yǔ)言單向任務(wù)上的模型。
1.2.1 預(yù)訓(xùn)練
在模型的預(yù)訓(xùn)練過(guò)程中,首先對(duì)雙語(yǔ)平行語(yǔ)料進(jìn)行預(yù)處理工作,包括源語(yǔ)言和目標(biāo)語(yǔ)言的預(yù)處理。對(duì)處理后的語(yǔ)料做詞對(duì)齊處理,并且生成雙語(yǔ)詞典,雙語(yǔ)詞典用來(lái)完成源語(yǔ)言與目標(biāo)語(yǔ)言的對(duì)齊翻譯,來(lái)達(dá)到模型訓(xùn)練的目的。使用處理過(guò)的雙語(yǔ)數(shù)據(jù)作為兩個(gè)單向的Transformer模型的訓(xùn)練預(yù)料,來(lái)初始化訓(xùn)練模型。
1.2.2 訓(xùn)練算法
(1) 使用隨機(jī)的權(quán)重參數(shù)θS→T和θT→S初始化MS→T和MT→S。
(3) 迭代使用EM算法[13]直到收斂,具體描述如下:
② M-Step:對(duì)于MS→T,利用經(jīng)過(guò)加權(quán)的雙語(yǔ)語(yǔ)料D∪D′來(lái)訓(xùn)練MS→T,其中生成的語(yǔ)料的權(quán)值賦值為翻譯概率p(s|tj),真實(shí)語(yǔ)料的權(quán)重賦值為1。同理,對(duì)于MT→S,利用經(jīng)過(guò)加權(quán)的雙語(yǔ)語(yǔ)料D∪D″來(lái)訓(xùn)練MT→S,其中生成的語(yǔ)料的權(quán)重賦值為翻譯概率p(t|sj),真實(shí)語(yǔ)料的權(quán)重賦值1。
預(yù)訓(xùn)練過(guò)程采用傳統(tǒng)的基于最大似然原理的方法來(lái)完成。該方法的一般做法是最大化正確翻譯的對(duì)數(shù)條件概率,給定源語(yǔ)言句子的模型參數(shù)θ,其目標(biāo)是得到滿足下式的θ*:
(1)
式中:N為訓(xùn)練語(yǔ)料庫(kù)的規(guī)模;|ti|是目標(biāo)語(yǔ)言句子ti的長(zhǎng)度。
(2)
式中:第一部分表示針對(duì)源語(yǔ)言S產(chǎn)生目標(biāo)語(yǔ)言T的條件概率;第二部分表示關(guān)于T的語(yǔ)言模型,其主要功能在于,最大化句子的可能性。根據(jù)EM算法,將源語(yǔ)言對(duì)應(yīng)的翻譯作為目標(biāo)句子的隱狀態(tài),并對(duì)目標(biāo)語(yǔ)言的語(yǔ)言模型部分進(jìn)行分解,得到:
(3)
根據(jù)Jensen不等式[14],可以得到:
(4)
式中:s表示由目標(biāo)語(yǔ)言句子ti產(chǎn)生的源語(yǔ)言翻譯的隱變量;q(s)是s的近似概率分布;p(s)表示s的邊緣分布;KL(q(s)‖p(s))是兩個(gè)概率分布之間的KL散度[15]。對(duì)于式(4),當(dāng)q(s)滿足以下條件時(shí),可以應(yīng)用以下等式:
(5)
式中:c是常數(shù),不依賴于t。給定:
(6)
則q(s)的計(jì)算公式為:
(7)
式中:p*(s|ti)表示目標(biāo)語(yǔ)言到源語(yǔ)言的最佳翻譯概率。但是在實(shí)驗(yàn)中,只能通過(guò)模型的不斷調(diào)優(yōu)來(lái)逼近最優(yōu)值。因此,使用翻譯概率p(s|ti)作為源語(yǔ)言的近似概率分布,滿足以下條件:
p(s|ti)≈q(s)
(8)
因此,根據(jù)式(2)、式(4)、式(7)和式(8),可以得到:
(9)
式(9)表明L(θS→T)作為最佳翻譯L*(θS→T)的一個(gè)下界,并且KL(p(s|tj)‖p(s))與模型的參數(shù)θS→T無(wú)關(guān)。所以優(yōu)化函數(shù)L(θS→T)可以進(jìn)一步得到簡(jiǎn)化:
(10)
式(10)的第一部分可以采用統(tǒng)計(jì)機(jī)器翻譯中的最大似然方法[16]進(jìn)行訓(xùn)練,訓(xùn)練目標(biāo)可以表示為:
(11)
式中:N代表雙語(yǔ)平行訓(xùn)練語(yǔ)料庫(kù)的規(guī)模;|ti|表示目標(biāo)語(yǔ)言中第i個(gè)句子的長(zhǎng)度。而式(10)的第二部分可以聯(lián)合EM算法對(duì)其進(jìn)行優(yōu)化。本文通過(guò)在E-Step中估計(jì)源語(yǔ)言的翻譯概率p(s|tj)的期望值,并在M-Step中最大化第二部分。在E-Step中,使用模型MT→S產(chǎn)生的翻譯作為隱變量,其與目標(biāo)語(yǔ)言句子配對(duì)加入到原始平行語(yǔ)料中以達(dá)到語(yǔ)料的擴(kuò)充。為了提升生成的新的平行語(yǔ)料的質(zhì)量,通過(guò)最大化新語(yǔ)料的對(duì)數(shù)似然函數(shù)來(lái)最大化L(θS→T)。為了區(qū)別于原始語(yǔ)料,本文對(duì)新語(yǔ)料使用翻譯概率p(s|tj)作為其權(quán)重分布,不斷修正翻譯結(jié)果。
同理,可以得到目標(biāo)語(yǔ)言到源語(yǔ)言的翻譯模型MT→S的優(yōu)化目標(biāo)函數(shù):
(12)
式中:t為源語(yǔ)言句子sj的隱變量。因此,綜合式(10)和式(12),得到總的目標(biāo)函數(shù)為:
L(θ)=L(θS→T)+L(θT→S)
(13)
通過(guò)EM算法對(duì)目標(biāo)函數(shù)的迭代優(yōu)化與訓(xùn)練,生成質(zhì)量更好的新的平行語(yǔ)料,以此來(lái)達(dá)到語(yǔ)料擴(kuò)充的目的。
為了驗(yàn)證本文的方法在機(jī)器翻譯領(lǐng)域語(yǔ)料自動(dòng)生成的有效性,實(shí)驗(yàn)的硬件環(huán)境為Intel(R) Core(TM) i7-8550U CPU @ 1.80 GHz 1.99 GHz,16.0 GB內(nèi)存,SSD 512 GB,Windows 10專業(yè)版操作系統(tǒng)。模型的訓(xùn)練和測(cè)試使用Google公司的開源深度學(xué)習(xí)框架Tensorflow,實(shí)驗(yàn)數(shù)據(jù)分析軟件環(huán)境和測(cè)試環(huán)境為Pycharm2017專業(yè)版。
本文的訓(xùn)練語(yǔ)料庫(kù)包括三大來(lái)源,分別是:2018 AI Challenger英中雙語(yǔ)平行語(yǔ)料庫(kù),包括5 M(M表示百萬(wàn)句對(duì))的中英雙語(yǔ)平行語(yǔ)料,3 M的中文單語(yǔ)語(yǔ)料和2 M的英文單語(yǔ)語(yǔ)料;2018年的WMT中英機(jī)器翻譯訓(xùn)練雙語(yǔ)平行語(yǔ)料共12 M,中文單語(yǔ)語(yǔ)料6 M,英文單語(yǔ)語(yǔ)料4 M;2018年的CWMT的中英雙語(yǔ)平行語(yǔ)料6 M,中文單語(yǔ)語(yǔ)料和英文單語(yǔ)語(yǔ)料各2 M。這些單語(yǔ)句子沒(méi)有任何關(guān)系,換言之,中文的一個(gè)句子,在英文中找不到對(duì)應(yīng)的翻譯。將這些單語(yǔ)數(shù)據(jù)對(duì)應(yīng)的譯文作為參考譯文,用來(lái)與生成的譯文進(jìn)行對(duì)比;驗(yàn)證集選擇NIST2006數(shù)據(jù)集;測(cè)試集選擇NIST2005數(shù)據(jù)集、NIST2008數(shù)據(jù)集、NIST2012數(shù)據(jù)集,每個(gè)測(cè)試集對(duì)應(yīng)3個(gè)參考譯文。為了進(jìn)行中英對(duì)照,使用3個(gè)參考譯文中的第1個(gè)英文句子作為源語(yǔ)言句子,將中文句子作為獨(dú)立的參考翻譯。為了限制詞表的規(guī)模,使用訓(xùn)練語(yǔ)料庫(kù)中前6萬(wàn)個(gè)高頻詞構(gòu)建詞表,其余的低頻詞標(biāo)記為
(14)
(15)
(16)
式中:|·|表示長(zhǎng)度。
最后,完整的BLEU的指標(biāo)計(jì)算式如下:
(17)
本文使用了Transformer模型作為翻譯訓(xùn)練的基線模型,經(jīng)過(guò)多輪的參數(shù)組合優(yōu)化,在實(shí)驗(yàn)中,對(duì)Transformer模型的相關(guān)重要參數(shù)[12]進(jìn)行設(shè)置,使模型性能達(dá)到最優(yōu),如表1所示。這兩個(gè)模型大部分設(shè)置相同,略微不同的是與網(wǎng)絡(luò)訓(xùn)練相關(guān)的參數(shù)設(shè)置?;谠撛O(shè)置,對(duì)于測(cè)試數(shù)據(jù)集,將本文模型與其他完全采用基于雙語(yǔ)語(yǔ)料訓(xùn)練的模型以及部分基于單語(yǔ)語(yǔ)料訓(xùn)練的模型(利用偽數(shù)據(jù)[18]生成的機(jī)器翻譯的思想)進(jìn)行對(duì)比,結(jié)果如表2所示。
表1 相反方向上的Transformer模型參數(shù)設(shè)置
表2 實(shí)驗(yàn)中不同測(cè)試數(shù)據(jù)集上的模型表現(xiàn)結(jié)果
續(xù)表2
為了更加直觀地進(jìn)行比較,表3列出這些模型的平均BLEU。
表3 模型在測(cè)試數(shù)據(jù)集上的平均BLEU
為了更加細(xì)致地探究本文的新方法對(duì)于語(yǔ)料的生成,根據(jù)EM算法的迭代模型的收斂情況,圖2和圖3給出了從不同的翻譯任務(wù)顯示實(shí)驗(yàn)過(guò)程中,模型的性能隨著每次迭代過(guò)程的變化曲線。圖2為本文方法在驗(yàn)證集NIST2006數(shù)據(jù)集上,中文→英文的翻譯任務(wù)中,Transformer模型隨著EM算法的迭代次數(shù),模型性能的變化曲線。圖3為本文方法在驗(yàn)證集NIST2006數(shù)據(jù)集上,英文→中文的翻譯任務(wù)中,Transformer模型隨著EM算法的迭代次數(shù),模型性能的變化曲線。
圖2 中文→英文模型性能的變化曲線
圖3 英文→中文模型性能的變化曲線
為了觀察Transformer模型隨著EM算法迭代,模型生成語(yǔ)料的優(yōu)劣情況,圖4和圖5給出了生成語(yǔ)料的困惑度隨EM算法迭代次數(shù)的變化關(guān)系。
圖4 En→Zh模型生成的語(yǔ)料困惑度隨迭代次數(shù)的變化曲線
圖5 Zh→En模型生成的語(yǔ)料困惑度隨迭代次數(shù)的變化曲線
由表1可知,盡管本文模型的初始訓(xùn)練并沒(méi)有嚴(yán)格要求,但一定的調(diào)參工作對(duì)于算法的迭代收斂過(guò)程有一定的好處,有利于模型的訓(xùn)練。由表2和表3可知,在兩項(xiàng)任務(wù)中,本文方法獲得了最好的結(jié)果,驗(yàn)證了本文方法的有效性,即利用單語(yǔ)語(yǔ)料搭配部分的雙語(yǔ)平行語(yǔ)料也可以提高機(jī)器翻譯模型的性能。相比只使用雙語(yǔ)數(shù)據(jù)而言,本文方法降低了雙語(yǔ)平行數(shù)據(jù)的需求量,減少了專業(yè)學(xué)者們的工作量,同時(shí)又可以獲得顯著效果;與只使用單語(yǔ)數(shù)據(jù)相比,本文方法保證了生成語(yǔ)料的質(zhì)量,從而降低了模型的訓(xùn)練負(fù)擔(dān);與完全采用單語(yǔ)數(shù)據(jù)的無(wú)監(jiān)督機(jī)器翻譯相比,訓(xùn)練代價(jià)更低,性能更優(yōu);具有極高的性價(jià)比。由圖2和圖3可知,當(dāng)EM算法迭代5次之后,趨向于收斂,模型的性能很難再得到提高,這也證明了本文方法經(jīng)過(guò)一定的迭代過(guò)程,使得模型趨于穩(wěn)定。由圖4和圖5可知,5次迭代后,生成語(yǔ)料的困惑度不會(huì)再有大幅度的下降,這與模型的收斂情況一致,避免了模型陷入局部最優(yōu)的可能。
本文提出了一種新的機(jī)器翻譯模型的訓(xùn)練方法。在源語(yǔ)言和目標(biāo)語(yǔ)言雙方向上的單語(yǔ)語(yǔ)料的幫助下,將統(tǒng)一學(xué)習(xí)過(guò)程中的一對(duì)翻譯模型相互結(jié)合,采用聯(lián)合EM訓(xùn)練算法協(xié)同優(yōu)化兩個(gè)翻譯模型,互相提高它們的翻譯性能。在進(jìn)行中英機(jī)器翻譯任務(wù)上的實(shí)驗(yàn)結(jié)果表明,與目前流行的強(qiáng)基線系統(tǒng)相比,基于本文方法的機(jī)器翻譯模型性能更佳。但本文方法仍然不可避免地使用到了雙語(yǔ)平行語(yǔ)料,這與僅使用單語(yǔ)數(shù)據(jù)的無(wú)監(jiān)督機(jī)器翻譯相比,增加了一定的工作量,而且本文方法用于其他語(yǔ)種的翻譯任務(wù)仍在研究中。下一步嘗試將雙語(yǔ)數(shù)據(jù)的需求降到最低,甚至只使用單語(yǔ)數(shù)據(jù),將本文的訓(xùn)練方法應(yīng)用到無(wú)監(jiān)督機(jī)器翻譯領(lǐng)域,并在多個(gè)語(yǔ)種上進(jìn)行模型的訓(xùn)練,擴(kuò)大算法的應(yīng)用范圍。