黎家全,王麗清,李 鵬,蔣曉敏,徐永躍
1.云南大學(xué) 信息學(xué)院,昆明 650091
2.云南廣播電視臺(tái),昆明 650500
近年來,神經(jīng)機(jī)器翻譯(neural machine translation,NMT)發(fā)展迅速[1-4],已替代統(tǒng)計(jì)機(jī)器翻譯(statistical machine translation,SMT)成為機(jī)器翻譯領(lǐng)域的主流方法。但神經(jīng)機(jī)器翻譯過度依賴于大量的平行訓(xùn)練數(shù)據(jù),在低資源語言的翻譯任務(wù)上,神經(jīng)機(jī)器翻譯的性能會(huì)急劇下降[5-6]。因此,低資源神經(jīng)機(jī)器翻譯(low-resource neural machine translation)一直是神經(jīng)機(jī)器翻譯領(lǐng)域的一項(xiàng)重大挑戰(zhàn)[7]。
針對(duì)低資源機(jī)器翻譯的數(shù)據(jù)匱乏問題,基于樞軸的方法(pivot-based methods)為此提供了思路?;跇休S的方法曾經(jīng)在SMT 中得以應(yīng)用[8-11],目前也作為零資源NMT的一個(gè)強(qiáng)基線存在。它通過引入一種語料資源豐富的第三方語言作為樞軸,利用樞軸語言的平行語料來橋接源語言和目標(biāo)語言[12],在一定程度上緩解了因數(shù)據(jù)匱乏帶來的機(jī)器翻譯質(zhì)量差的問題。
最經(jīng)典的樞軸策略也就是樞軸翻譯(pivot translation),是先從源語言翻譯到樞軸語言,再從樞軸語言翻譯到目標(biāo)語言,最終得到目標(biāo)語言的翻譯結(jié)果。雖然該方法簡(jiǎn)單有效,但需要經(jīng)過兩步翻譯,既造成了錯(cuò)誤傳遞問題[13],又增倍了解碼時(shí)間。
因而,又有了將樞軸思想應(yīng)用于擴(kuò)充訓(xùn)練數(shù)據(jù)的偽平行數(shù)據(jù)生成(pivot-based pseudo-parallel data generation),以及應(yīng)用到模型訓(xùn)練和構(gòu)建中的遷移學(xué)習(xí)和多語言翻譯模型構(gòu)建的方法。
根據(jù)樞軸思想在神經(jīng)機(jī)器翻譯中的不同應(yīng)用,本文從直接取得翻譯結(jié)果的樞軸翻譯、基于樞軸的偽平行數(shù)據(jù)生成和基于樞軸的模型構(gòu)建三方面,通過對(duì)不同方法的概述、總結(jié)、比較和分析,歸納不同方法的優(yōu)點(diǎn)、局限性和應(yīng)用場(chǎng)景,并對(duì)未來可能的研究趨勢(shì)和關(guān)鍵技術(shù)問題進(jìn)行展望,為相關(guān)研究提供參考。
樞軸翻譯,也被稱為級(jí)聯(lián)方法(cascaded approach)[14]。如圖1所示,該方法使用一種語料豐富的語言作為中間橋梁,通過樞軸語言將源-樞軸和樞軸-目標(biāo)翻譯模型連接起來。這樣,就可以借助于樞軸語言的平行語料間接地實(shí)現(xiàn)源語言到目標(biāo)語言的翻譯,進(jìn)而達(dá)到提高低資源語言翻譯質(zhì)量的目的。
圖1 樞軸翻譯Fig.1 Pivot translation
樞軸翻譯從結(jié)構(gòu)上,屬于間接方式,并沒有得到源和目標(biāo)之間的直接翻譯模型,也因此導(dǎo)致錯(cuò)誤傳遞問題。尤其是在樞軸語言的平行語料缺乏的情況下,錯(cuò)誤傳遞問題會(huì)更加突出,此時(shí)樞軸翻譯的質(zhì)量甚至比直接翻譯的更差[15]。同時(shí),這種兩步翻譯的方式也增倍了解碼時(shí)間。針對(duì)這個(gè)問題,目前的主要解決方法可分為三種。
(1)減少源-樞軸的翻譯錯(cuò)誤
一方面,通過增加源-樞軸一側(cè)的訓(xùn)練數(shù)據(jù)[16-17],提高源-樞軸模型的翻譯質(zhì)量。另一方面,還可以利用樞軸翻譯與模型結(jié)構(gòu)無關(guān)的特點(diǎn),將樞軸-目標(biāo)模型擴(kuò)展為多源NMT[18-20],盡可能地消除在源-樞軸翻譯中所帶來的翻譯歧義。但在上述兩種方法中,兩個(gè)翻譯模型仍然是分開訓(xùn)練的,而且在訓(xùn)練期間沒有任何關(guān)聯(lián)。
(2)增加源-樞軸與樞軸-目標(biāo)兩個(gè)模型的關(guān)聯(lián)
為了進(jìn)一步緩解錯(cuò)誤傳遞問題,提出了對(duì)源-樞軸和樞軸-目標(biāo)模型進(jìn)行聯(lián)合優(yōu)化的方法[21-23],以加強(qiáng)兩個(gè)翻譯模型在訓(xùn)練期間的關(guān)聯(lián)。Cheng[22]通過共享樞軸語言的詞嵌入,聯(lián)合訓(xùn)練兩個(gè)模型,使得兩個(gè)模型在訓(xùn)練過程中相互促進(jìn)。相對(duì)于傳統(tǒng)的樞軸翻譯方法,聯(lián)合訓(xùn)練方法減少了錯(cuò)誤累積,翻譯質(zhì)量有所提升。Ren 等[23]在此基礎(chǔ)上,又提出了一種雙向的期望最大化(expectationmaximization,EM)算法,來直接訓(xùn)練源-目標(biāo)模型,并在四個(gè)翻譯方向上進(jìn)行聯(lián)合的迭代訓(xùn)練,進(jìn)一步提高了質(zhì)量。
(3)選擇相似度更高的樞軸語言
除了平行語料規(guī)模外,語言相似性也會(huì)影響樞軸翻譯的質(zhì)量。一般而言,樞軸語言跟源語言和目標(biāo)語言的語言相似性越高,對(duì)樞軸翻譯就越有利[24-25]。Leng 等[26]綜合平行語料規(guī)模和語言相似性兩個(gè)因素,設(shè)計(jì)了一種學(xué)習(xí)路由算法,該算法可以自動(dòng)選擇一種或多種樞軸語言來進(jìn)行多跳翻譯,有效地改善了無監(jiān)督翻譯在遠(yuǎn)程語言之間的翻譯質(zhì)量。
總體來說,樞軸翻譯由于本質(zhì)上依賴于所選樞軸語言與源和目標(biāo)之間的語料數(shù)據(jù)、語言相似度,以及兩個(gè)模型本身的性能,其間接生成結(jié)果的方式是導(dǎo)致錯(cuò)誤傳遞問題的根本原因。因此,提出了利用樞軸思想進(jìn)行數(shù)據(jù)增強(qiáng)以及直接構(gòu)建模型的方法。
基于樞軸的偽平行數(shù)據(jù)生成是以樞軸語言作為中間橋梁,生成源語言和目標(biāo)語言之間的偽平行數(shù)據(jù),用于數(shù)據(jù)增強(qiáng)。通過訓(xùn)練數(shù)據(jù)的擴(kuò)充,實(shí)現(xiàn)對(duì)翻譯系統(tǒng)進(jìn)一步的改進(jìn)。但不足在于偽平行數(shù)據(jù)的質(zhì)量不能保證,當(dāng)偽平行數(shù)據(jù)包含過多的數(shù)據(jù)噪聲時(shí),反而會(huì)損害翻譯的質(zhì)量。
從分類上,主要有利用平行語料和利用單語語料的生成方法。
按照生成方向的不同,利用樞軸語言的平行語料庫來生成偽平行數(shù)據(jù)可以分為:源端偽數(shù)據(jù)生成和目標(biāo)端偽數(shù)據(jù)生成。源端偽數(shù)據(jù)生成是利用回譯方法(backtranslation)[27],將樞軸-目標(biāo)平行語料的樞軸語言一側(cè)反向翻譯為源語言[28]。
目標(biāo)端偽數(shù)據(jù)生成是將源-樞軸平行語料的樞軸語言一側(cè)正向翻譯為目標(biāo)語言[29]。最后將翻譯結(jié)果與原有語料組合,進(jìn)而形成源語言-目標(biāo)語言的偽平行數(shù)據(jù)。利用平行語料的生成方法如圖2所示。
圖2 利用平行語料的生成方法Fig.2 Generation method based on parallel corpus
偽平行數(shù)據(jù)給低資源語言的機(jī)器翻譯帶來了一定程度的質(zhì)量提升。文獻(xiàn)[30-31]將樞軸語言回譯到源語言,擴(kuò)充了大量的偽平行語料,并與原有語料混合,提高了低資源語言對(duì)的翻譯質(zhì)量。Park 等[32]生成源端和目標(biāo)端的偽數(shù)據(jù)并混合,同時(shí)增強(qiáng)了編碼器和解碼器的能力,相比只生成源端或目標(biāo)端偽數(shù)據(jù)的方法取得了更好的數(shù)據(jù)增強(qiáng)效果。
但利用平行語料的生成方法需要依賴一個(gè)翻譯模型,因此該翻譯模型的質(zhì)量越高,生成的偽平行數(shù)據(jù)質(zhì)量就越高,對(duì)源-目標(biāo)翻譯模型的質(zhì)量提升也就越大[33]。如果該翻譯模型的質(zhì)量較低,生成的偽數(shù)據(jù)會(huì)包含過多的數(shù)據(jù)噪聲,以致?lián)p害最終翻譯系統(tǒng)的性能[34-35]。因此,選擇生成源端還是目標(biāo)端的偽數(shù)據(jù),主要根據(jù)生成偽平行數(shù)據(jù)的翻譯模型質(zhì)量來選擇。
盡管利用平行語料的生成方法避免了錯(cuò)誤傳遞問題,但受數(shù)據(jù)噪聲的影響,可能會(huì)取得比樞軸翻譯更差的翻譯性能。為了減弱數(shù)據(jù)噪聲對(duì)源-目標(biāo)翻譯模型的影響,可以在數(shù)據(jù)生成階段進(jìn)行優(yōu)化。通過最大期望似然估計(jì)(maximum expected likelihood estimation)方法最大化合成源語言句子的期望[36],或者加強(qiáng)在單詞級(jí)別的數(shù)據(jù)生成[37-38],均可有效減少偽數(shù)據(jù)生成過程中產(chǎn)生的翻譯錯(cuò)誤,比直接生成偽數(shù)據(jù)的方法及樞軸翻譯方法獲得更高的BLEU分?jǐn)?shù)。
與基于平行語料的生成方法類似,基于單語語料的生成方法也有兩個(gè)生成方向,即分別基于反向和正向的樞軸翻譯方法,生成源端偽數(shù)據(jù)和目標(biāo)端偽數(shù)據(jù)。除此之外,由于樞軸語言的單語語料在三種語言中往往是資源最豐富并且質(zhì)量最高的,Currey等[39]還將樞軸語言分別翻譯到源語言和目標(biāo)語言,生成了更多高質(zhì)量的偽平行數(shù)據(jù)。
同樣是利用目標(biāo)語言的單語語料,直接回譯的方法沒有足夠的源-目標(biāo)平行語料訓(xùn)練回譯模型,而經(jīng)過樞軸語言間接回譯到源語言,則可利用樞軸語言的平行語料訓(xùn)練兩個(gè)質(zhì)量較高的回譯模型,得到比直接回譯更好的結(jié)果[40-41]。
一般而言,單語語料比平行語料更容易獲取,因此利用單語語料的生成方法可以擴(kuò)充更多的偽平行數(shù)據(jù),給翻譯模型帶來更大的增益[39,42]。然而,利用單語語料的生成方法需要依賴于兩個(gè)翻譯模型,只要存在一個(gè)模型的質(zhì)量較低時(shí),生成的偽平行數(shù)據(jù)就會(huì)存在大量的數(shù)據(jù)噪聲,反而導(dǎo)致結(jié)果質(zhì)量更差[43]。
因此,無論是利用平行語料還是單語語料的生成方法,都對(duì)生成偽數(shù)據(jù)的翻譯模型質(zhì)量有著較高的要求。相對(duì)于利用平行語料的生成方法,由于單語語料規(guī)模更大,利用單語語料可以生成更多的偽平行數(shù)據(jù)。但也因?yàn)槔脝握Z語料的生成方法需要依賴于兩個(gè)翻譯模型,所以生成的偽平行數(shù)據(jù)質(zhì)量也更差。
基于樞軸的模型構(gòu)建(pivot-based model construction)是將樞軸思想與遷移學(xué)習(xí)或多語言神經(jīng)機(jī)器翻譯等技術(shù)結(jié)合起來,直接對(duì)源-目標(biāo)翻譯模型進(jìn)行訓(xùn)練,省去了生成偽平行數(shù)據(jù)的步驟,弱化了數(shù)據(jù)噪聲的影響,最終得到的是源-目標(biāo)的翻譯模型。
基于樞軸的遷移學(xué)習(xí)和樞軸結(jié)合多語言神經(jīng)機(jī)器翻譯方法均可利用源-樞軸和樞軸-目標(biāo)翻譯模型的參數(shù),將樞軸語言的翻譯知識(shí)遷移到源-目標(biāo)的翻譯中。兩者的不同在于,前者采取遷移參數(shù)的方式,將兩個(gè)預(yù)訓(xùn)練模型的參數(shù)遷移到最終的模型上并進(jìn)行微調(diào)。后者則采取共享參數(shù)的方式,為所有的語言對(duì)聯(lián)合訓(xùn)練一個(gè)通用的模型,省略了微調(diào)的步驟。
在低資源語言翻譯中,遷移學(xué)習(xí)技術(shù)是將高資源語言對(duì)的模型參數(shù)遷移到低資源語言對(duì)上[44],使低資源語言對(duì)獲取到高資源語言對(duì)的翻譯知識(shí)。
與基于樞軸的方法類似,遷移學(xué)習(xí)也引入了一種第三方語言(稱為輔助語言)。但兩者的不同在于,遷移學(xué)習(xí)通常只利用源語言-輔助語言和輔助語言-目標(biāo)語言平行語料庫中的一個(gè)[45-46],并沒有同時(shí)使用兩個(gè)平行語料庫來對(duì)源語言和目標(biāo)語言進(jìn)行橋接。
為了能同時(shí)利用源-樞軸和樞軸-目標(biāo)平行語料,Kim等[47]將樞軸策略應(yīng)用到遷移學(xué)習(xí)中,提出了基于樞軸的遷移學(xué)習(xí)方法,如圖3所示。該方法首先預(yù)訓(xùn)練源-樞軸和樞軸-目標(biāo)翻譯模型,然后直接將源語言編碼器和目標(biāo)語言編碼器組合起來,最后經(jīng)過微調(diào)得到最終模型。
圖3 基于樞軸的遷移學(xué)習(xí)方法Fig.3 Pivot-based transfer learning method
這種方法的優(yōu)勢(shì)體現(xiàn)在:源-樞軸翻譯模型的編碼器和解碼器不是隨機(jī)初始化的,而是分別從兩個(gè)預(yù)訓(xùn)練模型遷移過來,這為源-目標(biāo)翻譯模型提供了一個(gè)良好的訓(xùn)練起點(diǎn),使編碼器和解碼器在微調(diào)之前就學(xué)習(xí)到了一些翻譯知識(shí)。因此,無論是低資源語言對(duì)還是高資源語言對(duì),都能從樞軸語言的知識(shí)遷移中獲益,并取得比直接翻譯更高的翻譯質(zhì)量[48-49]。Yu等[50]還研究了語言相關(guān)性對(duì)遷移學(xué)習(xí)的影響,結(jié)果表明樞軸語言與源語言或目標(biāo)語言之間的相似性越高,對(duì)遷移學(xué)習(xí)也越有利。
然而,源-目標(biāo)翻譯模型的編碼器和解碼器分別來自兩個(gè)不同的預(yù)訓(xùn)練模型,這會(huì)導(dǎo)致編碼器和解碼器之間的輸入/輸出不一致,從而放大了預(yù)訓(xùn)練模型與最終模型之間的差異。
為了減小差異,主要的改進(jìn)思路是讓源語言和樞軸語言共享同一個(gè)編碼器,使得樞軸語言能更平滑地橋接預(yù)訓(xùn)練的源語言編碼器和目標(biāo)語言解碼器。一種方法是凍結(jié)源語言編碼器,并使用源語言和樞軸語言的聯(lián)合詞表,使得編碼器能有效地表示這兩種語言[47]。另一種方法是利用源-樞軸平行語料和源語言單語語料,通過跨語言預(yù)訓(xùn)練技術(shù),直接預(yù)訓(xùn)練一個(gè)源語言和樞軸語言的通用編碼器[51]。結(jié)果表明,以上兩種方法均比圖3 的方法取得了更好的遷移效果。
多語言神經(jīng)機(jī)器翻譯(multilingual neural machine translation,MNMT)是通過參數(shù)共享,在一個(gè)通用模型上實(shí)現(xiàn)多個(gè)語言對(duì)的翻譯[52-54]。在低資源語言翻譯中,由于缺乏可用的平行語料,MNMT中的源語言和目標(biāo)語言采用了樞軸語言實(shí)現(xiàn)橋接。本文僅從MNMT的樞軸語言機(jī)制,以及如何更好地利用樞軸語言的角度進(jìn)行分析。
MNMT 可以看作一個(gè)隱式的樞軸系統(tǒng),因?yàn)樵诙嗾Z言翻譯模型訓(xùn)練和翻譯的期間,樞軸語言都是不可見的。因此,這種利用樞軸語言的方式也被稱為隱式橋接(implicit bridging)[55]。隱式橋接通過共享編碼器、解碼器以及中間的注意力機(jī)制來實(shí)現(xiàn)[56-57]。這樣,受益于跨語言的知識(shí)遷移[58],低資源語言可以從高資源語言中學(xué)習(xí)翻譯知識(shí),從而提高低資源語言對(duì)的翻譯質(zhì)量。在樞軸語言選擇上,現(xiàn)有研究大多采用英語作為樞軸語言[59-60],使用以英語為中心的語料庫訓(xùn)練多語言翻譯模型。
與傳統(tǒng)的樞軸翻譯方法相比,MNMT 可以直接實(shí)現(xiàn)未經(jīng)訓(xùn)練的語言對(duì)之間的翻譯,即零樣本翻譯,避免了錯(cuò)誤傳遞和時(shí)間增倍的問題。但有研究表明,MNMT在零樣本翻譯場(chǎng)景下的性能不佳,而且通常落后于樞軸翻譯方法[61-62]。
為了提高M(jìn)NMT 的零樣本翻譯質(zhì)量,研究者們提出了一種多橋模型(mutil-bridge models)[63]。該模型加入了非英語語言對(duì)的平行語料訓(xùn)練,利用多種樞軸語言的數(shù)據(jù)來改善低資源語言翻譯的質(zhì)量。例如,Rios等[64]僅添加了少量的非英語平行語料,就使6個(gè)零樣本翻譯方向的BLEU 平均提高了3.1 個(gè)百分點(diǎn)。Fan 等[65]利用語言相似性對(duì)語言進(jìn)行分組,在使用英語作為樞軸語言的同時(shí),又在每個(gè)語言組中選取1~3種高資源語言來橋接組內(nèi)之間的語言,提高了多個(gè)非英語低資源語言對(duì)的翻譯質(zhì)量。
針對(duì)樞軸思想在神經(jīng)機(jī)器翻譯領(lǐng)域的應(yīng)用,表1從不同方法的機(jī)制、適用場(chǎng)景、優(yōu)點(diǎn)、局限性等方面進(jìn)行了分析和比較。
從表1中可以看出,樞軸翻譯和基于樞軸的偽平行數(shù)據(jù)生成都屬于間接建模的方法,這分別帶來了錯(cuò)誤傳遞問題和數(shù)據(jù)噪聲問題。雖然樞軸翻譯方法簡(jiǎn)單方便,但其兩步翻譯的過程既造成了錯(cuò)誤傳遞問題,又增倍了解碼時(shí)間。
表1 主要樞軸方法對(duì)比Table 1 Comparison of pivot-based methods
基于樞軸的偽平行數(shù)據(jù)生成則利用偽平行數(shù)據(jù)訓(xùn)練源-目標(biāo)翻譯模型,避免了錯(cuò)誤傳遞。但生成的偽平行數(shù)據(jù)質(zhì)量不能保證,如果存在過多的數(shù)據(jù)噪聲,反而會(huì)對(duì)翻譯模型的質(zhì)量產(chǎn)生負(fù)面影響。
基于樞軸的模型構(gòu)建則通過利用源-樞軸與樞軸-目標(biāo)翻譯模型的參數(shù),直接對(duì)源-目標(biāo)翻譯模型建模,在避免錯(cuò)誤傳遞的同時(shí),也弱化了數(shù)據(jù)噪聲的影響。但此類方法在零樣本翻譯場(chǎng)景下性能不佳,甚至比不過傳統(tǒng)的樞軸翻譯方法?;跇休S的遷移學(xué)習(xí)由于沒有可用的源-目標(biāo)平行語料用于微調(diào),使得遷移后的最終模型難以適應(yīng)源-目標(biāo)翻譯任務(wù)。樞軸結(jié)合多語言神經(jīng)機(jī)器翻譯則共享所有語言的參數(shù),因此可以從更多的語言中獲取知識(shí),一定程度上提高了零樣本翻譯的性能。
盡管如此,樞軸結(jié)合多語言神經(jīng)機(jī)器翻譯方法仍然成為了目前的研究熱點(diǎn),并擁有著廣闊的研究前景。主要原因有:第一,能在單個(gè)通用模型上進(jìn)行多個(gè)語言對(duì)之間的翻譯,因此被廣泛應(yīng)用于谷歌翻譯等多語種翻譯引擎中;第二,可以有效利用多種語言的數(shù)據(jù),進(jìn)一步解決了平行語料匱乏的問題。
基于樞軸的方法為解決目前低資源語言的機(jī)器翻譯問題提供了思路,有效地緩解了訓(xùn)練語料匱乏的問題,提高了低資源語言神經(jīng)機(jī)器翻譯的質(zhì)量。然而,基于樞軸的方法仍然存在一些問題和挑戰(zhàn),需要未來進(jìn)一步研究和探索。
(1)錯(cuò)誤傳遞問題
樞軸翻譯在零樣本翻譯場(chǎng)景下仍然具有競(jìng)爭(zhēng)力,但錯(cuò)誤傳遞問題限制了其性能提升。因此,如何更好地減少錯(cuò)誤傳遞來改善樞軸翻譯,仍有待進(jìn)一步的研究。
(2)非真實(shí)數(shù)據(jù)建模
受限于生成偽平行數(shù)據(jù)的翻譯模型質(zhì)量,基于樞軸生成的偽平行數(shù)據(jù)的質(zhì)量不能得到保證,還可能面臨生成數(shù)量較少的問題。因此,考慮提升偽平行數(shù)據(jù)的質(zhì)量,以及將基于樞軸的偽平行數(shù)據(jù)生成方法與其他數(shù)據(jù)增強(qiáng)方法結(jié)合使用,擴(kuò)大偽平行數(shù)據(jù)的數(shù)量,是非常有意義的研究方向。
(3)源語言編碼器與目標(biāo)語言解碼器不匹配問題
在基于樞軸的遷移學(xué)習(xí)中,由于源語言編碼器與目標(biāo)語言解碼器來自兩個(gè)不同的預(yù)訓(xùn)練模型,導(dǎo)致兩者在輸入/輸出方面的不一致性。研究樞軸語言與源語言或目標(biāo)語言之間通用空間表示的可能性,或者研究選用相似性高的樞軸語言,為這個(gè)問題的研究提供了思路。
(4)樞軸語言語料匱乏
對(duì)于一些資源極度匱乏的低資源語言而言,與樞軸語言之間的平行語料也將變得難以獲取。因此,結(jié)合多語言NMT 利用多種樞軸語言的數(shù)據(jù),或者考慮利用圖像和音譯等多模態(tài)數(shù)據(jù)作為樞軸[66-69],有待進(jìn)一步研究和探索。
總之,未來如何將樞軸思想應(yīng)用在更多渠道、更大規(guī)模、更高質(zhì)量的數(shù)據(jù)生成和增強(qiáng),以及基于模型的生成和泛化方面,仍有待學(xué)者們進(jìn)一步地創(chuàng)新和研究,以期為低資源神經(jīng)機(jī)器翻譯的研究提供更多的思路和參考。