肖妮妮,金 暢,段湘煜
(蘇州大學計算機科學與技術學院自然語言處理實驗室,江蘇 蘇州 215006)
近年來,隨著神經機器翻譯NMT(Neural Machine Translation)[1-3]的出現,機器翻譯的質量得到了進一步的提升,甚至在一些特定領域,機器翻譯幾乎達到了人類翻譯相當的水平,這得益于神經機器翻譯基于編碼器-解碼器框架的深度神經網絡設計和注意力(Attention)[4]機制。相比于傳統的統計機器翻譯SMT(Statistical Machine Translation)[5-9]系統,這樣的框架有許多吸引人的特性,例如較少的人工特征和先驗領域知識的需求。但是,盡管神經機器翻譯在過去的幾年中取得了飛速的發展和進步,大多數神經機器翻譯系統仍然存在一個共同的缺點:其性能嚴重依賴高質量的內領域數據。然而,即使在互聯網高度發達的今天,在絕大多數的領域中,通常也難以找到高質量、大規模、覆蓋率廣的平行語料庫,這導致神經機器翻譯模型在低資源語言和特定領域上的翻譯效果與大眾對機器翻譯的期望仍然相差甚遠。
在所有領域中收集大量平行數據是很昂貴的,并且在許多情況下是不可能的。因此,有必要探索有效的方法來訓練能夠較好地推廣到新領域的模型。為了有效地克服神經機器翻譯中的數據稀疏和領域多樣性問題,研究人員也探索了很多不同的解決方案。Chu等[10]指出,機器翻譯中領域適應主要有2類方法:以數據為中心(Data Centric)和以模型為中心(Model Centric)。以模型為中心的方法對模型架構進行顯式的改變,例如Britz等[11]提出了聯合學習領域辨別和翻譯2個任務、Kobus等[12]提出了通過添加標簽和單詞特征進行領域控制等方法來提高模型領域適應的能力。但是在許多實際情況下,研究人員是不知道待使用數據的來源或背景的,很多文本沒有天然的領域標簽,而且一個句子可能被合理地認為屬于多個領域,因此基于領域區分的方法存在局限性。以數據為中心的方法主要是使用內領域和外領域平行數據相結合的方法進行有監督領域適應[13,14],或者利用內領域單語數據生成偽平行語料進行無監督學習[15,16]。其中最具有代表性的策略是使用反向翻譯[15]創建內領域目標語句的偽平行語料。然而,盡管反向翻譯方法使用廣泛且有效,其成功的關鍵在于偽平行數據的質量,但是它不針對領域或語言提供額外的輔助信息,跨領域的翻譯中不可避免地包含大量噪聲和錯誤,這些將會在迭代反向翻譯的過程中被不斷積累和放大,從而影響到神經機器翻譯模型的訓練。
針對這些問題,本文分別從以數據為中心和以模型為中心2個角度提出2種簡單有效的優化策略。(1)以模型為中心,本文提出了更加合理的預訓練策略,通過加入一個神經網絡輔助模型學習外領域數據更為通用的文本表示,提高模型的通用性和泛化性,縮小不同領域語言間的差異,使得在翻譯內領域句子時譯文質量更高,從而在跨領域的差異問題上表現更好。(2)以數據為中心,本文通過擴展反向翻譯方法,提出了一種融合情感信息作為數據篩選后驗的方法,來提高目標領域單語數據反向翻譯譯文的準確性,緩解偽數據中的噪聲問題,進一步提升了翻譯質量。
目前,有很多關于有監督領域適應的相關研究,其中的數據設置大多是有大量的外領域平行數據和很少量的內領域平行數據。Luong等[13]提出在外領域語料庫上訓練模型,并用小規模內領域平行數據進行微調(Fine-Tuning),以此縮小領域間的差異。Britz等[11]沒有直接將外領域數據和內領域數據進行混合,而是通過聯合學習區分域任務和翻譯任務,以此來規避跨領域問題。Joty等[17,18]通過在外領域平行語料中選擇出與內領域語句更接近的語句,并給予更高的權重,來解決領域適應問題。本文提出的方法主要解決完全沒有內領域平行語句的領域適應問題,這是一個嚴格的無監督設置。
無監督機器翻譯領域適應也可以分為以數據為中心和以模型為中心2類方法。在先前的工作中,以數據為中心的策略吸引了眾多研究人員的關注,并取得了頗豐的成效。早期以數據為中心的研究有Schwenk等[19,20]使用SMT系統翻譯源語言單語句子,并使用合成的偽平行數據繼續訓練翻譯系統。近年來最具有代表性且使用廣泛的方法莫過于反向翻譯[15]和基于復制的方法[16]。在領域適應中,反向翻譯是使用外領域的平行數據訓練基礎的目標語言到源語言的反向翻譯系統;然后使用該系統對目標端的單語數據進行翻譯,以此構建偽平行數據?;趶椭频姆椒ㄊ怯蒀urrey等[16]提出的,其主要思想是將目標端內領域的單語語料復制一份作為源端數據,與其構成偽平行數據。然而,這些方法都沒有考慮語言的特性,在跨領域翻譯時偽平行語料的質量堪憂,導致使用偽平行句對微調后的模型的翻譯結果仍差強人意。
以模型為中心的方法側重于對 NMT 模型架構特征進行改進,目前較主流的方向是將語言模型等多任務學習集成到 NMT 模型中。Gulcehre等[21]提出融合語言模型 LM(Language Modeling)和NMT模型,但該方法在推理過程中需要查詢2個模型,效率低且已被證明其效果不如以數據為中心的方法。Dou等[22]提出了基于領域感知特征嵌入的無監督領域適應方法,通過將特定領域的特征嵌入到神經機器翻譯編碼端的每一層中,并結合語言模型進行多任務學習來訓練特定領域的特征。這些方法通常需要消耗較多的計算資源和訓練時間,參數龐多而冗余。
本文結合模型和數據2個方面,致力于更好地處理NMT無監督適應任務。具體而言,為了使模型更好地進行領域自適應,本文設計了一種新型聯合訓練框架,提出了更加合理的預訓練策略,通過加入一個輔助的特征學習網絡,學習外領域中更通用的文本抽象信息;同時引入KL(Kullback-Leibler)正則項,使模型的穩定性和魯棒性得到增強,以更好地適應跨領域間的差異問題。同時,結合語句的情感特征進行后驗篩選,利用情感信息對偽訓練數據進行降噪,幫助訓練神經機器翻譯模型,使模型在目標領域的翻譯性能得以優化。本文方法充分利用了外領域的平行數據和目標領域的單語數據,且提出的基于數據的方法不依賴于具體的模型架構,這使得本文提出的2種改進策略是正交的,可以相互結合進一步提高翻譯的效果。
Transformer模型架構是由Vaswani等[4]首先提出的,屬于編碼器-解碼器結構,完全基于注意力機制進行序列建模。它是機器翻譯中最成功且典型的NMT系統之一,同時具有代表性和一般性。
Transformer的編碼器端和解碼器端分別是由N層(N默認為6)相同的網絡層組成。編碼器端的每一層都包含2個子層:多頭自注意力層和全連接的前饋網絡層,對每一個子層的輸出都進行殘差連接(Residual Connection)[23],然后是層正則化(Layer Normalization)[24]處理。因此,每一個子層的輸出可以表達為layernorm(x+sublayer(x)),其中,layernorm(*)表示層正則化函數的輸出,sublayer(x)表示子層的輸出,x表示當前子層輸入的隱藏層狀態。相同地,解碼器也堆疊N層相同的網絡層,同樣包含自注意力子層、前饋網絡、殘差連接及層正則化模塊,此外解碼器又引入編碼-解碼注意力,該子層用于對編碼器最后一層的輸出進行注意力權重計算。
Transformer模型采用的注意力機制為多頭注意力機制,即是將所有查詢(Query)構成的矩陣Q、所有鍵值(Key)構成的矩陣K和所有值(Values)構成的矩陣V按照嵌入維度切分為h個注意力頭(h默認為8),分別計算每個頭的注意力結果,計算公式如式(1)和式(2)所示。最后把每一個注意力頭產生的輸出再進行拼接,計算公式如式(3)所示,通過多頭注意力機制可以獲得多個視角空間的不同表征信息。
(1)
(2)
MultiHead=Concat(head1,…,headh)Wo
(3)

Transformer中使用 Adam[25]作為優化器,使用添加平滑標簽的交叉熵[26]作為損失函數,通過最小化損失函數,使得模型的輸出概率分布更接近于真實值。
由于各個領域的表達風格和語言特點有差異,如何讓神經網絡翻譯模型在領域間更好地自適應是一個關鍵問題。無監督領域適應方法通過使用目標領域的單語數據構建偽平行語料訓練模型,該方法因具有較少的局限性而得到廣泛應用,但偽數據質量較差,導致實際學習到的模型效果仍不理想。本文在Transformer的基礎上,添加一個神經網絡獲取語言中更豐富的表征信息,并引入KL散度正則項增強信息的一致性,使得模型的魯棒性得到提升,同時提高內領域翻譯的準確性。隨后使用情感信息作為數據后驗篩選,進一步提高偽平行語料的質量,改善模型的翻譯效果。
本文在Transformer基礎上加入了一個新的網絡模塊,對基礎模型中源端和目標端的網絡隱藏狀態采用加入的特征學習網絡進一步提取文本特征,學習到更為通用的抽象信息,在模型學習其他基礎文本信息的同時與之相結合,提高模型的泛化能力,為模型更好地學習提供支持。
與此同時,所提取出的源端和目標端的抽象特征通過Softmax層后分別得到其概率分布,再在模型的損失函數中加入KL正則項計算,這樣可以增加源端和目標端特征概率分布的一致性,拉近雙語語義特征相似度,使得模型的魯棒性和泛化能力得以提高,從而在面對跨領域的差異問題時可以有更好的表現。改進后的模型結構如圖1所示。

Figure 1 Overall structure of the improved model
具體來說,給定源端序列X=(x1,…,xTx),Tx為源端序列長度,源端序列經過編碼器可以被編碼為H=(h1,…,hTx),hi表示源端第i個詞對應的嵌入向量。同樣地,目標端序列Y=(y1,…,yTy),Ty為目標序列長度,目標端序列經過解碼器后可以表達為Z=(z1,…,zTy),zi表示目標端第i個詞對應的嵌入向量。通過編碼后,每個隱藏狀態都包含了整句中上下文的相關信息,本文采用平均池化將每個句子的隱藏狀態轉換成一個固定長度的嵌入向量,再共享一個線性網絡層來映射此嵌入向量,得到更為抽象的特征向量,所獲取的源句和目標句的特征向量分別記作hout和zout,如式(4)和式(5)所示:
(4)
(5)
其中,W、b是所添加的特征學習網絡的參數,在訓練過程中不斷學習優化。
在引入KL散度計算后,模型的訓練目標表達如式(6)所示:
(6)
其中,第1項是標準的訓練雙語數據的目標函數,第2項是本文引入的提升模型魯棒性的正則項,θ是模型中的所有參數。具體計算公式如式(7)~式(9)所示:
lossKL=KL(S(x)‖T(y))=
EX~S(x),Y~T(y)(logS(x)-logT(y))
(7)
S(x)=softmax(hout)
(8)
T(y)=softmax(zout)
(9)
其中,S(x)是源端經過特征提取的概率分布,T(y)代表目標端的概率分布,hout是表征源句的特征隱藏狀態向量,zout是代表目標句的特征隱藏狀態向量。計算二者的KL散度的意義就是希望源端的分布可以向理想的目標端靠攏,最終通過并行融合的方式提升模型的訓練效果,增強模型的穩定性和泛化力。
語言通常同時帶有2種不同類型的信息:顯性的語義信息和副隱性的情緒信息?;ATransformer模型缺少對語言情感表征的挖掘,而關注語言中的情感信息可以為模型更好地學習提供支持。在現有的基礎模型中,有很多翻譯的結果與源句意思大相徑庭,這樣的翻譯必然是難以接受的。產生此現象的一大原因是句子的情感傾向相差甚遠,如表1所示。

Table 1 Example of translation
受此啟發,本文使用情感信息作為數據后驗篩選,以提高回譯數據的質量,進一步改善翻譯效果。具體來說,本文使用情感分析對偽平行的源句和目標句進行情感傾向打分,當源句與目標句的情感傾向差距較大時認為是翻譯質量差的語句,從而不使用該句進行訓練,避免錯誤在訓練過程中被不斷積累和放大,緩解偽數據中的噪聲問題。

算法1針對無監督神經機器翻譯的領域適應算法

輸出:神經機器翻譯的參數模型Mx→y,My→x。
步驟1procedure 預訓練
步驟2分別用隨機參數θx→y和θy→x初始化翻譯模型Mx→y和My→x;

步驟4end procedure
步驟5procedure 領域適應


步驟8用情感分類器分別對X′和Y′進行篩選;
步驟9將篩選后的Y′與外領域平行語料D進行混合來微調模型Mx→y;
步驟10將篩選后的X′與外領域平行語料D進行混合來微調模型My→x;
步驟11end procedure
基礎的源語言到目標語言和目標語言到源語言的翻譯系統使用的訓練數據集是從 LDC(Linguistic Data Consortium)里抽取的125萬句中英平行語句對,測試集是采用美國國家標準與技術研究院2002年的數據集NIST02、NIST03、NIST04、NIST05和NIST08,驗證集是NIST06。內領域單語數據選擇中英的TED2020數據,包含39.9萬個語句,本文將其劃分為包含39.3萬句的訓練集(分別當作單語使用),以及分別包含3 000句的測試集和3 000句的驗證集。對所有的中英語料,都分別進行了BPE(Byte Pair Encoding)[27]編碼處理,BPE長度為32 000次合并操作,中文詞表長度為4.2萬,英文詞表長度為3.1萬,使用“〈UNK〉”對不在詞表中的低頻詞進行替換。
基準模型采用開源代碼 Fairseq[28]實現,將模型設置為Transformer,編碼器和解碼器層數均設置為6,每層中模塊的輸出維度和詞嵌入向量的維度均設置為 512,神經元的隨機失活率dropout設置為 0.3,學習率設置為0.000 5,注意力層中多頭注意力機制的頭數設置為 8,所有的實驗均使用了標簽平滑且值為0.1,全采用Adam優化器和逆平方根學習率優化,在解碼時采用波束搜索(Beam Search)的解碼方式,搜索寬度設置為5,其他未提及的基本超參數均與文獻[4]的默認參數選項相同。所有實驗均保持相同的參數設置,所加入的KL項中超參數均默認為1,模型的訓練和測試均基于NVIDIA GeForce GTX 1080Ti GPU。關于數據后驗篩選,本文基于Stanford(https:github.com/stanfordnlp/CoreNLP)提供的情感分析工具獲取句子的情感傾向。
由于該方法涉及到源語言到目標語言和目標語言到源語言2個翻譯方向的模型,因此實驗表格將會同時報告這2個模型的實驗結果。在所有實驗中,使用BLEU作為翻譯質量的評測指標,并使用multi-bleu.perl(https://github.com/mo-ses-smt/mosesdecoder/blob/master/scripts/ge-neric/multi-bleu.perl)腳本進行評測。
5.3.1 模型改進方法結果分析
表2中列出了在新聞領域 LDC 平行數據集上基準模型和本文改進模型的實驗結果比較?!盎鶞誓P汀笔潜疚牡?節所介紹的基礎Transformer,使用LDC數據訓練得到;“加入特征學習網絡模型”是依據本文4.1節方法對基礎模型進行了改進所訓練的。對于每個測試集,中-英方向包含 4 個參考譯文,英-中方向只有 1 個參考譯文。
根據表2可知,在中-英和英-中2個方向上,翻譯質量在各個測試集上均有不同程度的提升,中-英和英-中方向的平均BLEU分數分別提升了0.62和0.51,這表明增強源端和目標端的概率分布的一致性,學習語義中更通用抽象的特征有利于提高模型的泛化能力,改善翻譯模型的性能。
5.3.2 數據后驗篩選方法結果分析
為了驗證本文提出的基于情感信息的數據后驗篩選的有效性,在實驗中與不使用情感后驗篩選的方法進行對比。反向翻譯方法已被證明是一種非常有效、穩定的數據增強策略,能夠充分開發目標語言的單語語料。本文把反向翻譯方法應用到領域適應中,并作為強基線來驗證本文改進模型的有效性。在反向翻譯的對內領域的偽平行數據和外領域的真實平行語料的拼接實驗中,混合比例遵循文獻[15]的結論,使用數據比例為1∶1的混合策略。實驗結果如表3所示。

Table 2 BLEU scores of different models on LDC dataset

Table 3 Comparsion with other models in TED field
表3中,“基準模型”是使用外領域平行語料訓練的基礎Transformer模型,直接對內領域語料進行翻譯;“反向翻譯”是Sennrich等[15]提出的利用單語語料的方法,在基礎模型上使用內領域偽平行語料進行微調,目標端是真實數據,源端是偽數據。
“基于情感后驗篩選”是本文提出的方法??梢钥闯觯褂们楦泻篁灪Y選的確可以改善翻譯模型的性能,在2個語言方向上都有一定程度的提升。相比未經過篩選的39萬對訓練數據,利用經過情感后驗篩選得到的15萬對訓練數據進行訓練的效果更好,這表明挖掘并利用語句的情感信息能夠有效地去除偽數據中質量過差的翻譯,從而降低噪聲,幫助模型更好地訓練。
5.3.3 綜合策略實驗結果分析
最后綜合本文提出的以模型為中心和以數據為中心這2個方面的方法,與基礎模型和其他模型進行實驗對比,結果如表4所示?!盎鶞暑A訓練模型”即表3中的基準模型;“加入特征網絡預訓練模型”是使用本文提出的以模型為中心方法所改進訓練的模型,也即表2 中加入特征網絡學習的模型;“加入特征網絡預訓練+反向翻譯”是在本文改進的模型基礎上使用基礎反向翻譯的方法;“加入特征網絡預訓練+情感篩選”是按照算法1,將本文以模型為中心和以數據為中心的方法融合在一起。

Table 4 BLEU scores of different models in TED field
從表4中可以看出,加入了特征學習網絡的預訓練模型在中-英方向比基礎模型的BLEU分數提高了1.32,在此基礎上使用反向翻譯的方法也比在基礎模型上反向翻譯的BLEU值提升了1.06。在模型改進的基礎上,結合情感后驗篩選,使模型不僅在預訓練階段獲得了更好的泛化能力,同時在反向翻譯中的偽數據質量也得到了進一步改善。
結合表3和表4可以看出,本文方法的最終效果比基線系統在中-英和英-中上BLEU值分別提升了4.42和4.09;與強基線反向翻譯相比,BLEU值分別提升了1.25和 1.38。可見,本文方法相比于其他方法獲得了較大的提升,有效地提高了模型領域自適應能力,改善了在目標領域的翻譯性能。
為了進一步證明本文方法的有效性,從內領域測試集的翻譯結果中選擇了一些案例,比較不同訓練方法的模型所產生的翻譯結果,如表5所示。

Table 5 Cases of translation results from TED test
從表5可以看出,基礎模型對跨領域的翻譯效果欠佳,其用詞、語言風格與目標相差甚遠,并且存在錯翻、漏翻的情況。經過反向翻譯后,可以看出,相比基礎模型結果有所進步,但其效果仍不夠理想。案例中的第1句,關于“對于彼此的認知”,本文方法翻譯為“our perception of each other”,翻譯準確無誤且與參考譯文完全相符。案例中的第2句,對于基礎模型漏掉的“生存”,反向翻譯譯為“存活”且存在語序不當的問題,而本文方法可以有效地糾正這些錯誤,將“生存”準確地翻譯出來了且語義合理。這表明使用本文方法更有益于提升翻譯質量。
對于NMT任務中的領域適應任務,本文從以模型為中心和以數據為中心2個方面提出了簡單而有效的無監督領域適應方法。通過更加合理地預訓練策略來學習外領域數據更通用的文本特征表示,從而在增強模型的泛化力的同時提高了生成的偽平行數據質量,輔助后序工作更好地進行領域適應。再從數據方面,結合情感信息對數據進行后驗篩選,進一步提高反向翻譯譯文的質量。實驗結果表明,本文方法能夠有效提升模型的泛化能力,改善跨領域的翻譯質量。在未來的工作中,將進一步挖掘利用文本的情感信息和其他自然語言處理方法,探索更加復雜的聯合方式,以進一步提升翻譯模型在領域適應的效果。