摘要:神經(jīng)機(jī)器翻譯(NMT)已經(jīng)在很多翻譯任務(wù)上獲得了顯著的提升效果,但它需要大規(guī)模的平行語(yǔ)料庫(kù)作為支撐,而高質(zhì)量的平行語(yǔ)料庫(kù)往往很難獲取。針對(duì)這一問題,提出了一個(gè)多語(yǔ)言無監(jiān)督 NMT 模型,該模型使用一個(gè)共享編碼器和多個(gè)解碼器聯(lián)合訓(xùn)練多種語(yǔ)言。實(shí)驗(yàn)結(jié)果表明,多語(yǔ)言無監(jiān)督 NMT 模型方法比雙語(yǔ)無監(jiān)督 NMT 基線模型表現(xiàn)更好,在 WMT 測(cè)試集上,BLEU 值最大提高了 1.48%,并且此模型還可實(shí)現(xiàn)對(duì)訓(xùn)練過程中不可見語(yǔ)言對(duì)之間的翻譯。
文麗穎, 電子設(shè)計(jì)工程 發(fā)表時(shí)間:2021-10-20
關(guān)鍵詞:神經(jīng)機(jī)器翻譯;無監(jiān)督;多語(yǔ)言;跨語(yǔ)言詞嵌入
近年來,機(jī)器翻譯技術(shù)取得了令人矚目的成就,尤 其 是 神 經(jīng) 機(jī) 器 翻 譯 (Neural Machine Translation, NMT)極大程度地提升了機(jī)器翻譯的譯文質(zhì)量,這種變革式的發(fā)展使得神經(jīng)機(jī)器翻譯成為機(jī)器翻譯的新范式[1] 。然而,神經(jīng)機(jī)器翻譯(NMT)系統(tǒng)依賴大規(guī)模的適用于訓(xùn)練此類系統(tǒng)的平行語(yǔ)料庫(kù)數(shù)據(jù),如果沒有或缺乏平行語(yǔ)料庫(kù),則會(huì)經(jīng)常出現(xiàn)訓(xùn)練質(zhì)量不佳的情況,甚至不能進(jìn)行正確的翻譯[2] 。文獻(xiàn)[3-4]提出了不需要任何類型平行語(yǔ)料庫(kù)的 NMT 系統(tǒng),通過使用單語(yǔ)語(yǔ)料庫(kù)在源語(yǔ)言和目標(biāo)語(yǔ)言之間進(jìn)行跨語(yǔ)言嵌入和迭代反向翻譯;從架構(gòu)的角度來看,這些方法結(jié)合了一個(gè)編碼器和一個(gè)或兩個(gè)解碼器。文獻(xiàn)[5]提出在有監(jiān)督的 NMT 系統(tǒng)中聯(lián)合訓(xùn)練多種語(yǔ)言,該系統(tǒng)成功地提高了神經(jīng)機(jī)器翻譯性能。受文獻(xiàn)[3-5]的啟發(fā),文中提出一種多語(yǔ)言無監(jiān)督神經(jīng)機(jī)器翻譯方法,該方法通過訓(xùn)練多語(yǔ)言無監(jiān)督 NMT 模型,可實(shí)現(xiàn)一個(gè)源到多個(gè)目標(biāo)和多個(gè)目標(biāo)到一個(gè)源的翻譯。實(shí)驗(yàn)結(jié)果表明,該模型可以改善雙語(yǔ)無監(jiān)督 NMT 模型,并且該模型無需對(duì)網(wǎng)絡(luò)進(jìn)行多對(duì)多翻譯訓(xùn)練,網(wǎng)絡(luò)就可以在參與訓(xùn)練的所有語(yǔ)言之間進(jìn)行翻譯。
1 模型構(gòu)建
文中基于編碼器-解碼器框架構(gòu)建多語(yǔ)言無監(jiān)督 NMT 模型[6] ,該模型使用一個(gè)共享編碼器和多個(gè)解碼器聯(lián)合訓(xùn)練多種語(yǔ)言,即通過對(duì)每種語(yǔ)言的降噪自動(dòng)編碼以及英語(yǔ)和多種非英語(yǔ)語(yǔ)言之間的反向翻譯,產(chǎn)生了一個(gè)可以將參與訓(xùn)練的任何語(yǔ)言編碼成一種語(yǔ)言間表示的通用編碼器,以及多個(gè)特定語(yǔ)言的解碼器。
1.1 雙向門控循環(huán)單元
循 環(huán) 神 經(jīng) 網(wǎng) 絡(luò) (Recurrent Neural Network,RNN) 的誕生為了更好地處理具有序列特性的數(shù)據(jù),但該網(wǎng)絡(luò)當(dāng)前時(shí)刻的隱藏狀態(tài)由該時(shí)刻的輸入和上一時(shí)刻隱藏層的值共同決定,這就會(huì)帶來梯度爆炸 和 梯 度 消 失 的 問 題 。 長(zhǎng) 短 期 記 憶 (Long Short Term Memory,LSTM)網(wǎng) 絡(luò) 可 以 解 決 RNN 帶 來 的 問題,還可以從語(yǔ)料中學(xué)習(xí)到長(zhǎng)期依賴關(guān)系。LSTM 神經(jīng)網(wǎng)絡(luò)模型通過引入門函數(shù)來去除或增強(qiáng)信息到達(dá)單元狀態(tài)的能力,門函數(shù)包括遺忘門、輸入門和輸出門。
門控循環(huán)單元(Gated Recurrent Units,GRU)神經(jīng)網(wǎng)絡(luò)模型與 LSTM 非常相似,但相比于 LSTM,GRU 網(wǎng)絡(luò)模型只有更新門和重置門兩個(gè)門函數(shù)。GRU 網(wǎng)絡(luò)模型更新門的作用與 LSTM 網(wǎng)絡(luò)模型的遺忘門和輸入門作用大致相同,更新門的作用在于通過設(shè)置參數(shù)值的大小決定當(dāng)前狀態(tài)有多少狀態(tài)信息來自于前一時(shí)刻;重置門的作用也是通過設(shè)置參數(shù)值的大小決定前一時(shí)刻有多少狀態(tài)信息可以遺忘或忽略。與 LSTM 網(wǎng)絡(luò)模型相比,由于 GRU 網(wǎng)絡(luò)模型只有兩個(gè)門函數(shù),少了一個(gè)門函數(shù),因此 GRU 網(wǎng)絡(luò)模型參數(shù)更少,訓(xùn)練速度更快。圖 1 所示為 GRU 內(nèi)部結(jié)構(gòu)圖[7] 。圖1 GRU內(nèi)
t 時(shí)刻輸入為 xt ,GRU 的隱藏層輸出為 ht ,其計(jì)算過程為: zt = σ(W ) (z) xt + U(z) ht - 1 (1) γt = σ(W ) (γ) xt + U(γ) ht - 1 (2) h′ t = tanh(Wxt + γt ⊙Uht - 1) (3)ht = zt ⊙ht - 1 + (1 - zt)⊙h′ t (4)其中,W 為連接兩層的權(quán)重矩陣,σ 和 tanh 為激活函數(shù),z、γ 分別為更新門和重置門。
文中的共享編碼器和解碼器使用雙向 GRU 神經(jīng)網(wǎng)絡(luò)模型。如圖 2 所示,網(wǎng)絡(luò)包含左右兩個(gè)序列上下文的兩個(gè)子網(wǎng)絡(luò),分別是前向和后向傳遞。
雙向 GRU 神經(jīng)網(wǎng)絡(luò)的輸出計(jì)算過程為: ht = [ ] hl ⊕ hl (5)文中使用基于元素的和來組合正向和反向的輸出。
1.2 雙語(yǔ)無監(jiān)督NMT基線模型
雙語(yǔ)無監(jiān)督 NMT 模型架構(gòu)有一個(gè)共享編碼器和兩個(gè)語(yǔ)言特定的解碼器,并通過以下兩個(gè)步驟以無監(jiān)督方式訓(xùn)練 NMT系統(tǒng)。
1)降噪自動(dòng)編碼。降噪自動(dòng)編碼就是把某種語(yǔ)言的句子加一些噪聲(隨機(jī)交換一些詞的順序等),然后用共享編碼器編碼加噪聲后的句子,最后用該語(yǔ)言的句子解碼恢復(fù)它。通過最大化重構(gòu)出的概率來訓(xùn)練共享編碼器和該語(yǔ)言的解碼器。加噪聲的目的是讓解碼器學(xué)會(huì)分析語(yǔ)言的結(jié)構(gòu)、提取語(yǔ)義特征,學(xué)到一個(gè)好的語(yǔ)言模型 [8] 。
2)反向翻譯。反向翻譯是把偽平行語(yǔ)料當(dāng)作訓(xùn)練數(shù)據(jù)來訓(xùn)練模型的過程。語(yǔ)言 L1 的句子 s1 先用編碼器編碼,然后用 L2 解碼器貪心解碼出 s2 ,這樣就造出了偽平行句對(duì)( s1,s2 ),這時(shí)只作推斷,不更新模型參數(shù);然后再用共享編碼器編碼 s2 ,用 L1 解碼器解碼出 s1 ,這里通過最大化 P(s1 |s2) 來訓(xùn)練模型(也就是共享編碼器和 L1 解碼器的參數(shù))[9] 。
1.3 多語(yǔ)言無監(jiān)督NMT模型
文中提出的多語(yǔ)言無監(jiān)督 NMT 模型首先通過跨語(yǔ)言嵌入映射將多種語(yǔ)言映射到一個(gè)共享潛在空間;然后使用共享表示,通過去噪和反向翻譯,在共享編碼器和特定語(yǔ)言解碼器的幫助下,僅使用單語(yǔ)語(yǔ)料庫(kù)來訓(xùn)練 NMT模型。
根據(jù)文獻(xiàn)[10]創(chuàng)建跨語(yǔ)言嵌入,這是一種完全無監(jiān)督的對(duì)齊單語(yǔ)單詞嵌入的方法。首先,學(xué)習(xí)兩個(gè)單語(yǔ)嵌入空間 X 和 Y ;然后,使用對(duì)抗性訓(xùn)練[11] ,學(xué)習(xí)矩陣 W 將 X 映射到 Y 。訓(xùn)練一個(gè)鑒別器以區(qū)分 WX 和 Y,而 W 被訓(xùn)練成使鑒別器難以判別出是 WX 還是 Y 。通過使用 W,可以學(xué)習(xí)小型常用詞匯雙語(yǔ)詞典。求解正交普魯克問題(Orthogonal Procrustes Problem,OPP),得到了一個(gè)在 X 和 Y 空間之間轉(zhuǎn)換的新的矩陣 W : W* = arg minW‖WX - Y ‖F(xiàn) = UVT (6) s.t WWT = I,UΣVT = SVD(YXT ) (7)
以上步驟可以重復(fù)多次使用新的 W 來提取新的翻譯對(duì)實(shí)現(xiàn),兩種語(yǔ)言之間的新翻譯對(duì)是通過使用跨域相似度局部縮放(Cross- domain Similarity Local Scaling,CSLS)產(chǎn)生的。CSLS 距離定義如下: CSLS(Wxs ,yt) = 2 cos(Wxs ,yt) - rT (Wxs) - rS(yt)(8)其中,rT (Wxs) = 1 K y ∑t ∈ NT (Wxs ) cos(Wxs ,yt) 表示在目標(biāo)語(yǔ)言中與 Wxs 最相鄰的 K 個(gè)詞匯的平均余弦距離, NT (Wxs )表示W(wǎng)xs 的 K 近鄰距離;rS(yt) 含義類似。
對(duì)于 n 種語(yǔ)言,選擇一種語(yǔ)言 L1 作為錨點(diǎn),將其他 n - 1 種語(yǔ)言映射到嵌入空間中。為此,首先為每種語(yǔ)言訓(xùn)練單語(yǔ)詞嵌入;然后,逐個(gè)將 n - 1 種語(yǔ)言的嵌入映射到 L1 的嵌入空間中。文中實(shí)驗(yàn)考慮了 4 種語(yǔ)言,即英語(yǔ)、法語(yǔ)、西班牙語(yǔ)和德語(yǔ),通過保持英語(yǔ)嵌入固定,為法語(yǔ)、西班牙語(yǔ)和德語(yǔ)創(chuàng)建了 3 種跨語(yǔ)言嵌入。
3 所示為多語(yǔ)言無監(jiān)督 NMT 模型結(jié)構(gòu),共享編碼器和每種語(yǔ)言的解碼器是兩層雙向 GRU[12] ;在訓(xùn)練的每次迭代中,對(duì) n 種語(yǔ)言 L1,L2,…,Ln 進(jìn)行降噪自編碼;如虛線箭頭所示,將每個(gè) Li 反向翻譯為 L1 ;如實(shí)線箭頭所示,從 L1 反向翻譯到每個(gè) Li ,其中 i ∈{2,3,…,n} 。實(shí)驗(yàn)設(shè)置了 4 種語(yǔ)言,L1 是英語(yǔ)。在降噪自動(dòng)編碼步驟中,一種語(yǔ)言中的句子被一些隨機(jī)的單詞隨機(jī)打亂,并訓(xùn)練解碼器以預(yù)測(cè)原始句子。在反向翻譯步驟中,要針對(duì)源到目標(biāo)的方向訓(xùn)練系統(tǒng),首先使用推理模式系統(tǒng)(使用共享編碼器和源語(yǔ)言解碼器)將目標(biāo)句子翻譯成源句子,以生成偽源-目標(biāo)平行語(yǔ)句,然后使用該偽平行語(yǔ)句按照源到目標(biāo)的方向訓(xùn)練網(wǎng)絡(luò)。對(duì)于從目標(biāo)到源的訓(xùn)練過程類似于以上方法。
2 數(shù)據(jù)集和實(shí)驗(yàn)設(shè)置
2.1 數(shù)據(jù)集
文中使用來自 WMT 2014 的單語(yǔ)英語(yǔ)、法語(yǔ)和德語(yǔ)新聞?wù)Z料庫(kù)和 WMT 2013 的西班牙語(yǔ)語(yǔ)料庫(kù)進(jìn)行訓(xùn)練[13] ;其中英語(yǔ)、德語(yǔ)、法語(yǔ)和西班牙語(yǔ)的 tokens 個(gè)數(shù)分別為 4.955 億、6.226 億、2.243 億和 1.229 億。對(duì)于測(cè)試集,英語(yǔ)-{法語(yǔ)、德語(yǔ)}使用 newstest2013 和 newstest2014,英語(yǔ)-西班牙語(yǔ)使用 newstest2013[14] 。文中不使用任何平行語(yǔ)料來訓(xùn)練,也不使用任何開發(fā) 集 來 優(yōu) 化 模 型 ,使 用 Moses 對(duì) 語(yǔ) 料 數(shù) 據(jù) 進(jìn) 行 Tokenize和 Truecase[15] 。
2.2 實(shí)驗(yàn)設(shè)置
使 用 向 量 維 度 為 300 的 skip- gram 模 型 調(diào) 用 fastText(https: // github.com / facebookresearch/fastText) 訓(xùn)練單語(yǔ)嵌入;對(duì)于其他超參數(shù),設(shè)置為 fastText 的默認(rèn)值[16] 。在獲得每種語(yǔ)言的單語(yǔ)嵌入后,使用跨語(yǔ) 言 嵌 入 映 射 代 碼 MUSE(https://github.com/ facebookresearch/MUSE)將每種非英語(yǔ)的嵌入映射到英語(yǔ)的嵌入空間中[17] ,對(duì)于映射不使用雙語(yǔ)數(shù)據(jù)。基于雙語(yǔ)無監(jiān)督 NMT 模型,使用 PyTorch 框架實(shí)現(xiàn)了所提出的多語(yǔ)言無監(jiān)督 NMT 模型架構(gòu);編碼器和解碼器是兩層雙向 GRU,將句子的最大長(zhǎng)度設(shè)置為 50 個(gè) tokens。對(duì)于模型訓(xùn)練,設(shè)置嵌入維數(shù)為 300,隱藏維數(shù)為 600,詞匯量大小為 50 000,Adam 優(yōu)化器學(xué)習(xí)率設(shè)置為 0.000 2[18] 。由于文中不使用任何開發(fā)集,所以對(duì)雙語(yǔ)無監(jiān)督 NMT 模型和多語(yǔ)言無監(jiān)督 NMT 模型都進(jìn)行 20 萬次迭代,保持批處理大小為 50 個(gè)句子,并對(duì)最終結(jié)果用 BLUE 值進(jìn)行評(píng)估[19] 。
3 實(shí)驗(yàn)結(jié)果與分析
作為對(duì)比試驗(yàn),按照文獻(xiàn)[3]提出的方法,把為英語(yǔ)?{法語(yǔ)、德語(yǔ)和西班牙語(yǔ)}訓(xùn)練的雙語(yǔ)無監(jiān)督NMT模型作為基線模型。如表 1和表 2所示,給出了雙語(yǔ)和多語(yǔ)言無監(jiān)督 NMT 模型每個(gè)翻譯方向的 BLEU 值,所提出的多語(yǔ)言無監(jiān)督 NMT 模型在兩個(gè)測(cè)試集的所有翻譯方向上均優(yōu)于雙語(yǔ)無監(jiān)督 NMT 模 型 ,其 中 西 班 牙 語(yǔ) 到 英 語(yǔ) BLEU 值 最 大 改 進(jìn) 為 1.48%。由于參數(shù)僅在編碼器端共享,并且每個(gè)目標(biāo)語(yǔ)言使用一個(gè)單獨(dú)的解碼器,因此,多語(yǔ)言訓(xùn)練在不失去其自身語(yǔ)言特征的情況下提高了所有語(yǔ)言對(duì)的性能。
在訓(xùn)練期間,只在英語(yǔ)和非英語(yǔ)(西班牙語(yǔ)、法語(yǔ)、德語(yǔ))語(yǔ)言之間進(jìn)行反向翻譯,但網(wǎng)絡(luò)也學(xué)會(huì)了在非英語(yǔ)語(yǔ)言對(duì)之間進(jìn)行翻譯。例如,為了將西班牙語(yǔ)翻譯成法語(yǔ),文中對(duì)西班牙語(yǔ)句子進(jìn)行編碼,編碼器的編碼輸出由法語(yǔ)解編碼器解碼。為了進(jìn)行評(píng)估,文中將 newstest2013測(cè)試集用于西班牙語(yǔ)-法語(yǔ)、西班牙語(yǔ)-德語(yǔ)和法語(yǔ)-德語(yǔ)語(yǔ)言對(duì)。表3給出了在訓(xùn)練中不可見語(yǔ)言對(duì)之間的翻譯結(jié)果,可以看出,法語(yǔ)和西班牙語(yǔ)之間的翻譯 BLUE 值分別高達(dá) 13.87%和 13.92%;涉及德語(yǔ)的語(yǔ)言對(duì) BLUE 值最高為 7.40%。
4 結(jié) 論
文中提出了一個(gè)多語(yǔ)言無監(jiān)督 NMT 模型,使用共享編碼器和特定語(yǔ)言解碼器聯(lián)合訓(xùn)練多種語(yǔ)言。提出的方法基于所有語(yǔ)言的降噪自動(dòng)編碼以及英語(yǔ)和非英語(yǔ)語(yǔ)言之間的反向翻譯。根據(jù)實(shí)驗(yàn)結(jié)果顯示,多語(yǔ)言無監(jiān)督 NMT 模型在所有翻譯方向上較雙語(yǔ)無監(jiān)督 NMT 基線模型都有了明顯的改進(jìn),最大改進(jìn) BLEU 值為 1.48%。由于提出的網(wǎng)絡(luò)中共享編碼器能夠生成與語(yǔ)言無關(guān)的表示,所以網(wǎng)絡(luò)也學(xué)會(huì)了在不可見的語(yǔ)言對(duì)之間進(jìn)行翻譯。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >