井 鈺,王名揚,周文遠
(東北林業(yè)大學信息與計算機工程學院,黑龍江 哈爾濱 150036)
文本摘要是對文本進行處理從而生成簡潔、精煉的內(nèi)容,可以幫助讀者快速理解文本的中心內(nèi)容.現(xiàn)有文本摘要方法可以分為生成式(abstractive)摘要[1]和抽取式(extractive)摘要[2]兩大類,前者通過歸納文本整體語義來生成具有概括性信息的摘要;后者則是從原文中抽取與中心思想相近的一些句子作為摘要.抽取式摘要從方法上可以劃分為基于統(tǒng)計特征方法[3-4]、基于主題模型方法[5-6]、基于圖模型方法[7-8]和基于機器學習方法[9-10]等.其中,基于圖模型方法的圖排序算法因其充分考慮文本圖的全局信息,且不需要人工標注訓練集的特性,被廣泛應用于文本摘要領域[11].
TextRank算法作為一種經(jīng)典的文本圖排序算法,利用文本自身信息和結構特征來獲取文本摘要.2004年,Mihalcea等[7]借鑒PageRank算法思路提出了TextRank算法,該算法將句子間的相似關系看成是一種推薦或投票關系,據(jù)此構建TextRank網(wǎng)絡圖,并通過迭代計算得到句子的權重值.自TextRank算法被提出以來,基于該算法的自動文本摘要的研究受到廣泛的關注.考慮到關鍵詞對文本摘要提取的重大作用,李峰等[12]基于TextRank并使用關鍵詞擴展來提取文本摘要.汪旭祥等[13]結合了文本中句子位置、關鍵詞覆蓋率以及線索詞等因素提出SW-TextRank算法來提取文本摘要.但上述工作主要通過TF-IDF對關鍵詞進行統(tǒng)計,該方法只以關鍵詞在語料庫中的分布作為權值,結構過于單一,無法充分提取文本中的重要信息[14].
近年來,利用深度學習的方法進行命名實體識別引起了研究者的關注.考慮到文本中時間、地點、人物等實體對句子語義理解的重要性,如果能獲取到文本中的這些關鍵實體,則能更加準確的衡量句子的重要性,從而獲得更能反映文本核心內(nèi)容的摘要.Huang 等[15]人通過雙向長短時記憶神經(jīng)網(wǎng)絡(BiLSTM)獲得能夠體現(xiàn)文本上下文信息的語義向量,然后利用條件隨機場(CRF)[16]對BiLSTM輸出的數(shù)據(jù)進行解碼,該模型在CoNLL2003英文數(shù)據(jù)集上獲得較好的效果.類似的,廉龍穎[17]將BiLSTM-CRF應用在網(wǎng)絡空間安全領域?qū)嶓w識別中,李健龍等[18]將BiLSTM-CRF應用到軍事命名實體識別上,均取得不錯的效果.但中文存在字與詞的區(qū)別,基于詞特征抽取的BiLSTM-CRF模型實體識別效果受到分詞效果的限制,無法有效表征一詞多義的現(xiàn)象,因而實體識別性能有待進一步提高.Devlin等[19]提出基于雙向Transformer編碼的BERT模型,該模型通過超大數(shù)據(jù)、巨大模型和極大計算,能夠捕捉到任意字符間的語義關系特征,可以更好地表征不同語境中的語義信息.
最大邊際相關算法(MMR)也被用在摘要抽取的任務中,該算法最初用來查詢目標文本和被搜索文檔之間的相似度,然后據(jù)此對文檔進行排序.Carbonell 等[20]將MMR作為一種反冗余措施應用到文本摘要領域,并在TREC主題相關新聞數(shù)據(jù)集中證明了其去除冗余的有效性.王亞卓[21]將MMR應用于計算機行業(yè)專利文本摘要冗余處理,進一步證明了MMR可以有效降低文檔摘要的內(nèi)容冗余,對于提升文檔摘要的全面性起到充分的支持作用.
考慮到關鍵實體在摘要抽取中的作用,以及摘要抽取任務對降低摘要冗余度的要求,本文提出一個集成的BBCM-TextRank(BERT-BiLSTM-CRF-TextRank-MMR)算法,擬在充分考察文本中的實體特征的基礎上,從文本中抽取能較好概括文本中心主題且具有較低冗余度的摘要.其中,在命名實體識別過程中,擬采用BERT-BiLSTM-CRF框架,利用BERT預訓練模型生成字符的表示向量,利用BiLSTM-CRF架構在字符向量基礎上完成文本的命名實體識別.在摘要抽取過程中,基于Word2Vec詞向量得到句子特征向量;利用TextRank算法得到每個句子的權重值,并結合BERT-BiLSTM-CRF框架識別出的實體對句子的權重做進一步優(yōu)化;結合句子權重和MMR算法對句子進行冗余處理,保留權重值較大的句子作為文本候選摘要;最后按文本原順序排列句子并輸出摘要.本文算法的具體流程如圖1所示.
圖1 BBCM-TextRank抽取摘要流程
1.1.1 TextRank算法
TextRank是一種用于文本的基于圖排序的無監(jiān)督方法.TextRank算法將文本中的句子作為文本網(wǎng)絡圖的節(jié)點,句子間的相似度作為節(jié)點之間的權重值,從而構建出一個無向有權圖.通過對文本網(wǎng)絡圖的迭代計算完成對文本中句子重要性的排序,選出重要性最高的幾個句子作為文本摘要.
TextRank算法的文本網(wǎng)絡圖可表示為一個無向有權圖G=(V,W),其中V為節(jié)點的集合,W為各邊上權重的集合,假設V={V1,V2,…,Vn},則記W={wij|1≤i≤n,1≤j≤n},其中wij為節(jié)點Vi與Vj間邊的權重值.
對于一個包含n個句子的文本D,記D={S1,S2,…,Sn}.TextRank算法一般將句子抽象成節(jié)點V,即Vi=Si,句子之間的相似度抽象為節(jié)點之間的權重值W,即wij=similarity(Si,Sj),進而得到一個n×n的相似度矩陣Sn×n,公式為
根據(jù)G和Sn×n可計算出每個節(jié)點的權重值,公式為
(1)
其中:Score(Vi)為節(jié)點Vi的權重;wji為圖中節(jié)點Vj到Vi的邊的權值;d為阻尼系數(shù),表示從當前節(jié)點指向其他任意節(jié)點的可能性;In(Vi)和Out(Vj)分別為指向節(jié)點Vi的節(jié)點集合和從節(jié)點Vj出發(fā)的邊指向的節(jié)點集合.
則基于TextRank算法的文檔D中句子Si的權重值為
(2)
1.1.2 句子相似度計算
TextRank算法構建的文本網(wǎng)絡圖中,句子的權重取決于句子之間的相似度.因此,摘要提取的關鍵在于如何準確衡量句子之間的相似度.Word2Vec[15]基于大規(guī)模語料學習向量之間的相似性表示,可以更加準確地表征詞語之間的語義關系.
句子是由詞語組合而成,故句子向量可以用詞向量相加求平均表示,公式為
(3)
其中:Vecs表示句子s的向量,w為s中的詞語,Cs為s中的詞語的數(shù)量.
句子之間的相似度通過兩個句子在向量空間中的余弦相似度衡量,公式為
(4)
其中:cos(Vecsi,Vecsj)表示句子向量Vecsi和Vecsj之間的余弦相似度,n為句子向量的維數(shù),Vecsik為Vecsi向量第k維的值.
圖2 基于BERT-BiLSTM-CRF的命名實體識別流程
1.2.1 BERT預訓練語言模型
BERT模型是通過超大語料數(shù)據(jù)、基于巨大模型和消耗大規(guī)模算力訓練出的能夠充分表達文本語義特征的預訓練模型.如圖3所示,BERT模型采用了雙向多層Transformer結構,該結構可以反映任意位置上兩個字之間的相關程度,從而使輸出的各個字向量都充分融合了上下文的信息,有效解決了一詞多義的問題.
圖3 BERT模型結構
Transformer的每個編碼單元由多頭自注意力機制層(Multi-Head Self-Attention)、全連接層(FeedForward)、殘差連接和歸一化層(Add&Normal)組成.如圖4所示,輸入字向量經(jīng)過多頭自注意力層獲得反映與當前文本中各個字向量之間關系的增強語義向量;利用殘差網(wǎng)絡避免深層網(wǎng)絡條件下性能退化問題,通過歸一化將各輸入特征轉(zhuǎn)化成均值為0方差為1的數(shù)據(jù);全連接層引入非線性激活函數(shù)ReLu,通過變換輸出向量的空間來增加模型的表現(xiàn)能力.
圖4 Transformer編碼單元結構
Encoder的關鍵模塊是Multi-Head Self-Attention,其中Self-Attention研究的是句子中的每個字和句子中各個字之間的關系,Head指的是某個特定語義空間,Multi-Head即是多個語義空間.具體過程如下:
首先計算出當前字和句子之間的注意力向量:
(5)
其中:Q是當前字的向量;K是文本中各個字的向量;V是各個字的原始向量;dk是縮放因子,作用是縮小QKT的點乘結果,使模型的梯度更穩(wěn)定.
則不同頭下的Attention向量為
(6)
可以得出,Multi-Head Self-Attention將句子置于不同語義空間下做Self-Attention計算并將結果進行拼接,再通過一次線性變換將拼接結果轉(zhuǎn)換成和原始向量維度相同的多頭自注意力向量,從而得到每個字的增強語義向量.
MultiHead(Q,K,V)=Concat(head1,head2,…,headn)W0.
(7)
其中W0是附加權重.
1.2.2 BiLSTM
LSTM[16]是一種可以有效利用文本數(shù)據(jù)中時序信息,且不具備梯度消失缺陷的改進型RNN.如圖5所示,LSTM由輸入門、輸出門、遺忘門3個控制單元和一個記憶單元構成.輸入門決定什么樣的信息會被保留,遺忘門決定什么樣的信息會被遺棄,輸出門決定有多少信息可以輸出,記憶單元則是對信息進行管理和保存.通過LSTM單元中3個門的參數(shù)可以有效管理記憶單元中的信息,使得有用的信息經(jīng)過較長的序列也能存儲在記憶單元中.
圖5 LSTM單元結構
(8)
其中:σ是激活函數(shù)sigmoid,tanh是雙曲正切激活函數(shù),W和b分別代表門的權重矩陣和偏置向量.
(9)
進而結合輸出門ot和當前的細胞狀態(tài)ct計算出當前隱層狀態(tài)ht.
ot=σ(Wo·[ht-1,xt]+bo),ht=ot*tanh(ct).
(10)
LSTM僅存儲了當前文本的上文信息,而下文信息對于NER任務也有非常重要的參考意義.BiLSTM基于LSTM進行優(yōu)化,綜合考慮了上下文信息,在序列標記任務上具有突出的表現(xiàn)[16].故本文采用BiLSTM模型,其結構見圖6.
圖6 BiLSTM結構
1.2.3 CRF
CRF是根據(jù)設定好的特征函數(shù)組對序列標簽之間存在的依賴關系進行判斷的一種判別式模型.BiLSTM層輸出的結果是單獨的標簽解碼,并沒有考慮到預測標簽信息的前后連貫性,而CRF能夠?qū)W習輸出結果序列標簽之間的依賴關系,可以有效解決該問題,保證最終識別結果的合理性.
給定句子x=(x1,x2,…,xn),經(jīng)過BERT和BiLSTM層輸出的不同實體標簽得分概率P=(P1,P2,…,Pn),可以得到句子x預測為標簽序列y=(y1,y2,…,yn)的概率,公式為
(11)
其中:Pi,yi是第i個字對應標簽yi的分值,Wyi,yi+1是從yi標簽轉(zhuǎn)移到y(tǒng)i+1標簽概率.
(12)
其中Y是所有可能的標簽序列集合.
MMR算法在設計之初是用來計算目標文本與被搜索文檔之間的相似度,并對文檔進行排序.公式為
(13)
其中:Q是目標文本,C是被搜索文檔集合,R是計算的相關度集合,di代表C中的某個句子.
本文將MMR算法與句子權重融合,用當前句子的權重值代替句子和文本的相似度,具體公式為
MMR(si)=max[λ×score(si)-(1-λ)×max[similarity(si,D)]].
(14)
其中:si為D中的第i個句子,score(si)表示句子si的權重值,λ為可變系數(shù).
2.1.1 數(shù)據(jù)集、標注條件及評價方法
使用2014年人民日報語料標注數(shù)據(jù)集,來驗證本文提出的基于BERT-BiLSTM-CRF算法對中文人名、地名、機構名、時間名四類實體進行命名實體識別的效果,數(shù)據(jù)集的具體信息如表1所示.
表1 人民日報實體標注數(shù)據(jù)集
本文的命名實體識別序列標注使用BIO標注方法,在實體預測時預測實體邊界和類型,待預測的標記有“B_PER”“I_PER”“B_LOC”“I_LOC”“B_ORG”“I_ORG”“B_T”“I_T”和“O”9種,其中B_PER表示實體開始部分、I_PER表示實體非開始部分、O表示非實體部分,其他類型實體標簽以此類推.
采用準確率P、召回率R和F1值作為命名實體識別的評價指標.其中實體預測正確的條件是實體的邊界和類型全都預測正確.
2.1.2 實驗參數(shù)
本文實驗環(huán)境如表2所示.
表2 實驗環(huán)境
BERT預訓練模型采用Google的BERT-Base-Chinese,該模型共12層,768個隱藏單元,12個注意力頭,具體超參數(shù)設置如表3所示.
表3 模型的超參數(shù)
2.1.3 實驗結果及分析
為了驗證BERT-BiLSTM-CRF模型的有效性,與BiLSTM-CRF模型進行了命名實體識別對比實驗,實驗結果如表4所示.
表4 不同模型的命名實體識別結果比較
從表4中可以看出,BERT-BiLSTM-CRF模型相對于BiLSTM-CRF模型取得了更為優(yōu)異的實體識別結果.說明在命名實體識別任務中,BERT預訓練語言模型可以較好地表征字的多義性.在后續(xù)的文本摘要提取任務中,將采用BERT-BiLSTM-CRF模型進行命名實體的識別.
2.2.1 數(shù)據(jù)集及評價方法
LCSTS數(shù)據(jù)集[22]采集于新浪微博,其中包含人工打分標記過的短文本-摘要對,得分范圍為1到5,得分高低代表短文本與相應摘要之間的相關性大小.本文從LCSTS數(shù)據(jù)集中隨機選取1 000篇短文本-摘要對(評分為5)作為測試文本數(shù)據(jù)集,評分為5表明相應摘要與短文本之間有較高的相關性,符合文本摘要的要求,可以作為標準摘要來使用,具體信息如表5所示.
表5 LCSTS數(shù)據(jù)集
本文采用Rouge指標來對算法生成的摘要進行評估,Rouge基于摘要中n元詞的共現(xiàn)信息來評價摘要,是一種面向n元詞召回率的自動摘要評價方法.其基本思想是將算法自動生成的摘要與測試數(shù)據(jù)集的標準摘要進行對比,通過統(tǒng)計二者之間重疊的基本單元的數(shù)量來評價摘要的質(zhì)量.本文選取Rouge-1、Rouge-2、Rouge-L 3種評價指標來評價算法生成摘要的質(zhì)量.
2.2.2 數(shù)據(jù)集及評價方法
本文TextRank使用基于知乎文本數(shù)據(jù)的Word2Vec模型[23],阻尼系數(shù)d取0.85[7],MMR的λ參數(shù)[20]取0.8,實驗環(huán)境同表2.
2.2.3 實驗結果及分析
為了驗證BBCM-TextRank算法的有效性,將本文算法TextRank算法及現(xiàn)有研究中基于TextRank的改進算法SW-TextRank[13]等設置對比實驗,并通過Rouge-1、Rouge-2、Rouge-L 3種評價指標來對各個算法生成的摘要進行評估.實驗結果如表6所示.
表6 算法性能對比
從表6中可以看出,本文提出的BBCM-TextRank算法在Rouge-1、Rouge-2和Rouge-L 3種評價指標上均有明顯的提高,BBCM-TextRank算法生成摘要的質(zhì)量更好.BBC-TextRank相對于TextRank,其Rouge-1、Rouge-2、Rouge-L分別提高了2.71%,1.98%,2.28%,說明通過實體識別獲得的實體權重可以有效優(yōu)化句子權重,提升了摘要反映文本信息的準確性;TextRank-MMR相對于TextRank,其Rouge-1、Rouge-2、Rouge-L分別提高了12.78%,6.7%,9.61%,說明加入MMR算法可以有效去除摘要中的冗余句子,提升了摘要反映文本信息的全面性;BBCM-TextRank結合BBC-TextRank和TextRank-MMR的優(yōu)勢,相對于TextRank,其Rouge-1、Rouge-2、Rouge-L分別提高了18.85%,11.94%和15.1%,說明通過BBCM-TextRank提取的摘要兼顧了反映文本信息的準確性和全面性,并且較最新基于TextRank的改進算法SW-TextRank,其Rouge-1、Rouge-2、Rouge-L分別提高了4.14%,3.8%和3.98%.
綜合實驗結果可知,BBCM-TextRank算法根據(jù)中文文本的特點,考慮文本時間、地點、人名和組織等重要實體因素,可以有效優(yōu)化句子權重,結合冗余處理,可以明顯提高生成摘要的質(zhì)量.
TextRank算法是在抽取式文本摘要生成中最常用的確定句子權重的方法,但該方法僅依賴文本間相似度來計算句子權重,這容易導致抽取的摘要句間存在較高的冗余.針對這個問題,本文提出了一種結合深度學習算法的BBCM-TextRank模型.該模型采用Word2Vec模型來生成語句向量,相對于傳統(tǒng)的TF-IDF更能捕捉語句的上下文語義信息.同時,考慮到中文文本中時間、人物、地點等實體對句子理解和語義保持的重要性,采用BERT-BiLSTM-CRF模型識別文本中的重要實體.結合識別出的實體以及句子間的語義相似性確定句子的權重,考慮到摘要要盡可能多樣地反映文本的語義內(nèi)容,在模型中增加MMR算法,以降低文本摘要的冗余,保證提取摘要的語義多樣性.通過與TextRank算法以及與最新的摘要提取算法的對比實驗,驗證了BBCM-TextRank算法能生成質(zhì)量更好的摘要.但本文提出的模型也存在一定的局限性,本文主要針對短文本摘要數(shù)據(jù)集,沒有面向長文本摘要數(shù)據(jù)集.下一步將針對長文本數(shù)據(jù)集進行摘要研究,強化摘要模型的通用性.