孫曉騰,李學明
(重慶大學計算機學院,重慶 400044)
自動文摘技術是指利用計算機算法和程序對輸入文檔進行分析和提取,從而產出文章摘要的過程。該文章摘要一般通順連貫并且可以高度概括文章主旨,當前自動文摘主要應用于新聞和論文領域[1]。
本文主要面向論文領域,通過論文關鍵詞過濾掉相關性差的句子,精煉候選句子集,并通過對論文主題和結構的分析,制定了一些影響句子重要度的規則和方法,進而影響傳統TextRank算法的權重,改進文本排序結果。改進后的重要度排名更能反映出與主題的關聯性,提升了自動文摘的水準。
在當前NLP研究領域,自動文摘根據生成原理主要分為兩大類[2],一種是抽取式的(extractive),即選取原文中的一些關鍵句,組合形成一篇摘要;另外一種是摘要式的(abstractive),即讓計算機理解原文的內容和思想,并通過合理的語法生成新的概括句,生成文章摘要。現階段相對成熟的是基于抽取的方法,這也是目前最主流、應用最廣泛的方法。
除此之外自動文摘還有一種根據輸入文檔數量而定的分類方式,即單文檔摘要和多文檔摘要[3]。本文提出的方法是基于抽取式的單文檔摘要的改進算法。
如何高效且合理地評價一篇文摘的質量也是該領域的研究重點。自動文摘的評估方法包括人工評價和自動評價兩種[4]。由于人工評價耗時長,且因為人的主觀性使得評價結果因人而異,所以人工評價不完全適用于自動文摘;自動評價方法因為其高效性、客觀性,成為了眾多學者研究的重點。
本文使用兩種方式評估文摘的質量:一種是通過計算自動文摘與原文摘要的相似度,計算主旨契合度來評估文摘的質量;另一種是通過人工提取的方式生成標準文摘,計算自動文摘的準確率、召回率以及FMeasure[5]值。
將給定文本拆分為句子集合,對句子進行分詞得到特征項。由于一般句子中包含許多無意義的停用詞,直接分詞不但會降低分詞質量,還會導致維度過高從而降低算法效率。所以在分詞時需要進行文本預處理,去除停用詞和部分低頻詞[6],提升句子精度,降低特征的維度。
經過預處理及分詞之后的句子通過詞頻表示為各自的特征詞向量[7],然后利用相似度函數計算兩個句子的相似度,同時作為TextRank圖算法中兩句子間邊的權重。
對給定的句子集合P,若P包含n個句子,P={S1,…,Sn},其中Si(1≤i≤n)為原文本中按先后順序出現的句子。對于P及各個Si有如下表示:
(1)將P的特征詞記為swi(1≤i≤h),其中h=|Psw|為P中所有特征詞的數量。
(2)對每一個句子Si,特征向量表示為Sih=[s w1:fi1,…,swj:fij,…,swh:fih](1≤j≤h),其中 fij為特征詞swj在句子Si中出現的頻數。如果特征詞swj未在句子Si中出現,則 fij=0。
(3)所有的Sih構成一個用于圖計算的矩陣:其中,每一行表示文本中相應的句子Si的特征向量Sih,每一列表示相應的特征詞swi在各個句子中的頻數。該矩陣也是用于后續TextRank圖計算的高維稀疏矩陣。
關鍵詞是能概括或表達論文的關鍵信息和主題的詞匯,因此除了特征詞的提取之外,關鍵詞的抽取和處理也是十分重要的[8]。在本文的改進算法中,抽取出的關鍵詞用于辨別句子與文章主題的契合度,從而達到優化候選句子集的目的。本文的關鍵詞抽取采用TextRank算法[9],利用局部詞間的共現關系進行圖排序,選取權重排名靠前的若干詞匯作為關鍵詞。具體步驟如下:
(1)將文本P按照完整句子進行分割,得到句子集合 P={S1,…,Sn}。
(2)對于集合中的每個句子Si進行預處理,過濾掉停用詞和低頻詞,然后進行分詞和詞性標注處理,只保留指定詞性的單詞(本文實驗中只保留了名詞、動詞、形容詞),進而得到句子Si的候選關鍵詞集 Si={wi1,…,win}。
(3)構造候選關鍵詞的圖Gw=(V ,E ),其中V為節點集,由(2)生成的候選關鍵詞組成。節點之間的邊采用共現關系(co-occurrence)來構造,如果兩個節點對應的詞匯在長度為K的窗口中共現,則存在一條無向無權的邊,若沒有共現則不存在。其中K為設定的窗口大小,若句子 Si={wi1,…,win},則 {wi1,…,wik}、{wi2,…,wik+1}…都是一個窗口,即最多共現 K個關鍵詞。
(4)基于(3)中的圖,利用TextRank算法迭代計算出每個單詞節點的權重作為該關鍵詞的重要度。對所有節點重要度進行倒序排序,選取前t個詞匯作為關鍵詞。其中,t為選取關鍵詞數量的閾值。
傳統的TextRank算法僅考慮了兩兩句子間的相似度,雖然易于實現,但文摘的質量也會受影響。本文在傳統的TextRank算法基礎上,基于論文關鍵詞和論文結構進行了兩方面改進:一是利用關鍵詞進行無關句的過濾,對候選句子集進行精簡;二是分析論文結構,對不同位置的句子進行不同程度的權重增強,提升與主旨更貼切的句子的重要度,提高文摘的整體質量。
(1)經典TextRank算法
TextRank算法是一種圖排序算法,該算法將文本劃分為若干單元,以此為結點構造圖模型,利用投票機制對文本中的重要成分進行排序[10]。
設G=(V,E)是由文本單元組成的圖結構,V為定點集合,E為邊集合。WS(Vi)為頂點Vi的得分,迭代公式為:

其中d為阻尼系數,一般取0.85;In(Vi)為指向節點Vi的所有節點集合;Out(Vj)為節點Vj指向的所有節點集合;wji為節點Vj到節點Vi的邊的權重。
(2)候選句子集的精煉
通過句子分割和文本預處理得到的初始候選句子集包含了全文所有的句子,但有些句子與文章主題思想距離較遠,關聯度差,不適合被選為摘要的組成句,并且會提升計算的復雜度。而2.2中提取的關鍵詞集卻能很好地表達文章主旨,因此借助關鍵詞集對候選句子集進行剪枝和精煉,提升候選句子集的精度和質量。具體過濾規則為:
設經過分詞和預處理句子Si的分詞集Wi={wi1,…,win},其中n表示句子 Si的分詞數量,wij(1≤j≤n)表示Si中第 j個分詞。設文本P的關鍵詞集為Kwordsp={k ey1,…,keyt},其中t表示提取的關鍵詞數量。則句子分詞集Wi和文本關鍵詞集Kwordsp的交集稱為句子Si的相關詞集RWi,即RWi=Wi∩Kwordsp;句子Si的相關度為:

當Ri<δkey時,認為句子Si與文章主題關聯度很小,此時將Si從候選句子集中刪除。
(3)候選句子權重的增強
對于一篇論文來說,文章結構代表了嚴謹的邏輯架構,往往是十分清晰的。所以本文基于論文結構從以下兩個方面考慮其對句子重要度的影響:
①句子的內容是否契合該章節標題和文章總標題
標題是作者對于文章或章節內容的概括和總結,出現在各個標題中的詞更是全文核心詞匯。某個句子與標題的相似度越高,該句就越契合文章主題[11]。基于這一點,本文通過計算句子和所在章節標題以及總標題的相似度,對句子的重要度進行不同程度的放大。由 2.1可知,對每一個句子 Si,特征向量表示為Sih=[sw1:fi1,…,swj:fij,…,swh:fih],記總標題的特征詞向量為S0h=[sw1:f01,…,swj:f0j,…,swh:f0h](1≤j≤h),Si所處章節標題的特征詞向量為Si0h=[sw1:fi01,…,swj:fi0j,…,swh:fi0h](1≤j≤h)。重要度放大因子為:

其中max函數為取最大值函數,sim函數為相似度函數,一般采用向量夾角的余弦值計算得出。另外,由于論文中許多章節標題過于通用和寬泛(如“引言”、“實驗結果”、“結束語”等),無法體現與主題的相關性,故在計算過程中,相似度應取章節標題和文章總標題兩者中較大的值。
②句子是否處在該章節和全文的關鍵位置
美國RE.Baxendale的研究結果[12]表明,人工摘要中,選取段首句和段尾句的概率十分高;另外康奈爾大學的G.Salton也指出[13],文章中的首尾段以及承上啟下的段落也常被提取作為摘要使用。基于這一點,本文根據句子在所處章節中的位置,對重要度進行不同程度的放大。在預處理階段,記錄每個句子序號并標記對應的段落,最終通過判定該句是否為特殊位置句來決定是否疊加影響因子。對每個句子針對句子Si的基于位置的重要度放大因子為:

其中特殊位置包括五種:段首句、段尾句、章節首段句、章節末段句、獨立成段句,flagi(1≤i≤5)為這五種特殊位置的判定標記,若判定成功,flagi=1,否則flagi=0;δi(1≤i≤5)為這五種特殊位置的影響因子。
算法整體的流程如圖1所示:

圖1 算法整體的流程圖
結合圖1,整體的計算過程如下:
(1)對輸入文本T進行預處理,去除停用詞和低頻詞,并對句子和所在段落進行標記,記錄每一個章節的標題。
(2)進行分詞,構造文本T的特征向量矩陣Dn×h。
(3)利用2.2的方法和步驟提取文章關鍵詞。
(4)由式(2)計算句子相關度,去除相關性小的句子,得到精煉后的候選句子集。
(5)計算候選句子集中句子間的相似度,構造TextRank網絡圖G。
(6)由式(1)進行圖G的迭代計算,不斷更新權值,直到收斂。
(7)由式(3)、式(4),計算放大因子,對得到的重要度排名進行更新。
(8)取排名前t個句子,得到自動文摘的句子集Aa。
(9)按照原文出現的順序輸出Aa中的句子,得到最終的摘要。
為了對比基于關鍵詞和結構改進的TextRank算法與傳統TextRank算法的性能,本節設計了兩個實驗:實驗一以原論文作者編寫的摘要部分作為標準文摘,計算自動文摘與標準文摘的相似度,以此對比分析算法性能。實驗二是從實驗一的論文素材中選取一部分進行人工文摘的抽取,通過計算平均準確率、平均召回率和F-measure值對比分析算法性能。
(1)實驗一:
由于研究面向論文領域,而論文的摘要則是作者人工編寫所得,具有高度概括文章中心主旨的特點,十分利于評估自動文摘的質量。但由于摘要并未人工抽取而是重新編寫,所以無法計算準確率和召回率,本實驗通過計算兩者的相似度來作對比。
首先通過網絡下載包含生物、經濟、文學、科技等多領域的論文50篇,按正文順序篩選和標記各個標題、段落和句子。正文長度分布如圖2所示。

圖2 文本段落個數分布圖
設定生成文摘的句子數為原文摘的句子數t,原文摘Am={Sm1,Sm2,…,Smt},自動文摘 Aa={Sa1,Sa2,…,Sat} 。則自動文摘和原文摘的相似度為:算法和實驗中的主要參數值設置如表1所示。


表1 實驗參數表
相似度實驗結果如表2所示:

表2 實驗一相似度結果對比
分析表2結果可知,本文改進的TextRank算法相對于傳統TextRank算法更加有效,生成文摘的質量更高,能更好地概括文章主題思想。除此之外,兩種算法的精確度隨著文本長度的增加,會有不同程度的下降,但傳統TextRank算法下降更加明顯。通過對一些實驗數據的人工觀察發現,當文本長度增加時,候選句子數增多,通過關鍵字過濾掉相關性差的句子這一剪枝措施有較為明顯的效果。
(2)實驗二:
目前,將人工摘要作為標準摘要去計算準確率和召回率是自動文摘領域較為普遍的評價方法。由于本實驗素材和語料中不含人工摘要,需要人工提取,而這個過程通常比較耗時。所以在實驗二中,采用實驗一的50篇論文素材,從中選取一小部分(15篇)來生成人工摘要,通過計算準確率(P)、召回率(R)和F-measure值對比分析文摘性能。設人工文摘句子集為Am={Sm1,Sm2,…,Smt},自 動 文 摘 句 子 集Aa={Sa1,Sa2,…,Sat}。具體計算公式如下:


表3 實驗二結果對比
分析表3結果可知,本文改進后的算法相比傳統的TextRank算法具有更高的準確率、召回率和F-Measure值,說明使用關鍵詞精簡候選句子集,并考慮標題契合度和句子位置進行權重提升之后,所生成的自動文摘更接近人工文摘的結果。這也是因為,本文所提出的規則和影響因素,正是從人為提取的角度去思考得出的經驗性規則,而本實驗也證明了這些規則是合理且有效的。
在自動文摘研究領域,如何使句子抽取更加符合人工篩選的思維是研究的熱點和重點。本文在傳統TextRank算法的基礎上,加入了候選句子集精煉和特殊句權重增強兩個過程,利用關鍵詞和文章標題結構等信息對算法進行了優化,使之更加符合人工生成摘要時的思路。實驗結果也表明,算法改進后生成的文摘質量有了一定程度的提高。
本文也存在一些不足之處:本文以論文為研究對象,研究語料和素材有一定特殊性,由于論文往往具有結構的嚴謹性,所以得到了不錯的實驗效果。該方法能否在新聞、評論、文學作品等其他領域具有不錯的普適性,還有待研究和確認,而這些也是下一步的工作和研究重點。
[1]郭燕慧,鐘義信,馬志勇,等.自動文摘綜述[J].情報學報,2002,21(5):582-591.
[2]衛佳君,宋繼華.自動文摘的方法研究[J].計算機技術與發展,2011,21(8):188-191.
[3]胡俠,林曄,王燦,等.自動文本摘要技術綜述[J].情報雜志,2010,29(8):144-147.
[4]Jones K S.Automatic Summarising:Factors and Directions[C].Cambridge MA:MIT press:1998.
[5]張瑾,王小磊,許洪波.自動文摘評價方法綜述[J].中文信息學報,2008,22(3):81-88.
[6]劉紅芝.中文分詞技術的研究[J].電腦開發與應用,2010,23(3):1-3.
[7]劉海燕,張鈺,LIU Hai-yan,等.基于LexRank的中文單文檔摘要方法[J].兵器裝備工程學報,2017(6):85-89.
[8]蔣效宇.基于關鍵詞抽取的自動文摘算法[J].計算機工程,2012,38(3):183-186.
[9]張莉婧,李業麗,曾慶濤,等.基于改進TextRank的關鍵詞抽取算法[J].北京印刷學院學報,2016,24(4):51-55.
[10]Mihalcea R,Tarau P.TextRank:Bringing Order into Texts[J].Emnlp,2004:404-411.
[11]余珊珊,蘇錦鈿,李鵬飛.基于改進的TextRank的自動摘要提取方法[J].計算機科學,2016,43(6):240-247.
[12]Baxendale P B.Machine-Made Index for Technical Literature:an Experiment[M].IBM Corp.1958.
[13]Salton G,Wong A,Yang C S.A Vector Space Model for Automatic Indexing[J].Communications of the ACM,1974,18(11):613-620.