汪 浩,貢正仙,李軍輝
(蘇州大學計算機科學與技術學院,江蘇 蘇州 215006)
近些年來,神經(jīng)機器翻譯(NMT)飛速發(fā)展[1-2].相較于傳統(tǒng)的統(tǒng)計機器翻譯,NMT展現(xiàn)出更加優(yōu)越的性能和更強的適應性,使得NMT的應用和影響越來越廣.NMT通過搭建神經(jīng)網(wǎng)絡模型,使用序列到序列的翻譯方法[3],極大地提升了翻譯的性能.2017年,Vaswani等[4]提出全新的模型架構Transformer,該模型采用經(jīng)典的編碼器-解碼器結構,使用新穎的多頭注意力機制來進行建模,達到了非常卓越的性能,在自然語言處理研究中得到廣泛應用.
NMT研究對于句子級的翻譯,取得了非常卓越的效果,在中英新聞翻譯方面取得了巨大的成功,已經(jīng)達到接近人類的水平[5].然而,相較于句子級翻譯研究,篇章級NMT受到的關注較少.由于難以有效地利用篇章上下文信息,篇章級機器翻譯的研究仍然具有挑戰(zhàn)性,即使是Transformer模型性能也有待提高.Bawden等[6]指出利用篇章級上下文來處理與上下文相關的現(xiàn)象是非常關鍵的,例如共指、詞法銜接和詞法歧義化等現(xiàn)象,對于機器翻譯的性能有著重要的影響.翻譯過程中出現(xiàn)的語句不通順和不連貫的現(xiàn)象,很有可能就是沒有考慮篇章級信息而造成的.
近年來,篇章級別的NMT研究越來越受到關注[7-13].Zhang等[7]提出了一種基于Transformer的篇章翻譯模型,通過使用兩個編碼器分別計算當前句的表示和篇章級上下文的表示,再將篇章級別上下文信息分別融入到當前句子的編碼器和解碼器中,顯著地提高了篇章翻譯的性能.多層注意力網(wǎng)絡模型[11]是第一個使用分層注意力機制以結構化和動態(tài)的方式來捕捉篇章上下文信息的模型.Yang等[10]提出了一種以查詢?yōu)閷虻哪z囊網(wǎng)絡,將上下文信息聚類到目標翻譯可能涉及的不同角度.Chen等[13]利用卷積神經(jīng)網(wǎng)絡將句子級上下文表示為潛在主題,并將句子級主題上下文信息集成到NMT模型中.但是,篇章上下文的選取存在著很多問題,Zhang等[7]分別選取前1、前2、前3句作為當前句子的上下文,多層注意力網(wǎng)絡模型選取了前3句作為上下文,Yang等[10]同樣是選取了前3句作為上下文.而Chen等[13]利用卷積神經(jīng)網(wǎng)絡處理句子之間的信息,不涉及上下文長度的選取.然而在實際翻譯場景中,當前句的前句所蘊含的篇章信息并非總能對翻譯當前句發(fā)揮作用,因此,如何讓模型能夠充分利用有效的篇章信息是一個值得研究的問題.
為了讓模型能夠?qū)W習到更多有價值的篇章上下文信息,本文提出一種基于聯(lián)合學習的篇章翻譯結構.其核心思想是利用一個共享的編碼器分別對當前句及其上下文進行編碼,同時引入分類任務,分類器用于判斷當前句的上下文編碼表征是否蘊含有效的篇章信息.本文對分類器的數(shù)據(jù)生成設計了多種方案,在努力提高分類性能的同時幫助模型提升編碼器對句子的表示能力.本文描述的篇章翻譯系統(tǒng)建立在通用的句子級Transformer模型之上,除了聯(lián)合分類器,模型進一步引入門控機制,通過改進基準模型的殘差連接,使得編碼端識別出來的上下文信息能夠在解碼端得到充分利用.
受Zhang等[7]工作的啟發(fā),本文采用了如圖1所示的系統(tǒng)模型架構,基本思想是使用多頭自注意力機制計算篇章級上下文的表示,并將編碼得到的上下文信息集成到解碼器中.與Zhang等[7]不同,出于計算成本和注意力負擔的考量,本文對上下文和當前句采用的是共享編碼器,即在Transformer的原始模型基礎上使用同一個編碼器來對源端句的上下文句進行編碼.為了有效利用篇章級別的上下文信息,系統(tǒng)加入了分類模塊,對兩個編碼器的輸出隱藏狀態(tài)進一步處理.從經(jīng)過編碼的信息中,判斷上下文與當前句是否存在關聯(lián),本文一方面通過分類任務來提升句子的表示能力,另一方面將聯(lián)合上下文注意力和門控機制來指導模型對上下文的有效利用.為了指導解碼器有效使用篇章上下文信息,將篇章上下文注意力層置于解碼器的自注意子層和上下文注意力子層之間;為了進一步控制上下文信息在目標端的利用,引入門控機制.下面將詳細描述分類器的設計和門控機制.
圖1 融合篇章上下文有效識別的Transformer模型Fig.1 Transformer model fused effective context recognition
1.2.1 分類器設計
句子級的Transformer模型在翻譯時不需要考慮上下文,因此經(jīng)過編碼器編碼的句子表示在體現(xiàn)句間關系上能力較弱;與此相對,篇章翻譯的編碼輸出應該在句間關系的判斷上更具優(yōu)勢.因此,存在這樣一個假設:性能越好的篇章翻譯編碼器,它的編碼輸出(即句子表示)在句間關系判斷上應該能力越強(本文3.4節(jié)的實驗結果驗證了該假設的合理性).根據(jù)這一假設,本文的翻譯系統(tǒng)增加了一個聯(lián)合分類任務:利用編碼器輸出判斷當前句子的上下文是不是真正有效的上下文.分類性能的提升,一方面說明系統(tǒng)內(nèi)的句子表示得到增強,另一方面也說明模型在學習過程中更能有效關注到上下文信息.
(1)
在KL_div策略中,利用訓練好的BERT(bidirectional encoder representations from Transformers)預訓練模型將句子轉(zhuǎn)化為特征向量,計算句子表征之間的KL距離.KL_div策略的相似度計算如式(2)所示:
(2)
1.2.2 分類器結構
分類器的結構如圖2所示,記h∈Rnt×d和s∈Rnc×d分別表示當前句x(t)和當前句上下文c(t)經(jīng)編碼器后的輸出,nt表示源端當前句包含的單詞數(shù),其中nc表示對應上下文包含的單詞數(shù),d表示隱藏狀態(tài)的大小.將隱藏狀態(tài)h和s進一步通過最大池化和平均池化操作,分別表示為向量u和v,即:
圖2 處理篇章信息的分類器結構圖Fig.2 Structure diagram of classifier processing document-level information
u=[hmax-fP(h),hmean-fP(h)],
(3)
v=[smax-fP(s),smean-fP(s)],
(4)
其中u,v∈R2d,fP為池化函數(shù).為了捕獲u和v之間的關系,系統(tǒng)為分類器構建了如下輸入,即
o=[u,v,|u-v|,uv],
(5)
其中,o∈R8d,由u,v的拼接向量[u,v]、逐個元素乘積uv和逐元素的絕對差|u-v|構成.最后,通過全連接層和二元分類softmax層判斷上下文c(t)是否為當前句x(t)的有效上下文:
z=softmax(σ(oW1+b1)W2+b2),
(6)
其中,W1∈R8d×d,W2∈Rd×2,b1∈R1×d,b2∈R2為模型參數(shù),σ為sigmoid函數(shù).
在圖1所示的解碼器端,引入的上下文注意力子層用于融合篇章上下文信息.為方便起見,記解碼端自注意力層的輸出為p∈Rmt×d,mt為目標端當前句的單詞數(shù),上下文注意力層通過多頭注意力模型,融入篇章上下文信息s∈Rnc×d,即
q=fMH(p,s,s),
(7)
其中q∈Rmt×d,fMH為多注意力機制函數(shù).為了獲取篇章的上下文信息,一般通過殘差網(wǎng)絡與上下文注意力子層的輸入進行融合,即
r=q+p.
(8)
不難看出,式(8)所示的殘差網(wǎng)絡將采用全盤接收的方式融合獲取的篇章上下文q.為了區(qū)別篇章上下文是否有效,受Zhang等[7]的啟發(fā),本文引入帶門控機制的殘差網(wǎng)絡,即通過門控層按一定比例α融合獲取的篇章上下文,如式(9)所示:
r=αq+p.
(9)
α為衡量該篇章上下文信息重要程度的指標,可表示為
α=σ(Wpp+Wqq),
(10)
其中Wp和Wq為權重參數(shù).一般來講,當篇章上下文有效時,希望通過訓練使權重α接近于1,反之接近于0.
與第1節(jié)內(nèi)容相對應,本文聯(lián)合學習的損失函數(shù)分為三部分,分別涉及傳統(tǒng)NMT目標端的預測、有效篇章上下文的識別和帶門控機制的殘差網(wǎng)絡中篇章上下文的重要程度α.
記模型參數(shù)為θ,NMT目標端預測相關損失函數(shù)為
L1=
(11)
其中,N為訓練集中平行篇章數(shù),Tn為第n個平行篇章的句子數(shù),mn,t為第n個平行篇章當前句子的詞數(shù).
篇章上下文有效識別相關損失函數(shù)為
(1-ki)log(1-p(ki|θ)).
(12)
其中:M為有效篇章上下文識別訓練樣例數(shù),即為機器翻譯訓練集中句子總數(shù);ki∈{0,1}為第i個句子的篇章上下文有效性標簽.
帶門控機制的殘差網(wǎng)絡中篇章上下文重要程度α相關的損失函數(shù)為
(13)
其中,αi,j表示第i個句子在解碼器第j層中的帶門控機制的殘差網(wǎng)絡中篇章上下文的重要程度,6為解碼器的層數(shù).
最終,本文的聯(lián)合學習的訓練目標如式(14)所示:
θ*=arg min
θ(L1+L2+L3).
(14)
由于大規(guī)模篇章級平行語料庫通常無法獲取,即便是對于語料豐富的語言(如英語和中文)也是如此.在語料庫規(guī)模很小的條件下,篇章級NMT模型的表現(xiàn)往往不及句子級模型性能.本文采用Zhang等[7]提到的兩步訓練方式.該訓練方式額外使用了一個比篇章級語料數(shù)據(jù)Dd更大的句子級平行語料數(shù)據(jù)Ds,具體訓練步驟如下:
1) 在組合的句子級平行語料庫Dd∪Ds上訓練句子級參數(shù).訓練句子級參數(shù)時,模型與原始Transformer模型相同,篇章級模塊不參與訓練,如圖1所示,進行該步訓練時只有實線模塊參與訓練.
2) 僅在篇章級平行語料庫Dd上訓練篇章級參數(shù).如圖1所示,在此步中虛線模塊和實線模型同時參與訓練.
值得注意的是,本模型在訓練篇章級參數(shù)時,并沒有固定第一步句子級參數(shù),這主要是因為分類器模板需要兩個編碼器同時參與訓練.
本文在中英、英德翻譯任務上驗證本文提出的模型.
在中英翻譯任務上,訓練集包含200萬個中英平行句子對,訓練集包括句子級平行語料LDC2002E18、LDC2003E07、LDC2003E14、LDC2004T08的新聞部分;篇章級平行語料包括LDC2002T01、LDC2004T07、LDC2005T06、LDC2005T10、LDC2009T02、LDC2009T15、LDC2010T03.篇章級平行語料包括4.1萬個篇章,由94萬個句子對組成.本文選擇NIST 2006數(shù)據(jù)集作為開發(fā)集,包含1 664個句子,將NIST2002、NIST2003、NIST2004、NIST2005、NIST2008作為測試集,分別包含878,919,1 788,1 082,1 357個句子.翻譯任務的評估指標為對大小寫不敏感的雙語互譯評估值(BLEU),由mteval-v11b.pl腳本計算得出.中英翻譯中對源語言和目標語言都使用字節(jié)對編碼(BPE)[15],以減少未登錄詞的數(shù)量,操作數(shù)為4×104.
在英德翻譯任務上,訓練集包括News Commentary v11 corpus(http:∥www.casmacat.eu/corpus/news-commentary.html),并且從WMT14英德數(shù)據(jù)集(http:∥www.statmt.org/wmt14/translation-task.html)中抽取30萬個句子對用來訓練句子級參數(shù).開發(fā)集為news-test2015,測試集為news-test2016.對于該翻譯任務數(shù)據(jù),為了提高訓練效率,本文將長篇章分成最多30個句子的子篇章,而且同樣對源端和目標端語言使用了BPE,操作數(shù)為3萬.
本文配置的Transformer模型來源于OpenNMT[16](https:∥github.com/OpenNMT/OpenNMT-py).本文將編碼器與解碼器的層數(shù)設置為6層,多頭注意力機制中含有8個頭,同時設置失活率為0.01,隱層維度和前饋神經(jīng)網(wǎng)絡中間層單元數(shù)分別為512和2 048.本文實驗只使用一個GTX1080Ti顯卡訓練模型,訓練時批處理大小為4 096個標記(token)以內(nèi).進行解碼時,設置集束大小為5,其他的設置使用Vaswani系統(tǒng)中的默認設置.本實驗中,第一步句子級模型的訓練時間為28 h,第二步篇章級模型的訓練時間為12 h.
為了驗證本文提出模型的性能,分別在中英和英德翻譯任務中進行實驗.表中TF-IDF策略表示在本文提出的模型下使用TF-IDF方法生成的負例訓練數(shù)據(jù)進行篇章級翻譯實驗,總體數(shù)據(jù)的正負例比為1∶3;KL_div策略為通過計算KL距離生成的訓練數(shù)據(jù)進行實驗,生成的正負例比為1∶1.這兩種策略選出來的篇章上下文均為一句.
表1為中英翻譯任務上本文提出模型與基準系統(tǒng)在各測試集上的翻譯性能.可以看出本文提出的兩種方法均能夠提高系統(tǒng)的翻譯性能.與基準系統(tǒng)相比,本文模型使用TF-IDF策略的BLEU值提高了1.6 個百分點,使用KL_div策略的BLEU值提高了1.45個百分點.
表1 本文模型與基準系統(tǒng)在中英翻譯任務的BLEU值Tab.1 The BLEU values of our model and the baseline in the Chinese-English translation task %
表2為在英德翻譯任務上本文提出模型與基準系統(tǒng)在各測試集上的翻譯性能.可以看出在英德任務上,本文提出的模型與基準系統(tǒng)相比也同樣有顯著提升,尤其使用TF-IDF策略構造上下文信息的方法在測試集上的BLEU值提高了0.53個百分點.
這充分表明了本文提出的融合篇章上下文有效識別的篇章翻譯模型能夠有效地提升機器翻譯模型的效果.
本文復現(xiàn)了篇章機器翻譯中非常經(jīng)典的工作[7]的模型代碼,并在本文中英數(shù)據(jù)集上測得實驗結果.對于Zhang等[7]的模型Doc-NMT的設置,本文采用了前一句作為上下文,上下文編碼器的層數(shù)為6層,跟文獻[7]中設置保持一致.除此之外,本文模型與模型Doc-NMT都是在同一個句子級模型參數(shù)上微調(diào)得到.表3展示了在中英數(shù)據(jù)集上Doc-NMT和本文模型采用TF-IDF策略的BLEU值比較,本文提出的模型具有更優(yōu)的性能,在BLEU均值上提升了0.32個百分點,進一步證明本文提出的基于聯(lián)合學習的篇章翻譯模型具有一定的優(yōu)勢.
表3 本文模型與前人工作的BLEU比較Tab.3 BLEU value comparison of our model with previous work %
本文中通過引入分類器模塊,對篇章上下文進行有效識別,使得源端編碼表征能學習到更加有效的信息.因此,本文做了兩組實驗來證明本文模型增強源端表征的能力,另做了一組實驗來考察本文提出的帶門控機制的殘差網(wǎng)絡對模型性能的影響.
第一組實驗,通過對本文提出的分類器性能進行對比實驗,來證明本文模型的編碼器可以學習到更加有效的篇章信息.先利用句子級基準模型的編碼器,分別對源端句和上下文句進行編碼,將兩個源端表征輸入至分類器模塊,測試分類器的性能.相同地,接著利用本文提出的篇章翻譯模型的編碼器進行編碼,得到的兩個源端表征來測試分類器性能.對比實驗在中英任務上進行,上下文的選取方式采用TF-IDF策略,正負例比為1∶3.結果顯示,使用基準模型的編碼器測出分類器的準確度為73.0%,使用本文建議的模型編碼器測出的分類器準確度為76.7%,與基準模型相比提高了3.7個百分點.可以看出,使用本文模型的編碼器能夠明顯提升分類器性能,能夠識別出更多有效的篇章上下文信息.
第二組實驗,對比不同的上下文選取方式在篇章翻譯任務上的性能,采用的比照對象為從篇章中隨機挑選句子作為上下文來生成負例.對比實驗是在中英翻譯任務上進行的,生成數(shù)據(jù)的正負例比為1∶3.表4為3種數(shù)據(jù)生成方式下模型在測試集上的性能.可以看出,本文提出的選取方式較盲目隨機的選取上下文方式具有明顯的優(yōu)勢,尤其TF-IDF的選取方式較隨機選取的平均BLEU值提高了0.32個百分點.可見,本文提出的數(shù)據(jù)生成方式具有優(yōu)越性,更利于分類器識別出有效與無效上下文.
表4 生成數(shù)據(jù)方式的BLEU值對比Tab.4 BLEU value comparison of data generation methods %
第三組實驗中,本文將帶門控的殘差網(wǎng)絡換成普通的殘差網(wǎng)絡(w/o context gating),保留分類器模塊.在中英翻譯任務上進行驗證實驗,其他的實驗設置同3.1節(jié)的中英實驗設置,采用上下文長度為一句,TF-IDF策略的正負例比為1∶3,KL_div策略的正負例比為1∶1,結果如表5所示,可以看出,移除帶門控的殘差網(wǎng)絡后,在TF-IDF策略的上下文選擇方式下模型的平均BLEU值下降了0.32個百分點,在KL_div策略的上下文選擇方式中模型的平均BLEU值下降了0.31個百分點.可見,本文提出的帶門控的殘差網(wǎng)絡能夠在解碼端對上下文信息進行更加有效的利用,能夠使得模型的性能得到進一步提升.
表5 不同殘差網(wǎng)絡的BLEU值比較Tab.5 BLEU value comparison of different residual networks %
針對篇章機器翻譯如何更高效利用上下文信息的問題,本文提出了一種新的模型結構.首先在現(xiàn)有NMT模型基礎上融入了篇章信息,其次對篇章信息進一步識別處理,最終通過解碼端的改進使得識別出的有效篇章信息得到充分利用.在中英和英德翻譯任務中表明,本文提出的模型和方法可以有效地提高機器翻譯的質(zhì)量.
然而,本文模型在處理過多、過復雜的篇章上下文信息時,存在著處理能力不足、識別能力下降、無法讓模型利用更有效的上下文信息的問題.在未來的研究中,會針對模型的識別部分進行進一步改進和研究,努力完善模型,爭取達到更好的效果.