• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進TextRank的文本摘要自動提取

      2021-06-21 01:53:38汪旭祥
      計算機應用與軟件 2021年6期

      汪旭祥 韓 斌 高 瑞 陳 鵬

      (江蘇科技大學計算機學院 江蘇 鎮(zhèn)江 212003)

      0 引 言

      自動文本摘要屬于自然語言處理(Natural Language Processing,NLP)任務之一,旨在對文本進行處理從而生成簡潔、精煉的內容,即概要信息。自動文本摘要一般可以分為生成式(abstractive)摘要和抽取式(extractive)摘要[1]兩大類,前者是在理解整篇文章語義的基礎上,提取概括性信息;后者是從原文中找到與中心思想相近的一些句子作為摘要,屬于在句子的級別上生成摘要[2],從方法上可以劃分為基于統(tǒng)計信息方法、基于主題模型方法、基于圖模型方法和基于機器學習方法等。其中,基于圖模型方法的圖排序算法因其充分考慮文本圖的全局信息且不需要人工標注訓練集的特性,被廣泛應用于自動文本摘要領域[3-4]。TextRank算法作為一種經典的文本圖排序算法,它利用文本本身的信息和結構特征來實現(xiàn)文本摘要的自動提取[5]。2004年,Mihalcea等[6]在研究自動摘要提取過程中,借鑒Google公司的PageRank算法的思路,提出了TextRank算法,將句子間的相似關系看成是一種推薦或投票關系,由此構建TextRank網絡圖[7-8],并通過迭代計算至收斂來得到句子的權重值。自TextRank算法被提出以來,基于該算法的自動文本摘要的研究受到廣泛的關注。劉志明等[9]從情感特征出發(fā),通過LDA模型收斂主題,融合傳統(tǒng)多特征和情感相似度來提取目的摘要,但未考慮句子的上下文信息。文獻[10]將句法、語義和統(tǒng)計方法共同作用于句子的評分,提出了TextRankExt算法。文獻[11]分別比較了不同相似度計算方法的自動文摘效果,選擇了其中最優(yōu)的相似度計算方法,并結合句子位置、線索詞與經典TextRank來計算句子的權重。考慮到關鍵詞對文本摘要提取的重大作用,李峰等[12]基于TextRank使用關鍵詞擴展來提取文本摘要并取得了不錯的效果。但已有方法中都沒有綜合考慮文本中影響句子權重的因素,而這些因素對文本摘要提取的準確率有著重要的影響。

      本文融合Word2Vec模型和TextRank算法,基于Word2Vec訓練的詞向量來計算句子相似度,充分利用句子中詞語之間的語義關系;鑒于目前TextRank算法在句子權重的計算上尚有較大的提升空間,本文綜合考慮文本中句子的位置、句子與標題的相似度、關鍵詞的覆蓋率、關鍵句子以及線索詞等影響句子權重的因素,進而優(yōu)化句子權重;對得到的候選摘要句群進行冗余處理,選取適量排序靠前的句子,并根據其在原文中的順序重新排列得到最終文本的摘要。本文針對TextRank算法存在的不足做出了相應的改進,提出了SW-TextRank算法,最后通過實驗驗證了該算法生成摘要的效果比TextRank算法更好。

      1 TextRank算法

      TextRank算法是一種基于圖排序的無監(jiān)督方法,它起源于Google公司的PageRank算法。PageRank算法基于網頁鏈接的數量和質量來衡量網頁的重要程度,鑒于此,TextRank算法將所要獲取摘要的文本拆分成句子作為文本網絡圖中的節(jié)點,句子間的相似度用節(jié)點間的相似度來表示,從而構建基于句子結構關系的文本網絡圖。通過對文本網絡圖的迭代計算可以實現(xiàn)對文本中句子重要性進行排序,篩選出幾個最重要的句子作為文本的摘要。

      TextRank算法的文本網絡圖可以表示為一個帶權的無向網絡圖G=(V,E,W),其中:V為節(jié)點的集合,E為節(jié)點間各個邊的非空有限集合,W為各邊上權重的集合。假設V={V1,V2,…,Vn},則記E={(Vi,Vj)|Vi∈V,Vj∈V,wij∈W,wij≠0},W={wij|1≤i≤n,1≤j≤n},其中wij為節(jié)點Vi與Vj間邊的權重值。

      通過余弦相似度方法計算可得到句子間的一個n×n的相似度矩陣Sn×n:

      (1)

      式中:矩陣Sn×n為對稱矩陣,且對角線上的元素值全部取1。

      由G和對應的相似度矩陣Sn×n,可計算出每個節(jié)點的權重(即PR值)。對于任意節(jié)點Vi,In(Vi)表示指向Vi的節(jié)點集合,Out(Vi)表示Vi指向節(jié)點的集合。節(jié)點Vi的權重計算式表示為:

      (2)

      式中:WS(Vi)為節(jié)點Vi的權重;d為阻尼系數。WS(Vi)表示網絡圖中一個節(jié)點指向其他節(jié)點的概率,阻尼系數的取值不能過大也不能過小,過大會導致迭代次數激增,且算法的排序也極其不穩(wěn)定,過小則會導致算法沒有明顯的效果,一般取值為0.85。WS(Vj)表示上一次迭代后節(jié)點Vj的權重值,wji表示節(jié)點Vj和節(jié)點Vi間的相似度。則基于TextRank的文本網絡圖中各節(jié)點的權重的計算式表示為:

      (3)

      式中:si和sj表示文本中的句子;WS(si)表示句子si在TextRank網絡圖中的權重。

      TextRank算法計算邊權重的過程屬于馬爾可夫過程,通過迭代計算就能得到趨于正常和穩(wěn)定的權重值。首次使用TextRank算法計算各節(jié)點的權重時,需要指定每個節(jié)點的初始值,即自身的權重,設定所有節(jié)點的初始權重為1,則B0=(1,1,…,1)T,然后根據邊的權重遞歸迭代計算至收斂:

      Bi=Sn×n·Bi-1

      (4)

      只有當Bi與Bi-1的差值非常小且接近于零時才能很好地收斂。達到收斂時迭代計算結束,得到含有各個句子權重值的向量,然后依據句子的權重值大小對句子進行排序,根據實際需求選取適量排序靠前的句子,并按照其在原文中的順序排序,生成最終的文本摘要。

      2 算法設計

      2.1 句子相似度計算

      TextRank文本網絡圖中,迭代計算的結果主要受節(jié)點間權重,即句子間相似度的影響。因此,摘要提取的關鍵在于如何準確計算句子間的相似度。Word2Vec是一種可以高效訓練百萬數量級數據的詞向量計算工具,主要有CBOW和Skip-gram兩種模型[13]。Word2Vec從大規(guī)模語料庫中挖掘了詞語之間語義關系,提高了詞向量表示語義的準確度,并且生成的詞向量不存在維度災難問題。本文基于Word2Vec訓練的詞向量來計算句子之間的相似度,通過詞向量模型可以更加準確地區(qū)分每個詞語之間的語義關系。

      每個句子都是由一個個詞語組合而成的,因此句子相似度的計算可以歸結為句中詞語相似度的計算。詞語之間的相似度可以通過兩個詞語在空間模型中的余弦相似度衡量,其計算式表示為:

      (5)

      式中:vi、vj為詞向量;n為詞向量的維數;vik為vi向量第k維的值;vjk為vj向量第k維的值。

      當兩個句子中相似的詞語越多時其相似度越高,完全相同時其相似度為1。本文通過計算句子中詞語相似度的平均值來計算句子的相似度。計算兩句子相似度時,先要分別計算出每個句子中詞語相似度的均值,然后將得到的均值求和再取平均數,從而得到兩句子的相似度,則句子相似度的計算公式表示為:

      (6)

      式中:SM(si,sj)為句子si和句子sj的相似度;vi為si中的詞語;vj為sj中的詞語;cos(vi,vj)表示vi、vj兩個詞向量的余弦相似度。

      2.2 句子權重計算

      目前TextRank算法在句子權重的計算上尚有較大的提升空間,SW-TextRank算法綜合考慮文本中句子的位置、句子與標題的相似度、關鍵詞的覆蓋率、關鍵句子以及線索詞等因素,由于上述因素對句子權重的準確計算都能起到很大的影響,從而優(yōu)化句子權重計算。

      1) 句子位置。文章中不同位置的句子其重要性也相對不同,出現(xiàn)在段首和段尾的句子的重要性相對較高。據專家研究結果顯示:在人工摘要的提取過程中,選取了段首句的比例有85%,選取了段尾句的比例靠近7%。對于具有倒金字塔特性的新聞類文章,文章主旨大多會被交代在首段或首句,適當提高距離文章開始位置較近的段落或句子的權重就顯得尤為重要。本文根據句子所處的段落以及句子在段落中的位置對句子的權重進行調整,對首段中越靠前句子的權重賦予越大的提升,末段中越靠后句子的權重賦予越小的提升。

      設文章首段含有x個句子,末段有y個句子,則此權重計算公式[8]如下:

      (7)

      式中:e1和e2均為權重調整閾值,本文設定e1=0.8,e2=0.2。

      2) 標題的相似度。標題是標明文章的簡短語句,反映了文章的主旨和主要內容。文章中句子與標題的相似度越高,則句子越貼近文章的主旨,其重要程度越高,應給予該句子更高的權重。TextRank算法在若干次迭代運算后,所有句子的權重值都趨于穩(wěn)定,并且穩(wěn)定值只與其他句子對本句子的貢獻程度相關,與所給的初始值無關。該權重計算式表示為:

      (8)

      式中:cos(si,st)表示句子si和標題st的余弦相似度。

      3) 關鍵詞的覆蓋率。關鍵詞可以表達文章的主題內容,越多的關鍵詞出現(xiàn)在句子中,則該句子的重要程度就越高。本文在對文本的預處理階段獲取關鍵詞,使用得到的關鍵詞來計算文章中每個句子的關鍵詞覆蓋率。覆蓋率越大,說明句子中包含的關鍵詞越多,則該句子的權重就越大。其權重計算式表示為:

      Wk,i=Kwc(Si)

      (9)

      式中:Kwc(si)表示在句子si中關鍵詞的覆蓋率,Kwc(si)=len(keywords(si))/len(si),0≤Kwc(Si)≤1,其中分子表示句子si中含有的關鍵詞個數,分母表示句子si包含的總詞數(去除標點符號和停用詞)。

      4) 關鍵句子。在中文文章中,自成一段的一個句子往往在文章中起著承上啟下或過渡的作用。文章中包含時間、地點、人物的句子,以及可能存在一些自成一段的小標題,這些通常具有高概括性、精煉性的關鍵句子比一般句子更符合摘要本身的要求,被提取為摘要的可能性更大。本文對此類句子給予更高的權重,其計算式表示為:

      (10)

      5) 線索詞。線索詞是指“綜上所述”、“總而言之”、“總之”、“總的來說”等概括性的指示詞語,包含線索詞的句子通常是對文章或者段落的總結,則此類句子的重要程度更高。對于包含線索詞的句子應給予更高的權重,其權重計算式表示為:

      (11)

      為了平衡各部分權重影響因子所占的比重,為每部分引入了權重系數。該權重系數由歸一化系數和加權系數兩部分組成,計算式表示為:

      λ=α×β

      (12)

      式中:α是對各部分權重進行歸一化后得到的系數;β是根據實驗分析,調優(yōu)后的加權系數。

      綜合考慮各部分權重影響因子,從而構建最終的句子權重計算公式:

      WT=λsWs+λpWp+λtWt+λkWk+λksWks+λcWc

      (13)

      式中:λ為各部分權重影響因子的權重系數;Ws為句子相似度;WT為句子最終的權重值。權重系數大小表示其對應的權重影響因子對句子權重的影響力大小,權重系數越大則影響力越大,反之亦然。其取值均在0~1之間,且λs+λp+λt+λk+λks+λc=1。

      2.3 SW-TextRank算法

      針對TextRank算法提取中文文本摘要時只考慮句子間的相似性,SW-TextRank綜合考慮文本中句子的位置、句子與標題的相似度、關鍵詞的覆蓋率、關鍵句子以及線索詞等影響句子權重的因素,對句子權重進行調整。根據句子長度過濾那些不符合摘要要求的句子;為了使最終獲取的摘要具有更高的簡明性和概括性,就需要對候選摘要句群進行冗余處理,從而減少含有相同語義信息的句子的重復出現(xiàn)對候,本文利用余弦相似度對候選摘要句群進行冗余處理,對具有較高相似度且排序靠后的句子進行刪除操作。這里給定一個冗余閾值φ(0<φ<1),對候選摘要句群中的句子兩兩計算其相似度,本文設定φ=0.8,如果相似度大于給定的φ,則將排序靠后的句子從候選句群中刪除,保留排序靠前的句子。本文結合次模函數(Submodular)方法來保證生成摘要的多樣性和覆蓋度。最終摘要的輸出按照其在原文中的順序輸出,使其具有較好的連貫性和可讀性。

      SW-TextRank算法的實現(xiàn)過程如下:

      輸入:所要提取摘要的文本。

      輸出:摘要。

      步驟1對文本進行預處理和特征提取,得到標題和句子的特征向量;

      步驟2計算文章中句子與標題的相似度;

      步驟3綜合句子位置、關鍵詞覆蓋率、關鍵句子處理、線索詞以及句子與標題的相似度調整句子相似度矩陣;

      步驟4迭代計算綜合調整后的句子相似度矩陣直至收斂;

      步驟5根據句子權重值大小進行排序,得到相應句子排名;

      步驟6對句子進行長度過濾,得到候選摘要句群;

      步驟7對候選摘要句群作冗余處理;

      步驟8選取適量排序靠前的句子作為最終的摘要;

      步驟9輸出摘要。

      SW-TextRank算法的流程如圖1所示。

      圖1 算法流程

      3 實 驗

      3.1 實驗數據及評價標準

      本文選取當前最新的中文維基百科數據作為提供學習訓練的文本數據集,先對數據集進行清洗,過濾掉其中無用的內容,使用目前最好的Python中文分詞組件jieba進行分詞,然后基于Word2Vec中的CBOW模型對該文本數據集進行訓練從而得到實驗所需的詞向量模型文件,其中維度大小設置為200,窗口大小為默認值5。從采集自新浪微博的中文數據集LCSTS的第三部分中隨機選取100篇短文本(評分為5)作為本文的測試文本數據集,評分為5表明相應摘要與短文本之間有較高的相關性,符合文本摘要的要求,可以作為標準摘要來使用。

      本文采用Rouge指標來對算法生成的摘要進行評估,Rouge基于摘要中n元詞的共現(xiàn)信息來評價摘要,是一種面向n元詞召回率的自動摘要評價方法。其基本思想是將算法自動生成的摘要與測試數據集的標準摘要進行對比,通過統(tǒng)計二者之間重疊的基本單元的數量來評價摘要的質量。本文選取Rouge-1、Rouge-2、Rouge-L三種評價指標來評價算法生成摘要的質量。

      3.2 實驗結果及分析

      為了驗證SW-TextRank算法的有效性,將本文算法與降維處理后的TF-IDF算法、TextRank算法及現(xiàn)有研究中基于TextRank的改進算法iTextRank設置對比實驗,并通過Rouge-1、Rouge-2、Rouge-L三種評價指標來對各個算法生成的摘要進行評估。

      本文選取Rouge-1、Rouge-2、Rouge-L三種評價指標來合理地評價自動摘要的質量,并計算出影響句子權重的各個影響因子的加權系數。綜合考慮所有加權系數λs、λp、λt、λk、λks和λc,設置不同的加權系數組合并進行大量實驗,本文選取了具有代表性的9組參數組合如表1所示,針對每種組合計算其生成文本摘要的質量,實驗結果如圖2所示。

      表1 不同的加權系數組合

      圖2 參數對比實驗

      可以看出,當λs=0.6,λp=λt=λc=0.1,λk=λks=0.05時,生成的摘要質量最好,因此在后續(xù)的算法對比實驗中的參數值按上述情形設定。

      在算法的對比實驗中,通過算法自動生成每篇測試文本的摘要,與測試數據集的標準摘要進行對比,然后計算Rouge-1、Rouge-2、Rouge-L三種指標值。將TF-IDF算法、TextRank算法、iTextRank算法與本文算法作對比,從而驗證本文算法的有效性。其中iTextRank算法[9]在TextRank算法的基礎上,結合了篇章結構和句子上下文信息。實驗結果如表2所示。

      表2 算法實驗對比

      可以看出,本文提出的SW-TextRank算法在Rouge-1、Rouge-2和Rouge-L三種評價指標上均有明顯的提高,SW-TextRank算法生成摘要的質量更好。整體而言,TF-IDF算法生成的摘要效果最差,改進算法iTextRank相對于TF-IDF和TextRank有一定的優(yōu)勢,SW-TextRank算法在整體上都明顯優(yōu)于其他三種算法。實驗結果表明根據中文文本的特點,綜合考慮文本中句子位置、句子與標題的相似度、關鍵詞的覆蓋率、關鍵句子及線索詞等影響句子權重的因素,并把它們應用到摘要的提取過程中,可以明顯提高生成摘要的質量。

      4 結 語

      針對目前TextRank算法在自動提取中文文本摘要時存在的不足,提出了一種改進算法SW-TextRank。融合Word2Vec模型和TextRank算法,綜合考慮文本中句子的位置、句子與標題的相似度、關鍵詞的覆蓋率、關鍵句子以及線索詞等因素對句子權重的影響,結合次模函數方法來保證摘要多樣性和覆蓋度,并且對得到的候選摘要句群進行冗余處理,使得生成的摘要更具簡明性和概括性。最后通過實驗驗證了SW-TextRank算法生成摘要的準確性比TextRank算法更高,摘要生成質量更好。但算法提取摘要的效率還有待提高,這將作為下一步工作。

      久治县| 兴业县| 辽阳县| 洛隆县| 黄龙县| 南和县| 河南省| 安宁市| 贵德县| 吴桥县| 鄂尔多斯市| 登封市| 沅陵县| 上林县| 九寨沟县| 大关县| 喜德县| 潮安县| 苍梧县| 吉首市| 多伦县| 大宁县| 阿拉善左旗| 宜黄县| 呼伦贝尔市| 镇原县| 崇左市| 偃师市| 清苑县| 平罗县| 来宾市| 凤山市| 湘潭县| 喀喇沁旗| 房产| 金阳县| 凌源市| 石屏县| 金山区| 荔波县| 鹤岗市|