閻紅燦,李鉑初,谷建濤
(1.華北理工大學(xué)理學(xué)院,河北 唐山 063210;2.河北省數(shù)據(jù)科學(xué)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,河北 唐山 063000)
文摘自動生成[1]是自然語言處理領(lǐng)域中一項(xiàng)重要研究內(nèi)容。面對如今互聯(lián)網(wǎng)上日益增加的信息,文摘自動生成技術(shù)從海量的信息中提取有用的部分,可以提高人們獲取信息的效率,節(jié)省時間。
文摘自動生成[2]方法分為抽取式和生成式2類,前者是從原始文檔中提取關(guān)鍵句子、短語或單詞來組成摘要;后者是根據(jù)對原始輸入文本的理解來形成摘要。抽取式文摘自動生成方法生成的摘要通??梢员A粼闹械闹匾畔?且保證了摘要句子語法正確,缺點(diǎn)是可能出現(xiàn)重復(fù)信息,且生成的摘要缺乏連貫性。生成式文摘自動生成方法是讓模型嘗試?yán)斫馕谋镜膬?nèi)容后輸出摘要,這種方法可能生成原文中沒有的單詞,具有生成高質(zhì)量摘要的潛力,但需要大量的訓(xùn)練,并且生成的摘要可能會出現(xiàn)語法錯誤或病句。總體來說,抽取式文摘自動生成方法更適合對較長的文章進(jìn)行摘要生成,生成式文摘自動生成方法更適合對短文本生成摘要。
常見的抽取式文摘自動生成方法有基于圖的方法、基于特征評分的方法和基于序列標(biāo)注的方法等。其中,TextRank[3]算法是一種基于圖模型的算法,通過構(gòu)建拓?fù)浣Y(jié)構(gòu)圖,以句子間的相似度作為權(quán)值進(jìn)行迭代來對詞句進(jìn)行排序,并選擇排序靠前的句子作為摘要。本文提出了一種基于共現(xiàn)關(guān)鍵詞的TextRank算法,通過word2vec模型、同類文章共現(xiàn)關(guān)鍵詞改進(jìn)了原始TextRank算法向量化表示的問題,基于關(guān)鍵詞和句子長度對迭代后的節(jié)點(diǎn)進(jìn)行了權(quán)重修正,使用最大邊緣相關(guān)算法對摘要句子選擇的不足之處進(jìn)行了改進(jìn)。
TextRank算法的思想來源于網(wǎng)頁重要性排序算法PageRank[4]。PageRank算法基于其他網(wǎng)頁到該網(wǎng)頁的鏈接數(shù)量進(jìn)行排序,以頁面之間的鏈接關(guān)系來計(jì)算每個頁面的重要性。而TextRank算法將每個句子或詞視為PageRank算法中的網(wǎng)頁,并將PageRank中的有向邊變?yōu)闊o向邊,根據(jù)詞之間的共現(xiàn)關(guān)系生成權(quán)重并構(gòu)造TextRank網(wǎng)絡(luò)圖。其簡要步驟如下所示:
(1)將給定的文檔D分割成n個句子S1,S2,…,Sn,每個句子是由單詞組成的集合,之后構(gòu)造網(wǎng)絡(luò)圖G=(V,E),其中,V是文檔的句子集合;E是節(jié)點(diǎn)之間的邊的集合,形如(Vi,Vj),代表節(jié)點(diǎn)Vi和節(jié)點(diǎn)Vj之間有一條邊。用式(1)計(jì)算句子之間的相似度作為邊的權(quán)值:
Wij=similarity(Si,Sj)=
(1)
(2)加入權(quán)值W,形成無向有權(quán)網(wǎng)絡(luò)圖G′=(V,E,W),迭代計(jì)算其中每個節(jié)點(diǎn)的累加權(quán)重 ,如式(2)所示:
(2)
其中,Wij表示2個節(jié)點(diǎn)Vi和Vj之間的權(quán)重,即2個句子Si和Sj間的相似度;In(Vi)表示指向節(jié)點(diǎn)Vi的邊的集合,Out(Vj)表示從節(jié)點(diǎn)Vj出發(fā)的邊的集合,其中Vi和Vj分別為待計(jì)算節(jié)點(diǎn)和待分享節(jié)點(diǎn),故WS(Vi)為待計(jì)算節(jié)點(diǎn)權(quán)重,WS(Vj)為待分享節(jié)點(diǎn)權(quán)重;d為阻尼系數(shù),表示從某一節(jié)點(diǎn)跳轉(zhuǎn)到任意節(jié)點(diǎn)的概率。
(3)用式(2)進(jìn)行迭代計(jì)算來更新每個句子節(jié)點(diǎn)的權(quán)重直到收斂(即某節(jié)點(diǎn)前后2次計(jì)算得到的權(quán)重值之差小于給定閾值),收斂后停止迭代計(jì)算。
(4)將收斂后得到的權(quán)重值排序,選取前k個權(quán)重值的節(jié)點(diǎn)對應(yīng)的句子作為摘要句,其中k為自定義變量。
在TextRank算法中,每個節(jié)點(diǎn)最終得到的累加權(quán)重由該節(jié)點(diǎn)的自身內(nèi)容和與該節(jié)點(diǎn)連接的其他節(jié)點(diǎn)給該節(jié)點(diǎn)的傳遞權(quán)重共同構(gòu)成。節(jié)點(diǎn)的最終權(quán)重值越高,表示該節(jié)點(diǎn)的內(nèi)容越重要、與其他節(jié)點(diǎn)的關(guān)系越緊密,因此可以認(rèn)為該節(jié)點(diǎn)代表的句子較能體現(xiàn)原文的主題。
國內(nèi)外研究人員對TextRank算法中文本向量表示、詞頻權(quán)重和句子相似度計(jì)算等內(nèi)容進(jìn)行了深入研究。文獻(xiàn)[5]采用word2vec模型進(jìn)行文本向量表示,結(jié)合詞頻逆句頻和詞向量共同計(jì)算句子節(jié)點(diǎn)權(quán)重,并采用最大邊緣相關(guān)MMR(Maximal Marginal Relevance)算法去除摘要中的冗余。文獻(xiàn)[6]采用TextRank算法抽取文章中的關(guān)鍵詞,并用BM25(Best Match 25)算法計(jì)算句子間相似度。文獻(xiàn)[7]使用自然語言預(yù)訓(xùn)練模型BERT(Bidirectional Encoder Representation from Transformers)進(jìn)行句向量編碼,根據(jù)句子位置、標(biāo)題、專有名詞和總結(jié)詞等特征信息調(diào)整詞頻權(quán)重,最后將得到的摘要進(jìn)行去冗余處理。文獻(xiàn)[8]訓(xùn)練了GloVe(Global Vectors)詞向量并將其應(yīng)用到傳統(tǒng)的TextRank算法中。文獻(xiàn)[9]用語料訓(xùn)練word2vec模型并把句子轉(zhuǎn)化為向量形式,將句子中關(guān)鍵詞的覆蓋率和句子與文章標(biāo)題的相似度加入句子的權(quán)值計(jì)算中。文獻(xiàn)[10]用句子長度、句子位置、特殊句子、句子與標(biāo)題相似度以及每句中的主題詞是否在標(biāo)題出現(xiàn)來調(diào)整詞頻權(quán)重。文獻(xiàn)[11]將標(biāo)題、段落、特殊句子、句子位置和長度等信息特征引入到TextRank網(wǎng)絡(luò)圖的構(gòu)造中。Barrios等[12]將句子間相同內(nèi)容、最長公共字串、余弦相似度、BM25和BM25+等計(jì)算句子相似度的方法進(jìn)行了對比。曹洋[13]對比了編輯距離、WordNet語義詞典和BM25等方法在TextRank算法中的效果。此外還有將TextRank算法與機(jī)器學(xué)習(xí)結(jié)合或考慮更多相似文章調(diào)整詞頻權(quán)重的算法。例如,文獻(xiàn)[7]用Doc2Vec模型進(jìn)行文本向量化后,采用K-means算法對相似文本進(jìn)行聚類,根據(jù)句子間的位置關(guān)系以及單句與標(biāo)題相似度調(diào)整句子權(quán)重,最后從每類句子中選出權(quán)重最高的句子生成摘要;文獻(xiàn)[15]在計(jì)算句子權(quán)重時將有相同主張的句子加入權(quán)重計(jì)算。
國內(nèi)外研究人員對于TextRank算法的研究有效改進(jìn)了TextRank算法的幾個缺點(diǎn):(1)原始的TextRank算法計(jì)算2個句子間相似距離時采用比較相同詞語個數(shù)的方法,沒有考慮語義信息,可能會使后續(xù)的迭代準(zhǔn)確率下降;使用word2vec、BERT等模型表示文本有效解決了這一問題。(2)TextRank算法中句子節(jié)點(diǎn)的累加權(quán)重取決于句子間的相似度而未考慮其它特征;使用句子長度、句子位置、句子與標(biāo)題相似度、總結(jié)詞等特征可以更全面地考慮句子間的關(guān)系等要素,降低了高頻詞對結(jié)果的影響。(3)TextRank算法提取的摘要中可能包含語義重復(fù)或相似的句子,可能導(dǎo)致摘要全面度下降;使用MMR算法可以有效解決該問題。已有的研究對于TextRank算法的句子表示、句子權(quán)重和去冗余方面均有改進(jìn),但對于數(shù)據(jù)預(yù)處理方面的改進(jìn)較少,TextRank算法在分詞、停用詞選擇、節(jié)點(diǎn)初始權(quán)值設(shè)置等數(shù)據(jù)預(yù)處理方面仍有改進(jìn)空間。
TF-IDF(Term Frequency—Inverse Document Frequency)是一種統(tǒng)計(jì)方法,用以評估詞語在語料庫中的重要程度。
詞頻TF計(jì)算方法有2種,分別如式(3)和式(4)所示,表示詞在一篇文檔中出現(xiàn)的頻率,出現(xiàn)頻率越高,TF值越大。
(3)
(4)
逆文檔頻率IDF,計(jì)算方法如式(5)所示,IDF的值與詞在總的語料庫中出現(xiàn)的頻率成反比,出現(xiàn)頻率越小,說明這個詞的區(qū)分度越大,IDF值越大。
(5)
TF-IDF的計(jì)算公式如式(6)所示,其在關(guān)鍵詞抽取中的主要思想是:某個詞或短語在一篇文檔中出現(xiàn)的頻率高,而在其他文檔中出現(xiàn)的頻率低,則認(rèn)為該詞或短語具有很好的類別區(qū)分能力,可以作為該文檔的關(guān)鍵詞。
TF-IDF=TF×IDF
(6)
MMR算法用于計(jì)算文本與文檔之間的相似度,其公式如式(7)所示:
(7)
因?yàn)槲恼轮锌赡軙诙嗵幱貌煌恼Z言表達(dá)文章的主要內(nèi)容,這些句子相似度較高,因此抽取式文摘自動生成方法難免會產(chǎn)生意思重復(fù)的句子。 MMR算法多被用于去除摘要句中可能出現(xiàn)的冗余,使摘要的相關(guān)性和多樣性相對平衡。
word2vec是Google在2013年發(fā)布的一個開源詞向量表征工具,可以將詞表征為實(shí)數(shù)值向量。word2vec采用的模型有連續(xù)詞袋CBOW(Continuous Bag Of Words)模型和Skip-Gram 2種。其中,CBOW模型能夠根據(jù)輸入周圍n-1個詞來預(yù)測這個詞本身,而Skip-gram模型能夠根據(jù)詞本身來預(yù)測周圍有哪些詞。
word2vec是從大量文本語料中以無監(jiān)督的方式學(xué)習(xí)語義知識的一種模型。經(jīng)過訓(xùn)練后的word2vec模型可以把文本內(nèi)容簡化為K維向量空間中的向量,而向量空間上的相似度可以用來表示文本語義上的相似度。因此,某些意思相近卻在傳統(tǒng)模型中毫無聯(lián)系的詞通過word2vec模型可以體現(xiàn)出較高的相似度。
由于原始的TextRank算法只從一篇文章中提取摘要,且代表句子的節(jié)點(diǎn)的權(quán)重取決于該句子與其他句子的相似度,即在文中出現(xiàn)次數(shù)較多的詞所在的句子更可能被選中,這導(dǎo)致某些較重要但出現(xiàn)頻率較低的詞所在的句子不被重視,且生成的摘要中會存在重復(fù)信息。針對其存在的語義無法充分表達(dá)、句中高頻詞對結(jié)果影響較大及摘要冗余問題,本文對TextRank算法進(jìn)行改進(jìn),提出一種抽取式自動摘要技術(shù)。首先,整理出各類新聞文章常用的專有名詞,在計(jì)算句子權(quán)重時,將該類文章的共現(xiàn)關(guān)鍵詞加入詞頻權(quán)重的計(jì)算中,同時考慮句子長度和關(guān)鍵詞等特征信息;然后,在抽取摘要后用MMR算法去除生成摘要中的冗余信息;同時,為了讓算法獲得更好的句向量表達(dá),本文使用預(yù)訓(xùn)練好的word2vec詞向量模型表示句向量。
本文算法流程如圖1所示。
Figure 1 Flow chart of the proposed algorithm圖1 本文所提算法流程圖
具體步驟如下:
(1)對關(guān)鍵詞文檔的內(nèi)容進(jìn)行預(yù)處理。
①將關(guān)鍵詞文檔進(jìn)行分詞,去除停用詞、標(biāo)點(diǎn)符號以及分詞后長度為1的詞;
②采用TextRank算法對關(guān)鍵詞文檔中的每一條文檔提取10個關(guān)鍵詞;
③統(tǒng)計(jì)每一類關(guān)鍵詞文檔中的關(guān)鍵詞,依據(jù)Gini指數(shù)(Gini Impurity)與詞頻相結(jié)合的方法選取詞,組成該類文檔的共現(xiàn)關(guān)鍵詞詞庫。
(2)對測試文檔內(nèi)容進(jìn)行預(yù)處理。
①計(jì)算文檔中每個詞的TF-IDF值,選出前5個詞(若為停用詞,表中的詞順延)作為關(guān)鍵詞。
②將文檔用標(biāo)點(diǎn)符號分割為句子,生成句子集合,再對集合中的句子進(jìn)行分詞,去除停用詞、標(biāo)點(diǎn)以及單字詞。
(3)將關(guān)鍵詞文檔與測試文檔的文本轉(zhuǎn)為詞向量,使文本變?yōu)樘卣飨蛄俊?/p>
(4)構(gòu)建測試文檔中每個句子之間的相似度矩陣,在構(gòu)建過程中加入共現(xiàn)關(guān)鍵詞向量。
(5)利用相似度矩陣構(gòu)建圖結(jié)構(gòu),每個句子被視作一個節(jié)點(diǎn),用式(8)對矩陣進(jìn)行迭代計(jì)算直到收斂:
keyWS(Vi)=keywords*(1-d)+
(8)
其中,keywords表示當(dāng)前輸入類文檔的共現(xiàn)關(guān)鍵詞得到的詞向量與該文本向量的余弦相似度,阻尼系數(shù)d在本文中默認(rèn)取0.8。
(6)將迭代后的句子權(quán)重值進(jìn)行調(diào)整,如式(9)所示:
WS′=WS*keyword*len
(9)
其中,WS表示之前計(jì)算出的句子的權(quán)值(其大小用于句子排序),keyword表示關(guān)鍵詞權(quán)重,len表示長度權(quán)重。
①keyword計(jì)算方法:首先計(jì)算每個句子中本文關(guān)鍵詞數(shù)量和共現(xiàn)關(guān)鍵詞數(shù)量,那么每個句子的關(guān)鍵詞權(quán)重=1+(本文關(guān)鍵詞數(shù)量+共現(xiàn)關(guān)鍵詞數(shù)量)/(所有句子本文關(guān)鍵詞數(shù)量和+所有句子共現(xiàn)關(guān)鍵詞數(shù)量和)。
②len計(jì)算方法:將長度大于最長句子長度*0.8且關(guān)鍵詞數(shù)量少于2的句子權(quán)重置為0。將長度小于最長句子長度*0.2且關(guān)鍵詞數(shù)量少于1的句子權(quán)重置為0。
(7)根據(jù)句子的權(quán)重值WS′選擇排名靠前的s個句子作為備選摘要,其中s取值為5~8。
(8)對s句備選摘要應(yīng)用MMR算法進(jìn)行重新排序,MMR算法在計(jì)算權(quán)重時會減去該句子與其前面句子的相似度。
(9)輸出排名靠前的3句作為最終摘要。
關(guān)鍵詞抽取任務(wù)是從一段文本中自動抽出若干有意義的詞語或詞組。本文用TextRank和TF-IDF 2種算法提取文檔中的關(guān)鍵詞。Text- Rank算法抽取關(guān)鍵詞時采用共現(xiàn)關(guān)系構(gòu)造任2點(diǎn)之間的邊,即:當(dāng)2個詞語在長度為K的窗口中同時出現(xiàn)時,代表2個詞語的節(jié)點(diǎn)之間存在邊,其中K表示每次選擇詞匯時的窗口大小。文獻(xiàn)[16-18]采用TextRank算法進(jìn)行關(guān)鍵詞的提取。文獻(xiàn)[16]考慮了詞句之間的文章結(jié)構(gòu)信息。文獻(xiàn)[17]則考慮了詞頻、詞性和詞語間的語義關(guān)系等信息。文獻(xiàn)[18]在關(guān)鍵詞提取中加入了粗糙數(shù)據(jù)推理,分詞去重后對候選關(guān)鍵詞按照相似性劃分不同的等價類,將不同等價類中2個存在關(guān)聯(lián)的詞及其關(guān)聯(lián)值加入到關(guān)聯(lián)集合中,根據(jù)關(guān)聯(lián)集合構(gòu)造關(guān)鍵詞圖進(jìn)行迭代計(jì)算。TF-IDF算法的核心思想為:一個詞在一篇文檔中出現(xiàn)的頻率越高,它對文檔的貢獻(xiàn)就越大;一個詞在所有文檔中出現(xiàn)的頻率越高,它對于區(qū)分不同文檔的作用就越小。因此,一個詞的重要度隨著它在本篇文檔中出現(xiàn)的次數(shù)而增加,同時隨著它在語料庫出現(xiàn)的頻率反比下降。該算法抽取關(guān)鍵詞時有時更能抓住文章特有的關(guān)鍵詞。故本文采用TextRank算法抽取共現(xiàn)關(guān)鍵詞詞庫所需的關(guān)鍵詞,用TF-IDF算法抽取每篇測試文檔中的關(guān)鍵詞。
考慮到網(wǎng)站對不同類型的新聞咨詢進(jìn)行了分類,本文選取每種類型新聞的高頻關(guān)鍵詞組成共現(xiàn)關(guān)鍵詞詞庫。具體做法為:從同類文檔的每篇文檔中選取關(guān)鍵詞,統(tǒng)計(jì)每個關(guān)鍵詞在該類文檔中的出現(xiàn)頻率,選擇出現(xiàn)頻率較高的詞語作為該類文檔的共現(xiàn)關(guān)鍵詞。共現(xiàn)關(guān)鍵詞選取步驟如下:
(1)選取超高頻有意義詞:將關(guān)鍵詞中出現(xiàn)次數(shù)大于該類新聞總篇數(shù)/50的非停用詞加入關(guān)鍵詞表。
(2)通過計(jì)算每個詞在每個類中的Gini指數(shù)選取適合的中頻有意義詞:
①選取中頻詞:計(jì)算每個詞出現(xiàn)次數(shù)/該類新聞總篇數(shù)*1000,保留大于1的詞,并將結(jié)果記為頻次值count。為便于第②步計(jì)算,對count進(jìn)行四舍五入取整。
②計(jì)算Gini值:計(jì)算每個類中每個詞的Gini值,如式(10)所示:
gini=1-(currentcount/total)2-
(othercount/total)2
(10)
其中,total表示所有類中該詞總數(shù),currentcount為本類中該詞的頻次值,othercount為其它類中該詞的頻次值。
李偉:我剛才說了,肯定還會和順豐的市場戰(zhàn)略配合著進(jìn)行。至于具體到什么公司會被收購,我做這樣的預(yù)測沒有太大的意義,又不是要買股票(笑)。但我想說,2018年順豐做得很成功,這是順豐一個里程碑的年份,相信明年順豐會做得更好。
③選出共現(xiàn)關(guān)鍵詞:選擇每類中Gini值小于0.2,且currentcount大于othercount的詞。
(3)結(jié)合(1)與(2)中選出的詞,得到各類的共現(xiàn)關(guān)鍵詞詞庫。
考慮到某些過短的句子不包含文章的主要信息,以及某些過長的句子包含的主要信息較少,本文將句子長度系數(shù)SL小于0.2且不包含關(guān)鍵詞的句子和句子長度系數(shù)SL大于0.8且包含關(guān)鍵詞個數(shù)較少的句子去除。句子長度系數(shù)SL的計(jì)算如式(11)所示:
(11)
其中,S表示句子的長度,SM表示句子長度中位數(shù)。
實(shí)驗(yàn)使用到的數(shù)據(jù)集包括停用詞表、共現(xiàn)關(guān)鍵詞數(shù)據(jù)集和測試數(shù)據(jù)集。
(1)停用詞表:本文對網(wǎng)上現(xiàn)存的各種停用詞表(哈爾濱工業(yè)大學(xué)停用詞詞庫、百度停用詞表等)中的中文詞進(jìn)行整理、去重,與通用符號一起組合成本文所用停用詞表。
(2)共現(xiàn)關(guān)鍵詞數(shù)據(jù)集:本文提取共現(xiàn)關(guān)鍵詞的數(shù)據(jù)集來自于清華大學(xué)自然語言處理實(shí)驗(yàn)室推出的中文文本新聞數(shù)據(jù)集,共有14類總計(jì)約80余萬條新聞,從中選取娛樂、財(cái)經(jīng)、體育、房產(chǎn)和教育類文章,從每篇文章中提取10個關(guān)鍵詞,累加每個詞出現(xiàn)的次數(shù),依據(jù)3.2節(jié)的方法選取關(guān)鍵詞組成該類文章的共現(xiàn)關(guān)鍵詞詞庫。
(3)測試數(shù)據(jù)集:由于中文文摘自動生成沒有較為通用的評估語料,因此本文測試文本數(shù)據(jù)集取自上述中文文本新聞數(shù)據(jù)集,從娛樂、財(cái)經(jīng)、體育、房產(chǎn)和教育5類文章中,找出有標(biāo)題且不存在小標(biāo)題的文章,各選取20~30篇句子數(shù)超過15的長文本組成測試集。
由于測試數(shù)據(jù)集沒有參考摘要,無法用文摘生成通用評價指標(biāo)ROUGE(Recall-Oriented Understudy for Gisting Evaluation)評價摘要質(zhì)量。本文使用一種標(biāo)題-有意義詞評價方法,該方法與文獻(xiàn)[19]中采用的評價方法的中心思想類似。由于標(biāo)題往往代表著文章的中心思想,可以視為全文的簡要總結(jié),因此本文將標(biāo)題去除停用詞后剩下的詞視為“有意義詞”,并通過式(12)計(jì)算摘要效果:
(12)
其中,word表示“有意義詞”個數(shù),word′表示摘要中包含的“有意義詞”個數(shù),kw表示同時也是本文關(guān)鍵詞的“有意義詞”個數(shù),kw′表示摘要中包含的kw詞個數(shù)。通過對總數(shù)據(jù)集中抽取200條帶標(biāo)題的新聞進(jìn)行預(yù)先評估,發(fā)現(xiàn)標(biāo)題往往可被視作最精簡的“摘要”,證明了該評價方法有較強(qiáng)的可靠性。同時,本文抽取acc值較高和較低的一篇摘要人工查看摘要效果。
4.3.1 基于共現(xiàn)關(guān)鍵詞的TextRank算法與其它TextRank算法對比
本節(jié)將基于共現(xiàn)關(guān)鍵詞的TextRank算法與文獻(xiàn)[9,11,20]中的算法進(jìn)行對比。綜合各個算法的優(yōu)缺點(diǎn),按照以下2個思路進(jìn)行算法對比:(1)部分算法將關(guān)鍵詞覆蓋率、句子與標(biāo)題相似度等引入到TextRank網(wǎng)絡(luò)圖的構(gòu)造中;將特殊句子、句子位置等信息引入到權(quán)值傳遞中。(2)部分算法使用關(guān)鍵句子、與標(biāo)題相似度、線索詞、句子位置和特殊句子等更多要素調(diào)整句子權(quán)重,并在選擇摘要時去除疑問句。需要說明的是,本文使用標(biāo)題作為評判依據(jù),并未使用其它文獻(xiàn)中計(jì)算每個句子與文章標(biāo)題相似度這一屬性。
圖2展示了本文所提算法、網(wǎng)絡(luò)圖改進(jìn)算法和句子權(quán)重改進(jìn)算法在6類新聞上的實(shí)驗(yàn)結(jié)果對比,可以看出,本文所提算法在大部分新聞類別上均有優(yōu)勢。
Figure 2 Comparison of the proposed algorithm with other TextRank algorithms圖2 所提算法與其它TextRank算法對比
網(wǎng)絡(luò)圖改進(jìn)算法:構(gòu)造句子間的網(wǎng)絡(luò)圖時,采用式(13)代替原本的句子間相似度計(jì)算:
Wij=a×similarity(Si,Sj)+
(13)
其中,P(Sj)表示句子Sj中關(guān)鍵詞與總詞數(shù)比例,a+b=1。在網(wǎng)絡(luò)圖迭代時,文檔中特殊句子(文章前兩句與末句、獨(dú)立成段的句子)傳遞權(quán)值時權(quán)值擴(kuò)大1.1倍。
句子權(quán)重改進(jìn)算法:得到句子權(quán)重排名后,采用式(14)重新計(jì)算權(quán)重:
NWS=WS*keyword*len*position*cueWords
(14)
其中,position表示句子位置權(quán)重,cueWords表示總結(jié)詞權(quán)重,keyword和len的含義與本文所提算法的相同。
同時,再將本文所提算法與原始TextRank算法進(jìn)行對比。為比較共現(xiàn)關(guān)鍵詞效果,還將本文所提算法分為加入與未加入共現(xiàn)關(guān)鍵詞進(jìn)行對比。本文所提算法從原文中選擇5句作為備選摘要,從備選摘要中選擇3句作為最終摘要;TextRank算法從原文中選擇3句話作為摘要,分別計(jì)算其acc值。圖3顯示了3種算法在各類新聞上的acc值。從圖3可以發(fā)現(xiàn),本文所提算法與原始TextRank算法相比,生成的摘要與標(biāo)題的關(guān)聯(lián)度提升明顯,加入共現(xiàn)關(guān)鍵詞信息后在大多類新聞中的acc值均有所提升。
Figure 3 Experimental results comparison between the proposed algorithm and original TextRank algorithm圖3 共現(xiàn)關(guān)鍵詞TextRank算法 與原始TextRank算法實(shí)驗(yàn)結(jié)果對比
表1和表2分別給出了acc值較高和較低的摘要結(jié)果示例。從表1可以看出,評分較高的共現(xiàn)關(guān)鍵詞TextRank算法生成的摘要包含了更多的標(biāo)題內(nèi)容,涵蓋的信息也更加全面。從表2可以看出,由于原文中大部分內(nèi)容與標(biāo)題關(guān)聯(lián)不大,因此摘要與標(biāo)題關(guān)聯(lián)性較低,但與無共現(xiàn)關(guān)鍵詞TextRank改進(jìn)算法及原始TextRank算法相比,本文所提算法生成的摘要表述更加全面,包含的信息也更多。
分析以上實(shí)驗(yàn)結(jié)果,體育類新聞中足球與籃球新聞較多,因此共現(xiàn)關(guān)鍵詞詞庫中多為足球和籃球相關(guān)內(nèi)容,而本文測試數(shù)據(jù)集中選擇的文章分類較為平均,因此共現(xiàn)關(guān)鍵詞反而影響了其他體育文章的摘要抽取。接下來,暫時排除測試數(shù)據(jù)中的體育與社會類文章,選取娛樂、財(cái)經(jīng)、房產(chǎn)和教育4類加入共現(xiàn)關(guān)鍵詞后效果提升較多的文章,研究阻尼系數(shù)d、備選摘要句數(shù)量與文中關(guān)鍵詞數(shù)量對結(jié)果的影響。
Table 1 Abstract results with higher acc values表1 選擇acc值較高的摘要結(jié)果
Table 2 Abstract results with low acc values表2 選擇acc值較低的摘要結(jié)果
4.3.2 不同阻尼系數(shù)d與共現(xiàn)關(guān)鍵詞的作用對句子權(quán)重的影響
本節(jié)對比了式(8)中d(共現(xiàn)關(guān)鍵詞所占比重)取不同值對本文所提算法性能的影響。如圖4所示,d取0.3,0.6,0.8時,無論d增大還是減小,acc值變化不大,但均高于不計(jì)算共現(xiàn)關(guān)鍵詞文本時的acc值,表明共現(xiàn)關(guān)鍵詞對原始TextRank算法的迭代計(jì)算權(quán)值起到了優(yōu)化效果。
Figure 4 Influences of proportion of co-occurrence words on summary quality圖4 共現(xiàn)詞所占比重對摘要質(zhì)量影響
4.3.3 MMR算法去除冗余的有效性
本節(jié)選擇不同數(shù)量的句子作為備選摘要,均通過MMR算法抽取3句生成最終摘要,以測試MMR算法的有效性。從圖5可以看出,備選摘要句越多,生成的最終摘要acc值越高,表明備選摘要句越多,生成的摘要內(nèi)容越豐富,與標(biāo)題關(guān)聯(lián)度越大,實(shí)驗(yàn)結(jié)果表明了MMR算法可以有效去除句子中的重復(fù)部分,在信息較多時可以保證生成信息的全面性。
Figure 5 Influence of different number of alternative summaries on summary quality圖5 不同數(shù)量備選摘要對摘要質(zhì)量影響
4.3.4 測試文本中選取不同數(shù)量關(guān)鍵詞
本文算法用文中的關(guān)鍵詞來調(diào)整迭代收斂后的句子權(quán)重值,通過比較圖6中選取不同數(shù)量關(guān)鍵詞得到的acc值可知,更多的關(guān)鍵詞(即更多的文中信息)可以提高生成摘要的準(zhǔn)確性。該結(jié)論與常識中包含越多關(guān)鍵詞的句子越重要相符。
Figure 6 Influence of different number of keywords on summary quality圖6 不同數(shù)量關(guān)鍵詞對摘要質(zhì)量影響
實(shí)驗(yàn)數(shù)據(jù)對比表明,本文所提算法中采用的加入關(guān)鍵詞文本計(jì)算、根據(jù)句中包含的關(guān)鍵詞數(shù)量調(diào)整權(quán)重和MMR算法均可以提升摘要質(zhì)量,證明了本文所提算法的有效性。
4.3.5 測試關(guān)鍵詞與句子長度對句子權(quán)重的修正效果
為驗(yàn)證關(guān)鍵詞與句子長度對句子權(quán)重的修正效果,本節(jié)比較是否修正句子權(quán)重在各數(shù)據(jù)集上的輸出結(jié)果。由圖7的結(jié)果可知,在大多數(shù)類別上經(jīng)過關(guān)鍵詞與句子長度的調(diào)整后生成的摘要質(zhì)量有所提升。
Figure 7 Influence of keywords and sentence length weight on summary quality圖7 關(guān)鍵詞與句子長度權(quán)重對摘要質(zhì)量影響
具體比較是否使用關(guān)鍵詞和句子長度修正句子權(quán)重排序的結(jié)果發(fā)現(xiàn),絕大多數(shù)修正后的句子權(quán)重排序有所變化,如果將排名前5~8句的句子作為整體考慮,約有40%的結(jié)果發(fā)生變化。人工校對部分結(jié)果表明,權(quán)重修正起正面效果的占多數(shù),與圖7中的結(jié)果相吻合,表明關(guān)鍵詞與句子長度對句子的權(quán)重能起到修正作用。
本文在綜合對比應(yīng)用TextRank算法自動生成摘要的過程中,找出其關(guān)鍵技術(shù)是句子的權(quán)重計(jì)算,提出了一種將該類文章共現(xiàn)關(guān)鍵詞加入計(jì)算,同時考慮了文中關(guān)鍵詞和句子長度,并加入了最大邊緣相關(guān)算法去除冗余的算法。實(shí)驗(yàn)結(jié)果表明,生成摘要的全面性和準(zhǔn)確性均有所提升,可以較好地反映原文主要內(nèi)容。但是,本文所提算法依然有抽取式摘要自動生成方法普遍存在的句子之間通順性較差、可能存在重復(fù)信息等問題。下一步擬與生成式摘要自動生成方法相結(jié)合,將摘要內(nèi)容進(jìn)一步縮短且保留其主要信息。