馬文倩,王麗清,王 娟,陳寶童
(云南大學(xué) 信息學(xué)院,云南 昆明 650091)
BLEU算法常用于機(jī)器翻譯質(zhì)量的評(píng)估[1]。它使用候選翻譯中一個(gè)詞或n個(gè)相連的詞(n-gram)在參考譯文中的出現(xiàn)次數(shù)作為基本的衡量標(biāo)準(zhǔn)。但其評(píng)估準(zhǔn)確度過(guò)度依賴(lài)于參考譯文的質(zhì)量、規(guī)模和覆蓋面,因此在參考譯文不足或未覆蓋全部可能的正確翻譯的情況下,會(huì)因評(píng)估誤判而導(dǎo)致低分,這在非通用語(yǔ)翻譯的評(píng)估中尤為突出。對(duì)此,R.Guimar?es等人提出考慮了文本中單詞語(yǔ)義的自動(dòng)評(píng)估翻譯差異的方法[2],Samiksha Tripath等人提出基于句子嵌入的機(jī)器翻譯評(píng)估方法[3]。此外,將句子級(jí)的話(huà)語(yǔ)結(jié)構(gòu)[4]以及神經(jīng)網(wǎng)絡(luò)[5]用于機(jī)器翻譯的評(píng)估,都在語(yǔ)義和語(yǔ)法方面取得了一定的進(jìn)展。此外,還可采用引入相同含義的不同翻譯來(lái)增加參考譯文的方法,幫助提升準(zhǔn)確度。但如果參考譯文全部使用人工翻譯,則存在主觀(guān)性強(qiáng)[6]、成本高和重復(fù)使用性低[7]等缺點(diǎn)。
為此,有學(xué)者提出使用已有的同義詞庫(kù),在BLEU評(píng)估過(guò)程中加入同義詞替換和淺層解析模塊[8],或者平滑處理[9]來(lái)克服這一缺點(diǎn)的方法。但很多情況下沒(méi)有現(xiàn)有的同義詞或近義詞庫(kù),需要通過(guò)近義詞提取技術(shù)首先構(gòu)建詞庫(kù)[10-11]。針對(duì)這一問(wèn)題,R. Wang等人提出了一種親密關(guān)系概念來(lái)對(duì)文本中的近義詞進(jìn)行發(fā)現(xiàn)和排序[12];合并wordnet等英語(yǔ)資源,并從中提取的方法,也被用于找出目標(biāo)語(yǔ)言中給定單詞的近義詞[13];還有,數(shù)據(jù)概念模型[14]以及神經(jīng)網(wǎng)絡(luò)[15]也有被用于解決近義詞提取問(wèn)題的先例。
文中在對(duì)泰語(yǔ)進(jìn)行BLEU質(zhì)量評(píng)估中,為解決評(píng)估誤判和泰語(yǔ)參考譯文不足的問(wèn)題,將泰語(yǔ)語(yǔ)料庫(kù)用深度學(xué)習(xí)模型進(jìn)行詞向量訓(xùn)練,引入word2vec中的近義詞提取方法,找到字典中泰語(yǔ)單詞的近義詞。然后據(jù)此通過(guò)參考譯文的近義詞替換,生成多參考譯文用于評(píng)估。該方法對(duì)于使用了與參考譯文中不同表達(dá)方式而被誤判低分的問(wèn)題,得到了修正。實(shí)驗(yàn)結(jié)果表明,這種方法可以快速、高效地?cái)U(kuò)充參考譯文,并且能有效地提升BLEU算法的準(zhǔn)確度,可用于快速擴(kuò)充參考譯文和非通用語(yǔ)等語(yǔ)料不足的翻譯評(píng)估。
BLEU算法的基本思想是:用候選譯文中的每個(gè)n-gram和參考譯文中的相匹配,將所有參考譯文中單個(gè)出現(xiàn)此n-gram的最大數(shù)量作為此n-gram的最大匹配數(shù)量。將參考譯文中所有匹配到的n-gram數(shù)量除以所有n-gram的數(shù)量,作為長(zhǎng)度為n時(shí)的BLEU精確度得分。BLEU的計(jì)算公式如下:
(1)
式中,pn為上述長(zhǎng)度為n時(shí)的BLEU的精確度得分,wn為pn的權(quán)值,BP(brevity penalty)為短句懲罰因子,當(dāng)候選翻譯長(zhǎng)度大于最相近參考譯文長(zhǎng)度時(shí),BP=1,否則BP=exp(1-最相近參考譯文長(zhǎng)度/候選譯文長(zhǎng)度)。根據(jù)以上公式可知,參考譯文的數(shù)量及表達(dá)方式的覆蓋程度,對(duì)BLEU評(píng)估結(jié)果影響較大。為使評(píng)估結(jié)果效果更好且更符合人的判斷,在BLEU評(píng)估算法的參考譯文輸入階段與評(píng)估階段之間,加入語(yǔ)料庫(kù)訓(xùn)練、近義詞提取及參考譯文生成階段,在輸入單個(gè)或少量參考譯文后,先對(duì)參考譯文中的近義詞進(jìn)行替換及擴(kuò)充,將擴(kuò)充后的參考譯文集,再用于下一階段的評(píng)估工作。
在翻譯中,由于更多地依賴(lài)翻譯者的學(xué)識(shí)、理解、表達(dá)和語(yǔ)言應(yīng)用能力,因此,翻譯的結(jié)果往往呈現(xiàn)多樣化,并且沒(méi)有絕對(duì)的最優(yōu)。另一方面,每種語(yǔ)言在不同的文化背景下,對(duì)事物的理解與表述方式不同,使用符合當(dāng)?shù)乇尘暗慕x表達(dá),更能體現(xiàn)地域和文化的差異,也更接近于一個(gè)最優(yōu)表達(dá)。所以,文中在近義詞的生成和提取中,選擇使用GloVe模型訓(xùn)練目標(biāo)語(yǔ)言的語(yǔ)料庫(kù),學(xué)習(xí)目標(biāo)語(yǔ)言的表達(dá)和語(yǔ)法特征,進(jìn)而提取出基于目標(biāo)語(yǔ)言文化背景下的近義詞。
GloVe模型使用大量語(yǔ)料庫(kù)構(gòu)建詞的共現(xiàn)矩陣,即詞i在中心詞j的環(huán)境下出現(xiàn)的次數(shù),記為矩陣的元素Xij而構(gòu)成矩陣。然后基于全局詞匯共現(xiàn)的統(tǒng)計(jì)信息來(lái)學(xué)習(xí)詞向量,旨在將詞進(jìn)行向量化表示,并盡可能地了解每種語(yǔ)言中的語(yǔ)義和語(yǔ)法關(guān)系。
具體的代價(jià)函數(shù)[16]為:
(2)
其中,wi和wj為單詞i和單詞j對(duì)應(yīng)的詞向量,詞匯表的總量表示為N,bi和bj為定義的偏差項(xiàng),權(quán)重函數(shù)f必須具備以下三個(gè)特點(diǎn):(1)為避免隨著詞匯共現(xiàn)次數(shù)增大,出現(xiàn)權(quán)重下降的情況,f必須為非減函數(shù);(2)當(dāng)兩詞匯共現(xiàn)次數(shù)為0時(shí),權(quán)重大小也應(yīng)為0,即f(0)=0;(3)為避免加權(quán)過(guò)度,當(dāng)一個(gè)詞匯出現(xiàn)頻率過(guò)高時(shí),加權(quán)函數(shù)給予這個(gè)詞匯的值應(yīng)相對(duì)較小。
考慮到在實(shí)驗(yàn)室環(huán)境下GloVe模型用時(shí)更短且效果更好,但沒(méi)有可用的查找近義詞模塊,該文將GloVe模型訓(xùn)練出的泰語(yǔ)詞向量轉(zhuǎn)為word2vec可讀取格式,再利用gensim完成批量收集近義詞的工作。
根據(jù)GloVe模型局部上下文窗口的特點(diǎn),假設(shè)利用近義詞替換得到的參考譯文不僅可以提高待評(píng)估句子的準(zhǔn)確率,而且可以在一定范圍內(nèi)保證句子的流利性,并在下文中將對(duì)此觀(guān)點(diǎn)進(jìn)行闡述和實(shí)驗(yàn)證明。
由于泰語(yǔ)和漢語(yǔ)的語(yǔ)法特征相似[17-18],因此可以將GloVe訓(xùn)練時(shí)產(chǎn)生的詞頻字典文本進(jìn)行清洗和詞性標(biāo)注后提取出所有名詞、動(dòng)詞、形容詞和副詞,并對(duì)應(yīng)進(jìn)行替換,而達(dá)到擴(kuò)充參考譯文的目的?,F(xiàn)有的訓(xùn)練詞向量的模型認(rèn)為語(yǔ)料庫(kù)越大、質(zhì)量越高,則訓(xùn)練出的詞向量效果越好。由于收集到的泰語(yǔ)語(yǔ)料庫(kù)質(zhì)量和大小有限,因此對(duì)得到的每個(gè)原詞生成10個(gè)近義詞文本進(jìn)行抽樣檢查,觀(guān)察近義詞與原詞間的余弦值后,設(shè)置閾值對(duì)近義詞文本進(jìn)行批量篩選。最終留下相似度高的近義詞,并用于下階段的參考譯文生成。
經(jīng)過(guò)近義詞篩選后,在上文中收集到的近義詞文本中,每個(gè)原詞對(duì)應(yīng)的近義詞數(shù)量常常是不等的,且在語(yǔ)料庫(kù)足夠大、質(zhì)量足夠高時(shí),可能會(huì)訓(xùn)練出更多的質(zhì)量較高的近義詞。為保證收集到的近義詞文本的全面性,可更改Wordvec參數(shù)生成需要數(shù)量的近義詞。這樣,就會(huì)產(chǎn)生每個(gè)原詞都收集到10個(gè)甚至是更多的近義詞。所以,排除取相鄰詞之間的所有近義詞的組合這種可能會(huì)產(chǎn)生參考譯文和花費(fèi)時(shí)間都呈指數(shù)級(jí)增長(zhǎng)的與初衷相悖的方法,而選擇每次只替換一個(gè)近義詞生成參考譯文。
基于近義詞擴(kuò)充的BLEU評(píng)估算法流程如圖1所示。
圖1 基于近義詞擴(kuò)充的BLEU算法流程
文中所研究的評(píng)估算法將用于基于短句子的翻譯及評(píng)估,所以使用n等于1和n等于2的加權(quán)平均值乘以懲罰因子作為評(píng)估標(biāo)準(zhǔn)。在實(shí)驗(yàn)中,將n=1和n=2的權(quán)值分別設(shè)置為0.4和0.6,希望在提高準(zhǔn)確度的同時(shí),可以盡可能保證句子的流利性。在加權(quán)平均的情況下,BLEU計(jì)算公式等價(jià)于幾何平均值。為了保證該方法在提高準(zhǔn)確度的同時(shí),也在一定程度上保證參考譯文的流利性,將n=2時(shí)的權(quán)重設(shè)置為比n=1時(shí)高。如果n=2時(shí)的精度為零,則說(shuō)明參考譯文的流利性較差,所以通過(guò)該設(shè)置,保證分?jǐn)?shù)高的參考譯文可以同時(shí)在準(zhǔn)確度和流利性方面得到兼顧。
為獲得用于近義詞提取的訓(xùn)練預(yù)料,首先對(duì)爬取的部分高質(zhì)量泰語(yǔ)新聞文本(54M)和下載的wiki數(shù)據(jù)泰語(yǔ)網(wǎng)頁(yè)鏡像數(shù)據(jù)(1.3G)進(jìn)行清洗和分詞。圖2是mysql數(shù)據(jù)庫(kù)中的高質(zhì)量泰語(yǔ)新聞文本部分截圖。
圖2 部分?jǐn)?shù)據(jù)截圖(1)
然后,按1.3節(jié)中描述的近義詞擴(kuò)充方法,將GloVe訓(xùn)練時(shí)產(chǎn)生的詞頻字典文本進(jìn)行清洗和詞性標(biāo)注,提取出所有名詞、動(dòng)詞、形容詞和副詞,再用閾值提取出最相似的不超過(guò)10個(gè)近義詞,用于參考譯文的擴(kuò)充生成。
擴(kuò)充前的參考譯文(部分)如圖3所示。
圖3 部分?jǐn)?shù)據(jù)截圖(2)
提取并篩選后的近義詞部分詞表如圖4所示。
圖4 篩選后部分近義詞詞表
使用近義詞文本對(duì)原參考譯文擴(kuò)充后,生成的多參考譯文部分如圖5所示,可以看到標(biāo)號(hào)為153的句子得到了擴(kuò)充。
圖5 擴(kuò)充后的參考譯文部分截圖
從原有的中泰黃金測(cè)試集語(yǔ)料庫(kù)中,選取200對(duì)長(zhǎng)短、領(lǐng)域不同對(duì)照文本作為實(shí)驗(yàn)原數(shù)據(jù)。將中文文本通過(guò)不同渠道分發(fā)給志愿者或借助第三方機(jī)器翻譯工具取得多組人工或機(jī)器翻譯的泰語(yǔ)翻譯結(jié)果。
大多數(shù)譯者認(rèn)為評(píng)分高的一組比評(píng)分低的一組誤差較大,少部分譯者認(rèn)為兩組都有誤差且程度相同。然后,將誤差大的一組記為A組,誤差小的一組記為B組。
再使用基于近義詞替換的BLEU評(píng)估方式對(duì)這兩組翻譯再一次進(jìn)行評(píng)估,得到第二次的評(píng)估結(jié)果,將兩次評(píng)估結(jié)果進(jìn)行對(duì)比分析。
實(shí)驗(yàn)結(jié)果對(duì)比如表1、圖6和圖7所示。
表1 A、B組使用文中方法前后結(jié)果對(duì)比
圖6 A組翻譯使用文中方法前后對(duì)比
圖7 B組翻譯使用文中方法前后對(duì)比
為了更清晰地呈現(xiàn)評(píng)估值在兩種不同算法中的差異,采用均值平滑,即取第一句和之后每十句算出前面的均值并在圖中標(biāo)出。得到的A組與B組結(jié)果分別如圖8和圖9所示。
圖8 采用均值平滑后A組翻譯對(duì)比
圖9 采用均值平滑后B組翻譯對(duì)比
圖中可以看出,A組翻譯和B組翻譯都有不同程度的提升。且對(duì)于長(zhǎng)度與領(lǐng)域不同的翻譯任務(wù),同一組翻譯結(jié)果的提升程度穩(wěn)定,可以在提升準(zhǔn)確度的同時(shí),有效反映這組翻譯的綜合水平。
從圖8、圖9與表1的實(shí)驗(yàn)結(jié)果可知,使用基于近義詞替換的BLEU改進(jìn)算法前后,A組翻譯評(píng)估結(jié)果平均提升了0.06,B組翻譯平均提升了0.04。且A組與B組的平均評(píng)分差從0.104提高至0.115,提升了10.6%。針對(duì)實(shí)驗(yàn)結(jié)果不理想的情況,對(duì)實(shí)驗(yàn)過(guò)程進(jìn)行分析,得出的原因如下:
高質(zhì)量的大型語(yǔ)料庫(kù)對(duì)模型的訓(xùn)練結(jié)果有積極的作用,文中實(shí)驗(yàn)采用的語(yǔ)料庫(kù)的一部分是從wiki數(shù)據(jù)下載的鏡像,數(shù)據(jù)庫(kù)的平衡性較低。由于語(yǔ)料庫(kù)的平衡性和規(guī)模性的問(wèn)題,可能出現(xiàn)Word2vec計(jì)算出的余弦相似度較高,但質(zhì)量較低的近義詞。閾值是抽樣觀(guān)察近義詞文本后設(shè)定的,主觀(guān)性較強(qiáng),不能有效篩選出所有的高質(zhì)量近義詞。近義詞提取的字典文件使用了GloVe訓(xùn)練結(jié)果中的詞頻統(tǒng)計(jì)文件,直接篩選出所有動(dòng)詞、名詞、形容詞和副詞。這樣篩選后的字典文件過(guò)大,即近義詞替換過(guò)程中需要替換的詞較多,這導(dǎo)致了B組評(píng)估分?jǐn)?shù)同樣提升。
由于評(píng)估過(guò)程中的參考翻譯并不是單純的越多越好,普通的近義詞并不能拉開(kāi)優(yōu)秀譯者與普通譯者之間的評(píng)估分?jǐn)?shù)。通過(guò)觀(guān)察、分析擴(kuò)充后的參考翻譯,發(fā)現(xiàn)一些常用的詞被多次替換,這樣在提升A組這種質(zhì)量較高的翻譯評(píng)估分?jǐn)?shù)的同時(shí),也提升了B組的評(píng)估分?jǐn)?shù)。因此,在字典文件篩選過(guò)程中不僅要考慮語(yǔ)法特性,留下特定詞性的單詞,還要考慮優(yōu)秀譯者的翻譯習(xí)慣,篩選出優(yōu)秀譯者習(xí)慣使用的詞語(yǔ),再進(jìn)行替換。
以泰語(yǔ)為例,結(jié)合深度自然語(yǔ)言處理模型,提出了一種針對(duì)非通用語(yǔ)翻譯評(píng)估的精確度提升方法,并通過(guò)實(shí)驗(yàn)證明該方法可以在一定程度上提升因?yàn)閰⒖甲g文不足而被誤判低分的譯文的BLEU評(píng)分。針對(duì)實(shí)驗(yàn)結(jié)果不理想的情況做出分析和說(shuō)明,分析表明,單純地替換參考翻譯中所有的近義詞后的評(píng)估結(jié)果并不能完全達(dá)到預(yù)期。在近義詞生成階段還需要進(jìn)一步完善。可以在訓(xùn)練過(guò)程中使用高質(zhì)量的語(yǔ)料庫(kù)提升提取的近義詞質(zhì)量,或是對(duì)近義詞文本進(jìn)行篩選留下優(yōu)秀譯者習(xí)慣使用的詞語(yǔ),以此對(duì)算法進(jìn)行進(jìn)一步改進(jìn)?;谠撐牡暮罄m(xù)工作,該方法著重考慮了短句子的精確度提升,即只考慮了n等于1和2時(shí)的加權(quán)計(jì)算,如果想進(jìn)一步考慮n-gram取到3或4的情況可以直接在BLEU評(píng)估時(shí)調(diào)整參數(shù)計(jì)算,或者在訓(xùn)練階段自定義字典,訓(xùn)練出連續(xù)兩個(gè)詞或三個(gè)詞的近義詞。不過(guò)這需要訓(xùn)練的語(yǔ)料庫(kù)較大,有待后續(xù)條件具備時(shí)進(jìn)一步研究。