寧 珊,嚴 馨,徐廣義,周 楓 , 張 磊
(1.昆明理工大學信息工程與自動化學院,云南 昆明 650504;2.昆明理工大學云南省人工智能重點實驗室,云南 昆明 650504;3.云南南天電子信息產業(yè)股份有限公司,云南 昆明 650040)
隨著互聯(lián)網的發(fā)展,大量的互聯(lián)網信息每天快速地更新,人們每天都能接觸到海量的文本信息,如新聞、博客、聊天、報告、論文、微博等,快速提取需要的信息成為當前亟待解決的問題。文本摘要是能夠從大量的信息源中提煉出關鍵信息的方法,用戶可以通過閱讀文摘信息獲取文本的關鍵信息而無需閱讀整個文檔,從而幫助用戶節(jié)省時間。隨著計算機科學的發(fā)展和自然語言處理技術的不斷進步,自動摘要技術已經廣泛地應用到其他相關領域,比如文本分類、信息檢索、問答系統(tǒng)等。
現(xiàn)有的關于文本摘要自動生成的研究,主要是通過對文本分析,提取出其中的重要信息組成摘要信息。Hou等人[1]在名詞詞匯鏈的基礎上,增加了謂語詞匯鏈和副詞詞匯鏈,將三者結合,考慮的文檔信息更全面、準確,可提取出更完善的摘要信息;Erkan等人[2]提出基于句子圖形表示中的特征向量來計算句子重要性,以提取摘要信息;Vanderwende等人[3]提出用句子中所有詞在文本集中出現(xiàn)的概率之和來表示句子重要程度,然后選擇最重要的句子組成摘要;Wan等人[4]提出了一個鄰近文檔的概念,即在考慮本文檔信息的基礎上,綜合考慮與其相鄰近的文檔信息,在鄰近文檔信息的補充下得到更完整的文本信息;Wei等人[5]提出一種文檔圖,將圖模型從文檔的層次分離開,不僅僅計算句子之間的相關性,同時也計算文檔與文檔之間的差別,強調了文檔對句子的影響程度。其后,李蕾等人[6]提出了基于神經網絡的中文文摘算法,通過設計語義塊組匹配的方法避開了傳統(tǒng)的語法語義分析系統(tǒng)所遇到的各種難題;Cao等人[7]設計出了一個聯(lián)合學習的摘要生成系統(tǒng),共同學習查詢相關性和句子重要性,通過注意力機制增加細致閱讀,生成了以查詢?yōu)橹行牡恼畔?Zhou等人[8]用分層編碼器讀取文檔句子以獲得句子的表示,將選擇策略整合到評分模型中,評分模型根據(jù)已選擇的句子,獲得當前句子的相對重要性,通過逐句提取句子來構建輸出摘要。以上研究方法通過文本分析、增加外部信息等方法抽取出重要的句子作為文本摘要信息,但是這些方法生成的摘要信息可讀性差且存在信息冗余。
隨著深度學習的發(fā)展,越來越多的深度學習模型應用到自然語言處理中,相應的自動文摘技術研究也結合了深度學習模型,從抽取式摘要演變?yōu)榛谏疃葘W習模型的生成式摘要。Nallapati等人[9]將注意力機制融合到基于循環(huán)神經網絡的(RNN)的端到端(seq2seq)模型中,通過注意力機制根據(jù)解碼器的需求,為每個時刻的輸出向量表示賦予不同的權重值;Hu等人[10]提出帶有注意力機制的RNN 編碼器和解碼器的序列到序列的基本模型;Chopra等人[11]利用卷積神經網絡(CNN)作為編碼器,然后利用長短期記憶神經網絡作為解碼器解碼摘要信息,取得了較好的效果;Nallapati等人[12]通過對關鍵詞建模并且捕獲逐字結構的層次結構,通過將文本特征融入端到端模型的輸入層,使編碼器獲得信息更加完善的編碼表示,從而解碼出質量更好的摘要信息;Gehring等人[13]將CNN和端到端模型相結合,通過CNN提取文本深層次特征,將這些特征應用到基于長短時記憶神經網絡的端到端模型,生成的文檔摘要達到了當時最好的效果;Liu等人[14]利用對抗學習,提出了一個文本摘要自動生成的對抗模型;Li等人[15]提出具有深度復現(xiàn)生成解碼器的DRGD(Deep Recurrent Generative Decoder for abstractive text summarization)模型,生成摘要信息;Tan等人[16]提出一種基于圖注意力機制的編碼器-解碼器模型,在原有的編碼器-解碼器模型中增加圖注意力機制,提高了模型對句子顯著性的適應能力,同時利用分層解碼器,使得生成的摘要信息更加準確;Zhang等人[17]提出了一種基于預訓練的編碼器-解碼器框架生成摘要,將bert預訓練模型應用于摘要生成任務中;Lin等人[18]提出一種基于全局編碼的文本摘要生成方法,利用自注意力機制從全局信息出發(fā),得到了較好的摘要信息;Wang等人[19]將文本的主題信息融入到端到端模型,獲得更好的摘要生成效果;Lin等人[18]通過卷積門控單元以及全局編碼改進源端信息的表示,得到質量更高的摘要信息;Cao等人[20]提出使用現(xiàn)有的摘要作為軟模板來指導seq2seq模型,生成質量更好的摘要信息;吳仁守等人[21]提出根據(jù)文檔的層次結構對文檔進行編碼,分別在字、句和文檔層面進行編碼,獲得了較好的文本摘要生成結果;蘇放等人[22]針對評論摘要的樣本特征,改進了局部注意力模型,使其對特殊部位的注意程度更大,獲得了較好的評論摘要;侯麗微等人[23]提出利用主題關鍵詞信息,將關鍵詞與文本語義信息綜合起來實現(xiàn)對摘要的引導生成,獲得了較好的效果。李晨斌等人[24]在融入詞性、詞頻等特征的基礎上,利用原文本詞來處理低頻詞,解決了未登錄詞的問題;王侃等人[27]將先驗知識作為動態(tài)詞向量融入原文本句向量中,以獲得更好的編碼效果,得到了更好的摘要生成結果。以上研究方法通過融合多信息來改進端到端模型,生成質量更好的摘要信息。但是,以上研究方法沒有考慮關鍵詞信息在文本摘要生成中的作用。特別是新聞文本的短文本信息往往隱含豐富的背景知識,造成無法對其文本語義進行準確分析,所以關鍵詞信息作為輔助信息對新聞文本語義分析具有重要意義。同時,本文通過滑動卷積網絡和自注意力機制,從不同層次對語言進行建模,獲得具有層次性的局部結合全局的詞特征表示,更符合語言的本質特征。
Figure 1 Overall framework圖1 整體框架圖
在借鑒以上研究的基礎上,針對現(xiàn)有基于seq2seq模型在生成摘要時容易出現(xiàn)語義無關的摘要詞,同時沒有考慮關鍵詞信息對摘要生成的影響,造成生成的摘要信息質量不佳的問題,本文提出一種融合關鍵詞的中文新聞文本摘要生成方法。首先利用Bi-LSTM(Bi-directional Long Short-Term Memory)模型對新聞文本序列進行建模,得到新聞詞的隱藏狀態(tài);再通過設置每個詞的鄰域長度,以每個詞作為中心詞進行滑動卷積,對語言序列的局部n-gram特征進行建模,獲得融合鄰域詞特征的向量表示;其次利用關鍵詞信息和門控單元,將文本信息過濾,進一步提取新聞文本主要信息;然后通過自注意力機制,得到每個詞與文本中其他詞的相關性,獲得新聞詞全局特征信息,最終編碼得到具有層次性的局部結合全局的詞特征表示;最終將得到的詞編碼信息輸入到帶有注意力機制的LSTM(Long Short-Term Memory)模型中解碼生成摘要信息。
本文提出的融合關鍵詞的中文新聞文本摘要生成方法由2個模塊構成:融合關鍵詞信息的層次編碼器和帶有注意力機制的解碼器,如圖1所示。
在本文中,編碼器模塊的主要作用是利用關鍵詞信息、門控單元、卷積網絡、自注意力機制對文本信息進行編碼,獲得具有層次性的局部結合全局的詞特征表示;解碼器的主要功能是根據(jù)編碼得到的表示特征,利用注意力機制解碼得到摘要信息。
融合關鍵詞信息的層次編碼器,通過Bi-LSTM模型和滑動卷積網絡模型得到每個詞與鄰近詞之間的局部特征。在本文中,通過設置每個詞的鄰域長度,以每個詞作為中心詞進行卷積,得到融合鄰域詞特征的向量表示,豐富了詞特征信息;同時利用關鍵詞信息和門控單元,將文本信息過濾,進一步提取其主要信息;然后通過自注意力機制,計算每個詞與文本中其他詞的相關性,得到新聞詞的全局特征信息,最終獲得具有層次性的局部結合全局的詞特征表示,如圖2所示。
Figure 2 Hierarchical encoder fusing keyword information圖2 融合關鍵詞信息的層次編碼器
對于輸入的源文本信息d={x1,x2,…,xn},其中xi表示源文本中的第i個詞,n表示源文本中詞的總數(shù)。首先將源文本信息依次輸入到Bi-LSTM模型中,得到每個詞的隱藏狀態(tài)表示:
(1)
(2)
(3)
g′i=conv(W3[hi-k/2,…,hi+k/2]+b3)
(4)
其中,conv()表示卷積操作;[]表示向量的拼接操作,W3、b3是卷積網絡的可訓練參數(shù)。對于第1個和最后2個詞,空余部分分別添加起始標志〈start〉和結束標志〈end〉。在本文中,為了將鄰域內不同時間步的隱藏狀態(tài)進行拼接組成詞語的鄰域上下文信息,在向量拼接時,對卷積的第1維度進行拼接。同時,為了對中心詞鄰域內隱藏狀態(tài)的每一維進行卷積,以提取中心詞整個鄰域的特征信息,本文設置卷積核W∈Rk×1,其中k為鄰域長度。得到融合詞語鄰域多特征信息的向量表示:
(5)
G=conv(WcA+bc)
(6)
ge=σ(We[G,g′i]+be)
(7)
gi=g′i·ge
(8)
其中,A為源文本的關鍵詞信息表示矩陣;{Wc、bc、We、be}分別表示卷積網絡和門控單元的可訓練參數(shù);conv()表示卷積操作,通過對關鍵詞表示矩陣的卷積操作,得到源文本的關鍵詞特征表示;σ表示sigmoid函數(shù),通過sigmoid函數(shù)將輸出向量的每一維歸一化規(guī)劃到[0,1],如果相應維數(shù)元素接近0,則表示控制門將刪除原表示g′i對應維數(shù)上的大部分信息;如果相應維數(shù)元素接近1,則表示控制門將保留原表示g′i對應維數(shù)上的大部分信息。本文對門控單元的輸出表示設計了自注意機制。參考Transformer模型[26],自注意力機制能夠提取詞的全局相關性,學習其長期依賴并且不會產生太多的計算復雜性。通過自注意力機制,得到每個詞與文本中其他詞的相關性,獲得新聞詞全局特征信息,最終編碼得到具有層次性的局部結合全局的詞特征表示:
(9)
P=WattV
(10)
其中,Q和V分別為門控單元生成的表示;Watt為可訓練的參數(shù)矩陣;dP為P的向量維數(shù)。通過自注意力機制,最終編碼得到具有層次性的局部結合全局的詞特征表示R。
解碼器部分由帶有注意力機制的LSTM模型構成,如圖3所示。
Figure 3 Decoder with attention mechanism圖3 帶有注意力機制的解碼器
將編碼得到的具有層次性的局部結合全局的詞特征表示R輸入到解碼器中,本文方法由帶注意力機制的LSTM模型構成解碼器單元:
Pvocab=softmax(Wz[ct;st])
(11)
st=LSTM(yt-1,st-1)
(12)
(13)
(14)
(15)
其中,st表示解碼器t時刻的隱藏狀態(tài);yt-1表示t-1時刻解碼器生成的摘要詞表示;ri表示第i個新聞詞的編碼向量表示;Wa、Wz表示可訓練參數(shù)矩陣。通過注意力機制和解碼器,將編碼得到的詞表示特征解碼成每個時刻的摘要詞,通過訓練最大似然損失函數(shù),得到最終的摘要生成信息:
(16)
本文使用來自搜狗實驗室的全網新聞數(shù)據(jù),數(shù)據(jù)包含了來自全網的2012年6月~7月期間國內、國際、體育、社會、娛樂等 18 個專題的新聞數(shù)據(jù),共 1.4 GB,作為Skip-gram模型的訓練集,獲得詞表示向量作為模型的詞嵌入初始化;為了獲得新聞文本的關鍵詞信息,我們對18個專題隨機分別抽取100篇新聞,采用人工標注的方式抽取每篇新聞文本的關鍵詞信息,在本文中,對每篇新聞文本抽取5個關鍵詞。對于標準摘要信息,我們對抽取出的新聞文本人工撰寫標準摘要信息,同時針對新聞文本的特點,規(guī)定標準摘要信息的長度為25。對抽取出的1 800篇新聞文本隨機分成訓練集和測試集,其中訓練集樣本數(shù)為1 440篇新聞文本,測試集樣本數(shù)為360篇新聞文本。
本文的實驗過程包括融合關鍵詞信息的層次編碼過程和帶有注意力機制的解碼過程。本文采用Skip-gram模型作為語義詞向量訓練的基本模型,窗口大小設置為 5,詞向量維數(shù)設置為200;編碼器Bi-LSTM的隱藏單元向量維度設置為100;上下文卷積網絡的卷積核的大小設置為W∈R3×1;卷積層數(shù)設置為5層,每層卷積核個數(shù)為100,200,200,100,100;解碼器LSTM隱藏單元向量維度設置為100;模型每次訓練的最小樣本數(shù)設置為64;使用Adam優(yōu)化器,學習速率設置為0.000 1;模型迭代次數(shù)設置為1 000。
選擇摘要生成的基準評價指標ROUGE評分來評估本文方法的表現(xiàn)。ROUGE分數(shù)用于計算生成的摘要和參考之間的重疊程度。在本文中選擇ROUGE-1(R-1),ROUGE-2(R-2)和ROUGE-L(R-L)的F1分數(shù)用作評估指標。
為了驗證本文方法的有效性,從近年的相關工作中選擇了5種具有代表性和較高學術影響力的方法作為實驗比較的對象,分別介紹如下:LexRank[2]將句子余弦相似度的連通矩陣用作句子圖形表示的鄰接矩陣,然后基于句子圖形表示中的特征向量來計算句子重要性,提取摘要信息;SumBasic[3]提出用句子中的詞在文本中出現(xiàn)的概率之和來表示句子重要程度,然后選擇最重要的句子組成摘要;RNN-context[10]提出帶有注意力機制的RNN 編碼器和解碼器的序列到序列的基本模型;DRGD[15]提出了一個具有深度復現(xiàn)生成解碼器的摘要生成模型;CGU[18]通過卷積門控單元以及全局編碼改進源端信息的表示,得到質量更高的摘要生成信息。
3.4.1 實驗設計
實驗1驗證不同的滑動卷積窗口長度對摘要生成的影響。
實驗2驗證不同特征信息對摘要生成的影響。
實驗3本文方法與基線方法的對比實驗。
3.4.2 實驗結果與分析
實驗1為了驗證不同的滑動卷積窗口長度,即不同上下文長度卷積對摘要生成結果的影響,選取不同的窗口長度進行對比實驗。表1所示為不同上下文長度卷積對實驗結果的影響。
Table 1 Comparison of experimental results of convolution lengths in different contexts表1 不同上下文卷積長度的實驗結果對比
在不同的滑動卷積窗口長度的對比實驗中,使用搜狗全網新聞數(shù)據(jù)集,同時考慮關鍵詞門控單元、全局編碼信息。表1的實驗結果表明,不同的上下文卷積長度對摘要生成的影響不大。同時,實驗結果表明,當上下文卷積長度大于或等于3時,摘要生成的各項評價標準改變不大,只是略有波動,本文考慮到上下文卷積長度的增加對實驗運行時間的影響,在后面實驗中均采用卷積長度為3的設置。
實驗2為了驗證不同特征信息對摘要生成結果的影響,選取不同的特征組合進行對比實驗。表2所示為不同特征組合對實驗結果的影響。
在進行特征組合對比實驗時,使用搜狗全網新聞數(shù)據(jù)集,滑動卷積窗口長度設置為3。表2的實驗結果表明,在端到端框架的基礎上,增加上下文卷積、關鍵詞門控單元以及全局編碼信息對摘要生成質量的提高都有不同程度的影響。其中上下文卷積特征信息對R-2和R-L的影響更大,分別提高了5.3和6.2。關鍵詞門控單元對R-1的影響更大,提高了5.9。全局編碼信息在R-1、R-2和R-L方面分別提高了4.4,3.2和2.3,表明在端到端框架的基礎上編碼得到具有層次性的局部結合全局的詞特征表示,對生成的摘要質量的提高有重要意義。
Table 2 Comparison of experimental results of different feature combinations表2 不同特征組合的實驗結果對比
實驗3為了驗證本文方法在摘要生成中的有效性,本實驗從近年的相關工作中選擇了5種具有代表性和較高學術影響力的方法作為實驗比較的對象,實驗結果如表3所示。
Table 3 Comparison of the method of this paper and the baseline methods表3 本文方法與基線方法的對比實驗結果
在搜狗全網新聞數(shù)據(jù)集上將以上基線方法復現(xiàn),其中參數(shù)設置與其相關論文相同。表3中的實驗結果表明,本文方法與傳統(tǒng)的基于句子重要性排序的摘要生成方法LexRank[2]和SumBasic[3]相比,在各項評價指標上均有很大提升,表明基于深度學習的端到端框架在摘要生成方面與傳統(tǒng)的統(tǒng)計機器學習的方法相比較有很大優(yōu)勢。與RNN-context[10]和DRGD[15]方法相比較,本文方法在各項評價指標上均有較大提升。分析原因在于本文方法綜合考慮了每個詞不同的上下文表示,并結合關鍵詞信息、門控單元和全局編碼,不僅考慮了每個詞的局部信息,還經過關鍵詞信息過濾重要信息,再通過全局編碼得到每個詞的全局信息,最后獲得具有層次性的局部結合全局的詞特征表示,所以得到了質量更高的摘要生成信息。與CGU相比較,前者利用的是最新的神經網絡模型,與它相比較各項評價指標均有較小提高,表明本文方法達到了較高水平,也表明了本文方法在摘要自動生成任務上的可行性。
本文針對現(xiàn)有基于seq2seq模型在生成摘要時容易出現(xiàn)語義無關的摘要詞,同時沒有考慮到關鍵詞在摘要生成中的作用,提出一種新的方法,融合關鍵詞的中文新聞文本摘要生成方法。本文方法利用滑動卷積網絡、關鍵詞信息、門控單元以及全局編碼獲得具有層次性的局部結合全局的詞特征表示,然后通過帶注意力機制的LSTM作為解碼器得到摘要生成信息。本文方法綜合考慮每個詞不同的上下文表示,考慮到每個詞不同的冗余信息以及全局信息。實驗結果表明,本文方法的效果與目前最佳方法的效果相比較有所提升。下一步將通過融合外部知識信息,在背景知識的指導下生成質量更高的摘要信息。