陶媛媛,陶 丹
(1.西安交通大學(xué)城市學(xué)院,西安 710000; 2.西安市曲江第一中學(xué),西安 710000)
隨著翻譯需求的增加,信息技術(shù)與語(yǔ)言學(xué)理論以及人工智能研究中自然語(yǔ)言理解模型的蓬勃發(fā)展,使得機(jī)器翻譯逐漸受到了各領(lǐng)域?qū)I(yè)技術(shù)人員矚目[1-3]。Liu等[1]報(bào)道并系統(tǒng)地探索使用針對(duì)統(tǒng)計(jì)機(jī)器翻譯(SMT)的深度(多層)神經(jīng)網(wǎng)絡(luò)(DNN)學(xué)習(xí)新功能的可能性。為了解決深度信念網(wǎng)絡(luò)中特征學(xué)習(xí)的輸入原始特征太簡(jiǎn)單,每個(gè)短語(yǔ)對(duì)的4個(gè)短語(yǔ)特征有限的問(wèn)題,作者將一些簡(jiǎn)單但有效的短語(yǔ)特征作為新的DNN特征學(xué)習(xí)的輸入特征進(jìn)行了調(diào)整和擴(kuò)展,并且這些特征已顯示出SMT的顯著改進(jìn),例如短語(yǔ)對(duì)相似性等。此外,在傳統(tǒng)SMT和神經(jīng)機(jī)器翻譯(NMT)中,學(xué)習(xí)源語(yǔ)言的連續(xù)空間表示法已經(jīng)引起了廣泛的關(guān)注。目前已經(jīng)提出了各種模型,主要是基于神經(jīng)網(wǎng)絡(luò)的模型來(lái)表示源句子,主要用作編碼器-解碼器框架中的編碼器部分。在解碼過(guò)程中僅對(duì)源句子的“相關(guān)”部分進(jìn)行編碼,Devlin等[4]提出的神經(jīng)網(wǎng)絡(luò)聯(lián)合模型(NNJM),該模型擴(kuò)展了n元語(yǔ)法目標(biāo)語(yǔ)言模型,通過(guò)額外增加源句的固定長(zhǎng)度窗口,實(shí)現(xiàn)統(tǒng)計(jì)機(jī)器翻譯的最新性能。實(shí)驗(yàn)結(jié)果表明,與比較模型算法相比,基于深度神經(jīng)網(wǎng)絡(luò)與規(guī)則學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯模型具有更好的效果,更快的收斂速度和更高的可靠性。深度神經(jīng)網(wǎng)絡(luò)作為一種新的機(jī)器學(xué)習(xí)方法,可以自動(dòng)學(xué)習(xí)抽象特征表示并在輸入和輸出信號(hào)之間建立復(fù)雜的映射關(guān)[5-6]。
本文提出了一種新的卷積架構(gòu),以動(dòng)態(tài)編碼源語(yǔ)言中的相關(guān)信息。該模型涵蓋了整個(gè)源句子,可以在目標(biāo)語(yǔ)言的信息指導(dǎo)下有效地找到并適當(dāng)?shù)乜偨Y(jié)相關(guān)部分。利用解碼過(guò)程中的引導(dǎo)信號(hào),經(jīng)過(guò)特殊設(shè)計(jì)的卷積體系結(jié)構(gòu)可以查明與預(yù)測(cè)目標(biāo)單詞相關(guān)的源語(yǔ)句部分,并將其與整個(gè)源語(yǔ)句的上下文融合在一起以形成統(tǒng)一的表示形式。將之與目標(biāo)詞一起饋入深度神經(jīng)網(wǎng)絡(luò)(DNN)。聯(lián)合模型的兩個(gè)變體tagCNN和inCNN,并在解碼過(guò)程中使用了不同的指導(dǎo)信號(hào)。聯(lián)合模型集成到最新的依存關(guān)系的字符串翻譯系統(tǒng)中用以評(píng)估其有效性,為統(tǒng)計(jì)機(jī)器翻譯研究提供了新的切入點(diǎn)。
CNN編碼器的聯(lián)合模型在圖1中進(jìn)行了說(shuō)明,其中包括CNN編碼器,即tagCNN或inCNN,以表示源語(yǔ)句中的信息,以及基于NN的模型CNN編碼器的表示和目標(biāo)句子中的歷史單詞作為輸入來(lái)預(yù)測(cè)下一個(gè)單詞。
在聯(lián)合語(yǔ)言模型中,en表示目標(biāo)詞的概率,給定前k個(gè)目標(biāo)詞{en-k,…,en-1}和CNN編碼器對(duì)源句子S的表示為:
圖1 基于CNN編碼器的聯(lián)合LM的示意圖
例如圖1的示例中,翻譯的中文句子如下。
中文: 智利 舉行 國(guó)會(huì) 與 總統(tǒng) 選舉;
Pinyin: ZhiLi JuXing GuoHui Yu ZongTong XuanJu。
轉(zhuǎn)換成英語(yǔ),在評(píng)估目標(biāo)語(yǔ)言順序“holds parliament and presidential”時(shí),以“holds parliament and”作為進(jìn)行詞(假設(shè)為4-gram LM),而“presidential”的從屬源詞1為“zongtong”(由單詞對(duì)齊方式確定),tagCNN產(chǎn)生φ1(S,{4})(“ Zongongong”的索引為4),而inCNN產(chǎn)生φ2(S,{h(holds parliament and)})。之后,DNN組件將“ holds parliament and”和φ1或者φ2作為輸入,以給出下一個(gè)單詞的條件概率,例如p(“presidential”|φ1|2,{holds,parliment,and})。
1.2.1 通用CNN編碼器
從卷積編碼器的通用架構(gòu)開(kāi)始[7-8],然后繼續(xù)將tagCNN和inCNN作為兩個(gè)擴(kuò)展。
通用CNN編碼器的基本架構(gòu)如圖2所示,其固定架構(gòu)由如下6層組成。
第0層:輸入層,采用嵌入矢量形式的單詞。工作中將句子的最大長(zhǎng)度設(shè)置為40個(gè)單詞。 對(duì)于短于此的句子,常在句子開(kāi)頭放置零填充。
第1層:第0層之后的卷積層,窗口大小為3。引導(dǎo)信號(hào)被注入到該層中作為“引導(dǎo)版本”。
第2層:第1層之后的本地門控層,僅對(duì)大小為2的非相鄰窗口中的特征圖進(jìn)行加權(quán)求和。
第3層:在第2層之后的卷積層,開(kāi)始執(zhí)行另一個(gè)卷積,窗口大小為 3。
第4層:在第3層上對(duì)功能圖執(zhí)行全局選通。
第5層:完全連接的權(quán)重,將第4層的輸出映射到該層作為最終表示。
如圖2所示,第1層中的卷積在單詞的滑動(dòng)窗口(寬度k1)上運(yùn)行,并且窗口的類似定義會(huì)延續(xù)到更高的層。形式上,對(duì)于源句子輸入x={x1,…,xN}第L層上的f型特征映射的卷積單位為式(1):
(1)
圖2 CNN編碼器示意圖
1.2.2 門控
相關(guān)文獻(xiàn)中CNN采用簡(jiǎn)單的卷積池策略[9],其中“融合”決策是基于要素圖的值。在本質(zhì)上而言,是一種軟模板匹配,適用于諸如分類的任務(wù),但對(duì)于保持卷積的合成功能作用不顯著,然而,上述功能對(duì)于句子建模至關(guān)重要。本文使用單獨(dú)的門控單元從卷積中釋放得分函數(shù)的占空比,并使其更加注重于句子的合成。
采用兩種類型的門控:(1)對(duì)于第2層,在第1層卷積的特征圖上采用不重疊窗口的局部門控,以表示段;(2)對(duì)于第4層卷積,采用全局選通融合所有片段以實(shí)現(xiàn)全局表示。 并發(fā)現(xiàn),這種選通策略可以顯著改善tagCNN和inCNN的池化性能。
1)本地門控:在第1層上,對(duì)于每個(gè)門控窗口,首先在第0層上找到其原始輸入(卷積之前),然后將它們合并為門控網(wǎng)絡(luò)的輸入。 例如,對(duì)于兩個(gè)窗口:第0層上的單詞(3,4,5)和單詞(4,5,6),使用由嵌入單詞(3,4,5,6)組成的串聯(lián)矢量作為輸入本地門控網(wǎng)絡(luò)的輸入以確定兩個(gè)窗口(在第1層上)的卷積結(jié)果的權(quán)重,而加權(quán)和是第2層的輸出。
(2)
1.2.3 CNN編碼器訓(xùn)練
CNN編碼器訓(xùn)練過(guò)程與神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型的訓(xùn)練過(guò)程相同,除了使用并行語(yǔ)料庫(kù)而不是單語(yǔ)語(yǔ)料庫(kù)外,力求最大程度地提高訓(xùn)練樣本的對(duì)數(shù)似然性,并為平行語(yǔ)料庫(kù)中的每個(gè)目標(biāo)單詞提供一個(gè)樣本[10]。優(yōu)化是通過(guò)常規(guī)的反向傳播來(lái)實(shí)現(xiàn)的,該實(shí)現(xiàn)是使用小批量的隨機(jī)梯度下降實(shí)現(xiàn)的。
1.2.4 inCNN
本文的聯(lián)合模型純粹是詞匯化的,因此可以作為功能集成到任何SMT解碼器中[11-12]。對(duì)于分層SMT解碼器,采用了Devlin等人提出的集成方法。正如從用于執(zhí)行分層解碼的n-gram語(yǔ)言模型繼承的那樣,應(yīng)將每個(gè)組成部分中最左邊和最右邊的n-1個(gè)單詞存儲(chǔ)在狀態(tài)空間中。通過(guò)擴(kuò)展?fàn)顟B(tài)空間,以包括這些邊詞中每個(gè)詞的關(guān)聯(lián)源詞的索引。對(duì)于對(duì)齊的目標(biāo)詞,將其對(duì)齊的源詞作為其關(guān)聯(lián)的源詞。對(duì)于未對(duì)齊的單詞,同樣使用Devlin等人采用的從屬關(guān)系啟發(fā)式方法。在本文中,將聯(lián)合模型集成到最新的依賴項(xiàng)到字符串機(jī)器翻譯解碼器中,作為案例研究來(lái)測(cè)試提出的方法的有效性。本節(jié)簡(jiǎn)要描述依賴項(xiàng)到字符串的轉(zhuǎn)換模型與MT系統(tǒng)。
本文使用一般的對(duì)數(shù)線性框架。令d為將源依賴關(guān)系樹(shù)轉(zhuǎn)換為目標(biāo)字符串e的推導(dǎo)。d的概率定義為式(2):
(2)
其中:φi是在導(dǎo)數(shù)上定義的特征,λi是相應(yīng)的權(quán)重。其中解碼器包含以下功能。
1)基準(zhǔn)功能:
HDR規(guī)則的翻譯概率P(t|s)和P(s|t);HDR規(guī)則的詞法翻譯概率PLEX(t|s)和PLEX(s|t);偽翻譯規(guī)則懲罰exp(-1);目標(biāo)詞懲罰exp(|e|);n元語(yǔ)法模型PLM(e)。
2)提出功能:
n-gram tagCNN聯(lián)合語(yǔ)言模型PLEX(e);CNN聯(lián)合語(yǔ)言模型PLEX(e)中的n-gram。
1)數(shù)據(jù)獲取:本文的培訓(xùn)數(shù)據(jù)是從LDC數(shù)據(jù)中提取的[13]。僅保留源對(duì)部分長(zhǎng)度不超過(guò)40個(gè)單詞的句子對(duì),該句子對(duì)覆蓋了90%以上的句子。雙語(yǔ)訓(xùn)練數(shù)據(jù)由221 k句子對(duì)組成,其中包含500萬(wàn)個(gè)中文單詞和680萬(wàn)個(gè)英文單詞。經(jīng)過(guò)長(zhǎng)度限制過(guò)濾后,開(kāi)發(fā)集為NIST MT03(795個(gè)句子),測(cè)試集為MT04(1499個(gè)句子)和MT05(917個(gè)句子)。
2)預(yù)處理:使用GIZA ++在語(yǔ)料庫(kù)上使用“增長(zhǎng)-確定-最終和”平衡策略[14],在兩個(gè)方向上獲得單詞對(duì)齊。并采用SRI語(yǔ)言建模工具包在英語(yǔ)Gigaword語(yǔ)料庫(kù)(3.06億個(gè)單詞)的新華語(yǔ)部分上訓(xùn)練了經(jīng)過(guò)改進(jìn)的Kneser-Ney平滑處理的4-gram語(yǔ)言模型。隨后使用Stanford Parser將中文句子解析為映射依賴樹(shù)。
4)指標(biāo):本文使用不區(qū)分大小寫的4-gram NIST BLEU3作為評(píng)估指標(biāo),在提出的模型和兩個(gè)基準(zhǔn)之間進(jìn)行帶有標(biāo)志檢驗(yàn)的統(tǒng)計(jì)學(xué)顯著性檢驗(yàn)。
將tagCNN和inCNN聯(lián)合語(yǔ)言模型用作依賴項(xiàng)到字符串基線系統(tǒng)(Dep2Str)的附加解碼功能,并將它們與具有11個(gè)源上下文詞的神經(jīng)網(wǎng)絡(luò)聯(lián)合模型進(jìn)行比較。除了全局設(shè)置外,還使用具有默認(rèn)配置的開(kāi)源工具包。由于本文提出的tagCNN和inCNN模型是從源到目標(biāo)和從左到右的(在目標(biāo)側(cè)),因此,僅采用源到目標(biāo)和從左到右的NNJM類型進(jìn)行比較。以下將這種類型的NNJM稱為BBN-JM。盡管Devlin等人中的BBN-JM最初是在基于分層短語(yǔ)的SMT和字符串到依賴關(guān)系SMT中進(jìn)行測(cè)試的,但它可以很容易地集成到Dep2Str中。
表1給出了不同模型的主要結(jié)果。在進(jìn)行更詳細(xì)的比較之前,可獲得以下信息:
1)基線Dep2Str系統(tǒng)的BLEU比基于開(kāi)源短語(yǔ)的系統(tǒng)Moses高0.5+。
2)與Dep2Str相比,BBN-JM的得分約為+0.92 BLEU。
從表1可以明顯看出,在相同設(shè)置下,tagCNN和inCNN在Dep2Str基線上的改善幅度為+1.28和+1.75 BLEU,在相同設(shè)置下,其BBN-JM分別優(yōu)于NIST MT04和MT05的平均值+0.36和+0.83 BLEU。這些表明tagCNN和inCNN可以在解碼中分別提供區(qū)分性信息。值得注意的是,inCNN似乎比單詞對(duì)齊(GIZA ++)建議的附屬單詞更具信息性。因此,推測(cè)這是由于以下兩個(gè)事實(shí)才成立的:
1)inCNN避免了在已經(jīng)學(xué)習(xí)的單詞對(duì)齊方式中錯(cuò)誤和偽影響的傳播;
2)inCNN中的指導(dǎo)信號(hào)提供補(bǔ)充信息以評(píng)估翻譯。
此外,當(dāng)將tagCNN和inCNN都用于解碼時(shí),可以進(jìn)一步在BBN-JM上的獲勝余量提高到+1.08 BLEU點(diǎn)。
通用CNN還能在BLEU上獲得類似于BBN-JM的增益,因?yàn)?,通用CNN編碼整個(gè)句子,并且表示形式通常應(yīng)遠(yuǎn)離聯(lián)合語(yǔ)言模型的最佳表示形式。因此,可能是由于CNN對(duì)該句子產(chǎn)生了相當(dāng)有益的總結(jié),這彌補(bǔ)了其在分辨率和源詞相關(guān)部分上的某些損失。換言之,tagCNN和inCNN中的引導(dǎo)信號(hào)對(duì)于基于CNN的編碼器的功能至關(guān)重要,這可以從通用CNN,tagCNN和inCNN獲得的BLEU得分之間的差異中看出。對(duì)于有了來(lái)自已經(jīng)習(xí)得的單詞對(duì)齊的信號(hào),tagCNN可以比其通用對(duì)應(yīng)詞獲得+0.25 BLEU,而對(duì)于inCNN,來(lái)自目標(biāo)單詞的引導(dǎo)信號(hào),其增益更顯著為+0.72 BLEU。
tagCNN可以進(jìn)一步受益于在輸入中用源語(yǔ)言編碼的依賴關(guān)系結(jié)構(gòu)。依賴項(xiàng)首詞可用于進(jìn)一步完善tagCNN模型。在tagCNN中,在輸入層中的單詞嵌入后附加一個(gè)標(biāo)記位(0或1)作為它們是否隸屬源詞的標(biāo)記。為了合并依賴頭信息,本文擴(kuò)展了標(biāo)記規(guī)則,為原始tagCNN的詞嵌入添加了另一個(gè)標(biāo)記位(0或1),以指示它是否是附屬詞的依賴頭的一部分。例如,如果xi是相關(guān)源詞的嵌入,而xj是詞xi的依賴頭,則tagCNN的擴(kuò)展輸入將包含,式(3):
xi(AFF,NON-HEAD)=[xiT,1,0]T
xj(NON-AFF,HEAD)= [xjT,0,1]T
(3)
若從屬源詞是句子的詞根,則由于詞根沒(méi)有依賴項(xiàng)頭,因此本文僅將0作為第二個(gè)標(biāo)記位附加。從表2中可以看出,借助依賴項(xiàng)頭信息能夠在兩個(gè)測(cè)試集上將tagCNN平均提高+0.23 BLEU點(diǎn)。
表2 tagCNN模型的BLEU-4分?jǐn)?shù)(%)
以inCNN模型的比較為例,研究了門控策略可在多大程度上改善最大池化的翻譯性能。 對(duì)于使用最大池的inCNN實(shí)施,本文用大小為2(簡(jiǎn)稱2池)的最大池替換本地門(第2層),用k個(gè)最大池(“第4層”)替換全局門(“第4層”),其中k為{2; 4; 8},然后將k池輸出的平均值用作第5層的最終輸入。這樣可以確保第5層的輸入維與具有門控的架構(gòu)相同。從表3可以看出,門控策略可以比最大合并提高0.34,0.71 BLEU點(diǎn)的翻譯性能。此外還發(fā)現(xiàn)8池收益率性能要優(yōu)于2池。所以推測(cè)這是因?yàn)榉g中有用的相關(guān)部分主要集中在源句子的幾個(gè)單詞上,可以通過(guò)較大的庫(kù)大小更好地提取這些單詞。
表3 使用門控策略和k個(gè)最大池實(shí)施的inCNN>模型的BLEU-4分?jǐn)?shù)(%)
本文提出了卷積架構(gòu),以獲取整個(gè)源句的引導(dǎo)表示,該卷積架構(gòu)可用于增強(qiáng)n-gram目標(biāo)語(yǔ)言模型。利用來(lái)自目標(biāo)端的不同指導(dǎo)信號(hào),并設(shè)計(jì)了tagCNN和inCNN,兩者都通過(guò)增強(qiáng)字符串對(duì)依賴關(guān)系的SMT進(jìn)行了測(cè)試,其SMT比基線高+2.0 BLEU點(diǎn)。所提出的模型分別優(yōu)于NIST MT04和MT05的平均值+0.36,+0.83 BLEU,比傳統(tǒng)DNN機(jī)器翻譯平均提高了+1.08 BLEU點(diǎn)。該模型為統(tǒng)計(jì)機(jī)器翻譯方法研究提供了借鑒。