賈承勛,賴 華,余正濤*,文永華,于志強(qiáng)
(1.昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,昆明 650504;2.云南省人工智能重點(diǎn)實(shí)驗(yàn)室(昆明理工大學(xué)),昆明 650500)
(?通信作者電子郵箱ztyu@hotmail.com)
神經(jīng)機(jī)器翻譯(Neural Machine Translation,NMT)是Sutskever 等[1]提出的端到端的機(jī)器翻譯方法,其訓(xùn)練數(shù)據(jù)越多模型性能越好,但對(duì)于資源稀缺型語(yǔ)言而言,可獲取的雙語(yǔ)數(shù)據(jù)十分有限,這也是導(dǎo)致翻譯效果不佳的主要原因。
目前改善低資源語(yǔ)言神經(jīng)機(jī)器翻譯系統(tǒng)性能的方法有很多,其中利用現(xiàn)有資源擴(kuò)充偽平行數(shù)據(jù)的方法是目前較為有效的方法之一。目前實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充的方法主要有四類:第一類方法是在可比語(yǔ)料中抽取偽平行句對(duì)[2-3],通過(guò)將源語(yǔ)言與目標(biāo)語(yǔ)言映射到同一空間中,根據(jù)一定規(guī)則挑選出候選平行句對(duì),這種方法能夠有效地抽取偽平行語(yǔ)料,但是不容易捕捉句子特征,并且抽取到的偽平行句對(duì)噪聲較大;第二類方法是基于詞的替換[4-5],利用現(xiàn)有小規(guī)模平行句對(duì)指定的詞進(jìn)行規(guī)則替換得到新的偽平行句對(duì),但是當(dāng)出現(xiàn)單詞一對(duì)多的情況時(shí)效果不佳;第三類是基于樞軸語(yǔ)言的方法[6],文獻(xiàn)[7]將其整理分為系統(tǒng)級(jí)、語(yǔ)料級(jí)以及短語(yǔ)級(jí)三種方法,并提出通過(guò)擴(kuò)大生成訓(xùn)練數(shù)據(jù)的規(guī)模以及優(yōu)化詞對(duì)齊質(zhì)量的方式來(lái)提高系統(tǒng)的翻譯性能,此方法適用于零資源語(yǔ)言但產(chǎn)生的語(yǔ)料質(zhì)量不佳,針對(duì)此問(wèn)題文獻(xiàn)[8]將源-樞軸及樞軸-目標(biāo)語(yǔ)言的稀有詞整理為雙語(yǔ)詞典并融入到樞軸語(yǔ)言方法的翻譯過(guò)程中,有效地提升了樞軸語(yǔ)言方法生成偽平行數(shù)據(jù)的質(zhì)量;第四類是利用單語(yǔ)數(shù)據(jù)進(jìn)行回譯(Back-Translation,BT)[9],通過(guò)小規(guī)模訓(xùn)練數(shù)據(jù)訓(xùn)練目標(biāo)語(yǔ)言到源語(yǔ)言的翻譯模型,將目標(biāo)語(yǔ)言單語(yǔ)數(shù)據(jù)翻譯為源語(yǔ)言數(shù)據(jù),以此生成偽平行數(shù)據(jù)。
漢語(yǔ)-越南語(yǔ)是典型的低資源語(yǔ)言對(duì),可獲取的平行語(yǔ)料較少,通過(guò)數(shù)據(jù)擴(kuò)充生成偽平行數(shù)據(jù)可以較好地緩解此類問(wèn)題。考慮到單語(yǔ)數(shù)據(jù)易于獲取且資源充足,但大多數(shù)現(xiàn)有的方法沒(méi)有充分利用單語(yǔ)資源,因此本文針對(duì)利用單語(yǔ)數(shù)據(jù)生成偽平行語(yǔ)料的方法進(jìn)行了探索研究。由于利用大量單語(yǔ)數(shù)據(jù)訓(xùn)練的語(yǔ)言模型可以較好地學(xué)習(xí)到語(yǔ)言特性,因此本文將單語(yǔ)語(yǔ)言模型與神經(jīng)機(jī)器翻譯模型融合,使得在偽平行數(shù)據(jù)生成過(guò)程中可以通過(guò)語(yǔ)言模型融入目標(biāo)語(yǔ)言的語(yǔ)言特性。實(shí)驗(yàn)結(jié)果表明,相較于基準(zhǔn)系統(tǒng),本文方法生成的偽平行數(shù)據(jù)能有效提高漢越神經(jīng)機(jī)器翻譯的性能。
近年來(lái),國(guó)內(nèi)外相關(guān)研究人員對(duì)單語(yǔ)言數(shù)據(jù)如何提升系統(tǒng)翻譯性能進(jìn)行了廣泛研究,文獻(xiàn)[10]將利用單語(yǔ)數(shù)據(jù)提升神經(jīng)機(jī)器翻譯性能的方法分為與體系結(jié)構(gòu)相關(guān)的方法和與體系結(jié)構(gòu)無(wú)關(guān)的方法。與體系結(jié)構(gòu)相關(guān)的方法是需要神經(jīng)機(jī)器翻譯模型的特定結(jié)構(gòu)特征或需要對(duì)體系結(jié)構(gòu)進(jìn)行更改;與體系結(jié)構(gòu)無(wú)關(guān)方法是使用單語(yǔ)語(yǔ)料生成偽平行語(yǔ)料,然后將偽平行語(yǔ)料與平行語(yǔ)料混合。
目前,目標(biāo)語(yǔ)言端的單語(yǔ)數(shù)據(jù)已經(jīng)被證實(shí)能夠極大地提升模型的翻譯質(zhì)量,并被廣泛利用,最有效的就是文獻(xiàn)[9]提出的回譯方法,即反向翻譯,使用預(yù)先訓(xùn)練的機(jī)器翻譯系統(tǒng)翻譯目標(biāo)語(yǔ)言的單語(yǔ)數(shù)據(jù),從而生成大量的偽雙語(yǔ)數(shù)據(jù),并將這些偽雙語(yǔ)數(shù)據(jù)添加到原始數(shù)據(jù)中進(jìn)行源語(yǔ)言到目標(biāo)語(yǔ)言翻譯模型的訓(xùn)練,但是其翻譯生成的句子會(huì)存在許多錯(cuò)誤,從而影響源語(yǔ)言到目標(biāo)語(yǔ)言的翻譯模型訓(xùn)練。文獻(xiàn)[11]利用不同性能的翻譯模型通過(guò)回譯生成質(zhì)量不同的偽平行數(shù)據(jù),研究偽平行數(shù)據(jù)質(zhì)量對(duì)性能提升的影響,證明了偽平行數(shù)據(jù)的質(zhì)量越好對(duì)模型性能的提升也會(huì)越高,但其只是通過(guò)不同模型改變質(zhì)量,并沒(méi)有對(duì)如何提升偽平行數(shù)據(jù)質(zhì)量進(jìn)行研究。在文獻(xiàn)[12]和文獻(xiàn)[13]的研究中表明,通過(guò)正向翻譯(Forward Translation,F(xiàn)T)獲得的人工平行語(yǔ)料也可以證明是有利的,但是提升效果相比反向翻譯較差。文獻(xiàn)[14]對(duì)偽平行數(shù)據(jù)有效性的上界進(jìn)行了探索,偽平行數(shù)據(jù)與原始數(shù)據(jù)的比例不超過(guò)8∶1,就不會(huì)降低系統(tǒng)的性能。文獻(xiàn)[15]提出了一種將源語(yǔ)言單語(yǔ)數(shù)據(jù)和目標(biāo)語(yǔ)言單語(yǔ)數(shù)據(jù)進(jìn)行聯(lián)合訓(xùn)練的方法,通過(guò)同時(shí)訓(xùn)練源到目標(biāo)和目標(biāo)到源的翻譯模型,在訓(xùn)練過(guò)程中同時(shí)利用正向和反向生成的偽平行數(shù)據(jù)對(duì)兩個(gè)模型進(jìn)行迭代訓(xùn)練。文獻(xiàn)[16]提出利用源語(yǔ)言和目標(biāo)語(yǔ)言的大規(guī)模單語(yǔ)數(shù)據(jù),通過(guò)正向翻譯和反向翻譯生成偽平行數(shù)據(jù),實(shí)驗(yàn)結(jié)果表明只使用源端或目標(biāo)端的單語(yǔ)數(shù)據(jù)生成更多的偽平行數(shù)據(jù),對(duì)模型的提升效果不會(huì)隨著數(shù)據(jù)量的增加而增加。
以上方法均是利用單語(yǔ)數(shù)據(jù)生成偽平行數(shù)據(jù)提升神經(jīng)機(jī)器翻譯的性能,但對(duì)低資源語(yǔ)言神經(jīng)機(jī)器翻譯性能的提升仍然有限。漢語(yǔ)和越南語(yǔ)都是獨(dú)立派系的語(yǔ)言且漢越雙語(yǔ)訓(xùn)練數(shù)據(jù)稀缺,考慮到偽平行數(shù)據(jù)的數(shù)量對(duì)系統(tǒng)性能的提升有限,而語(yǔ)言模型容易通過(guò)訓(xùn)練得到,因此本文在偽平行數(shù)據(jù)的生成過(guò)程中,將利用大量單語(yǔ)數(shù)據(jù)訓(xùn)練得到目標(biāo)語(yǔ)言語(yǔ)言模型融合到神經(jīng)機(jī)器翻譯模型中,融合目標(biāo)語(yǔ)言模型的預(yù)期效果是通過(guò)語(yǔ)言模型在偽平行數(shù)據(jù)的生成中融入語(yǔ)言特性,幫助生成語(yǔ)法正確的句子,使得到的偽平行數(shù)據(jù)更加規(guī)范,從而提高偽平行數(shù)據(jù)的質(zhì)量。由于正向翻譯和反向翻譯生成的數(shù)據(jù)均可以提升系統(tǒng)的性能,同時(shí)為了充分證明融合單語(yǔ)語(yǔ)言模型方法的有效性,本文在正向和反向上都生成了漢越偽平行數(shù)據(jù),其中正向翻譯中融合的是越南語(yǔ)越南源語(yǔ)言模型,反向翻譯中融合的是漢語(yǔ)語(yǔ)言模型。由于生成的偽平行語(yǔ)料中包含部分噪聲,因此本文對(duì)生成的偽平行語(yǔ)料利用漢語(yǔ)和越南語(yǔ)語(yǔ)言模型對(duì)其進(jìn)行質(zhì)量篩選,將最后得到的偽平行數(shù)據(jù)與原始數(shù)據(jù)一起訓(xùn)練最終漢越神經(jīng)機(jī)器翻譯模型。
目前已知正向翻譯和回譯生成的偽平行數(shù)據(jù)對(duì)系統(tǒng)性能均有提升,因此在兩個(gè)方向上生成偽平行數(shù)據(jù),并對(duì)其對(duì)翻譯系統(tǒng)提升的效果進(jìn)行了實(shí)驗(yàn)對(duì)比。對(duì)于語(yǔ)言模型與翻譯模型的融合,本文進(jìn)行了兩種融合方法的實(shí)驗(yàn),分別稱為基于獨(dú)立訓(xùn)練的語(yǔ)言模型融合和基于合并訓(xùn)練的語(yǔ)言模型融合。語(yǔ)言模型的選擇上采用可以處理任意長(zhǎng)度輸入序列的循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(Recurrent Neural Network Language Model,RNNLM)[17],整體流程如圖1所示。
語(yǔ)言模型可以看作是對(duì)一個(gè)句子存在概率的評(píng)估,通過(guò)將語(yǔ)言模型融合后對(duì)單語(yǔ)數(shù)據(jù)進(jìn)行翻譯生成偽平行數(shù)據(jù),在偽平行數(shù)據(jù)生成過(guò)程中可以結(jié)合目標(biāo)語(yǔ)言的語(yǔ)言特性。圖1中對(duì)正向翻譯和反向翻譯生成的偽平行數(shù)據(jù)進(jìn)行篩選所用的漢越語(yǔ)言模型是相同的,均是利用相同的單語(yǔ)數(shù)據(jù)訓(xùn)練得到的語(yǔ)言模型。以下將從生成偽平行數(shù)據(jù)的方式、RNNLM 和NMT 獨(dú)立訓(xùn)練融合、RNNLM 和NMT 合并訓(xùn)練融合以及語(yǔ)言模型困惑度語(yǔ)料篩選幾個(gè)方面對(duì)本文利用單語(yǔ)數(shù)據(jù)實(shí)現(xiàn)語(yǔ)料擴(kuò)充的方法進(jìn)行說(shuō)明。
反向翻譯方法被證實(shí)是一種非常有效并且能較好地提升翻譯系統(tǒng)性能的方法,該方法有效地利用了目標(biāo)語(yǔ)言的單語(yǔ)數(shù)據(jù)。反向翻譯具體流程如圖1 所示,首先使用小規(guī)模漢越雙語(yǔ)語(yǔ)料D=訓(xùn)練一個(gè)越漢翻譯模型My→x,然后將此翻譯模型與外部語(yǔ)言模型進(jìn)行融合,同時(shí)將越南語(yǔ)單語(yǔ)數(shù)據(jù)Y=翻譯為漢語(yǔ)數(shù)據(jù)X'=,在翻譯期間通過(guò)融合的語(yǔ)言模型對(duì)翻譯的數(shù)據(jù)結(jié)合越南語(yǔ)的語(yǔ)言特性使其規(guī)范化,以此構(gòu)成反向翻譯生成漢越偽平行數(shù)據(jù),然后將生成的偽平行數(shù)據(jù)經(jīng)過(guò)語(yǔ)言模型篩選后與原始數(shù)據(jù)一起訓(xùn)練漢越神經(jīng)機(jī)器翻譯模型。
正向翻譯方法生成的偽平行數(shù)據(jù)對(duì)系統(tǒng)的提升效果比反向翻譯的略差一些,但對(duì)系統(tǒng)的翻譯性能仍有提升。正向翻譯具體流程如圖1 所示,使用小規(guī)模雙語(yǔ)語(yǔ)料D,訓(xùn)練漢到越的翻譯模型,然后用此模型將漢語(yǔ)單語(yǔ)數(shù)據(jù)X=翻譯為越南語(yǔ)數(shù)據(jù),在翻譯過(guò)程中本文將外部單語(yǔ)語(yǔ)言模型融合進(jìn)來(lái),通過(guò)語(yǔ)言模型將越南語(yǔ)語(yǔ)言特性結(jié)合進(jìn)來(lái),生成通過(guò)正向翻譯的漢越偽平行數(shù)據(jù),最后將生成的偽平行數(shù)據(jù)與原始數(shù)據(jù)一起訓(xùn)練漢越神經(jīng)機(jī)器翻譯模型。

圖1 偽平行數(shù)據(jù)生成框架整體流程Fig.1 Overall flowchart of pseudo parallel data generation framework
2.2.1 基于獨(dú)立訓(xùn)練的語(yǔ)言模型融合
語(yǔ)言模型訓(xùn)練方便并且可以學(xué)習(xí)到較好的語(yǔ)言特性,對(duì)翻譯性能可以有很好的提升效果,因此本文探索了語(yǔ)言模型獨(dú)立于翻譯模型的融合方式,因?yàn)槟P烷g相互獨(dú)立所以對(duì)語(yǔ)言模型的架構(gòu)沒(méi)有限制,本文可以選擇基于n元語(yǔ)法(n-gram)的前饋語(yǔ)言模型[18]或是基于循環(huán)神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型,由于循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型通過(guò)使用詞向量(Word Embedding)作為輸入能夠在一定程度上緩解數(shù)據(jù)稀疏問(wèn)題,并且循環(huán)結(jié)構(gòu)的引入可以對(duì)長(zhǎng)距離信息進(jìn)行有效建模,獲得更好的語(yǔ)言模型性能,因此本文方法選用循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型進(jìn)行實(shí)驗(yàn)。
RNNLM與NMT獨(dú)立訓(xùn)練融合,是對(duì)NMT與RNNLM分別進(jìn)行訓(xùn)練,最后在模型softmax 層輸出概率進(jìn)行拼接融合的方法。首先利用大量越南語(yǔ)單語(yǔ)語(yǔ)料對(duì)語(yǔ)言模型進(jìn)行預(yù)訓(xùn)練,同時(shí)利用現(xiàn)有數(shù)據(jù)訓(xùn)練一個(gè)漢越神經(jīng)機(jī)器翻譯模型,然后在神經(jīng)機(jī)器翻譯模型每一時(shí)間步長(zhǎng)預(yù)測(cè)下一個(gè)單詞的時(shí)候,將NMT 的概率分布與RNN 語(yǔ)言模型的概率分布進(jìn)行加權(quán)合并,以包含注意力機(jī)制(Attention Mechanism)[19]的RNNsearch 模型[20]為例,模型融合后在t時(shí)刻下翻譯流程如圖2所示。

圖2 t時(shí)刻獨(dú)立訓(xùn)練融合方法的翻譯流程Fig.2 Translation flowchart of independent training fusion method at t time
在神經(jīng)機(jī)器翻譯模型和RNN 語(yǔ)言模型的每個(gè)時(shí)間步長(zhǎng),翻譯模型和語(yǔ)言模型都會(huì)根據(jù)前一時(shí)刻預(yù)測(cè)的單詞對(duì)建議下一個(gè)可能的單詞進(jìn)行概率預(yù)測(cè),然后將NMT 預(yù)測(cè)的概率PNMT(yt|x)與語(yǔ)言模型預(yù)測(cè)的概率PLM(yt)乘以超參數(shù)λ相加,最后概率最高的單詞被選為序列中的下一個(gè)單詞yt,式(1)為NMT 模型在t時(shí)刻預(yù)測(cè)的單詞概率,RNNLM 與NMT 獨(dú)立訓(xùn)練融合的思想便是將yt的概率預(yù)測(cè)從式(1)修改成式(2):

其中:x為源語(yǔ)言詞,y為目標(biāo)語(yǔ)言詞,yt-1為前一時(shí)刻預(yù)測(cè)的目標(biāo)語(yǔ)言單詞;λ為超參數(shù),作為語(yǔ)言模型譯句的概率分布的權(quán)重,此方法需要對(duì)驗(yàn)證數(shù)據(jù)進(jìn)行額外的微調(diào),以控制語(yǔ)言模型的影響。為了使單詞序列獲得得更加準(zhǔn)確,神經(jīng)機(jī)器翻譯模型中解碼器應(yīng)用集束搜索(Beam Search),選擇beam size=3,即選擇概率最大的產(chǎn)生3 個(gè)最可能的序列,直到預(yù)測(cè)結(jié)束為止,然后選擇概率最高的序列。
通過(guò)此融合后的模型,利用正向翻譯和反向翻譯方法生成偽平行數(shù)據(jù),與原始數(shù)據(jù)混合后再進(jìn)行漢越神經(jīng)機(jī)器翻譯模型訓(xùn)練。
2.2.2 基于合并訓(xùn)練的語(yǔ)言模型融合
在訓(xùn)練過(guò)程中,考慮到更深的融合可以更好地融合語(yǔ)言特性,因此本文對(duì)語(yǔ)言建模集成到神經(jīng)機(jī)器翻譯模型體系結(jié)構(gòu)中的方法進(jìn)行了實(shí)驗(yàn)。合并訓(xùn)練融合的好處是,考慮到神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)的特征,本文可以更有效地利用循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型。合并訓(xùn)練融合直接將基于循環(huán)神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型的隱狀態(tài)和神經(jīng)機(jī)器翻譯模型解碼器的隱狀態(tài)合并在一起,然后用此合并的隱狀態(tài)預(yù)測(cè)最終翻譯概率,合并訓(xùn)練融合方法的結(jié)構(gòu)流程如圖3所示。
如圖3 所示,與原始神經(jīng)機(jī)器翻譯模型不同,最終的隱藏層除了NMT 的隱藏狀態(tài)外,還將循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型的隱藏狀態(tài)作為輸入。其中yt為t時(shí)刻預(yù)測(cè)的目標(biāo)語(yǔ)言單詞,Ct為t時(shí)刻的上下文向量為語(yǔ)言模型t時(shí)刻的隱藏層狀態(tài),為神經(jīng)機(jī)器翻譯模型t時(shí)刻解碼器的隱狀態(tài),在每一時(shí)間步長(zhǎng)中語(yǔ)言模型和翻譯模型的隱狀態(tài)還將嵌入前一時(shí)刻預(yù)測(cè)的單詞序列。因此影響整體性能的因素為上下文向量Ct、前一時(shí)刻的單詞序列yt-1以及隱向量狀態(tài)sNMT和sLM,t時(shí)刻預(yù)測(cè)單詞概率如式(3)所示:

圖3 隱狀態(tài)合并訓(xùn)練流程Fig.3 Flowchart of hidden state merge training

為了平衡語(yǔ)言模型對(duì)神經(jīng)機(jī)器翻譯模型的影響,用一個(gè)控制器網(wǎng)絡(luò)gt在每一步計(jì)算中調(diào)整語(yǔ)言模型隱狀態(tài)和解碼器隱狀態(tài)之間的權(quán)重,并根據(jù)訓(xùn)練數(shù)據(jù)對(duì)模型的隱藏輸出和控制器機(jī)制參數(shù)進(jìn)行微調(diào),具體過(guò)程如式(4)~(5)所示:

其中:Wo是學(xué)習(xí)得到的權(quán)重矩陣;fo是具有雙向最大非線性輸出的單層前饋神經(jīng)網(wǎng)絡(luò);bo為偏差。

其中:σ是logistic 函數(shù)和bg是學(xué)習(xí)參數(shù)。通過(guò)將控制器的輸出與語(yǔ)言模型的隱狀態(tài)相乘,使解碼器可以充分利用NMT的信號(hào),而控制器則控制語(yǔ)言模型信號(hào)的權(quán)重。同時(shí)為了使語(yǔ)言模型所學(xué)到的越南語(yǔ)特性不被覆蓋,在訓(xùn)練過(guò)程中,只對(duì)用于參數(shù)化輸出的參數(shù)進(jìn)行調(diào)整。
在漢到越的情況下,當(dāng)沒(méi)有與中文單詞相對(duì)應(yīng)的越南語(yǔ)單詞時(shí),在這種情況下語(yǔ)言模型可以提供更多信息,同時(shí)如果要翻譯單詞為名詞時(shí),則最好忽略來(lái)自語(yǔ)言模型隱藏層的信號(hào),因?yàn)槊~對(duì)后續(xù)單詞概率預(yù)測(cè)的影響較大,這可能會(huì)影響解碼器選擇正確的翻譯。
在統(tǒng)計(jì)機(jī)器翻譯中語(yǔ)料質(zhì)量評(píng)價(jià)的方法有很多,路琦等[21]對(duì)其訓(xùn)練語(yǔ)料質(zhì)量的篩選方法進(jìn)行了詳細(xì)的研究。對(duì)于神經(jīng)機(jī)器翻譯偽平行數(shù)據(jù)的篩選,由于語(yǔ)言模型計(jì)算句子的困惑度(perplexity)實(shí)現(xiàn)方便且準(zhǔn)確度高,同時(shí)語(yǔ)言模型的困惑度評(píng)價(jià)可以評(píng)判句子中單詞序列出現(xiàn)的合理性,可以對(duì)句子的流暢度進(jìn)行評(píng)判,因此本文選擇此方式來(lái)過(guò)濾低質(zhì)量的偽平行語(yǔ)料。困惑度的評(píng)判標(biāo)準(zhǔn)是越小句對(duì)的合理性越高,句子的流暢度也越好。基于語(yǔ)言模型困惑度的漢越偽平行數(shù)據(jù)篩選流程如圖4所示。

圖4 偽平行數(shù)據(jù)篩選流程Fig.4 Flowchart of pseudo-parallel data screening
利用語(yǔ)言模型篩選數(shù)據(jù)的特點(diǎn)在于首先對(duì)生成的偽平行數(shù)據(jù)進(jìn)行排序標(biāo)號(hào),然后同時(shí)利用漢語(yǔ)語(yǔ)言模型和越南語(yǔ)語(yǔ)言模型對(duì)偽平行數(shù)據(jù)中各自語(yǔ)言部分進(jìn)行困惑度評(píng)判,通過(guò)過(guò)濾得到困惑度小于閾值的句子序號(hào),然后根據(jù)句對(duì)的序號(hào)排列取其交集得到最終符號(hào)條件的句對(duì)序號(hào),最后在原始偽平行數(shù)據(jù)中遍歷掃描,得到最終實(shí)驗(yàn)可用的偽平行數(shù)據(jù)。
為驗(yàn)證融合單語(yǔ)語(yǔ)言模型生成的漢越偽平行數(shù)據(jù)的有效性,本文分別在正向翻譯和反向翻譯上生成偽平行數(shù)據(jù),并與原始數(shù)據(jù)結(jié)合訓(xùn)練漢越神經(jīng)機(jī)器翻譯模型。同時(shí)為了驗(yàn)證融合單語(yǔ)語(yǔ)言模型生成的數(shù)據(jù)質(zhì)量要比原始模型生成的偽平行數(shù)據(jù)質(zhì)量高,可以使模型獲得更好的性能提升,本文分別對(duì)不同的偽平行數(shù)據(jù)對(duì)系統(tǒng)性能提升的影響進(jìn)行對(duì)比分析。考慮到生成偽平行數(shù)據(jù)所用單語(yǔ)數(shù)據(jù)與訓(xùn)練語(yǔ)言模型所用單語(yǔ)數(shù)據(jù)的相關(guān)性對(duì)最終模型性能的影響,本文還對(duì)來(lái)自不同領(lǐng)域的單語(yǔ)數(shù)據(jù)生成的偽平行語(yǔ)料對(duì)系統(tǒng)性能的影響進(jìn)行了實(shí)驗(yàn)對(duì)比。
實(shí)驗(yàn)中所用漢越雙語(yǔ)語(yǔ)料是通過(guò)網(wǎng)絡(luò)爬取并進(jìn)行數(shù)據(jù)清洗后得到的160×103平行句對(duì),并分為訓(xùn)練集、驗(yàn)證集與測(cè)試集,其中驗(yàn)證集、測(cè)試集為在160×103平行句對(duì)中隨機(jī)抽取的2×103個(gè)句對(duì)。本文總共收集漢語(yǔ)單語(yǔ)語(yǔ)料和越南語(yǔ)單語(yǔ)語(yǔ)料各3 200×103,其中:3 000×103用來(lái)訓(xùn)練語(yǔ)言模型;500×103來(lái)自教育領(lǐng)域語(yǔ)料庫(kù)QCRI;2 500×103來(lái)自維基百科(Wikipedia)20191201整理的數(shù)據(jù)集;余下200×103用來(lái)進(jìn)行偽平行數(shù)據(jù)生成,QCRI 和Wikipedia 語(yǔ)料各100×103。對(duì)單語(yǔ)數(shù)據(jù)進(jìn)行隨機(jī)打亂后進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)所用數(shù)據(jù)如表1 和表2所示。

表1 實(shí)驗(yàn)用雙語(yǔ)數(shù)據(jù)Tab.1 Experimental bilingual data

表2 單語(yǔ)數(shù)據(jù)利用情況Tab.2 Monolingual data utilization
在進(jìn)行實(shí)驗(yàn)前需要先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,首先對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行tokenization 處理,并將句子長(zhǎng)度在50 個(gè)詞以上的句對(duì)過(guò)濾。實(shí)驗(yàn)中使用的神經(jīng)機(jī)器翻譯模型是RNNsearch 和谷歌(Google)開(kāi)源模型Transformer,使用的語(yǔ)言模型是基于循環(huán)神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型(RNNLM)。所有實(shí)驗(yàn)均使用大小為156×103的雙語(yǔ)平行語(yǔ)料作為訓(xùn)練集,詞表大小均設(shè)置為30×103,實(shí)驗(yàn)均在單卡GPU服務(wù)器上進(jìn)行,為防止出現(xiàn)過(guò)擬合現(xiàn)象,在多次實(shí)驗(yàn)調(diào)整后將損失值dropout 設(shè)置為0.1,批值(batch size)為64,隱層單元(hidden units)為512,訓(xùn)練步長(zhǎng)(train steps)為200×103,使用BLEU(BiLingual Evaluation Understudy)值作為評(píng)測(cè)指標(biāo)。
實(shí)驗(yàn)中比較了RNNsearch 模型和Transformer 模型與RNNLM 融合生成的偽平行數(shù)據(jù)對(duì)漢越神經(jīng)機(jī)器翻譯性能的影響,同時(shí)也對(duì)比了不同語(yǔ)言模型融合方式生成的偽平行數(shù)據(jù)對(duì)漢越神經(jīng)機(jī)器翻譯性能的影響。實(shí)驗(yàn)中baseline 為僅利用原始數(shù)據(jù)訓(xùn)練得到的模型效果,最終模型翻譯方向均為漢到越,生成的偽平行數(shù)據(jù)通過(guò)語(yǔ)言模型篩選在正向和反向翻譯中分別過(guò)濾了5 982 和8 073 個(gè)句對(duì),通過(guò)正向翻譯方法擴(kuò)展了194×103偽平行數(shù)據(jù),通過(guò)反向翻譯方法擴(kuò)展了192×103可用偽平行數(shù)據(jù)。為保證實(shí)驗(yàn)結(jié)果的可靠性,每組結(jié)果的BLEU 值都是利用相同測(cè)試集進(jìn)行實(shí)驗(yàn)得到的結(jié)果,如表3所示。

表3 添加偽平行數(shù)據(jù)后的BLEU值Tab.3 BLEU value after adding pseudo-parallel data
實(shí)驗(yàn)結(jié)果表明,增加偽平行數(shù)據(jù)后可以提升漢越神經(jīng)機(jī)器翻譯模型的翻譯性能,并且通過(guò)基于合并訓(xùn)練融合生成的偽平行語(yǔ)料對(duì)翻譯性能的提升效果要優(yōu)于基于獨(dú)立訓(xùn)練融合的效果,同時(shí)相較于獨(dú)立訓(xùn)練融合方法BLUE 值約平均提升了0.45 個(gè)百分點(diǎn)。正向翻譯方法生成的偽平行語(yǔ)料提升效果相較于反向翻譯方法要略低一些,這是因?yàn)榉聪蚍g生成的偽平行數(shù)據(jù)中越南語(yǔ)部分是真實(shí)語(yǔ)句,漢語(yǔ)部分為翻譯生成的語(yǔ)句,而正向翻譯剛好相反,這使得模型在進(jìn)行訓(xùn)練時(shí)無(wú)法較為準(zhǔn)確地獲取越南語(yǔ)語(yǔ)言信息,所以反向翻譯比正向翻譯生成的偽平行數(shù)據(jù)對(duì)系統(tǒng)的提升效果要好。最后將正向和反向生成的偽平行數(shù)據(jù)合并,進(jìn)一步增加了偽平行數(shù)據(jù)的數(shù)量,在Transformer 模型中的BLEU 值相較于baseline 最高提升了1.41個(gè)百分點(diǎn)。
在實(shí)驗(yàn)中,RNNsearch 模型的效果較差,這是因?yàn)榛赗NN 的翻譯模型在訓(xùn)練過(guò)程中由于線性序列依賴特性很難具備高效的并行計(jì)算能力,并且編碼器產(chǎn)生固定長(zhǎng)度的源語(yǔ)言上下文向量,這種方式無(wú)法充分地利用上下文關(guān)系,而Transformer 模型的編碼器層是由6 個(gè)encoder 堆疊而成,解碼器也一樣。每個(gè)encoder 包含兩層,一個(gè)self-attention 層和一個(gè)前饋神經(jīng)網(wǎng)絡(luò),self-attention 能幫助當(dāng)前節(jié)點(diǎn)不僅僅只關(guān)注當(dāng)前的詞,同時(shí)能更好地獲取上下文的語(yǔ)義信息;decoder 也包含這兩層網(wǎng)絡(luò),并在這兩層中間還有一個(gè)attention 層,幫助當(dāng)前節(jié)點(diǎn)獲取到當(dāng)前需要關(guān)注的重點(diǎn)內(nèi)容,所以Transformer可以更好地利用上下文信息并且充分的利用數(shù)據(jù)訓(xùn)練翻譯模型。
為了驗(yàn)證融合單語(yǔ)語(yǔ)言模型方法生成的偽平行數(shù)據(jù)質(zhì)量相對(duì)較好,在此對(duì)不同的偽平行數(shù)據(jù)對(duì)系統(tǒng)性能提升的影響進(jìn)行對(duì)比分析。在RNNsearch 和Transformer 模型下,對(duì)比無(wú)語(yǔ)言模型融合與融合語(yǔ)言模型生成的偽平行數(shù)據(jù)對(duì)最終翻譯模型性能提升的效果,其中偽平行語(yǔ)料規(guī)模均固定為200×103,結(jié)果如表4所示。
從表4 可以看出,基于獨(dú)立訓(xùn)練融合生成的偽平行數(shù)據(jù)與無(wú)語(yǔ)言模型(無(wú)LM)生成的偽平行數(shù)據(jù)對(duì)系統(tǒng)性能的提升相近,影響不大,而通過(guò)基于合并訓(xùn)練融合生成的偽平行數(shù)據(jù)相對(duì)無(wú)語(yǔ)言模型生成的偽平行數(shù)據(jù)對(duì)系統(tǒng)性能提升較高,這是因?yàn)閭纹叫袛?shù)據(jù)的質(zhì)量得到了提高,可以進(jìn)一步提升模型的翻譯效果。

表4 不同偽平行語(yǔ)料質(zhì)量對(duì)BLEU值提升的影響 單位:%Tab.4 Impact of different pseudo-parallel corpus qualities on BLEU value improvement unit:%
為了驗(yàn)證使用與訓(xùn)練語(yǔ)言模型來(lái)自不同領(lǐng)域的單語(yǔ)語(yǔ)料生成的偽平行語(yǔ)料對(duì)模型性能提升的影響,本文在漢語(yǔ)-越南語(yǔ)翻譯方向上,利用基于合并訓(xùn)練的語(yǔ)言模型融合方式,通過(guò)反向翻譯方法利用越南語(yǔ)單語(yǔ)數(shù)據(jù)生成偽平行數(shù)據(jù)。其中訓(xùn)練語(yǔ)言模型的數(shù)據(jù)來(lái)自維基百科的單語(yǔ)語(yǔ)料,將生成偽平行語(yǔ)料的單語(yǔ)語(yǔ)料分為4 種不同的組成,記為情況1~4,分別對(duì)應(yīng)單語(yǔ)語(yǔ)料完全來(lái)自Wikipedia(100%)、75%與語(yǔ)言模型的領(lǐng)域相同余下部分為教育領(lǐng)域語(yǔ)料、50%相同和領(lǐng)域完全不同(0%),實(shí)驗(yàn)結(jié)果如表5所示。

表5 不同領(lǐng)域單語(yǔ)數(shù)據(jù)BLEU值對(duì)比 單位:%Tab.5 BLEU value comparison of different domain monolingual data unit:%
從表5 可以看出,當(dāng)訓(xùn)練語(yǔ)言模型與翻譯利用的單語(yǔ)數(shù)據(jù)領(lǐng)域相似越多,偽平行數(shù)據(jù)對(duì)最終翻譯模型BLEU 值的提升也會(huì)越高。
以正向翻譯(漢到越)生成的偽平行數(shù)據(jù)為例,對(duì)比分析融入循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型后生成偽平行數(shù)據(jù)的質(zhì)量影響,將漢語(yǔ)通過(guò)本文方法翻譯為越南語(yǔ),例句1“紅色與藍(lán)色混合變成了紫色。”和例句2“將來(lái)我一定會(huì)感謝那些幫助過(guò)我的人。”的不同方法翻譯對(duì)比結(jié)果如圖5~6所示。

圖5 不同方法翻譯結(jié)果對(duì)比(例句1)Fig.5 Comparison of translation results of different methods(example 1)

圖6 不同方法翻譯結(jié)果對(duì)比(例句2)Fig.6 Comparison of translation results of different methods(example 2)
通過(guò)對(duì)比不同方式生成的偽平行句對(duì)可以看出,Transformer 模型生成的偽平行數(shù)據(jù)質(zhì)量要優(yōu)于RNNsearch 模型,主要原因是Transformer模型可以更好地結(jié)合上下文信息,并且對(duì)于部分詞的翻譯更為準(zhǔn)確,如“與藍(lán)色混合”譯文為圖7(a);而RNNsearch的譯文為圖7(b),存在明顯的句法錯(cuò)誤和詞的翻譯問(wèn)題。同時(shí)可以看出,通過(guò)基于合并訓(xùn)練的語(yǔ)言模型融合方式翻譯得到的越南語(yǔ)譯文質(zhì)量比基于獨(dú)立訓(xùn)練融合方式更優(yōu),如“那些幫助過(guò)我的人”的正確譯文為圖7(c),合并融合方式翻譯得到的越南語(yǔ)譯文更加符合越南語(yǔ)語(yǔ)言特性,而獨(dú)立訓(xùn)練融合方式效果相對(duì)較弱。

圖7 部分詞的譯文示例Fig.7 Translation examples of some words
本文針對(duì)漢越神經(jīng)機(jī)器翻譯數(shù)據(jù)稀缺問(wèn)題,充分利用單語(yǔ)數(shù)據(jù)資源,提出了利用單語(yǔ)數(shù)據(jù)在正向和反向兩個(gè)方向上生成偽平行數(shù)據(jù)的過(guò)程中將循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型融合到神經(jīng)機(jī)器翻譯模型中的方法,通過(guò)語(yǔ)言模型結(jié)合語(yǔ)言特性,從而提升了偽平行數(shù)據(jù)的質(zhì)量。實(shí)驗(yàn)結(jié)果表明,本文方法與單一的正向翻譯和反向翻譯生成方法相比,可以在漢越神經(jīng)機(jī)器翻譯中通過(guò)提升偽平行數(shù)據(jù)質(zhì)量從而更好地提升翻譯系統(tǒng)的性能。在未來(lái)工作中,我們會(huì)探索單語(yǔ)數(shù)據(jù)的選擇以及偽平行數(shù)據(jù)與原始數(shù)據(jù)的權(quán)重比對(duì)系統(tǒng)翻譯性能的影響。