張 振 蘇依拉 仁慶道爾吉 高 芬 王宇飛
(內(nèi)蒙古工業(yè)大學(xué)信息工程學(xué)院 內(nèi)蒙古 呼和浩特 010080)
機(jī)器翻譯是人工智能領(lǐng)域的重要研究課題之一,主要目標(biāo)是研究如何使用計(jì)算機(jī)實(shí)現(xiàn)一種自然語(yǔ)言到另一種自然語(yǔ)言的自動(dòng)轉(zhuǎn)換。近年來,已經(jīng)有很多研究嘗試將深度神經(jīng)網(wǎng)絡(luò)的方法擴(kuò)展到低資源語(yǔ)言對(duì)上,但因缺乏數(shù)以百萬計(jì)甚至更多的平行句對(duì)而無法獲得理想的結(jié)果。因此,如何用半監(jiān)督學(xué)習(xí)無標(biāo)記數(shù)據(jù)、多任務(wù)聯(lián)合訓(xùn)練來緩解資源匱乏的問題成為近來神經(jīng)機(jī)器翻譯的一個(gè)重要研究方向。
目前,深度學(xué)習(xí)在自然語(yǔ)言處理中的困境之一是缺少大規(guī)模的標(biāo)注數(shù)據(jù)。解決深度學(xué)習(xí)目前缺少大規(guī)模的標(biāo)注數(shù)據(jù)這一困難的方法主要有兩種:無監(jiān)督預(yù)訓(xùn)練方法和多任務(wù)學(xué)習(xí)聯(lián)合訓(xùn)練多個(gè)任務(wù)。
2018年發(fā)表的文獻(xiàn)[1]提出了ELMo模型,介紹了一種新型深度語(yǔ)境化詞表征,可對(duì)詞使用的語(yǔ)法、時(shí)態(tài)、語(yǔ)態(tài)和語(yǔ)義等多個(gè)特征和詞使用在上下文語(yǔ)境關(guān)聯(lián)程度中的變化進(jìn)行建模。ELMo中的詞向量是在一個(gè)大型文本語(yǔ)料庫(kù)中預(yù)訓(xùn)練而成。文獻(xiàn)[2]提出了GPT模型,使用無監(jiān)督預(yù)訓(xùn)練和監(jiān)督微調(diào)的組合探索了用于語(yǔ)言理解任務(wù)的半監(jiān)督方法。谷歌Brain團(tuán)隊(duì)提出的BERT[3]在GPT模型的基礎(chǔ)上進(jìn)行了修改,取得了很好的效果。
多任務(wù)學(xué)習(xí)[4](MTL)聯(lián)合訓(xùn)練看起來相似的多個(gè)任務(wù),能夠通過單個(gè)模型解決協(xié)同任務(wù)。它通過將相關(guān)任務(wù)中訓(xùn)練信號(hào)所包含的域信息用作歸納偏差來提高泛化程度,在使用共享表示的同時(shí)并行學(xué)習(xí)任務(wù)來實(shí)現(xiàn)這一點(diǎn),每項(xiàng)任務(wù)的學(xué)習(xí)內(nèi)容可以幫助其更好地學(xué)習(xí)其他任務(wù)。
2017年,Google提出了一個(gè)多模型架構(gòu),混合編碼輸入與先前輸出的混合器(自回歸部分),以及處理輸入和混合以產(chǎn)生新輸出的解碼器[5]。同年,Johnson等[6]提出了一種使用單個(gè)神經(jīng)機(jī)器翻譯(NMT)模型在多種語(yǔ)言之間進(jìn)行翻譯的解決方案。2018年,Kiperwasser等[7]提出的模型令語(yǔ)法和翻譯交錯(cuò)學(xué)習(xí),然后逐漸將更多的注意力放在翻譯上。預(yù)訓(xùn)練的一個(gè)優(yōu)點(diǎn)單詞嵌入是詞匯表外(OOV)單詞的表示。
蒙漢平行語(yǔ)料資料目前處于匱乏階段,如何利用有限的語(yǔ)料數(shù)據(jù)緩解資源不足問題已經(jīng)成為神經(jīng)機(jī)器翻譯的一個(gè)重要的研究課題。然而蒙漢機(jī)器翻譯研究工作仍處于探索階段,成熟多樣的蒙漢機(jī)器翻譯以及采用前沿機(jī)器翻譯方法的模型和成果相對(duì)較少。
針對(duì)蒙漢平行語(yǔ)料資源比較稀缺和現(xiàn)有的平行語(yǔ)料數(shù)據(jù)的覆蓋面少等困難導(dǎo)致的蒙漢翻譯質(zhì)量不佳的問題,本文采用跨語(yǔ)言多任務(wù)學(xué)習(xí)的方式對(duì)機(jī)器翻譯建模,并引入了兩種新的無監(jiān)督預(yù)訓(xùn)練方法和一種監(jiān)督預(yù)訓(xùn)練的方法,用于使用跨語(yǔ)言建模來學(xué)習(xí)跨語(yǔ)言表示,并研究三種語(yǔ)言預(yù)訓(xùn)練方法在蒙漢翻譯中的效果。
本文引入三種語(yǔ)言預(yù)訓(xùn)練模型:蒙面語(yǔ)言模型(Masked Language Model,MLM),因果推理語(yǔ)言模型(CLM)和基于平行語(yǔ)料的翻譯語(yǔ)言模型[8](TLM)。其中,MLM和CLM模型使用的是基于單語(yǔ)數(shù)據(jù)的無監(jiān)督訓(xùn)練方式,而TLM是基于平行標(biāo)記數(shù)據(jù)的有監(jiān)督訓(xùn)練方式。
模型架構(gòu)是一個(gè)多層雙向Transformer編碼器,與BERT的輸入單個(gè)文本句子或一對(duì)文本句子的輸入表示方法不同,MLM的輸入文本是任意長(zhǎng)度的單語(yǔ)文本,每個(gè)句子用分隔,如圖1所示。MLM輸入表示由句子唯一標(biāo)識(shí)符En(n取整數(shù),n∈[1,N],N表示需要預(yù)訓(xùn)練的總句子數(shù)量)、位置信息編碼和Masked蒙面處理后的句子向量組成。

圖1 蒙面語(yǔ)言模型的結(jié)構(gòu)模型
理論上,深度雙向訓(xùn)練Transformer模型比從前向后或從后向前地對(duì)輸入序列進(jìn)行預(yù)訓(xùn)練會(huì)學(xué)習(xí)到更多有用的特征。但是,雙向訓(xùn)練模型將導(dǎo)致每個(gè)單詞在多個(gè)層的上下文向量中間接地找到自身的向量表示。
為了避免出現(xiàn)上述的情況發(fā)生,本文模型依據(jù)一定的比例隨機(jī)地對(duì)句子的若干位置進(jìn)行蒙面操作。為了提高模型的健壯性,受到去噪編碼器[9]增加無關(guān)的干擾信息作為噪聲輸入,本文對(duì)蒙面語(yǔ)言模型增加了一項(xiàng)內(nèi)容,并不總是用[mask]這個(gè)標(biāo)記符號(hào)替換要“蒙面”操作的字符,按照十分之一的比例用噪聲作為“蒙面”的另一種隨機(jī)符號(hào),但是實(shí)驗(yàn)結(jié)果顯示,這樣的設(shè)計(jì)方式會(huì)降低模型的準(zhǔn)確表達(dá)能力。受到對(duì)抗學(xué)習(xí)的啟發(fā),本文又按照十分之一的比例用未經(jīng)過“蒙面”的單詞自身作為假“蒙面”標(biāo)記,即不對(duì)“蒙面”位置的字符做任何改變。實(shí)驗(yàn)結(jié)果顯示,這種加入噪聲和對(duì)抗性的訓(xùn)練機(jī)制可以有效提高模型預(yù)測(cè)的能力,提高模型的健壯性。
模型架構(gòu)是一個(gè)Transformer-XL模型(超出固定長(zhǎng)度的注意語(yǔ)言模型)[9],它使Transformer能夠在不中斷時(shí)間序列連貫性關(guān)系的情況下學(xué)習(xí)可變長(zhǎng)度的依賴性關(guān)系。Transformer-XL模型由段落級(jí)循環(huán)復(fù)現(xiàn)機(jī)制和新穎的位置編碼方案在Transformer上改進(jìn)完成。基于Transformer-XL的蒙漢翻譯上的預(yù)訓(xùn)練模型可以更好地學(xué)習(xí)序列之間的長(zhǎng)期依賴性關(guān)系,而且還可以解決上下文碎片化問題,即解決上下文連貫性中斷的現(xiàn)象。因此,將提出的基于Transformer-XL的預(yù)訓(xùn)練模型命名為因果推理語(yǔ)言模型。Transformer-XL學(xué)習(xí)序列的依賴性關(guān)系比循環(huán)神經(jīng)網(wǎng)絡(luò)RNN更長(zhǎng),是RNN學(xué)習(xí)到的依賴性關(guān)系的1.8倍,是vanilla Transformer學(xué)習(xí)到的依賴性關(guān)系的4.5倍。
1.2.1段落級(jí)循環(huán)復(fù)現(xiàn)機(jī)制
Transformer-XL將循環(huán)的機(jī)制引入深層的自我注意力機(jī)制網(wǎng)絡(luò)。它的一個(gè)重要的改變是每個(gè)隱藏層的狀態(tài)不再?gòu)念^開始計(jì)算每個(gè)新段落的隱藏狀態(tài),而是復(fù)用在之前計(jì)算的段落中獲得的隱藏狀態(tài)。也可以這樣理解,隱藏狀態(tài)不再僅僅是一個(gè)純計(jì)算用的中間函數(shù),它具備了簡(jiǎn)單的存儲(chǔ)功能,可復(fù)用的隱藏狀態(tài)作為當(dāng)前狀態(tài)的存儲(chǔ)器可隨時(shí)被調(diào)用,所以重用的隱藏狀態(tài)可以在段之間建立重復(fù)連接,如圖2所示。一方面,Transformer-XL模型可以建立非常長(zhǎng)距離的依賴關(guān)系,因?yàn)樗膹?fù)用隱藏狀態(tài)的機(jī)制可以允許信息通過循環(huán)連接傳播。另一方面,這種信息傳遞機(jī)制也可以幫助Transformer解決上下文碎片化的問題,使得上下文更加連貫。

圖2 段級(jí)長(zhǎng)度為4的Transformer-XL模型的結(jié)構(gòu)模型

(1)
查詢向量、鍵向量、值向量組成的向量計(jì)算如下:
(2)
自注意力機(jī)制和前向傳播:
(3)

1.2.2相對(duì)位置編碼方案
隱藏狀態(tài)的復(fù)用機(jī)制存在一個(gè)關(guān)鍵問題:當(dāng)重用隱藏狀態(tài)信息時(shí),如何保持位置信息的一致性。在標(biāo)準(zhǔn)的Transformer中,序列順序的排列信息用一組位置編碼層嵌入到輸入層,表示為U∈RLmax×d,其中第i行的Ui對(duì)應(yīng)于段內(nèi)的第i個(gè)絕對(duì)位置。Lmax規(guī)定了要建模的最大可能長(zhǎng)度。如果直接把這種位置編碼方案應(yīng)用到1.2.1節(jié)的循環(huán)復(fù)用隱藏層機(jī)制中,隱藏狀態(tài)序列的計(jì)算方式如下:
hτ+1=f(hτ,Esτ+1+U1:L)
hτ=f(hτ-1,Esτ+U1:L)
式中:Esτ∈RL×d是sτ的字嵌入序列;f表示變換函數(shù)。注意Esτ和Esτ+1都與相同的位置編碼U1:L相關(guān)聯(lián)。結(jié)果對(duì)于任何j=1,2,…,L,模型沒有信息可以區(qū)分xτ,j和xτ+1,j之間的位置差異,這會(huì)導(dǎo)致明顯的性能損失。
為了避免這種失敗模式,僅對(duì)隱藏狀態(tài)中的相對(duì)位置信息進(jìn)行編碼。理論上,位置編碼為模型提供了輸入文本序列先后順序信息并提供給神經(jīng)網(wǎng)絡(luò)加以訓(xùn)練。出于同樣目的,不將偏差靜態(tài)地結(jié)合到初始嵌入中,而可以將相同的信息注入到每層的注意分值中。以相對(duì)方式定義時(shí)間偏差更直觀和通用。例如:當(dāng)查詢向量qt,i參與關(guān)鍵向量kt,≤i時(shí),無須知道每個(gè)關(guān)鍵向量的絕對(duì)位置以識(shí)別該段的時(shí)間順序;相反,查詢向量知道每個(gè)鍵Key向量kt,j與其自身的向量qt,i之間的相對(duì)距離就足夠了,即i-j。實(shí)際上,可以創(chuàng)建一組相對(duì)位置編碼R∈RLmax×d,其中第i行Ri表示兩個(gè)位置之間的i的相對(duì)距離。通過將相對(duì)距離動(dòng)態(tài)地注入注意力分值,查詢向量可以很容易地從不同的距離區(qū)分xt,j和xt+1,j的表示,使得狀態(tài)重用機(jī)制可行。加入改進(jìn)后的位置編碼方案的注意力計(jì)算公式如下:
uTWk,EExj+vTWk,RRi-j
(4)

MLM和CLM的處理對(duì)象都是單語(yǔ)數(shù)據(jù)。因此上述兩種模型都是無監(jiān)督的預(yù)訓(xùn)練方式。為了方便預(yù)訓(xùn)練系統(tǒng)利用并行數(shù)據(jù),本文引入了一種新的翻譯語(yǔ)言模型(TLM),用于改進(jìn)跨語(yǔ)言預(yù)訓(xùn)練。翻譯語(yǔ)言模型是MLM的改進(jìn),其不是輸入單語(yǔ)言文本序列,而是同時(shí)輸入平行語(yǔ)料庫(kù)中句子序列,如圖3所示。本文提出的TLM模型隨機(jī)地對(duì)源語(yǔ)言語(yǔ)句和目標(biāo)語(yǔ)言語(yǔ)句進(jìn)行蒙面處理。考慮到充分利用平行語(yǔ)料庫(kù)中的句子的語(yǔ)義相同等內(nèi)在聯(lián)系,模型用MUSE工具對(duì)齊蒙古文和漢文的向量表示。這種處理方式的優(yōu)勢(shì)在于如果蒙語(yǔ)語(yǔ)境無法充分地推理預(yù)測(cè)出蒙面的蒙文單詞,則該模型可以利用漢語(yǔ)的上下文語(yǔ)境,反之亦然。

圖3 翻譯語(yǔ)言模型的結(jié)構(gòu)模型
本文使用126萬句蒙漢平行語(yǔ)料庫(kù)和3萬余條專有名詞詞典作為翻譯對(duì)象。其中126萬蒙漢平行語(yǔ)料庫(kù)涵蓋政府工作報(bào)告、日常對(duì)話、新聞、法律條文和小說等多種蒙-漢平行語(yǔ)句對(duì)。3萬余條專有名詞詞典涵蓋人名、地名、物理、化學(xué)和生物等學(xué)科領(lǐng)域名詞等專有名詞,一方面擴(kuò)大了平行語(yǔ)料庫(kù)的規(guī)模;另一方面,因?yàn)?26萬句蒙漢平行語(yǔ)料庫(kù)中缺少一些不常用的生僻字詞,所以引入專有名詞作為基礎(chǔ)的平行語(yǔ)料庫(kù)之外的附加詞典庫(kù)可以方便解碼器解碼時(shí)對(duì)未登錄詞進(jìn)行近似替換。對(duì)于中文和蒙文,分別使用文獻(xiàn)[10]提出的標(biāo)記器和Kytea標(biāo)記器。
第1節(jié)中介紹的MLM、CLM和TLM可以分別作為蒙漢翻譯模型的預(yù)訓(xùn)練模型,用于編碼器或解碼器的初始化節(jié)點(diǎn)。本文的翻譯模型采用具有循環(huán)因果推理機(jī)制的Transformer-XL模型。在本文的所有實(shí)驗(yàn)中,都使用210個(gè)隱藏單元、8個(gè)注意力頭和6層編碼器-解碼器模型的基礎(chǔ)Transformer架構(gòu)。Transformer-XL模型的N層編碼器-解碼器計(jì)算程序如式(5)-式(8)所示,代表了一個(gè)注意力頭所做的計(jì)算工作。段落間的上下文向量、查詢向量、鍵向量、值向量計(jì)算同式(1)-式(2)。
相對(duì)位置注意力計(jì)算:
(5)
(6)
(7)
(8)

對(duì)于編碼器和解碼器的初始化,為了對(duì)上面的預(yù)訓(xùn)練模型在蒙漢翻譯上的效果進(jìn)行對(duì)比,采用不同的方法進(jìn)行初始化:蒙面預(yù)訓(xùn)練(MLM)、因果推理預(yù)訓(xùn)練(CLM)或隨機(jī)初始化,這三種組合需要9組實(shí)驗(yàn)。在模型中使用基于去噪自動(dòng)編碼的損失函數(shù)和基于在線反向翻譯的損失函數(shù)來訓(xùn)練模型。訓(xùn)練結(jié)果的數(shù)據(jù)見表1。

表1 多種初始化方式用于翻譯模型的對(duì)比分析結(jié)果
表1中:“EMB”表示使用跨語(yǔ)言嵌入向量預(yù)訓(xùn)練的方式引入查找表對(duì)編碼器和解碼器進(jìn)行初始化表示;PPL表示語(yǔ)義困惑度;“隨機(jī)”就是對(duì)編碼器-解碼器的初始參數(shù)隨機(jī)初始化表示。
令編碼器-解碼器參數(shù)矩陣隨機(jī)初始化作為翻譯的基線模型。實(shí)驗(yàn)結(jié)果表明,使用跨語(yǔ)言嵌入向量預(yù)訓(xùn)練的方式引入查找表對(duì)編碼器和解碼器進(jìn)行初始化表示,比基線模型的測(cè)試譯文BLEU值評(píng)估提高了6.4,在解碼器中用CLM初始化比基線模型的測(cè)試譯文BLEU值提高了12.3,在同樣條件下,使用MLM模型比CLM模型預(yù)訓(xùn)練效果好一些。但是,使用MLM對(duì)編碼器初始化,同時(shí)使用CLM模型對(duì)解碼器進(jìn)行初始化得到了目前對(duì)比實(shí)驗(yàn)中的最高BLEU值,比隨機(jī)初始化的基線模型提高了21.4。可以看出語(yǔ)義困惑度PPL的值和BLEU值的大小成反比例關(guān)系。MLM初始化編碼器參數(shù)和CLM初始化接麥器參數(shù)的語(yǔ)義困惑度比統(tǒng)一使用MLM初始化編碼器和解碼器參數(shù)的方式雖然只提高0.1的BLEU值,但是PPL的值相對(duì)降低0.5,說明因果推理模型對(duì)序列中的歷史信息進(jìn)行了有效的記憶,在一定程度上有效地提高了翻譯質(zhì)量。
本文針對(duì)蒙漢平行語(yǔ)料資源比較稀缺和現(xiàn)有的平行語(yǔ)料數(shù)據(jù)的覆蓋面少等困難導(dǎo)致的蒙漢翻譯質(zhì)量不佳的問題,采用跨語(yǔ)言多任務(wù)學(xué)習(xí)的方式對(duì)機(jī)器翻譯建模。本文在數(shù)據(jù)預(yù)處理階段,引入了兩種新的無監(jiān)督預(yù)訓(xùn)練和一種監(jiān)督預(yù)訓(xùn)練的方法,用于跨語(yǔ)言建模來學(xué)習(xí)跨語(yǔ)言表示,并研究三種語(yǔ)言預(yù)訓(xùn)練方法在蒙漢翻譯中的效果。實(shí)驗(yàn)結(jié)果表明,上述三種跨語(yǔ)言預(yù)訓(xùn)練的模型可以顯著降低低資源語(yǔ)言的困惑度,提高蒙漢翻譯質(zhì)量,蒙面預(yù)訓(xùn)練模型初始化編碼器參數(shù)和因果推理語(yǔ)言模型初始化解碼器參數(shù)的方案可以顯著提高翻譯質(zhì)量,比隨機(jī)初始化參數(shù)的BLEU值提高了20.4,同時(shí)語(yǔ)義困惑度能降低了13.6。