黃于欣,余正濤+,相 艷,高盛祥,郭軍軍
1.昆明理工大學信息工程與自動化學院,昆明 650500
2.昆明理工大學云南省人工智能重點實驗室,昆明 650500
文本自動摘要任務旨在從給定長文本中生成簡短的摘要。目前摘要的生成主要有抽取式(extractive)和生成式(abstractive)兩種方法。前者按照一定的選擇機制,從原文中選擇與中心思想相近的句子作為文本摘要,而后者則要求計算機模擬人類概括文本摘要過程,首先閱讀原文理解其核心思想,然后逐詞生成摘要。隨著深度學習技術(shù)的發(fā)展,生成式文本摘要方法成為了當下研究的熱點。本文主要關(guān)注生成式文本摘要方法。
近年來,編解碼模型在機器翻譯[1]、文本摘要[2]、視頻字幕生成[3]、語音識別[4]等自然語言處理任務中取得了顯著的效果。其結(jié)構(gòu)包括編碼器、解碼器兩部分,編碼器按照順序讀取輸入序列,將其編碼為固定長度的上下文向量,解碼器則利用上下文向量,從預設(shè)詞表中逐詞生成簡短摘要。為了改善摘要生成質(zhì)量,通常在解碼端引入注意力機制,通過注意力機制,在不同解碼時刻獲得不同的上下文信息[5-6]。Rush等人在基于編解碼結(jié)構(gòu)的神經(jīng)機器翻譯(neural machine translation,NMT)模型基礎(chǔ)上,首次在文本摘要任務上,提出基于編解碼結(jié)構(gòu)和注意力機制的文本摘要模型[7]。隨后,研究者們在此框架上,相繼提出了拷貝機制(copy mechanism)、冗余覆蓋機制(redundancy coverage mechanism)、基于強化學習的訓練策略(training with reinforcement learning approaches)等方法來改善摘要生成質(zhì)量[8-10]。
生成式摘要是一個特殊的序列到序列生成任務,需要模型充分理解輸入序列的語義信息,然后在此基礎(chǔ)上對輸入信息進行適當裁剪,從而生成簡短、流暢、閱讀性高的文本摘要。盡管當前大部分模型均采用注意力機制來動態(tài)關(guān)注不同時刻的編碼端信息,但是僅依靠此生成高質(zhì)量文本摘要仍然是一個挑戰(zhàn)。隨著計算能力的提升,神經(jīng)網(wǎng)絡(luò)的層數(shù)不斷增多,深層神經(jīng)網(wǎng)絡(luò)有著更強的語義表征能力,因此基于多層神經(jīng)網(wǎng)絡(luò),尤其是基于長短期記憶網(wǎng)絡(luò)(long short term memory,LSTM)的多層編解碼模型受到了眾多研究者青睞。深層神經(jīng)網(wǎng)絡(luò)從本質(zhì)上來講是一個層層抽象和遺忘的過程,Belinkov等人認為與圖像領(lǐng)域一樣,在自然語言處理任務中,深層神經(jīng)網(wǎng)絡(luò)的不同層次能夠?qū)W習和表征不同的特征,低層神經(jīng)網(wǎng)絡(luò)(靠近輸入層)更傾向于學習詞級結(jié)構(gòu)特征,而高層網(wǎng)絡(luò)(靠近輸出層)則傾向于獲取抽象的語義特征[11]。然而,傳統(tǒng)的基于注意力機制的編解碼模型僅考慮編碼器高層的語義信息作為上下文的語義表征,而忽略了低層神經(jīng)網(wǎng)絡(luò)的詞級結(jié)構(gòu)等細節(jié)特征。就像人類在書寫摘要時,不但需要了解原文抽象的語義信息,同樣為了避免遺漏重要信息,仍然需要不斷回顧原文的細節(jié)信息。因此,類比人類書寫摘要的方式,本文提出一種基于層級交互注意力機制的多層特征提取和融合方法來獲取編碼器不同層次的特征,同時在解碼端引入變分信息瓶頸對融合信息進行壓縮和去噪,從而生成更高質(zhì)量的摘要。
總體來說,本文的創(chuàng)新點包括以下三個方面:(1)提出基于層級交互注意力機制的編解碼模型,通過注意力獲取不同層次的語義信息來改善摘要的生成質(zhì)量。(2)提出利用變分信息瓶頸進行數(shù)據(jù)壓縮和去噪。(3)在English Gigaword和DUC2004數(shù)據(jù)集上進行實驗,結(jié)果表明本文提出的模型取得了最佳性能。
文本摘要方法包括抽取式(extractive)和生成式(abstractive)兩種方法。
抽取式摘要是基于特定規(guī)則對原文句子進行評分,選擇文檔中最顯著的句子作為文本摘要。傳統(tǒng)的抽取式方法包括基于特征的方法[12]、基于圖排序的方法[13]和基于機器學習的方法[14]等。隨著深度學習興起,基于深度神經(jīng)網(wǎng)絡(luò)的抽取式摘要方法成為了主流。Nallapati等人首次提出將抽取式摘要任務建模為一個句子級的序列標注任務,對原文文檔進行編碼,結(jié)合文檔編碼、句子編碼等多種特征,判斷該句子是否為摘要句[15]。Zhang等人在序列標注任務上,結(jié)合強化學習對句子選擇過程進行優(yōu)化[16]。Jadhav等人提出將抽取式摘要任務作為關(guān)鍵詞和句子索引的混合序列生成任務,利用序列到序列模型生成詞語和句子的混合序列作為摘要[17]。與前面不同,Zhou等人則提出將抽取式摘要任務建模為句子排序任務,聯(lián)合建模句子選擇和句子打分兩個任務,性能取得了顯著的提升[18]。關(guān)于抽取式摘要的另一個研究方向是半監(jiān)督和無監(jiān)督方法。Wang等人提出一種半監(jiān)督的抽取式摘要方法,在序列標注模型基礎(chǔ)上,結(jié)合預訓練模型來學習文檔的全局表征[19]。Zheng等人提出利用預訓練語言模型BERT(bidirectional encoder representations from transformers)對文檔進行表征,并在此基礎(chǔ)上利用圖排序的方式來抽取重要的句子作為摘要[20]??傮w來講,抽取式摘要可讀性較強,但是要求摘要句必須來自于原文,這在一定程度上限制了摘要的新穎性和信息覆蓋度。
編解碼模型在序列到序列任務上取得了巨大成功,這也使生成式摘要方法成為了當前的研究熱點。Rush等人首次基于NMT框架,提出了基于注意力機制的生成式摘要模型,其編碼器和解碼器分別采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和神經(jīng)語言模型網(wǎng)絡(luò)(neural network language model,NNLM)[7]。Chopra等人采用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)作為解碼器,進一步提升了模型的性能[21]。后續(xù)研究者在此基礎(chǔ)上提出了多種編解碼結(jié)構(gòu)改進模型。Zhou等人在傳統(tǒng)的編解碼模型中提出了選擇門控機制,通過門控網(wǎng)絡(luò)限制從編碼器到解碼器的信息流動,構(gòu)造更高質(zhì)量的編碼表征[22]。Zeng等人提出重讀機制,通過兩次閱讀原文來提高編碼質(zhì)量[23]。Lin等人提出全局編碼模型,使用卷積門控網(wǎng)絡(luò)和自注意力機制(self-attention)構(gòu)造上下文的全局表征[24]。Xia等人提出了一種推敲網(wǎng)絡(luò),利用編碼上下文和第一次解碼的信息進行第二次推敲解碼,顯著改善了摘要質(zhì)量[25]。注意力機制作為編解碼模型的重要組成部分,在機器翻譯[26-27]、圖像語義描述[28]等任務上得到了廣泛的應用。在文本摘要任務中,針對注意力機制改進和應用主要有以下方面:處理重復詞;針對長文本編碼的層次注意力和基于注意力的外部知識融入等。Paulus等人提出一種Intradecoder注意力機制,在解碼時不僅僅關(guān)注上下文信息,同時關(guān)注已經(jīng)解碼詞的信息,從而避免輸出重復詞的問題[29]。Nallapati等人提出一種針對長文本的層次注意力編碼方式,通過詞級和句子級兩層注意力機制,獲取更好的長文本表征[2]。Chen等人提出一種利用多層注意力機制融入詞級和字符級多粒度信息來提升機器翻譯性能[30]。Li等人提出利用一種注意力機制將關(guān)鍵詞信息作為外部知識融入到編解碼模型中來指導解碼過程的改進方法[31]。
雖然上述方法分別從不同方面對編解碼模型提出了改進策略,但是在解碼過程中均未考慮利用不同層次編碼器的特征來改善摘要生成質(zhì)量。因此本文提出一種層級交互注意力機制提取編碼器不同層次特征,在生成摘要時不僅關(guān)注編碼器高層抽象特征,同時提取低層的細節(jié)信息來提高摘要生成質(zhì)量。
本文基準模型采用基于注意力機制的編解碼框架,其中編解碼器均采用LSTM網(wǎng)絡(luò),如圖1所示。
Fig.1 Attention-based encoder and decoder framework圖1 基于注意力的編解碼框架
編碼器讀取輸入序列X=(x1,x2,…,xn),生成其上下文表征向量H=(h1,h2,…,hn),解碼器通過讀取編碼器最后時刻的狀態(tài)向量完成初始化,然后根據(jù)輸入上下文表征向量H,逐詞生成摘要序列Y=(y1,y2,…,ym)。其中n和m分別表示輸入序列和生成摘要的長度,要求m≤n。傳統(tǒng)的編解碼框架中,在每個解碼時刻,上下文向量H作為固定輸入?yún)⑴c解碼過程,通過引入注意力機制,在每個解碼時刻為H分配不同的注意力權(quán)重。
本文編碼器采用雙向長短期記憶網(wǎng)絡(luò)(bi-directional LSTM,BILSTM),BILSTM包括前向和后向LSTM,前向LSTM從左向右讀取輸入序列得到前向編碼向量而后向LSTM從右向左讀取序列得到后向編碼向量如式(1)、式(2)所示。
如圖1所示,解碼器采用單向LSTM網(wǎng)絡(luò),其中s為序列起始標志。t0時刻,解碼器讀取s和編碼器最后時刻的狀態(tài)向量來預測y1的輸出概率。在解碼時刻t,解碼器讀取t-1時刻目標詞的詞嵌入向量wt-1、隱狀態(tài)向量st-1和上下文向量ct生成t時刻的隱狀態(tài)向量st,如式(3)所示:
其中,上下文向量ct為t解碼時刻輸入序列的上下文表征,具體計算過程如式(4)~式(6)所示:
其中,式(4)利用t-1時刻解碼器的隱狀態(tài)st-1和輸入序列第i個詞的隱狀態(tài)hi計算得到其注意力權(quán)重et,i。式(5)利用softmax函數(shù)生成歸一化的注意力權(quán)重αt,i。最后式(6)利用注意力權(quán)重矩陣對輸入序列隱狀態(tài)進行加權(quán)求和操作,得到t時刻上下文向量ct。特別說明:Wa、va、ba為訓練參數(shù),tanh為激活函數(shù),[;]表示向量拼接操作。
在式(3)和式(6)的基礎(chǔ)上,通過t時刻上下文向量ct和隱狀態(tài)st計算得到t時刻的輸出向量pt,如式(7)所示:
其中,Wm、bm為訓練參數(shù),tanh為激活函數(shù)。
最后計算pt在預設(shè)的目標詞表上輸出概率pvocab,t。具體計算如式(8)所示:
其中,Wp、bp為訓練參數(shù),softmax為歸一化函數(shù)。
對于多層編解碼模型,編解碼器均包含多層LSTM網(wǎng)絡(luò)。編碼器通過讀取輸入序列x,生成其不同層的特征表示hk,其中k=(1,2,…,r)為編碼器的層數(shù)。在多層編解碼模型中,對于第k層解碼器LSTMk,其輸入包括兩部分:k-1層t時刻的網(wǎng)絡(luò)輸出和k層t-1時刻的隱狀態(tài)具體計算方法如式(9)所示:
在多層編解碼模型中,層級交互注意力機制旨在通過注意力機制獲取不同層的上下文向量ctk,并對多層上下文進行融合。第k層t時刻上下文向量計算如式(10)~式(12)所示。
特別說明,ctk計算過程與式(4)~式(6)相似,區(qū)別在于注意力計算是在第k層的編解碼器之間進行。針對第k層,根據(jù)獲取t時刻第k層的注意力權(quán)重矩陣,然后與編碼器第k層的隱狀態(tài)hk加權(quán)求和得到第k層t時刻的上下文向量
3.2.1 層內(nèi)融合機制
層內(nèi)融合機制(inner-layer merge)旨在將k-1層上下文向量融入第k層的編碼中,從而實現(xiàn)多層編碼器信息的融合,具體如圖2所示。融合k-1層的上下文向量和隱狀態(tài)向量作為第k層的輸入。具體計算公式如式(13)~式(15)所示:
Fig.2 Intra-layer merge mechanism圖2 層內(nèi)融合機制
3.2.2 跨層融合機制
跨層融合機制(cross-layer merge)在最后一層對獲取的多層上下文向量進行融合,具體如圖3所示。首先根據(jù)式(9)和式(12)計算各輸出向量和上下文向量然后在最后一層即第r層,對各層的輸出向量和上下文向量分別進行拼接,得到跨層融合的上下文向量ct和解碼器輸出向量st。具體計算如式(16)、式(17)所示:
最后利用st和ct計算得到輸出向量pt,具體公式如式(18):
其中,Wmt、bmt為訓練參數(shù)。最后根據(jù)式(8)計算得到pt在詞表vocab上的輸出概率Pt,vocab。
Fig.3 Cross-layer merge mechanism圖3 跨層融合機制
3.2.3 變分信息瓶頸
融入不同層次的上下文信息會帶來信息的冗余和噪聲,本文引入變分信息瓶頸(variational information bottleneck,VIB)來對數(shù)據(jù)進行壓縮和去噪[32]。信息瓶頸(information bottleneck,IB)是Tishby等人提出基于互信息的信息壓縮和去噪方法[33],Alexander等人在信息瓶頸的基礎(chǔ)上提出了VIB,利用深度神經(jīng)網(wǎng)絡(luò)來建模和訓練信息瓶頸。變分信息瓶頸通過在X到Y(jié)的分類任務中,引入Z作為源輸入X的中間表征,構(gòu)造從X→Z→Y的信息瓶頸RIB(θ),計算過程如式(19)、式(20)所示:
其中,I(Z,Y;θ)表示Y和Z之間的互信息量。計算公式如式(20)所示。本文的目標是以互信息作為信息量的度量,學習編碼Z的分布,使得從X→Y的信息量盡可能少,強迫模型讓對分類有用的信息流過信息瓶頸,而忽略與任務無關(guān)的信息,從而實現(xiàn)信息去冗余和去噪。
對于摘要任務來講,給定輸入序列X,編解碼模型通過計算概率Pθ(Y|X)生成摘要序列Y,其中θ為模型的參數(shù),如權(quán)重矩陣W和偏移量b等。具體公式如式(21)所示。
其中,y<t=(y1,y2,…,yt-1)表示t時刻之前已解碼所有單詞。如式(22)所示,模型通過最大化生成摘要概率的對數(shù)似然函數(shù)來學習模型參數(shù)θ。
因此,在傳統(tǒng)的編解碼模型中,引入信息瓶頸Z=f(X,y<t)作為編碼的中間表征,構(gòu)造從中間表征Z到輸出序列Y的損失,作為分類的交叉熵損失,計算公式如式(23)所示。
同時加入約束,要求Pθ(Z|X)的分布與標準正態(tài)分布Q(Z)的KL散度(Kullback-Leibler divergence)盡量小,加入VIB后,訓練損失函數(shù)如式(24)所示:
其中,λ為超參數(shù),本文設(shè)置為1E-3。
本章首先介紹實驗數(shù)據(jù)集、評價指標、實驗的詳細參數(shù)設(shè)置及對比的基準模型,然后對實驗結(jié)果進行分析和討論。
本文使用文本摘要領(lǐng)域常用的英文數(shù)據(jù)集Gigaword作為訓練集,采用與Nallapati[7]相同的預處理腳本(https://github.com/facebook/NAMAS)對數(shù)據(jù)集進行預處理,分別得到380萬和18.9萬的訓練集和開發(fā)集,每個訓練樣本包含一對輸入文本和摘要句。與前人的研究工作相同,本文對數(shù)據(jù)進行標準化處理,包括數(shù)據(jù)集所有單詞全部轉(zhuǎn)小寫,將所有數(shù)字替換為#,將語料中出現(xiàn)次數(shù)小于5次的單詞替換為UNK標識等。為了便于對模型性能進行評價,與所有的基準模型一樣,本文從18.9萬開發(fā)集中隨機選擇8 000條作為開發(fā)集,選擇2 000條數(shù)據(jù)作為測試集,然后篩選去除測試集中原文本長度小于5的句子,最后得到1 951條數(shù)據(jù)作為測試集。為了驗證模型的泛化能力,選擇DUC2004作為測試集。DUC2004數(shù)據(jù)集僅包含500條文本,每個輸入文本均對應4條標準摘要句。表1列出了Gigaword和DUC2004兩個數(shù)據(jù)集具體的統(tǒng)計信息。
Table 1 Statistics results for Gigaword and DUC2004 dataset表1 Gigaword和DUC2004數(shù)據(jù)集統(tǒng)計結(jié)果
與前人研究相同,本文采用ROUGE(recall-oriented understudy for gisting evaluation)值作為模型的評價指標。ROUGE是由Lin提出的一種自動摘要的評價指標[34],其基于生成摘要與標準參考摘要中的元詞組(n-gram)共現(xiàn)信息來評價摘要的質(zhì)量。具體計算如式(25)所示。
其中,n-gram表示n元詞,{Gold}表示標準參考摘要,Countmatch(n-gram)表示模型生成摘要和標準參考摘要中共現(xiàn)的n-gram詞組個數(shù),Count(n-gram)表示標準參考摘要中出現(xiàn)的n-gram詞組個數(shù)。本文采用pyrouge腳本(https://pypi.python.org/pypi/pyrouge/0.1.0)計算ROUGE值,以Rouge-1(unigram)、Rouge-2(bigram)、Rouge-L(longest common subsequence)值作為模型性能的評價指標。
本文選擇Pytorch框架進行開發(fā),在NVIDIA P100上進行訓練。編碼器和解碼器均選擇3層的LSTM,其中編碼器為雙向LSTM,而解碼器采用單向LSTM。編碼器和解碼器的隱狀態(tài)均設(shè)置為512。為了減少模型的參數(shù),設(shè)置編碼器和解碼器共享詞嵌入層。詞嵌入維度設(shè)置為512,本文不使用Word2vec、Glove、Bert等預訓練詞向量,而是對詞嵌入層隨機初始化。與Nallapati、Zhou等人不同[2,22],本文設(shè)置編解碼器的詞表的大小為50 000,未登錄詞使用UNK來替代。為了提高摘要的生成質(zhì)量,本文在模型推斷階段使用Beam Search策略[35],Beam Size設(shè)置為12。其他訓練超參數(shù)設(shè)置如表2所示。
Table 2 Hyper-parameter setting of model表2 模型超參數(shù)設(shè)置
本文選取以下6個模型作為基準模型,所有基準模型的訓練集、驗證集和測試集劃分均與本文相同。
ABS(attention-based summarization)[7]:采用基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的編碼器和NNLM解碼器來生成文本摘要。
ABS+[7]:基于ABS模型,使用DUC2003數(shù)據(jù)集對模型進行微調(diào),其性能在DUC2004數(shù)據(jù)集上進一步得到提升。
RFs2s(rich features sequence-to-sequence)[2]:編碼器和解碼器均采用GRU(gated recurrent unit),編碼器輸入融合了詞性標記、命名實體標記等語言學特征。
SEASS(selective encoding abstractive sentence summarization)[22]:在傳統(tǒng)的注意力機制的編解碼模型中,提出在編碼端增加選擇性門控網(wǎng)絡(luò)來控制信息從編碼端向解碼端的流動,從而實現(xiàn)編碼信息的提純。
CGU(convolutional gated unit)[24]:與SEASS相似,提出通過self-attention和Inception convolution network優(yōu)化編碼器,構(gòu)造源輸入的全局信息表征。
CAs2s(convolutional sequence-to-sequence)[36]:編解碼器都通過卷積神經(jīng)網(wǎng)絡(luò)來實現(xiàn),在卷積過程中加入線性門控單元(gated linear unit,GLU)、多步注意力等優(yōu)化策略。
Our_s2s:本文實現(xiàn)的基準編解碼模型,其模型實現(xiàn)已在3.1節(jié)中進行了詳細敘述。具體實現(xiàn)的參數(shù)設(shè)置與4.3節(jié)所述相同。
表3列出了本文模型與基準模型在Gigaword測試集上的Rouge-1(RG-1)、Rouge-2(RG-2)和Rouge-L(RG-L)的F1值比對結(jié)果(ROUGE腳本參數(shù)設(shè)置均為:-a-n 2-f-r 1000-p 0.5)。其中Our_s2s是本文實現(xiàn)的帶有注意力的編解碼模型,Intra_s2s和Cross_s2s分別表示在Our_s2s基礎(chǔ)上增加了層內(nèi)融合機制和跨層融合機制,Beam和Greedy表示在測試階段采用Beam Search策略還是貪心搜索策略。
Table 3 Experimental results of Gigaword testset表3 Gigaword測試集實驗結(jié)果 %
從表3可以看出,本文提出的兩種層級交互注意力策略在Greedy和Beam Search兩種搜索策略下均取得了相較其他基準模型更優(yōu)的性能。這也證明了通過引入層級交互注意力機制,利用模型不同層次的信息來指導解碼過程是有效的。特別與Our_s2s基準模型相比,性能最優(yōu)的Cross_s2s(Beam)模型在3個指標RG-1、RG-2和RG-L上分別取得了3.35、2.01和3.01的性能提升。相比在編碼端改進的SEASS(Beam)和CGU(Beam)模型,Cross_s2s(Beam)在RG-1指標上仍然分別取得了0.82和0.66的提升,這也證明了融合編碼端不同層次的上下文信息相比僅利用其高層特征更有效。另外從表3中可以看出,Cross_s2s相比Intra_s2s在Greedy和Beam搜索策略下,模型性能都取得了更好的性能。這一現(xiàn)象可以解釋為:相比Intra_s2s模型,Cross_s2s模型利用不同層次上下文信息的方式更加直接,這在一定程度上也減少了信息的損失。
為了進一步驗證模型的泛化能力,本文在DUC2004數(shù)據(jù)集上進行實驗,實驗結(jié)果如表4所示。DUC2004數(shù)據(jù)集要求生成長度固定的摘要(75 Byte),與之前的研究工作相同[1,7,22],本文設(shè)置生成摘要的長度固定為18個詞,以滿足最短長度的需求。與前人工作相同,DUC2004數(shù)據(jù)集一般采用召回率(Recall)而非F1值作為模型性能的評價指標。DUC2004數(shù)據(jù)集每個原句對應4條人工摘要作為標準摘要,因此本文在4個標準摘要上分別進行驗證,并以4次的驗證結(jié)果的平均值作為評測結(jié)果。特別說明,表4中列舉的模型均采用Beam Search搜索策略。
Table 4 Experimental results of DUC2004 test set表4 DUC2004測試集實驗結(jié)果 %
從表4可以看出,本文提出的Intra_s2s和Cross_s2s模型性能相近,但是在3個指標RG-1、RG-2和RG-L的Recall值均超過了基準模型。特別與ABS+相比,雖然其模型利用DUC2003數(shù)據(jù)集進行了調(diào)優(yōu),但是本文提出的Intra_s2s模型仍然在RG-1、RG-2和RG-L上分別提高了2.11、4.75和4.13。與當前最優(yōu)模型SEASS和CGU相比,Intra_s2s模型在RG-2指標分別提高了3.68和3.96。另外可以看出,Intra_s2s模型在DUC2004數(shù)據(jù)集上性能略優(yōu)于Cross_s2s模型。
為了驗證VIB模塊的有效性,本文在Gigaword數(shù)據(jù)集上進一步進行了測試,實驗結(jié)果如表5所示。其中“+VIB”和“-VIB”表示是否包含變分信息瓶頸模塊。從表5可以看出,從Intra_s2s和Cross_s2s模型中去除VIB后,兩個模型性能在RG-1指標上分別下降了0.18和0.50。這也說明了VIB模塊能夠?qū)θ诤闲畔⑦M行有效的過濾和去冗余,從而獲得更優(yōu)的性能。同樣可以看出,相比Intra_s2s模型,Cross_s2s模型在去除VIB模塊后性能下降更為明顯。這是因為Cross_s2s模型直接將各層的信息輸出到最后一層,冗余信息更多,因此VIB模塊在Cross_s2s模型中更為有效。這也從另外一個方面證明了VIB模塊能夠有效解決因為多層信息融合帶來的信息冗余問題。
Table 5 Performance analysis of VIB module表5 VIB模塊性能分析 %
對于深度神經(jīng)網(wǎng)絡(luò)來講,模型層數(shù)是影響其性能的重要因素。本文提出的層級交互注意力機制也是提取編碼器不同層次的特征來改善摘要生成效果。因此本文在Gigaword測試集上對不同層數(shù)模型性能進行驗證,具體實驗結(jié)果如表6所示。
Table 6 Experimental results of different layers model表6 不同層數(shù)模型實驗結(jié)果
從表6可以看出,模型性能并不總隨著層數(shù)的增加而提升,但是同樣可以看出,本文提出的模型在層數(shù)不同時,與Our_s2s模型相比均取得了更好的性能。尤其網(wǎng)絡(luò)層數(shù)選擇3層,Cross_s2s模型相比Our_s2s模型在RG-1、RG-2和RG-L的F1值分別取得了3.35、2.01和3.01的提升,這也驗證了層級交互注意力機制可以有效改善模型的性能。同樣本文也觀察到,Cross_s2s模型相對Intra_s2s模型在多數(shù)情況下能夠取得更好的性能。這是因為Cross_s2s在提取多層特征時更加直接,將各層的注意力信息直接傳遞到解碼器最高層。就像人們在寫摘要時,在閱讀的同時直接在原文標記重點,然后在生成摘要時,直接獲得閱讀的重點信息。同時從表6中可以看出,模型的性能在層數(shù)過深時,性能反而會下降,本文分析是因為模型層數(shù)增加會導致梯度無法回傳到低層神經(jīng)網(wǎng)絡(luò),導致模型因梯度消失而無法得到充分訓練。同時模型層數(shù)增加也會導致訓練參數(shù)增加,模型更容易過擬合,從而導致模型性能下降。
為了進一步驗證算法的有效性,本文列舉了不同模型的摘要結(jié)果。具體如表7所示。原文和標準摘要均選自Gigaword數(shù)據(jù)集。特別說明,為了對比方便,本文僅列出了CGU和Our_s2s兩個模型的輸出結(jié)果作為對比。這樣做的原因是CGU模型為當前Gigaword數(shù)據(jù)集上性能最優(yōu)的模型,而Our_s2s是本文提出模型的基礎(chǔ),它們具有相同的超參數(shù)設(shè)置。因Gigaword為英文數(shù)據(jù)集,為了方便比對,本文同樣列舉了其中文翻譯結(jié)果。
從表7可以看出,原文主要描述因戰(zhàn)爭升級,斯里蘭卡政府關(guān)閉了學校這一主題。Our_s2s模型和CGU模型生成的摘要中均能夠表達斯里蘭卡政府關(guān)閉了學校這一信息,但是因為模型性能的限制,在摘要中沒有體現(xiàn)戰(zhàn)爭升級是關(guān)閉學校原因這一細節(jié)內(nèi)容。本文通過提取編碼器不同層次的特征,在解碼時不僅關(guān)注抽象的全局信息,同樣關(guān)注不同層次的細節(jié)信息,從而更好理解原文細節(jié),能夠很好地捕捉到因戰(zhàn)爭升級而關(guān)閉學校這一細節(jié),從而提高摘要的信息覆蓋度,生成質(zhì)量更高的文本摘要。
Table 7 Example of generated summary by different models表7 不同模型生成摘要樣例
本文在表8中列舉兩個缺陷摘要樣例來說明本文方法存在的局限性。從這些樣例可以看出,本文方法在生成摘要時,傾向于復制原文的內(nèi)容,缺乏對原文中的深層語義的建模能力,從而導致了語法或語義錯誤。如第一個例子中,模型生成摘要時,按照標準摘要的指導需要輸出“亞特蘭蒂斯號和和平號分離”,但是卻錯誤地從原文復制了“separate from”從而導致了語法錯誤。而第二個例子中,標準摘要為“穆加貝總統(tǒng)工資翻倍”,而“工資翻倍”并未在原文中直接出現(xiàn),因此模型從原文復制“###”等信息,從而導致了語義錯誤。特別說明:###為語料預處理腳本替換數(shù)字為#。鑒于此,在后續(xù)的研究中,應在層級交互注意力基礎(chǔ)上,引入語言模型約束,避免生成摘要的語法和語義錯誤。
Table 8 Defect examples generated by proposed model表8 本文模型生成的缺陷樣例
本文針對生成式文本摘要,在基于注意力的編解碼框架下,提出基于層級交互注意力機制。通過注意力機制提取編碼器多層上下文信息來指導解碼過程,同時通過引入變分信息瓶頸對信息進行約束,從而提高生成式文本摘要的質(zhì)量。在Gigaword和DUC2004數(shù)據(jù)集上的實驗結(jié)果表明該方法能夠顯著改善編解碼框架在生成式摘要任務上的性能。在下一步研究中,擬在長文檔多句子的摘要任務中,在詞級和句子級雙層編碼過程中,融入層級交互注意力,探索跨詞和句子級的注意力融合機制。