張金超,艾山·吾買爾,買合木提·買買提,劉 群
(1. 中國(guó)科學(xué)院 計(jì)算技術(shù)研究所 智能信息處理重點(diǎn)實(shí)驗(yàn)室,北京 100190;2. 中國(guó)科學(xué)院大學(xué),北京 100049; 3. 騰訊科技(北京)有限公司,北京 100080;4. 新疆大學(xué) 信息科學(xué)與工程學(xué)院,烏魯木齊 新疆 830046;5. 都柏林城市大學(xué),都柏林 愛(ài)爾蘭)
機(jī)器翻譯任務(wù)致力于使用計(jì)算機(jī)實(shí)現(xiàn)源端語(yǔ)言到目標(biāo)端語(yǔ)言的自動(dòng)化翻譯,降低不同語(yǔ)種群體之間的溝通代價(jià),是人工智能學(xué)科的一個(gè)重要分支。統(tǒng)計(jì)機(jī)器翻譯模型(statistical machine translation model,SMT)在神經(jīng)網(wǎng)絡(luò)翻譯模型(neural machine translation model,NMT)被提出之前是主流的翻譯模型,主要的模型有基于詞的機(jī)器翻譯模型[1]、基于短語(yǔ)的機(jī)器翻譯模型[2]、基于句法的機(jī)器翻譯模型[3]。在統(tǒng)計(jì)機(jī)器翻譯模型中,翻譯知識(shí)是從雙語(yǔ)平行句對(duì)中使用統(tǒng)計(jì)方法學(xué)習(xí)到的顯式規(guī)則。統(tǒng)計(jì)機(jī)器翻譯模型通常包括多個(gè)子模型,比如翻譯概率子模型、調(diào)序子模型、語(yǔ)言模型子模型,這些子模型被流水線式地一步步搭建和調(diào)優(yōu)。與統(tǒng)計(jì)機(jī)器翻譯模型不同,神經(jīng)網(wǎng)絡(luò)翻譯模型[4-7]使用一個(gè)神經(jīng)網(wǎng)絡(luò)直接進(jìn)行端到端(end-to-end)的訓(xùn)練來(lái)擬合翻譯知識(shí)。具體地,神經(jīng)網(wǎng)絡(luò)翻譯模型借助于編碼器(encoder)對(duì)源端的句子進(jìn)行向量化的分布式表示,使用解碼器(decoder)根據(jù)源端的分布式表示逐詞地生成目標(biāo)端的句子。注意力(attention)機(jī)制被引入來(lái)建模詞對(duì)齊的信息。通過(guò)這樣的方式,模型中所有的參數(shù)都統(tǒng)一到一致的目標(biāo)函數(shù)下調(diào)整,模型中的翻譯知識(shí)通過(guò)神經(jīng)元之間的連接權(quán)重隱含地表達(dá)。神經(jīng)網(wǎng)絡(luò)翻譯模型自提出以來(lái),在多個(gè)語(yǔ)言對(duì)上的表現(xiàn)顯著地超過(guò)了統(tǒng)計(jì)機(jī)器翻譯模型,成為當(dāng)前主流的翻譯模型。
維漢神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型面臨著兩個(gè)困難: 一方面,維吾爾語(yǔ)是一種黏著語(yǔ),通過(guò)在詞干上附加各種不同的詞綴來(lái)實(shí)現(xiàn)語(yǔ)法功能。維吾爾語(yǔ)的詞匯具有豐富的詞形變化,這就造成了嚴(yán)重的數(shù)據(jù)稀疏問(wèn)題;另一方面,目前搭建維漢機(jī)器翻譯模型的語(yǔ)料規(guī)模都較小,在小規(guī)模的訓(xùn)練語(yǔ)料上得到的系統(tǒng)翻譯質(zhì)量低。對(duì)于神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型,數(shù)據(jù)規(guī)模十分影響模型質(zhì)量。為提高維漢神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型的能力,本文提出使用多編碼器多解碼器的結(jié)構(gòu),搭建大規(guī)模的神經(jīng)網(wǎng)絡(luò)模型。同時(shí),分別探索了適合神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯的維漢翻譯單元粒度。本文的實(shí)驗(yàn)在190萬(wàn)句的維漢平行語(yǔ)料上進(jìn)行,該語(yǔ)料是目前最大的維漢平行語(yǔ)料庫(kù),實(shí)驗(yàn)結(jié)果參考性高。本文的實(shí)驗(yàn)結(jié)果證明,在大規(guī)模訓(xùn)練數(shù)據(jù)的條件下,基于神經(jīng)網(wǎng)絡(luò)的維漢機(jī)器翻譯模型的能力顯著地超過(guò)了統(tǒng)計(jì)機(jī)器翻譯模型;多編碼器多解碼器的網(wǎng)絡(luò)結(jié)構(gòu)能夠有效地提高神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型的能力;維吾爾語(yǔ)端采用字節(jié)對(duì)編碼作為基本翻譯單元,漢語(yǔ)端采用漢字作為基本翻譯單元,可以擺脫對(duì)漢語(yǔ)端分詞器的依賴,并得到效果很好的翻譯系統(tǒng)。
神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型的基本結(jié)構(gòu)是編碼器—解碼器(encoder-decoder)結(jié)構(gòu)。編碼器通常是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent meural network,RNN)[7]或卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[8],最新的研究也有使用基于自注意力機(jī)制(self attention)的編碼器[9]。編碼器的主要功能是對(duì)源端待翻譯的句子進(jìn)行向量化的壓縮表示?;赗NN的編碼器視句子為一個(gè)序列,對(duì)句子中出現(xiàn)的詞匯按時(shí)間順序逐個(gè)處理,形成壓縮表示。兩個(gè)不同的RNN分別處理正向和逆向的詞匯序列,兩種表示被連接起來(lái)作為最終的源端表示?;陂T(gate)控機(jī)制的門控循環(huán)神經(jīng)網(wǎng)絡(luò)(gated recurrent neural network,GRU)[5]和帶有記憶模塊和門控機(jī)制的長(zhǎng)短時(shí)記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(long-short term memory recurrent neural network,LSTM)[10]使得RNN具有選擇性捕獲和遺忘歷史信息的能力?;贑NN的編碼器通過(guò)使用不同寬度的滑動(dòng)窗口,從序列中捕獲上下文局部信息。多層的CNN編碼器和池化(pooling)機(jī)制可以實(shí)現(xiàn)對(duì)全局信息的學(xué)習(xí)?;谧宰⒁饬C(jī)制的編碼器,使句子序列中詞匯之間的交互距離成為與句子長(zhǎng)度無(wú)關(guān)的常數(shù),對(duì)于捕獲長(zhǎng)距離依賴信息具有顯著優(yōu)勢(shì)。解碼器會(huì)根據(jù)編碼器對(duì)源端句子的表示和已經(jīng)生成的目標(biāo)端的局部譯文,逐翻譯單元地生成目標(biāo)端譯文。對(duì)已生成的目標(biāo)端的局部譯文的建模,同編碼器一樣可以使用循環(huán)神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、自注意力機(jī)制等。注意力機(jī)制[6]被引入到神經(jīng)網(wǎng)絡(luò)翻譯模型中,目的是對(duì)詞對(duì)齊信息進(jìn)行顯式的建模。
之前已有研究者嘗試使用神經(jīng)網(wǎng)絡(luò)模型搭建維漢機(jī)器翻譯模型的工作??捉鹩11]等使用帶注意力機(jī)制的編碼器解碼器結(jié)構(gòu)搭建了維漢口語(yǔ)機(jī)器翻譯模型。哈里旦木[12]等對(duì)比了多種神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型。這些工作都是基于單編碼器單解碼器的基本神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。訓(xùn)練數(shù)據(jù)分別為50萬(wàn)句和10萬(wàn)句的小規(guī)模語(yǔ)料,神經(jīng)網(wǎng)絡(luò)規(guī)模較小,結(jié)構(gòu)較簡(jiǎn)單。本文提出使用多編碼器多解碼器的結(jié)構(gòu),搭建結(jié)構(gòu)更復(fù)雜的大規(guī)模維漢機(jī)器翻譯模型來(lái)提高維漢機(jī)器翻譯譯文的質(zhì)量,并在大規(guī)模數(shù)據(jù)上進(jìn)行了有效性驗(yàn)證。
神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型以端到端的方式對(duì)輸入序列和輸出序列的映射進(jìn)行直接建模。給定源端輸入X={x1,…,xm}和目標(biāo)端輸出Y={y1,…,yn},翻譯概率被建模成,如式(1)所示。
(1)
其中,y h={h1,…,hm}=Encoder(X), Y={y1,…,yn}=Decoder(h) (2) 其中,h是源端句子的分布式表示,目標(biāo)語(yǔ)言的生成過(guò)程如式(3)所示。 q=g(yt-1,ct,st), P(yt|y (3) 其中,q是預(yù)測(cè)目標(biāo)端詞的張量,g(·)是一個(gè)線性函數(shù),st是解碼器的隱層狀態(tài),ct是源端分布式表示的權(quán)重加和,通過(guò)注意力機(jī)制計(jì)算得出。ct的計(jì)算方式如式(4)所示。 (4) 其中,Wα,Uα,Vα為矩陣參數(shù)。 圖1展示了一個(gè)基本的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型的架構(gòu),包括編碼器、解碼器和注意力機(jī)制。 圖1 帶注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型 為提升維漢機(jī)器翻譯的譯文質(zhì)量,本文提出使用多編碼器多解碼器結(jié)構(gòu),搭建大型的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型。該模型結(jié)構(gòu)如圖2所示,可以容納任意個(gè)數(shù)的編碼器和解碼器,易于擴(kuò)展和增強(qiáng)。多個(gè)編碼器獨(dú)立工作,對(duì)源端句子進(jìn)行分布式表示,所有編碼器的輸出通過(guò)一個(gè)前饋神經(jīng)網(wǎng)絡(luò)結(jié)合到一起,構(gòu)成源端句子的最終分布式表示。多個(gè)解碼器具有獨(dú)立的注意力機(jī)制,所有解碼器的輸出同樣被一個(gè)前饋神經(jīng)網(wǎng)絡(luò)結(jié)合到一起,最終被集成到目標(biāo)端詞匯表,分類層: 計(jì)算每個(gè)目標(biāo)端翻譯單元的概率。網(wǎng)絡(luò)中所有的參數(shù)都統(tǒng)一到一致的目標(biāo)函數(shù)下進(jìn)行訓(xùn)練學(xué)習(xí)。 圖2 多編碼器多解碼器結(jié)構(gòu)示意圖 編碼器的作用是對(duì)源端句子進(jìn)行分布式的表示,基本的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型使用一個(gè)編碼器來(lái)處理源端的句子。多編碼器的思路是使用不同深度和結(jié)構(gòu)的多個(gè)編碼器對(duì)源端句子分別進(jìn)行分布式表示,然后將這多個(gè)分布式的表示融合起來(lái)作為源端句子最終的表示。不同深度的編碼器對(duì)源端句子具有不同的分布式表示能力,不同結(jié)構(gòu)的編碼器對(duì)句子表示過(guò)程中關(guān)注的句子特征的方式不同。我們期望通過(guò)這種方式能得到一個(gè)對(duì)源端句子更全面的表示,增強(qiáng)模型能力。 圖3展示了一個(gè)由三個(gè)RNN和一個(gè)CNN構(gòu)成的編碼器。四個(gè)子編碼器共享詞向量矩陣,其他參數(shù)獨(dú)立。輸入一個(gè)源端句子,句子中的翻譯單元,例如字或詞,經(jīng)過(guò)詞向量矩陣的映射成為向量,每個(gè)子編碼器對(duì)該向量序列進(jìn)行壓縮表示。我們使用GRU作為RNN的單元,逐層地堆疊RNN,形成深度網(wǎng)絡(luò)結(jié)構(gòu)。前向的RNN和后向的RNN依次堆疊,來(lái)捕獲正向和反向的上下文環(huán)境。圖中所示的三個(gè)基于RNN的編碼器具有不同的深度,層數(shù)分別為2層、4層、6層。CNN子編碼器使用一個(gè)固定大小的滑動(dòng)窗口來(lái)捕獲局部的上下文信息。為減少梯度傳播損失,我們使用一個(gè)門控單元來(lái)將每個(gè)子解碼器的原始輸出和詞向量通過(guò)一個(gè)門控單元進(jìn)行重組。我們以encoder2的輸出為例,門控單元具體的計(jì)算如式(5)所示。 圖3 由三個(gè)RNN和一個(gè)CNN構(gòu)成的編碼器 (5) 其中,Wxz,Woz,Wxh,Woh∈Rd×d為矩陣參數(shù),bz,bh∈Rd為偏置參數(shù)。最終門控單元的輸出被一個(gè)前饋神經(jīng)網(wǎng)絡(luò)組合起來(lái),作為源端句子的分布式表示。該前饋神經(jīng)網(wǎng)絡(luò)的計(jì)算如式(6)所示。 (6) 其中,Whk∈Rd×d是矩陣參數(shù),b∈Rd是偏置參數(shù)。 解碼器逐翻譯單元地生成目標(biāo)端譯文,我們提出使用多解碼器的結(jié)構(gòu)提升解碼器的生成能力。為了方便表述,我們將注意力機(jī)制視為解碼器的一部分,我們的每個(gè)子解碼器中都包含一套獨(dú)立的注意力機(jī)制。所有子解碼器的輸出最終被結(jié)合到一起,用于目標(biāo)端譯文的生成。 圖4展示了由三個(gè)子解碼器構(gòu)成的解碼器結(jié)構(gòu),每個(gè)解碼器具有不同的深度。以decoder2為例,該子解碼器的計(jì)算邏輯,如式(7)所示。 (7) 圖4 由三個(gè)子解碼器構(gòu)成的解碼器 (8) 其中,z是更新門,r是重置門,Wcz,Wsz,Wcr,Wsr,Wss,Wcs是矩陣參數(shù)。每個(gè)子解碼器的輸出qk,t使用一個(gè)前饋神經(jīng)網(wǎng)絡(luò)組合到一起,輸入到目標(biāo)端詞匯表分類模塊,得到歸一化的翻譯單元概率,計(jì)算過(guò)程如式(9)所示。 (9) 我們進(jìn)行了多組實(shí)驗(yàn)來(lái)驗(yàn)證多編碼器多解碼器結(jié)構(gòu)的有效性,并探索了翻譯單元的粒度對(duì)翻譯結(jié)果的影響。 訓(xùn)練數(shù)據(jù)我們采用了新疆大學(xué)收集的新聞?lì)I(lǐng)域數(shù)據(jù),數(shù)據(jù)規(guī)模在190萬(wàn)句左右,是到目前為止維漢機(jī)器翻譯實(shí)驗(yàn)使用的最大的平行語(yǔ)料。開(kāi)發(fā)數(shù)據(jù)采用了CWMT2017維漢機(jī)器翻譯評(píng)測(cè)提供的開(kāi)發(fā)集,測(cè)試數(shù)據(jù)使用了CWMT2017維漢機(jī)器翻譯評(píng)測(cè)提供的去重版測(cè)試集。數(shù)據(jù)規(guī)模如表1所示。 表1 數(shù)據(jù)規(guī)模 維吾爾語(yǔ)端進(jìn)行了拉丁化處理和簡(jiǎn)單的切分,拉丁化采用的是新疆大學(xué)提出的維吾爾語(yǔ)拉丁化方案,切分的目的是將標(biāo)點(diǎn)符號(hào)和維吾爾語(yǔ)詞語(yǔ)分開(kāi)。對(duì)于漢語(yǔ),我們使用了中科院計(jì)算所的分詞工具進(jìn)行了分詞處理,分詞標(biāo)準(zhǔn)遵循《人民日?qǐng)?bào)》標(biāo)準(zhǔn)。翻譯結(jié)果的評(píng)價(jià)指標(biāo)與CWMT2017保持一致,即基于字的BLEU-SBP分?jǐn)?shù)。譯文沒(méi)有做任何后處理操作,統(tǒng)計(jì)機(jī)器翻譯模型的輸出譯文保留未登錄詞,神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯的輸出譯文保留未登錄詞符號(hào)。 統(tǒng)計(jì)機(jī)器翻譯模型使用了基于短語(yǔ)的模型,模型采用開(kāi)源Moses系統(tǒng)訓(xùn)練得到。詞對(duì)齊使用GIZA++工具,對(duì)齊策略為“grow-diag-final-and”。四元語(yǔ)言模型使用了SRLIM工具,借助Kneser-Ney算法做平滑。我們使用了MERT工具在開(kāi)發(fā)集上進(jìn)行調(diào)優(yōu)。解碼搜索空間stack參數(shù)設(shè)為100。 我們實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型RNNSearch*作為神經(jīng)網(wǎng)絡(luò)翻譯模型的基線系統(tǒng)。該模型的編碼器和解碼器都基于門控神經(jīng)網(wǎng)絡(luò)GRU,使用注意力機(jī)制連接編碼器和解碼器。我們搭建了多個(gè)多編碼器和多解碼器的模型,來(lái)探究該結(jié)構(gòu)的有效性。神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯中,詞向量維度和隱層神經(jīng)元的個(gè)數(shù)均設(shè)為512。對(duì)于方陣的權(quán)重參數(shù),我們使用正交的初始化方式。對(duì)于非正交的矩陣權(quán)重參數(shù),我們使用均值為0、方差為0.01的高斯分布進(jìn)行初始化。所有的偏置參數(shù)初始化為0。參數(shù)訓(xùn)練使用基于batch的梯度下降算法,batch的大小設(shè)置為80,學(xué)習(xí)率控制算法基于AdaDelta,其中衰減參數(shù)ρ=0.95,分母常量ξ=1E-6。Dropout策略只使用在解碼器輸出層,drop rate為0.5。梯度截?cái)?gradient cliping)算法被用來(lái)防止梯度爆炸,作用方式為L(zhǎng)2正則的梯度大于1.0的時(shí)候重置為閾值。解碼采用柱搜索(beam search)的方式,beam size參數(shù)設(shè)為12,最終的譯文分?jǐn)?shù)除以譯文長(zhǎng)度做歸一化處理后進(jìn)行重排序。 針對(duì)神經(jīng)網(wǎng)絡(luò)翻譯面對(duì)的詞匯數(shù)據(jù)稀疏問(wèn)題,我們?cè)诰S吾爾語(yǔ)端進(jìn)行了使用詞和字節(jié)對(duì)(BPE)編碼作為基本翻譯單元的實(shí)驗(yàn)。字節(jié)對(duì)編碼使用了BPE開(kāi)源工具,在維吾爾語(yǔ)端單語(yǔ)迭代5萬(wàn)次。在漢語(yǔ)端進(jìn)行了使用詞、漢字和字節(jié)對(duì)編碼作為基本翻譯單元的實(shí)驗(yàn)。維吾爾語(yǔ)端5萬(wàn)詞表在訓(xùn)練語(yǔ)料上的文本覆蓋率約為94.6%; 5萬(wàn)BPE單元詞匯表在訓(xùn)練語(yǔ)料上的文本覆蓋率約為100%。漢語(yǔ)端3萬(wàn)詞表在訓(xùn)練語(yǔ)料上的文本覆蓋率為96.5%;1萬(wàn)字單元詞匯表文本覆蓋率約為99.9%; 3萬(wàn)BPE單元的詞匯表在訓(xùn)練語(yǔ)料上的文本覆蓋率約為99.3%。 下面我們對(duì)實(shí)驗(yàn)系統(tǒng)進(jìn)行具體描述: (1) Moses是基于短語(yǔ)的統(tǒng)計(jì)機(jī)器翻譯系統(tǒng); (2) RNNSearch*是帶注意力機(jī)制的單編碼器單解碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng); (3) 3encoder是具有三個(gè)編碼器的多編碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng),編碼器基本單元是GRU,每個(gè)編碼器的深度分別為2,4,6; (4) 3encoders_3decoders是具有三個(gè)編碼器三個(gè)解碼器的多解碼器多編碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,編碼器和解碼器基本單元是GRU,每個(gè)編碼器的深度分別為2,4,6,每個(gè)解碼器深度分別為2,4,6; (5) 4encoders_3decoders是具有四個(gè)編碼器三個(gè)解碼器的多解碼器多編碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng)。編碼器中三個(gè)是使用GRU的RNN,深度分別為2,4,6,還有一個(gè)是窗口寬度為3的CNN;多解碼器端有三個(gè)解碼器,都是使用GRU的RNN,深度分別為2,4,6。 表2展示了我們的實(shí)驗(yàn)結(jié)果。通過(guò)分析實(shí)驗(yàn)結(jié)果,我們可以看到統(tǒng)計(jì)機(jī)器翻譯模型的BLEU值明顯低于所有的神經(jīng)網(wǎng)絡(luò)模型。對(duì)比系統(tǒng)1和系統(tǒng)2,在測(cè)試集的BLEU-5指標(biāo)上,基于詞單元粒度的基本神經(jīng)網(wǎng)絡(luò)翻譯模型RNNSearch*超過(guò)Moses約1.70個(gè)點(diǎn)。這說(shuō)明在大規(guī)模訓(xùn)練數(shù)據(jù)的條件下,即使維吾爾語(yǔ)由于其語(yǔ)言特點(diǎn)存在比較嚴(yán)重的詞匯稀疏問(wèn)題,基于神經(jīng)網(wǎng)絡(luò)的維漢機(jī)器翻譯模型的性能依然可以顯著超過(guò)基于短語(yǔ)的統(tǒng)計(jì)機(jī)器翻譯系統(tǒng)。 系統(tǒng)2~5用來(lái)對(duì)比不同粒度的翻譯單元對(duì)模型能力的影響。對(duì)比系統(tǒng)2和3,我們發(fā)現(xiàn)對(duì)維吾爾語(yǔ)端做字節(jié)對(duì)編碼后,測(cè)試集BLEU-5指標(biāo)增長(zhǎng)約2.11個(gè)點(diǎn)。實(shí)驗(yàn)說(shuō)明,維吾爾語(yǔ)端字節(jié)對(duì)編碼能夠改善其詞匯稀疏導(dǎo)致的詞匯表覆蓋率低、未登錄詞較多的問(wèn)題。對(duì)比系統(tǒng)3和系統(tǒng)4,當(dāng)我們?cè)跐h語(yǔ)端使用字作為翻譯單元時(shí),可以進(jìn)一步得到約2.14個(gè)BLEU-5點(diǎn)的提升。漢語(yǔ)端使用字作為翻譯單元具有多個(gè)優(yōu)點(diǎn): (1) 可以緩解詞匯稀疏問(wèn)題,有效地提升翻譯質(zhì)量; (2) 不再需要額外的分詞工具對(duì)訓(xùn)練語(yǔ)料和測(cè)試語(yǔ)料進(jìn)行分詞,同時(shí)也避免了不同分詞標(biāo)準(zhǔn)對(duì)模型的影響; (3) 詞匯表的規(guī)模可以大幅度縮小,有效地減少訓(xùn)練時(shí)間和解碼時(shí)間。 對(duì)比系統(tǒng)3~4和5,我們發(fā)現(xiàn)在RNNSearch*模型上,維吾爾語(yǔ)端和漢語(yǔ)端都基于BPE單元,可以在測(cè)試集上得到最高的BLEU-5值。 系統(tǒng)6~7和10用來(lái)分別驗(yàn)證多編碼器結(jié)構(gòu)和多解碼器結(jié)構(gòu)對(duì)模型能力的提升效果。對(duì)比系統(tǒng)4和系統(tǒng)6,我們發(fā)現(xiàn)多編碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng)雖然在參數(shù)量上要小于RNNSearch*系統(tǒng),但是效果卻優(yōu)于RNNSearch*,這證明了多編碼器結(jié)構(gòu)的有效性。對(duì)比系統(tǒng)6和系統(tǒng)7,我們發(fā)現(xiàn)通過(guò)擴(kuò)展單解碼器到多解碼器結(jié)構(gòu),進(jìn)一步帶來(lái)了翻譯效果的提升。對(duì)比系統(tǒng)7和系統(tǒng)10, 我們發(fā)現(xiàn)引入基于CNN結(jié)構(gòu)的編碼器會(huì)進(jìn)一步提高測(cè)試集BLEU-5分?jǐn)?shù)約1.04個(gè)點(diǎn)的提升。這些實(shí)驗(yàn)證明了我們提出的多解碼器多編碼器結(jié)構(gòu)的有效性。 表2 維漢實(shí)驗(yàn)結(jié)果 系統(tǒng)8~11是我們提出的使用多編碼器多解碼器結(jié)構(gòu)搭建的大型神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型,我們同時(shí)也對(duì)其進(jìn)行了不同翻譯單元粒度的測(cè)試。基于詞—詞粒度的多編碼器多解碼器系統(tǒng)8,與RNNSearch*系統(tǒng)2對(duì)比,測(cè)試集上BLEU-5指標(biāo)提升了約1.2個(gè)點(diǎn);基于BPE-詞的多編碼器多解碼器系統(tǒng)9與RNNSearch*系統(tǒng)3相比,測(cè)試集上BLEU-5指標(biāo)提升了約1.95個(gè)點(diǎn);基于BPE-字的多編碼器多解碼器系統(tǒng)10與RNNSearch*系統(tǒng)4相比,測(cè)試集上BLEU-5指標(biāo)提升了2.08個(gè)點(diǎn);基于BPE-BPE的多編碼器多解碼器系統(tǒng)11和RNNSearch*系統(tǒng)5相比,測(cè)試集上BLEU-5指標(biāo)提升了1.56個(gè)點(diǎn)。這四組實(shí)驗(yàn)對(duì)比,說(shuō)明多編碼器多解碼器結(jié)構(gòu)對(duì)于提升維漢神經(jīng)網(wǎng)絡(luò)翻譯的性能有明顯的效果。對(duì)比系統(tǒng)10和11,我們發(fā)現(xiàn)在RNNSearch*系統(tǒng)上帶來(lái)了提升的漢語(yǔ)端BPE方案并沒(méi)有在大模型上帶來(lái)顯著性的提升。系統(tǒng)11是我們所有實(shí)驗(yàn)中最優(yōu)的模型,在BLEU-5指標(biāo)上,超過(guò)了基于短語(yǔ)的統(tǒng)計(jì)機(jī)器翻譯系統(tǒng)約8.17個(gè)點(diǎn),超過(guò)了基于詞的基本的神經(jīng)網(wǎng)絡(luò)模型RNNSearch*約6.47個(gè)點(diǎn)。我們的實(shí)驗(yàn)結(jié)論對(duì)于搭建高性能的維漢機(jī)器翻譯系統(tǒng)具有重要的參考價(jià)值。 我們?cè)跐h英翻譯方向上對(duì)多編碼器多解碼器神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型進(jìn)行了實(shí)驗(yàn)對(duì)比。訓(xùn)練集選用的語(yǔ)料是語(yǔ)言數(shù)據(jù)聯(lián)盟(Linguistic Data Consortium)發(fā)布的語(yǔ)料(LDC2002E18,LDC2003E07,LDC2003E14,LDC2004T07 Hansards,LDC2004T08,LDC2005T06),共125萬(wàn)句對(duì),開(kāi)發(fā)集使用的是2002年NIST評(píng)測(cè)發(fā)布的測(cè)試集,測(cè)試集使用的是2003—2006年NIST評(píng)測(cè)發(fā)布的測(cè)試集。實(shí)驗(yàn)參數(shù)配置與維漢系統(tǒng)一致,雙語(yǔ)詞匯表規(guī)模限定為三萬(wàn),評(píng)價(jià)指標(biāo)采用四元的BLEU值(mteval-v11b.pl)。 我們的實(shí)驗(yàn)結(jié)果如表3所示。通過(guò)對(duì)比系統(tǒng)2、3、4、5,可以看出基于多編碼器多解碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng)性能有了顯著的提升,這說(shuō)明該結(jié)構(gòu)在漢英翻譯方向上也可以有效地改善譯文質(zhì)量。我們同時(shí)也和集成方法做了性能對(duì)比,這里使用的集成方法(ensemble)是獨(dú)立訓(xùn)練了三個(gè)具有不同深度編碼器和解碼器(2、4、6層)的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型,然后在解碼搜索的過(guò)程中,對(duì)三個(gè)模型輸出的目標(biāo)端詞匯的概率分布做了平均化。我們可以看到,集成方法對(duì)于提升翻譯效果是有效的,但是會(huì)帶來(lái)總參數(shù)量成倍地增加。在訓(xùn)練的時(shí)候,要針對(duì)每個(gè)模型進(jìn)行獨(dú)立訓(xùn)練和調(diào)優(yōu),在解碼的時(shí)候,所需的時(shí)間相對(duì)于單模型也會(huì)成倍的增加。我們提出的多編碼器多解碼器,參數(shù)統(tǒng)一訓(xùn)練,共享結(jié)構(gòu)使得參數(shù)量增長(zhǎng)速度是線性的,解碼時(shí)最終計(jì)算目標(biāo)端詞匯表概率分布的時(shí)候,只需要一次大矩陣的變換和一次softmax歸一化,計(jì)算量比集成方法要小很多,對(duì)于提升單模型的性能是十分經(jīng)濟(jì)有效的。 表3 漢英實(shí)驗(yàn)結(jié)果 本文提出使用多編碼器多解碼器的結(jié)構(gòu),搭建大規(guī)模的維漢神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型的方法。該結(jié)構(gòu)可以對(duì)源語(yǔ)言進(jìn)行多層次、多視角的壓縮表示;同時(shí)具有多個(gè)解碼器,可以增強(qiáng)目標(biāo)語(yǔ)言的生成能力。實(shí)驗(yàn)證明,在大規(guī)模的訓(xùn)練數(shù)據(jù)上,使用該方法搭建的大規(guī)模維漢神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯模型,譯文質(zhì)量可以大幅度地超過(guò)基于短語(yǔ)的統(tǒng)計(jì)機(jī)器翻譯模型和基本的神經(jīng)網(wǎng)絡(luò)翻譯模型;維吾爾語(yǔ)端使用字節(jié)對(duì)編碼(BPE)單元、漢語(yǔ)端使用字單元,可以擺脫對(duì)漢語(yǔ)端分詞器的依賴,得到較強(qiáng)的翻譯系統(tǒng)。未來(lái)我們會(huì)考慮根據(jù)維吾爾語(yǔ)的特點(diǎn),從語(yǔ)言學(xué)的角度提出更具有針對(duì)性的解決方案來(lái)緩解數(shù)據(jù)稀疏的問(wèn)題,進(jìn)一步提高維漢機(jī)器翻譯系統(tǒng)的性能表現(xiàn)。2 基于多編碼器多解碼器結(jié)構(gòu)的維漢神經(jīng)網(wǎng)絡(luò)模型
2.1 多編碼器結(jié)構(gòu)
2.2 多解碼器結(jié)構(gòu)
3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)數(shù)據(jù)與評(píng)價(jià)指標(biāo)
3.2 實(shí)驗(yàn)設(shè)計(jì)和參數(shù)細(xì)節(jié)
3.3 實(shí)驗(yàn)結(jié)果及分析
3.4 漢英翻譯實(shí)驗(yàn)及與集成方法的對(duì)比分析
4 總結(jié)與展望