陳璽文,余正濤,高盛祥**,王振晗
(1.昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500;2.昆明理工大學(xué) 云南省人工智能重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650500)
近年來(lái),基于深度學(xué)習(xí)的自然語(yǔ)言處理研究發(fā)展迅速,神經(jīng)機(jī)器翻譯(Neural Machine Translation,NMT)模型的性能有了顯著提升,同時(shí)人們對(duì)機(jī)器翻譯的需求也傾向于新聞文本翻譯、網(wǎng)頁(yè)翻譯等比句子級(jí)別更廣泛的篇章級(jí)機(jī)器翻譯.因此,研究篇章級(jí)神經(jīng)機(jī)器翻譯有重要的實(shí)際應(yīng)用價(jià)值.
目前大多數(shù)NMT 模型只是翻譯獨(dú)立的句子,忽略了在翻譯過(guò)程中上下文線(xiàn)索中隱含的與當(dāng)前句子的聯(lián)系.篇章級(jí)神經(jīng)機(jī)器翻譯是在翻譯獨(dú)立句子的基礎(chǔ)上,加入額外的上下文信息,以此解決篇章翻譯過(guò)程中出現(xiàn)的連貫性、一致性、詞匯歧義等問(wèn)題.
目前的神經(jīng)機(jī)器翻譯通常采用端到端的編碼器-解碼器架構(gòu)方式進(jìn)行句子翻譯,例如Sutskever等[1]采用長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的編碼器-解碼器架構(gòu)進(jìn)行句子到句子的翻譯;之后Gehring 等[2]采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)和門(mén)控機(jī)制進(jìn)行句子的編碼和解碼,并在解碼階段引入了注意力機(jī)制;Vaswani 等[3]采用基于Attention 架構(gòu)的Transformer,在編碼器和解碼器中加入Attention 機(jī)制和前饋神經(jīng)網(wǎng)絡(luò),翻譯效果較之前的翻譯模型有了明顯提升;Platanios 等[4]針對(duì)當(dāng)前神經(jīng)機(jī)器翻譯模型耗時(shí)且開(kāi)銷(xiāo)大的問(wèn)題,在NMT 系統(tǒng)中引入課程學(xué)習(xí)以減少訓(xùn)練時(shí)間.這些方法在各種句子級(jí)翻譯任務(wù)上都取得了很好的翻譯效果,然而它們依舊只能關(guān)注獨(dú)立的句子,忽略了篇章級(jí)別的上下文信息.因此,一些篇章翻譯方法采用編碼后的篇章上下文句子表征提高篇章翻譯的效果,例如:在輸入的句子開(kāi)頭加入篇章標(biāo)記[5],或引入額外的編碼器表示上下文句子[6-14],或引入緩存網(wǎng)絡(luò)存取翻譯的歷史信息[15].盡管現(xiàn)有的編碼上下文句子的模型能從上下文句子中學(xué)習(xí)到上下文信息,但還是無(wú)法準(zhǔn)確翻譯兩個(gè)詞或者兩個(gè)詞以上組成的詞組.例如翻譯英文 句 子“I want to bank fishing.”,其 中 的“bank fishing”被錯(cuò)誤翻譯為“銀行釣魚(yú)”,而準(zhǔn)確的翻譯應(yīng)該是“河岸釣魚(yú)”,“bank”被錯(cuò)誤翻譯成了“銀行”,造成了詞匯歧義.
針對(duì)篇章翻譯存在的詞匯歧義,引入主題信息能夠有效改善這一現(xiàn)象.目前融合主題信息的篇章翻譯方法研究可以分為基于動(dòng)態(tài)主題建模和基于靜態(tài)主題建模.基于動(dòng)態(tài)主題建模方面,Chen 等[16]采用CNN 生成源語(yǔ)言句子的主題詞向量,再采用注意力機(jī)制整合生成最終的主題表征,引入基于Transformer 的NMT 模型中;Chang 等[17]采用隱主題 馬 爾 可 夫 模 型(Hidden Topic Markov Model,HTMM),利用訓(xùn)練集篇章中每個(gè)句子的主題,篇章表示為一系列句子主題的連貫鏈,選擇多個(gè)概率最高的短語(yǔ)組成句子,以提高翻譯的上下文相關(guān)性.基于靜態(tài)主題建模方面;Zhang 等[18]利用隱含狄利克雷分布(Latent Dirichlet Allocation, LDA)[19]主題模型學(xué)習(xí)訓(xùn)練集的主題分布,并將訓(xùn)練好的詞分布設(shè)置為固定大小的向量,與雙向RNN 的編碼器和解碼器輸出的隱狀態(tài)相拼接進(jìn)行模型訓(xùn)練;Kuang 等[20]分別緩存目標(biāo)語(yǔ)言詞和與源語(yǔ)言篇章語(yǔ)義相關(guān)的目標(biāo)語(yǔ)言的主題詞,并結(jié)合緩存的目標(biāo)詞以及NMT 模型的評(píng)分生成譯文,進(jìn)一步提高了譯文的質(zhì)量;Wang 等[21]利用詞嵌入主題模型(Embedding Topic Model,ETM)[22]對(duì)源語(yǔ)言句子進(jìn)行學(xué)習(xí)獲得主題詞嵌入,最后將主題表征分別與源語(yǔ)言詞嵌入、編碼器輸出的隱狀態(tài)以及目標(biāo)語(yǔ)言詞嵌入相加,以提高模型翻譯的準(zhǔn)確性.
針對(duì)篇章翻譯中存在的詞匯歧義問(wèn)題,目前基于多編碼器的篇章翻譯模型在解碼時(shí)僅通過(guò)注意力機(jī)制考慮有限的源語(yǔ)言上下文詞匯,使得模型翻譯時(shí)忽略了更廣的上下文詞匯之間的聯(lián)系,導(dǎo)致翻譯出現(xiàn)詞匯歧義.為了解決以上問(wèn)題,考慮到主題特征能讓模型選擇相同主題下相關(guān)的詞匯,本文基于多編碼器篇章翻譯模型[23],提出基于Bi-GRU和CNN[15]的主題表征編碼器,用該編碼器映射源語(yǔ)言句子的主題表征,并加入主題表征指導(dǎo)譯文的生成,在考慮上下文句子的同時(shí)融合主題表征,進(jìn)一步改善詞匯歧義的問(wèn)題.該方法采用Bi-GRU 以及自注意力機(jī)制捕獲句子表征,通過(guò)CNN 捕獲詞匯的主題表征,并與NMT 模型共同訓(xùn)練;訓(xùn)練時(shí)將上下文句子嵌入以及源語(yǔ)言句子嵌入分別輸入到上下文編碼器和源語(yǔ)言句子編碼器中,將兩個(gè)編碼器的輸出采用注意力機(jī)制得到最終的上下文表征,并與源語(yǔ)言句子的編碼器輸出通過(guò)門(mén)控機(jī)制輸入到解碼器中,然后將主題表征和融合后的上下文表征分別采用兩個(gè)串行的注意力機(jī)制參與解碼.本文以機(jī)器翻譯測(cè)評(píng)(Bilingual Evaluation Understanding,BLEU)值衡量機(jī)器翻譯結(jié)果與人工參考翻譯之間的相似度.實(shí)驗(yàn)結(jié)果表明,本文提出的方法相比基線(xiàn)模型以及其他機(jī)器翻譯方法BLEU 值都有明顯的提高.
為了充分利用上下文信息,改進(jìn)上下文詞匯翻譯之間不一致的問(wèn)題,本文采用基于上下文編碼器的篇章神經(jīng)機(jī)器翻譯方法融合主題信息,即主題上下文感知Transformer(Topic-Context-Aware-Transformer),以下簡(jiǎn)稱(chēng)Topic-CA.模型結(jié)構(gòu)如圖1 所示,該模型基于Context-Aware-Transformer,由一個(gè)單層上下文編碼器、一個(gè)6 層編碼器、一個(gè)上下文注意力網(wǎng)絡(luò)層、一個(gè)門(mén)控機(jī)制、一個(gè)主題編碼器以及一個(gè)6 層解碼器組成.兩個(gè)編碼器分別編碼源語(yǔ)言的上下文句子和源語(yǔ)言當(dāng)前句子,編碼器和解碼器分別采用Transformer 的編碼器和解碼器.在源語(yǔ)言端,采用源語(yǔ)言句子編碼器和詞嵌入,而上下文句子編碼器、上下文注意力網(wǎng)絡(luò)層、主題表征模塊以及門(mén)控的參數(shù)會(huì)隨著訓(xùn)練不斷更新;目標(biāo)語(yǔ)言端采用目標(biāo)語(yǔ)言句子、編碼端的輸出以及主題表征模塊提取的主題表征作為解碼器的輸入.模型主要分為以下3 個(gè)部分.
圖1 融合主題信息的篇章翻譯模型的流程圖Fig.1 The flow chart of document translation model fused with topic information
1.1 雙編碼器篇章機(jī)器翻譯模型對(duì)于給定的源語(yǔ)言篇章的k個(gè)句子序列X=x(1),x(2),···,x(k),x(k)=代表源語(yǔ)言的第k句話(huà)包含I個(gè)詞,對(duì)應(yīng)的目標(biāo)語(yǔ)言篇章的k個(gè)句子序列為Y=y(1),代表目標(biāo)語(yǔ)言的第k句話(huà)包含J個(gè)詞,因此篇章翻譯的概率表示為:
式中:M為句子數(shù),為 已翻譯出的前m-1個(gè)詞,X<k為第k句的上下文句子.篇章神經(jīng)機(jī)器翻譯模型采用Transformer 相同的詞嵌入方式,6 層編碼器和6 層解碼器.
本文的篇章機(jī)器翻譯模型引入一個(gè)1 層的上下文編碼器和上下文注意力層,將上下文句子的表征和當(dāng)前句子的表征通過(guò)一個(gè)上下文注意力層輸出得到新的表征.
為了平衡混合了上下文表征后的新的句子表征與當(dāng)前句子表征的權(quán)重,在計(jì)算混合上下文表征時(shí)加入了一個(gè)上下文門(mén)控,如下所示:
式中:gj為上下文門(mén)控的輸出,sj為當(dāng)前句子編碼器的輸出,cj是 上下文注意力層的輸出, σ為Sigmoid 函數(shù),Wg為權(quán)重參數(shù),bg為偏置參數(shù).
在解碼時(shí)采用多頭注意力機(jī)制再結(jié)合從編碼器中得到混合的上下文表征,得到解碼端的隱狀態(tài)輸出,之后將隱狀態(tài)輸出與解碼器前一次的輸入通過(guò)注意力機(jī)制層以及正則化和 Softmax后輸出,直到輸出結(jié)束標(biāo)志.
模型的訓(xùn)練階段采用兩步訓(xùn)練法:
首先訓(xùn)練一個(gè)標(biāo)準(zhǔn)的Transformer 模型的參數(shù),計(jì)算最大對(duì)數(shù)似然值為:
然后訓(xùn)練上下文編碼器模塊參數(shù),計(jì)算最大對(duì)數(shù)似然值如:
式中: θs、 θd為 初始化的Transformer 模型參數(shù)、初始化的上下文編碼器參數(shù),為訓(xùn)練后的Transformer 參數(shù)和上下文編碼器參數(shù),Ds、Dd分別為句子級(jí)別語(yǔ)料和篇章級(jí)別語(yǔ)料.
1.2 主題表征由于多編碼器的篇章翻譯模型僅局限于關(guān)注局部上下文句子信息,導(dǎo)致解碼時(shí)預(yù)測(cè)的詞匯出現(xiàn)上下文不一致的情況.因此,本文引入更廣的主題表征改善這一問(wèn)題.為了獲得源語(yǔ)言句子中詞匯的主題表征,本文采用基于Bi-GRU 和CNN 的主題表征編碼器(Topic Encoder)學(xué)習(xí)源語(yǔ)言句子的主題表征,從句子中捕獲主題信息,如圖2 所示.
圖2 主題表征流程圖Fig.2 The flow chart of topic representation
1.2.1 Bi-GRU 模型 為了獲得句子表征,首先采用Bi-GRU 模型將句子嵌入序列映射為句子表征,再采用自注意力機(jī)制對(duì)得到的表征序列進(jìn)行關(guān)注,得到句內(nèi)的相關(guān)信息.GRU 模型包括重置門(mén)和更新門(mén),令 (x1,x2,···,xI)表示輸入的句子嵌入序列,計(jì)算重置門(mén)以及更新門(mén)的信號(hào),接著計(jì)算候選隱狀態(tài),如:
式中:xt為t時(shí)刻的輸入,為模型t-1時(shí)刻的輸出, F 為 正 向 傳 播,Wxr、Whr、Wxz、Whz、Whx、Whz為 權(quán)重,br、bz、bh為偏置.
再更新t時(shí)刻前向傳播的隱狀態(tài):
B 表示反向傳播,將反向傳播得到的隱狀態(tài)與前向傳播的輸出進(jìn)行相加得到最終的隱狀態(tài):
最后將該隱狀態(tài)向量通過(guò)自注意力機(jī)制輸出后作為CNN 模型的輸入.
1.2.2 CNN 模型 為了將句子表征映射為主題表征,采用CNN 學(xué)習(xí)主題表征,如圖3 所示.基于CNN 的主題表征模塊包括4 層,分別為輸入層、卷積層、多類(lèi)池化層以及輸出層.
圖3 卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)主題表征的過(guò)程Fig.3 The process of CNN learning topic representation
(1) 輸入層(Input Layer) 令xi∈RK表示在一個(gè)句子中的第i個(gè)K維的向量,因此長(zhǎng)度為I的句子可表示為K×I的矩陣向量,之后設(shè)置一個(gè)最大長(zhǎng)度L,對(duì)小于最大長(zhǎng)度的部分進(jìn)行補(bǔ)0,令K×I矩陣向量表示為U作為輸入層的輸出.
(2) 卷積層(Convolution Layer) 用卷積層學(xué)習(xí)每個(gè)特征值時(shí)考慮所有單詞的部分信息,讓最終的主題表征依賴(lài)于句子級(jí)別的上下文而不是局部的詞級(jí)別上下文.卷積層包含 2R個(gè)卷積核,每個(gè)卷積核的權(quán)重為Wr∈RtK(1 ≤r≤2R),窗口大小為t,每個(gè)卷積核計(jì)算t個(gè)連續(xù)的矩陣向量U的行的特征Ukr:
式中:br為偏置,Uk:k+t-1為句子中所有詞矩陣的第k維到第k+t-1維.將每個(gè)卷積核應(yīng)用于矩陣向量U的所有窗口,生成特征向量Ur={U1r,U2r,···,Ukr}∈RK, 2R個(gè) 卷積核遍歷U后生成特征映射 C,如:
卷積層的每個(gè)卷積核都在所有詞向量的行上計(jì)算,從所有詞的特定向量空間學(xué)習(xí)特征值.
(3) 多類(lèi)池化層(Multi-Type-Pooling Layer) 為 了更好地編碼句子中的詞以及主題信息,采用2 種池化方式分別為Max-Pooling 和Average-Pooling.
Max-Pooling:在輸入的特征矩陣的2 個(gè)連續(xù)行上取最大值:
Average-Pooling:對(duì)特征矩陣每列取平均值進(jìn)行平均池化:
將兩者進(jìn)行拼接,該層的輸出表示為:
(4) 輸出層(Output Layer) 將G通 過(guò)tanh函數(shù)計(jì)算后得到最終的主題表征T,如:
式中:Ts表示一個(gè)主題.
1.3 主題信息融入為了將主題信息與解碼器融合,與NMT 模型聯(lián)合訓(xùn)練,學(xué)習(xí)主題表征以及翻譯.首先將CNN 作為額外的編碼器從源語(yǔ)言句子中捕獲主題表征.其次是采用一個(gè)額外的多頭注意力層學(xué)習(xí)基于前一層解碼器的目標(biāo)端語(yǔ)言查詢(xún)的主題上下文表示:
式中:Attention 為注意力機(jī)制,Qt為前一層解碼器的輸出,由主題表征模塊從源句子中學(xué)習(xí)的主題特征T作為K、V,WiQ、WiK、WiV為模型權(quán)重參數(shù).然后將該注意力層的輸出作為下一個(gè)串行的注意力層的Q,編碼器的輸出作為K、V,如圖4 所示.
圖4 串聯(lián)注意力層的流程圖Fig.4 The flow chart of attention mechanism layers
模型參數(shù)的更新公式可變?yōu)椋?/p>
式中: θt為初始化的注意力機(jī)制以及主題表征編碼器參數(shù),為訓(xùn)練后的注意力機(jī)制和主題表征編碼器參數(shù).
2.1 數(shù)據(jù)集本文實(shí)驗(yàn)的漢-英數(shù)據(jù)采用IWLST的TED2017 演講數(shù)據(jù)集,其中包含2 549 個(gè)篇章,大約23 萬(wàn)句對(duì)作為訓(xùn)練集,以及879 和1 557 個(gè)平行句對(duì)分別作為驗(yàn)證集和測(cè)試集;英-法數(shù)據(jù)采用IWLST 的TED2017 演講數(shù)據(jù)集,其中包含2 557個(gè)篇章,大約25 萬(wàn)句對(duì)作為訓(xùn)練集,以及890 和1 210 個(gè)平行句對(duì)分別作為驗(yàn)證集和測(cè)試集;英-德數(shù)據(jù)采用IWLST 的TED2017 演講數(shù)據(jù)集,其中包含2 539 個(gè)篇章,大約20 萬(wàn)句對(duì)作為訓(xùn)練集,以及888 和993 個(gè)平行句對(duì)分別作為驗(yàn)證集和測(cè)試集;與其他融合主題模型的對(duì)比實(shí)驗(yàn)采用WMT14 數(shù)據(jù)集的英-德數(shù)據(jù),其中包含16 730 個(gè)篇章,大約4.5 M(M 表示百萬(wàn))個(gè)句對(duì)作為訓(xùn)練集,驗(yàn)證集和測(cè)試集分別由3 003 和3 000 個(gè)平行句對(duì)組成.實(shí)驗(yàn)數(shù)據(jù)如表1 所示.在實(shí)驗(yàn)數(shù)據(jù)預(yù)處理中,首先利用JIEBA(https://github.com/jieba)中文分詞工具對(duì)漢語(yǔ)進(jìn)行分詞,同時(shí)去除特殊符號(hào),然后使用MOSES 對(duì)全部訓(xùn)練數(shù)據(jù)進(jìn)行tokenization(標(biāo)記化).
表1 融合主題信息的篇章神經(jīng)機(jī)器翻譯數(shù)據(jù)表Tab.1 Dataset of document neural machine translation fusion topic
另外,針對(duì)篇章語(yǔ)料存在不對(duì)齊的問(wèn)題,本文使用文本對(duì)齊算法Vecalign[22]對(duì)篇章可比語(yǔ)料進(jìn)行對(duì)齊.該算法利用基于歸一化余弦距離的多語(yǔ)言句子嵌入評(píng)分函數(shù)對(duì)一對(duì)一、一對(duì)多或多對(duì)多的雙語(yǔ)句對(duì)進(jìn)行打分,然后用動(dòng)態(tài)規(guī)劃近似方法根據(jù)評(píng)分生成對(duì)齊的句對(duì).
2.2 實(shí)驗(yàn)設(shè)置本文采用單張Teasla 4 GPU 進(jìn)行實(shí)驗(yàn).實(shí)驗(yàn)使用基于Fairseq 深度學(xué)習(xí)框架實(shí)現(xiàn)的Transformer 和Context-Aware-Transformer 模 型 為基準(zhǔn)系統(tǒng),基準(zhǔn)系統(tǒng)采用BPE 詞表,詞表為32 KB.預(yù)訓(xùn)練的Transformer 模型和Context-Aware-Transformer 模型參數(shù)使用Adam 優(yōu)化器進(jìn)行優(yōu)化,優(yōu)化器參數(shù) β1為 0.9, β2為0.997,max token 為8 192,學(xué)習(xí)率為0.000 1;源語(yǔ)言端和目標(biāo)語(yǔ)言端的詞嵌入維度設(shè)為512,編碼器層數(shù)為6,dropout 率為0.3.CNN、LSTM 和GRU 模型參數(shù)使用Adam 優(yōu)化器進(jìn)行優(yōu)化,優(yōu)化器參數(shù) β1為 0.9, β2為0.997,批次為8 192,學(xué)習(xí)率為0.007;源語(yǔ)言和目標(biāo)語(yǔ)言詞嵌入設(shè)為1 024,dropout 率為0.3.Topic-Context-Aware-Transformer 模型參數(shù)使用Adam 優(yōu)化器進(jìn)行優(yōu)化,優(yōu)化器參數(shù) β1為 0.9, β2為0.997,max token 為8 192,學(xué)習(xí)率為0.000 1;源語(yǔ)言和目標(biāo)語(yǔ)言詞嵌入維度設(shè)為512,編碼器層數(shù)為6,dropout 率為0.3.測(cè)試時(shí)使用集束搜索(Beam Search)進(jìn)行解碼,beam size設(shè)為5.
實(shí)驗(yàn)所使用的主題編碼器的卷積核的in_channel 設(shè)置為512 和out_channel 設(shè)置為1 024,句子長(zhǎng)度固定為50,窗口為4.本文訓(xùn)練的主題數(shù)目設(shè)置為70~80 個(gè).
實(shí)驗(yàn)使用multi-bleu.perl(https://github.com/mos es-smt/mosesdecoder)腳本計(jì)算BLEU 值作為評(píng)價(jià)指標(biāo),同時(shí)將準(zhǔn)確率(Accuracy)作為主題模型文本分類(lèi)的評(píng)價(jià)指標(biāo).
本章采用的評(píng)價(jià)指標(biāo)BLEU 值具體計(jì)算過(guò)程如下:
式中:pn表示文本塊的修正后的準(zhǔn)確分?jǐn)?shù),si,j為第i句翻譯譯文對(duì)應(yīng)的第j句參考譯文,K為翻譯譯文的詞組個(gè)數(shù),M為參考句子數(shù),E為翻譯句子數(shù),nk(ci)為第k個(gè)詞組在翻譯譯文cj中出現(xiàn)的次數(shù),nk(si,j)為第k個(gè)詞組在第i句翻譯譯文對(duì)應(yīng)的第j句參考譯文中同時(shí)出現(xiàn)的次數(shù),min 函數(shù)為求最小次數(shù),B為BLEU 值,BLEU 值在最后的評(píng)分結(jié)果中引入了長(zhǎng)度懲罰因子(P),c是機(jī)器翻譯語(yǔ)句長(zhǎng)度,r是參考翻譯語(yǔ)句長(zhǎng)度,wn=1/N,N表示最大語(yǔ)法階數(shù),文中取4.
2.3 基線(xiàn)系統(tǒng)本文采用10 個(gè)基線(xiàn)系統(tǒng)進(jìn)行對(duì)比實(shí)驗(yàn).
(1) LSTM[1]該模型采用一個(gè)多層的長(zhǎng)短期記憶網(wǎng)絡(luò)對(duì)輸入句子進(jìn)行編碼,再使用另一個(gè)多層的長(zhǎng)短期記憶網(wǎng)絡(luò)進(jìn)行解碼.
(2) ConvS2S[2]該模型基于CNN 并引入Attention 機(jī)制進(jìn)行編碼和解碼,可并行處理大量文本序列.
(3) Transformer[3]該模型使用基于Attention的編碼器堆以及解碼器堆來(lái)編碼和解碼孤立的句子.
(4) Outside-Context-Aware-Transformer(Outside-CA)[23]該模型改進(jìn)Transformer 編碼層,使用一個(gè)額外的上下文編碼器對(duì)當(dāng)前句子的前一句話(huà)進(jìn)行編碼獲得上下文表征,并采用一個(gè)門(mén)控機(jī)制將上下文表征與當(dāng)前句子編碼后的表征進(jìn)行融合.
(5) Inside-Context-Aware-Transformer(Inside-CA)[23]該模型改進(jìn)Transformer 的解碼層,首先采用編碼器編碼當(dāng)前句子的前一句話(huà)進(jìn)行編碼得到上下文表征;之后在解碼層分別將上下文表征和當(dāng)前句子表征通過(guò)注意力層與當(dāng)前解碼的句子進(jìn)行結(jié)合,得到混合后的表征;最后通過(guò)一個(gè)門(mén)控機(jī)制將上下文表征與當(dāng)前句子的表征進(jìn)行融合并輸出.
(6) TiNMT[18]該模型首先使用LDA 學(xué)習(xí)單詞的主題分布;然后將這些主題分布視為一個(gè)向量,以擴(kuò)展相應(yīng)的詞向量或隱藏狀態(tài);最后將該方法應(yīng)用于基于RNN 的NMT 的編碼器和解碼器中.
(7) BLT-NMT[24]該模型在基于GRU 的編碼器和解碼器以及注意力機(jī)制中使用雙語(yǔ)主題模型,以便在翻譯過(guò)程中生成準(zhǔn)確的目標(biāo)詞.
(8) Transformer+BLT[24]該模型將每個(gè)源語(yǔ)言或目標(biāo)語(yǔ)言單詞的詞嵌入和基于雙語(yǔ)LDA 的主題嵌入連接起來(lái),然后將詞嵌入輸入標(biāo)準(zhǔn)Transformer 模型.
(9) Transformer+ETR[16]采用詞頻逆篇章頻率(Term Frequency-Inverse Document Frequency,TF-IDF)將源語(yǔ)言句子表示為主題表征,之后輸入到Transformer 解碼層約束解碼.
(10) Transformer+LTR[16]基于Transformer模型,將CNN 作為額外的編碼器,從輸入的源語(yǔ)言句子中學(xué)習(xí)主題表征,之后在解碼層采用一個(gè)額外的多頭注意層來(lái)關(guān)注主題表征,再將輸出的損失與原先解碼器的輸出進(jìn)行加權(quán).
本文采用的對(duì)比主題模型為:
(1) LDA[19]一種廣泛使用的主題模型,采用隱含狄利克雷分布,它可以將文檔集中每篇文檔的主題按照概率分布的形式給出.
(2) GPU-DMM[25]基于詞嵌入以及狄利克雷多項(xiàng)式混合模型的語(yǔ)義強(qiáng)化主題模型.
(3) NTM[26]基于神經(jīng)網(wǎng)絡(luò)的主題模型Ngram 進(jìn)行文本表示,本文中采用Bi-gram 形式表示篇章主題.
2.4 實(shí)驗(yàn)結(jié)果及分析為了驗(yàn)證本文方法的有效性,設(shè)計(jì)了5 組實(shí)驗(yàn),并通過(guò)計(jì)算生成譯文的BLEU 值進(jìn)行評(píng)價(jià).
2.4.1 實(shí)驗(yàn)1:不同方法融合主題的機(jī)器翻譯實(shí)驗(yàn) 實(shí)驗(yàn)使用表1 的WMT14 英-德的平行語(yǔ)料數(shù)據(jù)集,以及IWLST 的TED2017 演講數(shù)據(jù)集的中-英和英-法平行語(yǔ)料.基線(xiàn)系統(tǒng)選擇TiNMT、BLTNMT、Transformer(base)、Transformer+BTL、Transformer+ETR、Transformer+LTR.
實(shí)驗(yàn)結(jié)果如表2 所示,Topic-CA 模型比表現(xiàn)最好的Transformer+LTR 模型在英-德,漢-英數(shù)據(jù)集上的BLEU 值分別提高了0.44、0.54 個(gè)百分點(diǎn),主要原因是基于Transformer 融合主題信息的模型只翻譯獨(dú)立的句子,未能關(guān)注到當(dāng)前句子以前的上下文信息,而基于上下文編碼器Transformer 的Topic-CA 能夠用額外的編碼器將主題信息和當(dāng)前句子之前的上下文信息有效融合到模型訓(xùn)練過(guò)程,讓模型獲得更多有用的上下文信息,從而提高模型翻譯質(zhì)量.
表2 不同方法融合主題的機(jī)器翻譯實(shí)驗(yàn)結(jié)果對(duì)比Tab.2 Comparison of machine translation experiments results for fusing topic with different methods
2.4.2 實(shí)驗(yàn)2:不同方法的機(jī)器翻譯實(shí)驗(yàn) 在漢-英,英-法,英-德3 對(duì)平行語(yǔ)料上進(jìn)行漢-英,英-漢,英-法,法-英,英-德以及德-英6 項(xiàng)翻譯任務(wù).不同方法的機(jī)器翻譯實(shí)驗(yàn)結(jié)果如表3 所示.Topic-CA 模型比表現(xiàn)最好的基線(xiàn)模型在漢-英翻譯任務(wù)上BLEU 值提高了0.55 個(gè)百分點(diǎn),在英-漢翻譯任務(wù)上BLEU 值提高了0.49 個(gè)百分點(diǎn),在英-法翻譯任務(wù)上BLEU 值提高了0.54 個(gè)百分點(diǎn),在法-英翻譯任務(wù)上BLEU 值提高了0.47 個(gè)百分點(diǎn),在英-德翻譯任務(wù)上BLEU 值提高了0.47 個(gè)百分點(diǎn),在德-英翻譯任務(wù)上BLEU 值提高了0.46 個(gè)百分點(diǎn).實(shí)驗(yàn)結(jié)果說(shuō)明主題編碼器學(xué)習(xí)的主題信息對(duì)篇章翻譯模型的翻譯效果提高有明顯作用.
表3 不同方法的機(jī)器翻譯實(shí)驗(yàn)結(jié)果對(duì)比Tab.3 Comparison of machine translation experiments results with different methods
由于LSTM、ConvS2S 和Transformer 模型均是翻譯獨(dú)立的句子,沒(méi)有關(guān)注到句子的上下文信息,而本文方法融合上下文句子表征以及主題表征,有豐富的上下文信息指導(dǎo)模型翻譯,所以BLEU 值提升很高.對(duì)于CA 模型,本文方法在有上下文句子編碼器的基礎(chǔ)上加入主題表征,因?yàn)橹黝}表征中包含更多主題相近詞匯之間的信息,融合更廣范圍的上下文信息,使得解碼器生成的譯文更符合上下文語(yǔ)境和篇章主題,提高了模型性能,所以相較于只有上下文句子編碼器的CA 模型,本文的BLEU 值更高.
2.4.3 實(shí)驗(yàn)3:不同主題數(shù)目對(duì)BLEU 值的影響 將測(cè)試集的主題數(shù)目設(shè)置為{3,5,10,15,20,25,30,40,60,80,100},對(duì)比主題數(shù)目提高后的生成的主題表征對(duì)本文模型翻譯的BLEU 值的影響,使用IWLST 漢-英數(shù)據(jù)集進(jìn)行實(shí)驗(yàn).如圖5 所示,隨著主題數(shù)目的提高,BLEU 值也在逐漸提高,主題數(shù)目為5 時(shí),BLEU 值為14.79%,為最高值.但是在主題數(shù)目超過(guò)5 之后,BLEU 值總體趨勢(shì)是先下降然后回升,最后趨于14.61%,說(shuō)明在設(shè)置合適的主題詞數(shù)目時(shí),模型訓(xùn)練得到的主題表征包含更多相近主題詞的信息,有助于上下文編碼器編碼更有效的上下文信息,對(duì)模型的翻譯質(zhì)量有一定的改善作用.同時(shí)也表明過(guò)度增加主題數(shù)目會(huì)使主題模型學(xué)習(xí)的主題表征缺少聯(lián)系,模型的翻譯質(zhì)量沒(méi)有明顯提升.
圖5 不同主題數(shù)目BLEU 值的變化Fig.5 The results in BLEU values for different topic numbers
2.4.4 實(shí)驗(yàn)4:主題表征模塊的機(jī)器翻譯實(shí)驗(yàn) 分別選擇Bi-GRU、CNN、Bi-GRU-Attention、CNNAttention、Bi-GRU-CNN 以及本文方法Bi-GRUAttention-CNN 進(jìn)行主題表征,對(duì)比其對(duì)機(jī)器翻譯BLEU 值的影響.實(shí)驗(yàn)使用漢-英數(shù)據(jù)集進(jìn)行模型的訓(xùn)練和測(cè)試,主題數(shù)目設(shè)置為70 個(gè),測(cè)試主題數(shù)目設(shè)置為5.如表4 所示,其中“+”表示在CA 基礎(chǔ)上增加其他方法,可以看出CNN 生成的主題表征對(duì)機(jī)器翻譯模型的BLEU 值提升高于Bi-GRU,說(shuō)明CNN 的主題表征能力優(yōu)于Bi-GRU;同時(shí)加入額外的Attention 機(jī)制后,BLEU 值均有所改善,說(shuō)明Attention 能捕捉到主題詞匯之間的信息,進(jìn)一步提高模型的翻譯效果.本文提出的主題表征方法在BLEU 值上的提升最高,說(shuō)明GRU、Attention 以及CNN 串行時(shí)所生成的主題表征對(duì)模型翻譯的幫助最大.
表4 主題表征的性能結(jié)果對(duì)比Tab.4 Performance comparison for topic representation results
2.4.5 實(shí)驗(yàn)5:不同主題表征方法的對(duì)比實(shí)驗(yàn) 使用文本分類(lèi)任務(wù)準(zhǔn)確率(Accuracy)代表抽取主題信息性能的優(yōu)劣,實(shí)驗(yàn)采用IWLST 的TED2017 演講數(shù)據(jù)集中的漢語(yǔ)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)將測(cè)試集的主題數(shù)目K設(shè)置為{40,60,80,100}.
如表5 所示,本文方法在主題數(shù)目為80 時(shí)的文本分類(lèi)的準(zhǔn)確率為82.84%,此時(shí)的準(zhǔn)確率最高,并且比基線(xiàn)方法中最高的GPU-DMM 方法高4.94個(gè)百分點(diǎn).由此可以看出,在文本分類(lèi)任務(wù)上,本文方法能夠在文本主題的識(shí)別和歸類(lèi)的準(zhǔn)確度上取得更好的效果,從而生成更準(zhǔn)確的主題表征.
表5 不同主題表征方法的文本分類(lèi)結(jié)果Tab.5 Document classification accuracy of different topic representation methods
2.5 譯文示例分析以漢-英方向的翻譯模型翻譯結(jié)果為例,分析融合源語(yǔ)言端的主題信息對(duì)模型生成譯文的影響,生成譯文如表6 所示.在漢-英、英-德的示例中,Outside-CA 模型翻譯成“stock trade”,而本文方法能夠正確翻譯該詞組,可能是因?yàn)橹黝}表征關(guān)注到的源語(yǔ)言的潛在主題例如“做交易”、“股票”等,因此能夠正確翻譯.在例句2 中,Outside-CA 模 型 將“international”翻 譯 成 了“internationalen”,而本文的方法翻譯成了internationaler,可以看出其意思與譯文的“internationational”更加相似,它們的潛在主題可能與對(duì)應(yīng)的{internation,outside}相關(guān).因此可以看出本文采用主題表征的方式,能夠使翻譯模型學(xué)習(xí)到主題相關(guān)的詞的信息,對(duì)生成譯文的名詞詞匯有一定約束作用,有助于翻譯模型預(yù)測(cè)目標(biāo)詞.本文方法雖然在翻譯上較譯文有所不足,但是在翻譯質(zhì)量上相較于基線(xiàn)模型有較大的提升.
本文針對(duì)篇章神經(jīng)機(jī)器翻譯的詞匯消歧問(wèn)題,提出了融合主題知識(shí)信息的篇章神經(jīng)機(jī)器翻譯方法.該方法在基于上下文句子編碼器的NMT 模型中使用基于Bi-GRU 和CNN 的主題模型對(duì)源語(yǔ)言句子動(dòng)態(tài)建模句子的主題表征,同時(shí)將上下文編碼器的輸出和源語(yǔ)言句子編碼器的輸出通過(guò)注意力機(jī)制得到上下文句子的表征,采用門(mén)控機(jī)制將上下文表征與源編碼器輸出進(jìn)行加權(quán),得到融合上下文信息的編碼端的輸出,將上下文編碼器的輸出以及主題表征輸入解碼器參與模型解碼.本文在漢-英、英-法、英-德等6 對(duì)平行語(yǔ)料上進(jìn)行了實(shí)驗(yàn),同時(shí)又對(duì)比了不同主題數(shù)目對(duì)實(shí)驗(yàn)結(jié)果的影響.結(jié)果表明,融入源語(yǔ)言篇章主題信息能有效提高篇章級(jí)神經(jīng)機(jī)器翻譯模型的性能,但僅僅局限于在編碼端融入主題信息.在未來(lái)的工作中,可以探索在解碼端融入主題信息,進(jìn)一步提高篇章神經(jīng)機(jī)器翻譯模型的性能以及改善翻譯的詞匯歧義問(wèn)題.