吳 霖,章浩然
(昆明理工大學(xué),云南 昆明 650500)
關(guān)鍵字:神經(jīng)機(jī)器翻譯;過濾;歸一化點(diǎn)向互信息算法;平行語料;對齊信息
神經(jīng)機(jī)器翻譯是數(shù)據(jù)驅(qū)動(dòng)模型,提高平行語料的規(guī)模和質(zhì)量是提升神經(jīng)機(jī)器翻譯性能最簡單有效的方法。然而,通過非人工方式得到的平行語料,其規(guī)模足夠但質(zhì)量不佳。平行語料質(zhì)量不佳的情況下,提高其規(guī)模并不會(huì)讓模型有較大的性能提升甚至存在性能下降的情況,因此提高平行語料的質(zhì)量成了提升模型性能的關(guān)鍵,這使得平行語料過濾方法變得越來越重要。
語料過濾方法是從一個(gè)大規(guī)模的、含有噪聲的平行語料中,過濾出一個(gè)較高質(zhì)量的子語料,并以此來提高翻譯模型性能的方法。當(dāng)前,根據(jù)句子長度、句子長度比例以及語言標(biāo)識(shí)等來過濾語料的方法較為簡單和通用。其中語言標(biāo)識(shí)過濾是過濾掉特定語言對中不屬于該語言對的句子,例如在漢泰語料中,只過濾源語言不為漢語且目標(biāo)語言不為泰語的句子。但是,這些方法只能過濾存在明顯錯(cuò)誤的句對,難以判別并過濾詞翻譯錯(cuò)誤或句意不一致的句對。利用少量干凈的平行語料來提供對齊信息,根據(jù)提供的對齊信息來判別每個(gè)句對是否為噪聲句對的過濾方法也較為常見[1-3],但這些過濾方法都需要有少量干凈的平行語料。但在低資源語言對中,可能存在大規(guī)模且含有噪聲的平行語料,并不存在少量干凈的平行語料。
例如OpenSubtitles[4]中的漢泰平行語料就存在大量噪聲,致使翻譯模型性能不佳,也不存在干凈的且領(lǐng)域相同的平行語料提供對齊信息;因此需要從噪聲語料或單語語料中尋找對齊信息。而在神經(jīng)機(jī)器翻譯領(lǐng)域中,通常采用跨語言預(yù)訓(xùn)練模型或多語言預(yù)訓(xùn)練模型來提供對齊信息。Ivana 等人[5]利用無監(jiān)督神經(jīng)機(jī)器翻譯生成偽平行語料來提供偽對齊信息,然后利用該偽平行語料微調(diào)跨語言模型(Cross-lingual Language Model,XLM)[6],以此來獲取多語言句子嵌入信息。該方法可以用于計(jì)算句子間的相互翻譯程度,從而挖掘和過濾平行語料,但這樣的方法需要龐大的單語語料和強(qiáng)大的硬件支持。
為了減少對單語語料和硬件的依賴,從噪聲語料中抽取出對齊信息是更為有效的方法。點(diǎn)向互信息(Pointwise Mutual Information,PMI)[7]是一種獲取語料中詞對共現(xiàn)概率的方法,其詞對共現(xiàn)概率是由詞對中兩個(gè)詞各自出現(xiàn)的概率和其共同出現(xiàn)概率來得到的。由于噪聲語料中,對齊較差的詞對不具備規(guī)律性,其共同出現(xiàn)的概率低,會(huì)被PMI 賦予低共現(xiàn)概率,而對齊較好的詞對存在一定的規(guī)律性,會(huì)被PMI 賦予高共現(xiàn)概率,通過這樣的方法可以從噪聲語料中抽取出可靠性高的對齊信息。然而,由于PMI 會(huì)給予低頻詞更大的權(quán)重,這會(huì)導(dǎo)致低頻詞對具備更大的共現(xiàn)概率,形成噪聲,降低對齊信息的質(zhì)量。因此,本文采用給予低頻詞對更低權(quán)重的歸一化點(diǎn)向互信息(Normalized Pointwise Mutual Information,NPMI)[8]來抽取噪聲語料中的對齊信息。
本文采用基于NPMI的平行語料過濾方法,該方法直接在噪聲語料中抽取出對齊信息,并利用其中可靠性高的對齊信息來過濾噪聲語料。本文在OpenSubtitles的泰語—漢語翻譯方向上提高了5.8個(gè)BLEU 值,漢語—泰語翻譯方向上提高了10 個(gè)BLEU 值。該方法在2020 年國際機(jī)器翻譯大賽給出的柬埔寨語—英語單向翻譯任務(wù)中實(shí)驗(yàn),得到的結(jié)果比基線高了0.4 個(gè)BLEU 值。
國際機(jī)器翻譯大賽(WMT)在2018 年[9]、2019 年[10]、2020 年[11]分別舉行了不同語言對的平行語料過濾任務(wù)比賽,其中也包括低資源語言對,例如柬埔寨語-英語以及普什圖語-英語,這也是目前最有影響力的平行語料過濾任務(wù)。在WMT2020的任務(wù)中,參賽者根據(jù)噪聲語料中每個(gè)句對的質(zhì)量進(jìn)行評(píng)分,最終按照每個(gè)句對的分?jǐn)?shù)由高到低選取。為了降低平行語料數(shù)量的影響,官方規(guī)定了過濾后的平行語料中,英語語料的詞元(token)數(shù)為5百萬左右。其評(píng)價(jià)平行語料質(zhì)量的方法是在該平行語料上訓(xùn)練一個(gè)翻譯模型,翻譯模型的雙語評(píng)估替補(bǔ)(Bilingual Evaluation Understudy,BLEU)值越大則代表平行語料質(zhì)量越好。此外,所有參賽者都使用相同的翻譯模型,參數(shù)由官方給定。
句對的相互翻譯程度(以下稱之為平行度)的計(jì)算是過濾方法的核心。句對平行度的計(jì)算可以分為詞級(jí)和句級(jí),現(xiàn)有的過濾方法也主要以這兩個(gè)方面為主。因此,如何找到意思表達(dá)更精確的詞向量或句向量,以及如何找到更為精準(zhǔn)的對齊信息是提高過濾性能的關(guān)鍵。
Herold 等人[12]采用glove[13]在每個(gè)語言的單語語料上分別學(xué)習(xí)該語言的詞向量,并將兩種語言的單語詞向量映射到同一向量空間,兩種語言句子中每個(gè)詞對的余弦相似度的總和作為句對平行度,最后實(shí)驗(yàn)證明了語言標(biāo)識(shí)檢測方法的有效性以及適用范圍。除了利用詞向量來計(jì)算兩個(gè)語言句子的平行度外,還可以利用多語言預(yù)訓(xùn)練模型或跨語言預(yù)訓(xùn)練模型,具體是將兩種語言的詞或句子向量映射到相同向量空間中并在一定程度上將它們進(jìn)行對齊,以此來保證兩種語言的詞或句子向量可以進(jìn)行更為精確的余弦相似度計(jì)算。
阿里巴巴團(tuán)隊(duì)[14]利用小規(guī)模干凈的平行語料對語料過濾模型(GPT-2[15])進(jìn)行了最初的訓(xùn)練;之后利用該過濾模型對噪聲語料進(jìn)行過濾,將高質(zhì)量的平行語料和干凈的平行語料進(jìn)行合并;最后利用合并后的語料訓(xùn)練一個(gè)新版本的過濾模型,并迭代3 次來提高過濾模型的過濾性能。
字節(jié)跳動(dòng)[16]團(tuán)隊(duì)利用大規(guī)模的單語語料和官方提供的干凈平行語料上訓(xùn)練了一個(gè)高性能的XLM,并在XLM 上添加一個(gè)線性或卷積層來預(yù)測每個(gè)句對是否平行,最終用4 個(gè)參數(shù)不同或最后一層不同的XLM 對每個(gè)句對進(jìn)行評(píng)分,以它們的平均得分作為最終的質(zhì)量評(píng)分。
評(píng)估句對的平行度不僅可以利用余弦相似度,而且可以利用翻譯模型的交叉熵?fù)p失值。Marcin[1]利用對偶條件交叉熵?fù)p失結(jié)合語言模型作為過濾條件。其中對偶條件交叉熵?fù)p失由兩個(gè)相反翻譯方向的翻譯模型計(jì)算兩個(gè)交叉熵?fù)p失值的差異得到,用于過濾掉對齊錯(cuò)誤的句對;而語言模型分別為一個(gè)領(lǐng)域內(nèi)和領(lǐng)域外的語言模型來計(jì)算其領(lǐng)域的相似性得到,用于過濾掉與領(lǐng)域不相關(guān)的句對。
PMI 是一種在訓(xùn)練語料上構(gòu)建一個(gè)共現(xiàn)矩陣,來對訓(xùn)練語料重新加權(quán)的方法。計(jì)算方法為:
式中:x和y分別為源語言的詞和目標(biāo)語言的詞;p(x)和p(y)分別為x和y在語料中出現(xiàn)的概率;p(x,y)為x和y兩個(gè)詞共同出現(xiàn)的概率。
在實(shí)踐中發(fā)現(xiàn),將詞對中的負(fù)相關(guān)置0,PMI的表現(xiàn)會(huì)更好。而NPMI 也是一種在訓(xùn)練語料上構(gòu)建一個(gè)共現(xiàn)矩陣,來對訓(xùn)練語料重新加權(quán)的方法。該方法對PMI 進(jìn)行了規(guī)范化,從而緩解了PMI 對低頻詞對的偏向。計(jì)算方法為:
OpenSubtitles 中的漢泰平行語料質(zhì)量較差,且沒有同領(lǐng)域高質(zhì)量的平行語料作為錨點(diǎn)提供對齊信息。因此本文選擇直接在漢泰噪聲語料上抽取對齊信息,通過NPMI 來計(jì)算每個(gè)詞對的共現(xiàn)概率,并利用高共現(xiàn)概率的詞對來過濾噪聲語料。
機(jī)器翻譯領(lǐng)域存在大量一對一的詞對,但也存在多對一、一對多甚至多對多的短語對。為了能夠獲取噪聲語料中存在的短語對信息。本文采用快速對齊(fast align)[17]來得到源句子與目標(biāo)句子中詞的對齊信息,以此來構(gòu)建出源與目標(biāo)的短語對表,并過濾掉其中低頻率的短語對。通過該方法得到的短語表,可以用于簡單的過濾。
本文將源語言和目標(biāo)語言分別用X和Y進(jìn)行表示,并利用Px和Py代表分別從X和Y中抽取得到的短語。f(X,Y)是根據(jù)fast align 從X和Y中獲得的詞對齊信息,構(gòu)建出的短語對函數(shù)。因此,本文的NPMI 不計(jì)算噪聲語料中所有可能存在的詞對或短語對,只計(jì)算短語表中存在的詞對或短語對,這樣可以減少可靠性低的對齊信息數(shù)量,進(jìn)而提高從噪聲語料中提取對齊信息的可靠性。
利用統(tǒng)計(jì)機(jī)器翻譯的fast align 技術(shù),本文可以得到所有可能的短語表(其中包括詞對),若將句子中的短語看作為一個(gè)詞,平行語料中依然以一對一詞對為主,因此本文采用與Tu 等人[18]一樣的翻譯覆蓋率來進(jìn)一步保證兩個(gè)句子的平行度。本文以整個(gè)源句子在目標(biāo)句子中是否存在相對應(yīng)的翻譯為基礎(chǔ),若源句子中的某個(gè)詞在目標(biāo)句子中沒有與之相對應(yīng)的詞,則降低源句子的翻譯覆蓋率。同樣判斷目標(biāo)句中的每個(gè)詞是否可以在源句子中找到相對應(yīng)的詞,如果沒有與之對應(yīng)的詞,則降低目標(biāo)句子的翻譯覆蓋率。之所以對源句子和目標(biāo)句子都做翻譯覆蓋率的調(diào)整,原因有二:一是翻譯是雙向的,需要在漢泰和泰漢兩個(gè)翻譯方向上都訓(xùn)練;二是防止源或目標(biāo)句子的每個(gè)詞都指向目標(biāo)或源中的同一個(gè)詞,從而避免存在錯(cuò)誤的翻譯覆蓋率。
為了計(jì)算噪聲語料中對齊信息的可靠性,本文采用NPMI 方法。該方法是對PMI 進(jìn)行了歸一化,防止低頻短語對的可靠性太高。同時(shí)根據(jù)正點(diǎn)向互信息(Positive Pointwise Mutual Information,PPMI)[19](只保留PMI 中大于0的值)的效果好于PMI的效果,本文只使用了NPMI 中大于0的部分。
本文使用了由NPMI 得到的對齊信息和翻譯覆蓋率(normalized pointwise Mutual Information and Translation Coverage,MITC)來評(píng)估源句子與目標(biāo)句子的平行度,計(jì)算方法為:
式中:|·|為短語或句子包含的token 個(gè)數(shù),用該方法來防止長句子對擁有太高的分?jǐn)?shù)和短句子對擁有太低的分?jǐn)?shù),盡管短句子對的質(zhì)量可能高于長句子對的質(zhì)量;C(Y|X)為X中的所有可以在Y中找到對應(yīng)翻譯的詞在整個(gè)X中的占比,即X的翻譯覆蓋率;C(X|Y)為Y的翻譯覆蓋率。
這里計(jì)算源句子和目標(biāo)句子平行度的依據(jù)是:
(1)如果對齊信息(Px,Py)有很高的可靠性,則包含(Px,Py)的句對(X,Y)同樣有很高的對齊可靠性,即句對的平行度很高;
(2)如果短語Px或者Py在X或Y整個(gè)句子中的占比非常大,則對齊信息(Px,Py)與句對(X,Y)是強(qiáng)關(guān)聯(lián);
(3)若C(Y|X)和C(X|Y)代表了(X,Y)整體平行度,則翻譯覆蓋率越高,(X,Y)的整體平行度就越高。
本文在漢泰翻譯上采用OpenSubtitles 中的漢泰語料作為訓(xùn)練集,總共有117 萬句對,驗(yàn)證集和測試集均為2 000 句對。在柬埔寨語—英語翻譯方向上采用WMT2020的平行語料過濾任務(wù)的噪聲語料過濾后的語料作為訓(xùn)練集,驗(yàn)證集與測試集由WMT2020 官方給出,驗(yàn)證集有2 378 句對,測試集有2 309 句對。
翻譯模型采用transformer[20],批次大小為64,嵌入層維度為512,隱藏層維度為512,編碼器和解碼器的層數(shù)均設(shè)置為6,注意力頭個(gè)數(shù)設(shè)置為8,學(xué)習(xí)率為0.000 5,丟棄率(dropout)為0.1,解碼采用集束搜索,集束寬度設(shè)置為4,優(yōu)化器設(shè)置為Adam,最大Epoch 設(shè)置為100。訓(xùn)練結(jié)束的標(biāo)志為連續(xù)10 個(gè)epoch 模型在驗(yàn)證集上的損失值沒有超過當(dāng)前最優(yōu)損失值就停止訓(xùn)練。詞匯表大小設(shè)置為50 000,泰語用pythainlp[21]進(jìn)行分詞,漢語利用jieba 進(jìn)行分詞。采用不區(qū)分大小寫的BLEU-4 來測量BLEU 值。模型利用tensorflow 2.2 進(jìn)行實(shí)現(xiàn),所有實(shí)驗(yàn)均在Nvidia GPU(GTX titan X)上運(yùn)行。
柬埔寨語—英語實(shí)驗(yàn)采用的模型由官方提供。源語言與目標(biāo)語言共享詞嵌入,編碼器層與解碼器層均為5 層,嵌入層維度為512,隱藏層維度為2 048,注意力頭個(gè)數(shù)均為2,dropout 為0.4,學(xué)習(xí)率設(shè)置為0.001,優(yōu)化器設(shè)置為Adam,最大epoch 設(shè)置為100。過濾過程中,柬埔寨語采用KhmerNLP[22]進(jìn)行分詞。
3.1.1 預(yù)過濾和基線
針對漢泰的OpenSubtitles 語料,為了盡可能提高翻譯模型的性能,本文先從句子長度和句子比例進(jìn)行分析,找到最佳的句子長度和句子長度比例。在以下實(shí)驗(yàn)中,本文先對原始的117 萬語料按長度比例進(jìn)行過濾,然后隨機(jī)抽取20 萬作為訓(xùn)練集,此過程重復(fù)3 次取它們的平均值。實(shí)驗(yàn)結(jié)果如表1所示。
表1 句子長度比例對BLEU 值的影響
在不限制句子長度的情況下,本文只利用句對的句子長度比例對語料進(jìn)行過濾,句子長度比例為1.5 則代表句子長度比例在1.5 以上的句對都將被過濾掉。實(shí)驗(yàn)結(jié)果證明,句子長度比例為2的時(shí)候,最適合該漢泰語料,可以將翻譯模型的性能最大化。
本文在句子比例為2的條件下,為了找到能將翻譯模型性能最大化的語料,針對句子最大長度進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表2 所示。
表2 句子最大長度對BLEU 值的影響
從句子長度來看,最大長度為10的語料可以將翻譯模型的性能最大化,這可能是因?yàn)镺penSubtitles 上漢泰語料的平均長度在9 個(gè)token 左右(泰語語料的每句話的平均長度為9.5 個(gè)token,漢語語料的每句話的平均長度為8.1 個(gè)token),但該句子長度過短,因此本文選擇對翻譯模型的性能提升次佳的句子最大長度為30的語料。
句子比例為2 且句子最大長度為10的語料(包含20 萬句對)的BLEU 值與用完整原始語料(包含117 萬句對)的BLEU 近似,這說明基于規(guī)則的語料過濾方法的有效性,也證明了OpenSubtitles的漢泰語料的確存在著大量的噪聲。
最后利用常規(guī)的langid 工具包過濾掉其中泰語端句子并不屬于泰語或者漢語端句子并不屬于漢語的句對?;€實(shí)驗(yàn)結(jié)果如表3 所示。
表3 基線的BLEU 值
基線(20 萬)是在原始語料中隨機(jī)抽取20 萬平行語料上訓(xùn)練的模型,而基線(117 萬)是在完整的原始語料上訓(xùn)練的模型。在經(jīng)過句子比例為2、句子長度為30 以及l(fā)angid 過濾后的語料(本文稱之為預(yù)過濾語料)上訓(xùn)練的模型與在基線(20 萬)上訓(xùn)練的模型相比,在泰漢上高了3.029 個(gè)BLEU值,在漢泰上高了2.898 個(gè)BLEU 值。而預(yù)過濾(20 萬)與基線(117 萬)相比,在泰漢上高了0.168 個(gè)BLEU 值,在漢泰上低了0.663 個(gè)BLEU 值,預(yù)過濾(20 萬)的性能與基線(117 萬)的性能相當(dāng)。實(shí)驗(yàn)證明,利用預(yù)過濾方法可以有效地提高語料的質(zhì)量。
3.1.2 基于NPMI的過濾方法
本文先利用fast align 得到短語對表,針對這個(gè)短語對表對整個(gè)漢泰語料進(jìn)行了NPMI。從而得到短語對表中每一個(gè)短語對的共現(xiàn)概率,并且過濾掉了共現(xiàn)概率低于0.2的短語對。實(shí)驗(yàn)結(jié)果如表4所示。
表4 不同條件下NPMI 過濾效果的對比
在該實(shí)驗(yàn)中,表中“短語對N”代表在短語對數(shù)量大于等于N的語料上訓(xùn)練的模型,MITC 代表著在NPMI 和翻譯覆蓋率過濾后的語料上進(jìn)行訓(xùn)練的模型。本文不做短語對數(shù)量為4 及以上的實(shí)驗(yàn)的原因是過濾后的平行語料數(shù)量不到12 萬,而其他方法的數(shù)量均在20 萬以上,且隨機(jī)抽取20 萬語料進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)證明,在共現(xiàn)短語對數(shù)量上,共現(xiàn)短語對3的效果優(yōu)于共現(xiàn)短語對2的效果,因此擁有更多共現(xiàn)短語對的句子對具備更高的相互翻譯程度。但單純地利用共現(xiàn)短語對個(gè)數(shù)進(jìn)行判定的方法,也會(huì)導(dǎo)致在長句子上具有更大的優(yōu)勢,因此采用翻譯覆蓋率來降低語料中長句子的優(yōu)勢。實(shí)驗(yàn)表明,利用共現(xiàn)短語對在句對中的翻譯覆蓋率來進(jìn)行過濾是更佳的選擇,比起在共現(xiàn)短語對數(shù)量為3 個(gè)以上語料上訓(xùn)練的模型,在搭配翻譯覆蓋率語料(MITC)上訓(xùn)練的模型,在泰漢上提高了1.61 個(gè)BLEU,在漢泰上提高了2.42 個(gè)BLEU。將在MITC 上訓(xùn)練的模型與在預(yù)過濾語料上訓(xùn)練的模型相比,在泰漢上提高了5.884 個(gè)BLEU 值,在漢泰上提高了10 個(gè)BLEU 值。
3.1.3 NPMI 對生成式偽平行語料的過濾效果
本文除了在抽取式方法得到的平行語料上進(jìn)行實(shí)驗(yàn),也在生成式方法得到的平行語料上進(jìn)行實(shí)驗(yàn)。
本文利用在基線(117 萬)語料上訓(xùn)練的模型和在MITC 過濾后的語料上訓(xùn)練的模型來生成偽平行語料。以此來探索NPMI 在對偽平行語料過濾的有效性。
將在117 萬和MITC 語料上訓(xùn)練的兩個(gè)翻譯模型生成的偽平行語料(數(shù)量均為117 萬),與MITC的訓(xùn)練語料進(jìn)行混合。這是為了比較兩個(gè)翻譯模型生成的偽平行語料質(zhì)量,同時(shí)保證存在高質(zhì)量的平行語料,防止NPMI 被回譯生成的偽平行語料干擾,影響過濾效果。之后利用混合后的語料,分別在不進(jìn)行NPMI 過濾和進(jìn)行NPMI 過濾的情況下,重新訓(xùn)練翻譯模型。實(shí)驗(yàn)結(jié)果如表5 所示。
表5 NPMI 對生成式偽平行語料的過濾效果
表5 中,基線(117 萬)代表在原始語料上訓(xùn)練的模型;MITC 代表在經(jīng)過NPMI 和翻譯覆蓋率過濾后的語料上訓(xùn)練的模型;117 萬(未過濾)代表在基線(117 萬)生成的偽平行語料和經(jīng)過NPMI和翻譯覆蓋率過濾后的語料上訓(xùn)練的模型;117 萬(過濾)代表在117 萬(未過濾)所用語料的基礎(chǔ)上,進(jìn)行了NPMI 和翻譯覆蓋率過濾后的語料上訓(xùn)練的模型;MITC(未過濾)代表在MITC 生成的偽平行語料和經(jīng)過NPMI 和翻譯覆蓋率過濾后的語料上訓(xùn)練的模型;MITC(過濾)代表在MITC(未過濾)所用語料的基礎(chǔ)上,進(jìn)行了NPMI 和翻譯覆蓋率過濾后的語料上訓(xùn)練的模型。
從117 萬(未過濾)模型和MITC(未過濾)模型的性能上可以看出,利用回譯生成偽平行語料的質(zhì)量依賴于翻譯模型的性能。在性能上,基線(117萬)模型性能比MITC 模型在泰漢上低了6.052 個(gè)BLEU 值,而在漢泰上低了9.356 個(gè)BLEU 值。這個(gè)差異在各自生成的偽平行語料的質(zhì)量上得到了體現(xiàn)。117 萬(未過濾)模型與MITC(未過濾)模型相比,在泰漢上低了4.12 個(gè)BLEU 值,而漢泰上則低了6.83 個(gè)BLEU 值。
在分別對兩個(gè)語料做NPMI 過濾后,雙方的混合語料規(guī)模均出現(xiàn)了下降,117 萬(過濾)模型訓(xùn)練集數(shù)量在泰漢和漢泰兩個(gè)方向均為57 萬左右,而MITC(過濾)模型訓(xùn)練集數(shù)量在泰漢上有79 萬左右,但是漢泰上不到76 萬。經(jīng)過過濾后存在的數(shù)量差異也表明了雙方生成的偽平行語料在質(zhì)量上存在差異。此外,117 萬(過濾)模型與117 萬(未過濾)模型相比,在泰漢和漢泰兩個(gè)翻譯方向上分別提高了1.44 和1.42 個(gè)BLEU 值;MITC(過濾)模型與MITC(未過濾)模型相比,在泰漢和漢泰兩個(gè)翻譯方向上分別提高了1.42和1.11個(gè)BLEU值。這證明了NPMI 過濾方法確實(shí)可以過濾掉生成式偽平行語料中的低質(zhì)量句對。
同時(shí),本文為進(jìn)一步探索NPMI 在生成式偽平行語料上過濾的效果。采用MITC(過濾)語料訓(xùn)練的翻譯模型來再次生成偽平行語料,生成的語料會(huì)與最初訓(xùn)練的語料進(jìn)行混合。實(shí)驗(yàn)結(jié)果如表6 所示。
表6 NPMI 對第二次生成的偽平行語料的過濾效果
在該實(shí)驗(yàn)中,表中“短語對N”代表在短語對數(shù)量大于等于N的語料上訓(xùn)練的模型,MITC 代表在MITC 過濾后的語料進(jìn)行訓(xùn)練的模型。本文使用所有符合篩選條件的語料作為訓(xùn)練集,泰漢實(shí)驗(yàn)中,短語對數(shù)量為3 以上的語料有87 萬,短語對數(shù)量為4 以上的語料有66 萬,短語對數(shù)量為5 以上的語料有49 萬;在漢泰實(shí)驗(yàn)中,短語對數(shù)量為3 以上的語料有86 萬,短語對數(shù)量為4 以上的語料有65 萬,短語對數(shù)量為5 以上的語料有47 萬;經(jīng)過MITC 過濾的語料在泰漢和漢泰上均為99 萬。在泰漢上,短語對3 和短語對4 模型的性能高于在未過濾語料上訓(xùn)練出來的模型性能,這表明在泰漢上NPMI 具備過濾第二次生成的偽平行語料的能力,但在漢泰上,沒有在任何過濾后語料上訓(xùn)練的模型性能高于在未過濾語料上訓(xùn)練的模型性能。本文猜想,NPMI 在泰漢上有過濾效果,但在漢泰上沒有過濾效果,是由于泰漢翻譯模型(表5 中的MITC泰漢模型)生成的偽平行語料中依然存在對模型性能只造成負(fù)面影響的噪聲,但漢泰翻譯模型(表5中的MITC 漢泰模型)生成的偽平行語料中的極大部分語料已經(jīng)不是簡單的噪聲語料,都是對模型的性能有正面影響也有負(fù)面影響的句對。而NPMI 直接對平行語料進(jìn)行過濾,會(huì)直接將這樣的語料過濾掉導(dǎo)致模型缺乏部分必要的語義信息,致使模型性能降低。在該實(shí)驗(yàn)的漢泰中也體現(xiàn)了這一情況,語料規(guī)模的下降會(huì)導(dǎo)致模型性能的下降,性能最高的MITC 模型也是漢泰語料最多的模型,訓(xùn)練語料高達(dá)99 萬。
為了證明本文方法的有效性,本文在WMT2020的柬埔寨語—英語的平行語料過濾任務(wù)中也做了實(shí)驗(yàn)。
在WMT2020的平行語料過濾任務(wù)中,官方提供了帶有噪聲的柬埔寨語—英語的平行語料。參與者只需要提供過濾后的平行語料,其余的由官方提供,包括參數(shù)一致的翻譯模型,共同的驗(yàn)證集和測試集。
柬埔寨語—英語同樣是低資源語言對,現(xiàn)有的干凈平行語料稀少,過濾過程中無法采用干凈的平行語料作為錨點(diǎn)對噪聲語料進(jìn)行過濾。雖然官方提供了少量的干凈平行語料,但本文為了實(shí)驗(yàn)的一致性并沒有使用該平行語料,依然采用NPMI 直接從噪聲語料提取對齊信息,之后利用可靠性高的對齊信息進(jìn)行過濾。
對比實(shí)驗(yàn)使用的數(shù)據(jù)都是英語token 數(shù)量為2百萬的語料。實(shí)驗(yàn)結(jié)果如表7 所示。
表7 柬英上不同過濾方法的對比
實(shí)驗(yàn)表明,NPMI的過濾在驗(yàn)證集和測試集上均比LASER 低了0.2 個(gè)BLEU 值,但將NPMI 和LASER 進(jìn)行聯(lián)合過濾之后,在驗(yàn)證集上比LASER 高了0.8個(gè)BLEU值,而在測試集上高了0.4個(gè)BLEU值。
針對非人工方式得到的平行語料的規(guī)模足夠但質(zhì)量不佳的問題,提出了基于NPMI的平行語料過濾方法。該方法在不使用任何單語語料和干凈平行語料而只使用噪聲語料的情況下,可以直接抽取出噪聲語料中可靠性高的對齊信息,并利用該對齊信息對噪聲語料進(jìn)行過濾。在抽取式的平行語料上,過濾效果良好,在只生成一次的偽平行語料上,NPMI 也可以提高偽平行語料的質(zhì)量,但在二次生成的偽平行語料上,過濾效果不佳。如何改進(jìn)NPMI 在多次生成的偽平行語料的過濾效果是筆者未來的研究方向。