寧 珊,嚴 馨,周 楓,王紅斌,張金鵬
(1.昆明理工大學信息工程與自動化學院,云南 昆明 650504;2.昆明理工大學云南省人工智能重點實驗室,云南 昆明 650500; 3.云南財經大學信息管理中心,云南 昆明 650221)
關鍵詞抽取是文本挖掘、自然語言處理和信息檢索的重要研究方向。關鍵詞抽取使我們能夠以簡潔的方式表示文本文檔。文檔的緊湊表示在多個應用場景中都很有用,例如自())動索引、自動摘要、自動分類、聚類和過濾等。目前關于關鍵詞抽取的主流方法主要集中在基于最頻繁度量的關鍵詞抽取、基于詞頻-逆文本頻率TF-IDF(Term Frequency-Inverse Document Frequency)的關鍵詞抽取和基于共現統計信息的關鍵詞抽取[1]。隨著關鍵詞抽取技術的發展,研究者們發現僅僅考慮詞語的共現頻率已經不能滿足關鍵詞抽取任務的要求。牛萍等[2]融合TF-IDF和位置特征及詞性特征自動抽取關鍵詞;Abilhoa等[3]和Nagarajan等[4]提出基于圖模型的算法,利用節點之間的特征信息抽取關鍵詞;Abdelhaq等[5]根據詞語的位置加權,調整TextRank算法中邊的傳遞權重;Habibi[6]等通過隱含狄利克雷分布LDA(Latent Dirichlet Allocation)主題模型構建獎勵函數計算詞的主題特征,構造關鍵詞抽取模型;Hulth等[7]通過將句法特征融入詞語表示獲得比N-Gram更高的精度;Yang等[8]通過LDA與TextRank算法相結合抽取關鍵詞;Onan等[9]將基礎學習算法與廣泛使用的集合方法進行比較,評估統計關鍵字抽取方法與集成學習算法相結合的有效性;陳憶群等[10]將關鍵詞抽取問題轉化為分類問題,利用支持向量機SVM(Support Vector Machine)抽取關鍵詞;Yang等[11]在抽取關鍵詞時考慮了句子影響度;Bordoloi等[12]利用節點之間的鄰居頻率、中心置和強度等各種特征,在面向Twitter文本方面達到了當前關鍵詞抽取的較好水平。以上基于統計學習的方法,通過融合多種特征在一定程度上提高了關鍵詞抽取的準確率,但是忽略了語義信息對關鍵詞抽取的影響。
隨著深度學習的發展,其已被廣泛應用于自然語言處理的多種任務中,寧建飛等[13]利用word2vec和TextRank抽取關鍵詞;Xu等[14]通過融合多種關鍵詞抽取算法計算偏移損失,抽取關鍵詞;Mahata等[15]提出使用主題加權個性化PageRank算法和神經短語嵌入相結合來抽取和排序關鍵詞;陳傳鵬[16]提出一種詞向量與 TextRank 的關鍵詞抽取方法,彌補了語義對TextRank的影響;夏天[17]提出利用詞向量聚類與TextRank結合的方法抽取關鍵詞;Wen等[18]使用word2vec計算詞之間的相似度作為節點權重的轉移概率,通過迭代方法計算詞得分,提高了關鍵詞抽取性能;Colla等[19]在關鍵詞抽取中考慮到語義度量,將語義信息融入到關鍵詞抽取算法;Villmow等[20]提出使用基于長短時記憶網絡LSTM(Long Short-Term Memory)的端到端模型抽取關鍵詞。以上研究利用深度學習模型并融合多種特征,改善了關鍵詞抽取的效果,但是仍然存在對于短文本文檔信息不足,無法利用多特征的問題。
本文在借鑒上述研究的基礎上同時針對語義信息對TextRank的影響,以及考慮新聞標題信息高度濃縮以及關鍵詞的覆蓋性與差異性的特點,提出一種新的方法,融合LSTM和LDA差異的關鍵詞抽取方法:首先,對新聞文本進行預處理,得到候選關鍵詞;其次,利用LDA主題模型得到候選關鍵詞的主題差異影響度;然后,利用訓練好的word2vec模型得到候選詞的向量表示,同時利用LSTM模型得到新聞標題向量,計算候選關鍵詞與標題的語義相關性影響度;最后將主題差異影響度和語義相關性影響度融入TextRank算法,得到最終的候選關鍵詞排序,抽取出關鍵詞。
本文基于TextRank并融合語義信息和LDA主題模型的方式計算詞語的重要性,方法包括4個模塊:詞表示模型模塊、主題差異性模塊、語義相關性計算模塊和概率轉移矩陣構建模塊,如圖1所示。

Figure 1 Method frame圖1 方法框架圖
在傳統的機器學習領域,一般采用分布式的方法表示詞,將詞用一種低維實數向量表示,其優點在于相似的詞在距離上更相近,能體現出不同詞之間的相關性,從而反映詞之間的依賴關系。對于詞表示模型的訓練,Mikolov等[21]在2013年提出詞表示模型:Skip-gram和連續詞袋CBOW(Continuous Bag-Of-Word)模型,用低維稠密的詞向量代替原有的分布式的方法表示詞語,可以反映出詞語的依賴關系以及深層語義信息。本文選擇Google的開源工具包word2vec[22],采用Skip-gram模型在搜狗全網新聞語料上進行詞表示模型的訓練。由于本文不是針對詞表示模型的評估,并沒有針對Skip-gram模型的不同超參數對關鍵詞抽取結果的影響做特定實驗。根據前期詞表示訓練的經驗,本文將窗口大小設為5,向量維數設為200。
關鍵詞不僅要能代表新聞文本的主要內容,還要具有主題差異性以及文本覆蓋性[23]。如果只考慮語義重要性,有可能會使得抽取出的關鍵詞只表達了文檔某一方面的重要信息,從而出現冗余信息,同時造成抽取出的關鍵詞沒有覆蓋整個文檔的信息。即關鍵詞的屬性不僅有語義重要性還有差異性和覆蓋性,如表1所示。

Table 1 Keyword extraction examples表1 關鍵詞抽取實例
如表1所示,抽取出的關鍵詞不僅考慮了關鍵詞的語義重要性,同時也考慮了關鍵詞之間的差異性和覆蓋性。為了表征關鍵詞之間的差異性和覆蓋性,本文引入主題差異影響度,它表示候選關鍵詞在不同主題之間的共享率:在主題之間共享得越少,認為這個詞的主題差異性越明顯,越能反映一個詞區別于其他詞的特殊性。本文通過LDA主題模型得到候選關鍵詞的主題差異影響度。
LDA主題模型認為一篇文檔由若干個主題組成,同時每個主題又由若干個詞構成,如圖2所示。

Figure 2 LDA theme model圖2 LDA主題模型
在圖2中,M表示文檔的數目,T表示主題的數目,Nm表示第m篇文檔的特征詞總數,Wm,n和Zm,n分別表示第m篇文檔的第n個特征詞及其主題。θm和φt分別表示服從超參數α和β的Dirichlet先驗分布,θm表示第m篇文檔的主題概率分布,φt表示主題t中的特征詞概率分布。在本文中設定超參數α=0.1和β=0.1,通過LDA主題模型,得到第m篇文檔屬于主題t的概率p(t|m)和在第m篇文檔中詞u由主題t產生的概率p(t|u,m)。
對于文檔中的每個詞u來說,定義TS(u)為u在文檔中的主題差異影響度,用于表征關鍵詞之間的差異性和覆蓋性,它表示候選關鍵詞在不同主題之間的共享率:在主題之間共享得越少,其主題差異性TS(u)越高。在本文中,用KL(Kullback-Leibler)距離來衡量主題差異性TS(u),計算公式為:
(1)
(2)
(3)

關鍵詞體現了文本中的重要語義信息,基本的TextRank算法認為共現頻率高的詞具有重要信息,但是沒有考慮候選關鍵詞的語義重要性。隨著深度學習的發展,各種基于深度學習的語言模型在自然語言處理中得到應用,同時由于LSTM可以很好地處理序列信息,被廣泛應用在自然語言處理的各種任務中。
為了得到候選關鍵詞,本文首先對新聞文本進行預處理(分詞、去停用詞、詞性標注),對預處理后的新聞文本選擇其中的名詞、動詞、形容詞作為候選關鍵詞。針對新聞文本標題信息突出的特點,結合訓練好的word2vec模型得到候選詞向量表示,同時利用LSTM模型[24]得到新聞標題向量;然后計算候選關鍵詞與標題的語義相關性影響度,構建計算語義相關性的網絡模型,如圖3所示。

Figure 3 Network model of semantic correlation圖3 語義相關性的網絡模型
2.3.1 新聞標題句向量表示
首先,對新聞標題進行文本預處理(分詞、去停用詞),得到新聞標題詞集合H={x1,x2,…,xn-1,xn},其中n為標題詞個數;再將新聞標題詞向量初始化,依次輸入到LSTM模型中,得到隱藏狀態:
ht=LSTM(ht-1,xt)
(4)
其中,ht-1為上一時間步的隱藏狀態t∈[1,n];xt為當前時刻的新聞標題詞的輸入;依次將新聞標題詞輸入到LSTM模型中,將最后時間步的隱藏狀態hn輸出模型作為新聞標題句的向量表示形式。
2.3.2 語義相關性計算
利用LSTM模型得到的新聞標題句向量表示形式設為hn,利用word2vec模型得到候選關鍵詞向量表示形式為vi,計算兩者的距離和角度:
(5)
(6)

(7)
(8)

(9)

(10)
其中,0≤i≤2;[y]為大于y的最小整數;{y}表示當y≤0.5時舍棄,y>0.5時進一位。
令損失函數為:
(11)
其中,K為訓練的總樣本數;i表示第i個詞-句對樣本。
通過訓練語義相關性計算模型,得到候選關鍵詞與新聞標題句的語義相似度。
根據TextRank算法,給定詞圖中節點之間的跳轉概率轉移矩陣,節點的重要性就可以通過迭代計算得到。令矩陣M表示概率轉移矩陣,如下所示:
其中,M中的第j列表示由詞語節點j跳轉到其他節點的概率分布,每列的跳轉概率之和為 1。
在傳統的TextRank算法中,p(v→a)表示從節點v轉移到節點a的概率,是均勻分布的,即對每個節點的重要性不加以區分,我們稱之為覆蓋影響度。本文在覆蓋影響度的基礎上加入了主題差異性影響度和語義相關性影響度。令pf(v→a)表示覆蓋影響度的轉移概率,即:
(12)
令pt(v→a)表示主題差異性影響度的轉移概率,計算公式為:
(13)
其中,TS(a)表示詞語a的主題差異性影響度,adj(v)表示v的鄰接節點集合。
令py(v→a)表示語義相關性影響度的轉移概率,計算公式為:
(14)
其中,py(v→a)表示從節點v轉移到節點a的語義相關性影響度轉移概率。y′(a)表示詞語a的語義相關性影響度,adj(v)表示v的鄰接節點集合。
將3種轉移概率進行融合,得到最終的轉移概率p(v→a),計算公式為:
p(v→a)=φpf(v→a)+

(15)

通過p(v→a)構建最終的概率轉移矩陣M。
在抽取關鍵字的迭代計算過程中,假設文本中共有n個候選關鍵詞,即構建的詞圖中共有n個節點,則將所有節點的重要性分數均勻化得到初始重要性分數向量B0,即:
(16)
利用融合覆蓋率影響度、主題差異影響度、語義相關性影響度構造的最終轉移矩陣,迭代計算:
(17)
其中,Bi為當前迭代的節點重要性分數向量;d為阻尼系數;n為節點總數;e為所有分量均為1的n維向量。當2次迭代結果Bi和Bi-1之差小于設定的閾值,即對應節點之差都小于給定的閾值,本文設定閾值m=0.05,則認為迭代收斂,認為向量Bi為節點最終的重要性得分,按照從大到小進行排序,選出前topK個詞語作為關鍵詞。
本文使用來自搜狗實驗室的全網新聞數據,數據包含了來自全網的2012年6月~7月期間國內、國際、體育、社會、娛樂等 18 個專題的新聞數據,共 1.4 GB 作為Skip-gram模型的訓練集;對于相似度計算模塊的訓練,由于沒有針對詞-句相似度的公共數據集,本文隨機抽取搜狗新聞語料的18個專題,采用人工標注的方式,構建詞-句相似度計算模塊的數據集,其中訓練集含有詞-句對3 869對,測試集含有詞-句對2 158對;為了驗證本文方法的可行性和優越性,在本文中,我們對18個專題隨機分別抽取10篇新聞,共計180篇新聞語料作為測試集,針對測試集,采用多人人工交叉標注的形式抽取新聞關鍵詞,每篇新聞人工抽取 10 個關鍵詞作為人工標注的結果集(通常10個關鍵詞足以概括一篇新聞主要內容)。
實驗包括word2vec模型和LDA主題模型的訓練、候選關鍵詞與新聞標題詞的向量表示、構建詞圖和概率轉移矩陣等過程,語料的預處理過程采用中國科學院漢語詞法分析系統ICTCLAS 完成,包括分詞、去停用詞等過程,使用word2vec模型對背景語料進行訓練。word2vec模型的訓練采用Google的開源工具包word2vec的Skip-gram模型實現,窗口大小設置為5,向量維度為200。針對新聞標題特點,設置LSTM模型展開時間步H=20,向量維度同樣設為200。LDA主題模型的訓練設置α=0.1和β=0.1,主題個數T=3。利用訓練好的詞表示模型和LDA主題模型,結合TextRank算法,構建詞圖和概率轉移矩陣,抽取新聞關鍵詞。本文采用準確率P、召回率R以及F值來評估本文提出的新聞文本關鍵詞抽取方法,準確率定義如式(18)所示:
(18)
召回率公式如式(19)所示:
(19)
F值計算公式如式(20)所示:
(20)
其中,N()表示集合中元素個數。
實驗1不同共現窗口的實驗對比。共現窗口的大小直接影響關鍵詞抽取效果,為了驗證不同共現窗口的大小對實驗結果的影響,設定l(窗口大小)分別等于2,3,4,5,以驗證窗口的大小對結果的影響。本文就窗口的大小l的確定做了4組實驗,分別測試l在取2,3,4,5時對關鍵詞抽取的影響。在進行不同共現窗口的實驗對比時,同時考慮TextRank、LDA差異性和語義影響度,設置3者的權重為0.3,0.4,0.3,LDA主題模型的訓練設置α=0.1和β=0.1;設置抽取出的關鍵詞個數q=9。實驗結果如表2所示。

Table 2 Comparison of experimental results of different co-occurrence window sizes表2 不同共現窗口大小的對比實驗結果
由實驗結果發現,當共現窗口l=3時,F值為最大,F=0.73;當共現窗口大于3時,準確率、召回率和F值都有降低。分析原因主要是當共現窗口太小時,共現關系沒有得到充分利用,造成信息利用率不高,從而影響準確率;當共現窗口太大時,會出現冗余信息,造成候選關鍵詞之間的錯誤關系信息,所以準確率也會降低。根據不同共現窗口的實驗對比,本文選取窗口大小l=3。
實驗2不同關鍵詞抽取特征組合的實驗對比,以驗證在實際關鍵詞抽取任務中,TextRank、語義影響度、主題差異影響度對關鍵詞抽取的貢獻程度。本實驗通過依次加入不同特征進行對比實驗。在進行特征組合對比實驗時,設置共現窗口大小l=3,抽取出的關鍵詞個數q=9;LDA主題模型的超參數分別設置為α=0.1和β=0.1。實驗結果如表3所示。

Table 3 Comparison of experimental results of different keyword extraction feature combinations表3 不同關鍵詞抽取特征組合的對比實驗結果
由實驗結果發現,僅僅利用TextRank,其準確率明顯低于結合LDA差異和語義影響度的,分析原因為TextRank僅僅利用詞語的共現信息構造詞語之間的關系信息,沒有考慮詞語與詞語之間的語義影響度,也沒有考慮關鍵詞的差異性和覆蓋性。本文提出的新方法,在TextRank抽取共現信息的基礎上,同時也充分考慮候選關鍵詞的語義影響度和關鍵詞的差異性和覆蓋性,因此準確率有了很大的提高。
實驗3為了驗證本文方法的可行性,將本文方法與其他幾種主流關鍵詞抽取方法進行比較,實驗結果如表4所示。

Table 4 Comparison of experimental results of different keyword extraction methods表4 不同關鍵詞抽取方法的對比實驗結果
從表4中可知,本文提出的方法與傳統的統計機器學習的方法相比較準確率有明顯的提升;本文的方法與LDA+TextRank[4]方法相比較,LDA+TextRank[4]通過LDA主題模型,得到候選關鍵詞的主題重要性,并融合TextRank進行關鍵詞抽取,而本文方法利用LDA主題差異性的概念,不僅考慮到關鍵詞之間的覆蓋性,也同時考慮關鍵詞之間差異性,提高了抽取關鍵詞的質量;在本文中,我們利用新聞文本標題信息,通過LSTM模型和word2vec模型結合,計算候選關鍵詞的語義影響度,與word2vec+TextRank[8]方法相比較,不僅提高了計算效率,也提高了關鍵詞抽取的準確率。通過與現有方法相比較,證明了本文方法的優越性,以及本文方法在關鍵詞抽取方面的可行性。
實驗4抽取不同關鍵詞個數的對比實驗。為了驗證抽取不同關鍵詞的個數對實驗結果的影響,選取了抽取q個詞作為抽取結果,以驗證抽取不同關鍵詞的個數對結果的影響。本實驗就抽取不同關鍵詞的個數q的確定做了5組實驗,分別測試q在取6,7,8,9,10時對關鍵詞抽取的影響。在進行抽取不同候選關鍵詞個數的對比實驗時,同時考慮TextRank、LDA差異性和語義影響度,設置3者的權重為0.3,0.4,0.3,LDA主題模型的訓練設置α=0.1和β=0.1,共現窗口大小l=3。實驗結果如表5所示。
由實驗結果發現,當抽取的關鍵詞個數q=9時,準確率、召回率和F值都達到最大。分析原因主要因為當抽取的關鍵詞個數太少時,只有少部分的重要信息詞被抽取出來,造成重要信息抽取不完全,從而影響準確率;當抽取候選關鍵詞個數太多時,又會出現冗余信息,造成多余信息被抽取出來,所以準確率也會降低。根據抽取不同候選關鍵詞個數的對比實驗,本文選抽取出的關鍵詞個數q=9。

Table 5 Comparison of experimental results of different number of keywords表5 抽取不同關鍵詞個數的對比實驗結果
實驗5為了驗證所提方法的優越性,本文選取了3個基線模型。其中TKG(Twitter Keyword Graph)模型[3]和KEGBA(Keyword Extraction using Graph-Based Approach)模型[4]作為經典的關鍵詞抽取模型,都是基于圖模型的方式,通過融合復雜的節點特征,用中心度量來抽取關鍵詞。KCW(Keyword from Collective Weights)模型[12]作為最新的關鍵詞抽取模型,通過融合節點、位置、強度等特征信息,在面向Twitter文本的關鍵詞抽取方面取得了很好的F值。本實驗以這3個模型作為基線模型,通過與經典的基于圖模型方法和最新的關鍵詞抽取方法相比較,驗證本文方法的可行性與優越性。

Table 6 Comparison of experimental results between the proposed method and baseline models表6 本文方法與基線模型的對比實驗結果
由實驗結果發現,本文方法與TKG模型[3]和KEGBA模型[4]相比較,F值有明顯提升。分析原因主要是因為這2種方法均基于圖模型,利用節點之間的特征信息抽取關鍵詞。而本文方法在圖模型的基礎上,綜合考慮了主題差異和語義影響,考慮的信息更全面。KCW模型[12]在我們搜集到的新聞語料上,其F值有所下降,分析原因主要是因為新聞文本信息較長,主題分布更復雜,語義信息相較于Twitter短文本更不好把握。只考慮節點位置、強度等信息忽略了關鍵詞之間的差異性,也無法準確分析出新聞的主要內容。實驗結果表明,本文方法的F值與KCW模型的基本持平,說明本文方法達到了較高的水平。
本文針對現有的關鍵詞抽取方法,沒有考慮候選關鍵詞的語義重要性、覆蓋性、差異性,提出了一種簡單高效的融合LSTM和LDA差異的關鍵詞抽取方法。本文方法利用LDA主題模型和LSTM語言模型、word2vec詞表示模型,并融合了候選關鍵詞的共現關系、語義重要性、覆蓋性和差異性的多種不同屬性。實驗結果表明,本文方法與現有的關鍵詞抽取方法相比,準確率和召回率都有明顯提升。下一步的工作是在現有基礎上,針對新聞語料信息高度濃縮的特點,融入外部知識信息,提高關鍵詞抽取質量。