樊 瑋,劉 歡,張宇翔
中國民航大學 計算機科學與技術學院,天津300300
隨著網絡文本數據的快速增長,如何從這些海量數據中快速準確地找到需要的信息成為人們面臨的重要問題。關鍵詞能夠對文本內容進行提取和凝練,幫助人們篩選信息從而迅速定位到所需文檔。然而大量文檔或網頁并沒有提供關鍵詞,且人工標注關鍵詞的成本較大,所以自動關鍵詞提取技術越來越受到人們的關注。自動關鍵詞提取技術旨在自動地從文檔中抽取反映文檔主題的關鍵詞(包括單詞或詞組),其研究成果除直接用于信息檢索之外,還可以廣泛應用于文本分類[1]、自動摘要[2]和對話系統[3]等領域。
現有的關鍵詞提取技術大致可分為有監督和無監督兩大類。有監督提取方法是將關鍵詞提取問題看作一個二分類問題[4]。具體而言,首先對候選關鍵詞進行人工標注和定義特征集,從而形成訓練集,然后訓練給定的二分類模型,最后用訓練好的分類模型進行關鍵詞提取。這種方法的明顯不足是人工標記關鍵詞的代價較大,且分類模型可能存在過擬合的問題。無監督提取方法是將關鍵詞提取問題看作候選關鍵詞的排序問題。通常利用一些評分指標(如詞頻-逆文檔頻率TFIDF、組合特征[5]等)對每個候選關鍵詞進行打分,然后選取排名靠前的作為文檔的關鍵詞。
基于圖的關鍵詞提取方法(也具體稱為基于Page-Rank 的提取方法)被認為是目前最好的無監督方法[6]。該方法首先構建一個候選關鍵詞圖,圖中每個節點表示一個候選關鍵詞,每個邊表示文檔中候選關鍵詞之間的共現關系;接著在詞圖上使用隨機游走(PageRank[7]算法)技術來對單詞進行排序。因PageRank 算法的核心思想是在圖上進行全局隨機游走計算(或迭代計算)每個節點在穩定狀態下的分數,故基于PageRank 的提取方法主要是依賴于詞與詞之間的全局關系。首次直接利用PageRank算法對詞圖上的候選關鍵詞進行評分的方法是TextRank[8],隨后研究者不斷嘗試將各種信息通過PageRank 的轉移概率和重啟概率融合到該模型中,如ExpandRank[9]方法融入了相似文檔信息、TopicalPage-Rank[10]方法添加了主題信息。
本文嘗試將文本序列中詞與詞之間的潛在語義關系和詞在文本序列中的位置信息同時融入到基于圖的關鍵詞提取方法框架中。該研究想法的提出基于以下幾個考量:(1)基于PageRank的提取方法主要依賴于詞與詞之間全局的共現關系,而忽略了詞與詞之間局部的語義關系,事實上局部語義關系是非常重要的信息;(2)隨著近年來自然語言處理領域中詞語的分布式表示技術(如Word2vec[11]方法)的提出和發展,詞與詞之間的潛在語義關系可以通過詞嵌入向量表示出來,這使得在基于PageRank的提取方法中融入潛在的局部語義關系成為可能;(3)候選關鍵詞在文本文檔中的位置信息也是非常重要的信息,能夠表示詞在文章的分配并常常作為重要特征用于有監督的關鍵詞提取方法中。
實驗使用的數據集是來自于發表在計算機領域的兩個頂級會議KDD 和SIGIR 上的文章,將本文提出的EPRank方法和5個現有的無監督方法(這些方法或非常經典或為最新提出)進行對比,實驗結果表明,EPRank的各項性能指標均超現有的無監督的關鍵詞提取方法。
本文工作聚焦到基于圖的關鍵詞提取方法,同時將詞向量與位置信息融合到基于圖的提取方法中,下面主要總結與本文工作相關的研究成果。
2004年,TextRank[8]首次利用PageRank算法在詞圖上計算候選關鍵詞的評分,據此評分來對候選關鍵詞進行排序,從而實現關鍵詞的提取。緊隨其后,研究者提出了許多方法,這些方法的共同之處在于將各種有利于關鍵詞提取的信息通過修改PageRank算法的轉移概率和重置概率融合在一起。
第一種融合方式是將與詞圖中邊相關的信息通過修改PageRank 算法的轉移概率融合到一起。例如,2008年北京大學萬小軍等人[9]提出了ExpandRank方法,它使用了與目標文檔相近的文檔集來輔助構建詞圖,從而增強詞圖中兩個候選關鍵詞之間的共現關系。2014年Gollapalli 等人[12]延續這種想法提出了CiteTextRank方法,它使用目標文檔的引用文獻和被引文獻的上下文來擴充詞圖,從而增加詞圖的信息。2014 年提出的WordAttractionRank[13]方法嘗試將維基百科中的外部信息通過轉移概率融合到PageRank算法中。
第二種融合方式是將與詞圖中詞節點相關的信息通過修改PageRank 算法的重置概率融合到一起。例如,2010年清華大學劉知遠等[10]提出的TopicalPageRank方法,它采用LDA 模型獲得目標文檔的主題分布和候選關鍵詞在主題下的分布,并將主題信息通過重置概率融合到PageRank 算法中。為了降低該方法的計算量,2015年single-TPR[14]方法被提出。此外,2017年Florescu等人[15]嘗試將位置信息直接添加到PageRank 算法的重置概率中。
第三種融合方式是將詞圖中與邊相關的信息和與點相關的信息通過同時修改轉移概率和重置概率融合到PageRank 算法中。例如2017 年Zhang 等人[16]提出的MIKE方法等。
通過以上分析,發現這些基于圖的關鍵詞提取方法都是在TextRank 算法的基礎上通過與詞相關的信息或與邊相關的信息賦予PageRank 模型中的轉移概率或重置概率不同的解釋來提高關鍵詞提取的性能。但是這些方法未能有效整合詞與詞之間的潛在語義關系。因此,本文也在TextRank 算法的基礎上嘗試將這種語義關系通過詞的詞向量與位置信息同時融入到PageRank 模型的轉移概率中,從而提升關鍵詞提取的效果。
設D={d1,d2,…,dm} 為包含m 篇文本文檔的集合。每篇文本文檔di∈D 包含一個由in個候選關鍵詞組成的集合Wi={wi1,wi2,…,win} 。關鍵詞提取的目標是找到一個函數,將每個wij∈Wi映射到一個分數中,然后選取幾個能夠更好地表示文本文檔di的候選關鍵詞或短語。
針對上述問題,提出了一個基于圖的關鍵詞提取算法,EPRank(word Ranking using word Embeddings and Position information)。它主要貢獻在于融合詞向量與位置信息對詞圖中的每個詞進行打分,具體包括以下四個基本步驟:
(1)篩選候選關鍵詞:也稱為文本預處理,主要是通過去除停用詞和詞性過濾從目標文檔中獲取候選關鍵詞。因大多數關鍵詞都是名詞短語并且它們通常是由名詞和形容詞組成,所以本文只選擇名詞和形容詞作為文檔的候選關鍵詞。
(2)構建候選關鍵詞圖:利用給定大小的滑動窗口在目標文檔序列上滑動,同一個窗口內的詞認為具有共現關系,據此建立候選關鍵詞圖。
(3)對詞圖中的候選關鍵詞進行打分。本文嘗試將文本序列中詞之間的潛在語義關系整合到PageRank模型中,并提出了融合詞向量與位置信息的詞打分方法。將在3.4節詳細介紹這部分的內容。
(4)提取關鍵詞或關鍵短語。首先根據上一步中得到的評分較高的前幾個候選關鍵詞生成n-grams候選關鍵短語;然后根據組成候選關鍵短語的單詞計算它的整體得分,具體計算公式如下:
其中,R(w)代表候選單詞w 的分數,ψp是與短語p 的長度相關的權重,具體取值詳見4.1.3 小節;最后將得分較高的候選詞或短語作為最終的關鍵詞或詞組。
詞嵌入向量(Word Embedding),也稱為詞的分布式表示,是利用深度學習技術將文本數據中的每個詞語表示為一個多維的特征向量,該特征向量可以反映文本中詞語之間的潛在語義關系。本文用到Skip-gram、TWE-1 和fastText 三個已有的詞向量表示模型,三個模型的共同之處是詞向量可以反映出詞和它的周圍詞(也稱為上下文,Context)之間的局部的語義關系,而這種局部的語義關系是非常重要的信息。本文嘗試將這種局部的語義關系信息融合到基于圖的關鍵詞提取方法中。
Skip-gram模型[17]是2013年谷歌公司提出的詞向量表示模型,其目標是最大化由中心詞wi生成其周圍詞wi-c至wi+c的條件概率,目標函數具體如下:
其中,N 為文本序列D 中詞的個數,c 為周圍詞窗口的大小。
TWE-1 模型[18]是2015 年清華大學提出的融合主題信息的詞向量表示模型,該模型引入了主題信息z,其目標是最大化中心詞wi和其主題zi生成其周圍詞wi-c至wi+c的條件概率之和,目標函數為:
TWE-1 學得的詞向量除了包含周圍詞之間的潛在語義關系信息還融合了主題信息。
fastText模型[19]是2016年Facebook公司提出的詞向量表示模型,該模型將一個單詞劃分若干個子序列(例如where 劃分為
本文分別使用上述三種詞向量進行實驗,除此之外,候選關鍵詞在文本中所處的位置也是非常重要的信息,常常作為一個重要特征用在有監督的提取方法中。不同方法中有不同的位置特征定義,本文將位置特征定義如下:
其中,tf(wi)為詞wi在目標文檔中出現的次數,pk(wi)為詞wi在文檔序列中第k 次出現的位置下標。例如,一個文本序列“w1w2w3w2w4w5w6w2w7w1”,對于給定的詞w2,它在文本序列中出現的次數為tf(w2)=3,出現的位置分別為p1(w2)=2 、p2(w2)=4 、p3(w2)=8 。根據公式(4),它的位置特征pos(w2)=1/2+1/4+1/8=0.875。該特征不僅反映了候選關鍵詞每次出現的位置權重,還反映了候選關鍵詞出現的頻度。
基于PageRank 的圖提取方法是在詞圖上利用隨機游走技術對詞圖中的詞節點進行評分。對于詞圖中的任一詞節點wi,其PageRank 分數R(wi)可遞歸計算如下:
其中,系數λ 用來調節轉移概率和重置概率所占比重,e(wj,wi)是邊(wj,wi)的權重,O(wj)=wk:wj→wke(wj,wk)是詞wj的出度,e(wj,wi)/O(wj)為轉移概率,其值越大會使詞wi在隨機游走的迭代過程中從wj上獲得越高的分數,r(wi)是重置概率,最終的PageRank 分數將有利于具有較大重啟概率的候選關鍵詞。
為了提高關鍵詞提取的效果,本文嘗試將文本序列之間潛在語義關系融合到PageRank 框架中,為此設計了一個新方案來計算公式(5)中邊的權重e(wj,wi),具體計算公式如下:
星光村鄉村旅游發展僅僅2年時間,尚處于旅游發展的初級階段。目前主要依托水果產業發展觀光游覽、水果采摘等節事活動,受花期和采摘期季節影響較大,旅游淡旺季明顯。游客活動方面,以觀光為主,消費水平整體不高。由于缺乏特色項目的帶動,留不住游客,雖然有鄉村咖啡屋、私房菜、稻草藝術展等新業態的帶動,但內容單一、規模小,帶動作用不明顯。國學、漢文化、繪畫等培訓班及民宿等游客停留時間長的業態還在建或才開業不久,旅游效益還未顯現。
在上述公式中,dice(wj,wi)為Dice 系數[20],它最初是用來衡量兩個集合之間的相似度,后來被自然語言處理領域用來衡量兩個單詞同時出現在同一個短語中的概率,具體計算公式如下:
其中,cf(wj,wi)為詞wj和wi在目標文檔中的共現次數,tf(wi)為詞wi在目標文檔中出現的次數。
在公式(6)中,prs(wj,wi)使用了詞向量與位置信息,用來衡量目標文檔中兩個詞wj和wi在語義相似度下的位置關系強度,具體計算公式如下:
其中,pos(w)為詞w 在目標文檔中的位置信息,具體計算詳見公式(4),d(wj,wi)是詞wj和wi在詞向量空間下的語義距離。本文實驗比較了余弦距離和歐氏距離,發現歐氏距離表現得更好,故本文使用歐氏距離d(wj,wi)=||vj-vi||2,其中vj和vi分別是詞wj和wi的詞向量。本文使用了3.3節所述三種詞向量模型訓練單詞的詞向量并在4.2節對其進行比較。
根據公式(6)的設計,若兩個詞出現在同一個短語的概率越大,并且詞間的語義距離越小,位置關系強度越大,則它們的邊權重越大。根據PageRank 的原理可知,在公式(5)的迭代計算,若兩個詞的邊權重越大,則這兩個詞將更傾向于獲得更高的打分,從而更容易成為關鍵詞。
4.1.1 數據集
本文使用了來自在兩個計算機領域頂級會議發表的文章的摘要,它們分別是ACM 的數據挖掘會議(KDD)和信息檢索會議(SIGIR),前者KDD 數據集是由Caragea[12]提供,后者SIGIR數據集是本文采集的新數據集。實驗評估采用了作者在文章中給出的關鍵詞作為對照標準,且要求完全匹配才算作提取正確。表1統計了兩個數據集的一些重要指標。
由表1可知,兩個數據集具有以下基本特征:(1)每篇論文平均約有4 個關鍵詞;(2)可提取關鍵詞的比例約為一半左右,也即論文中作者給出的關鍵詞一半出現在摘要中,另外一半沒有出現在摘要中;(3)2元關鍵詞占多數,而3元和大于3元的關鍵詞較少。
為了說明模型的有效性,本文選取了五個已有的無監督的方法與本文提出的模型EPRank 進行對比,這些方法的具體介紹如下:
(1)TF-IDF:在無監督關鍵詞提取中,最簡單且相對有效的方法是直接根據候選關鍵詞的TF-IDF值(詞頻-逆文本頻率)對其進行打分排序。
(2)TextRank[8]:該方法是首個直接使用PageRank算法在詞圖上對候選關鍵詞進行打分排序的方法,其中邊權重為共現次數,即e(wj,wi)=cf(wj,wi);重啟概率設為1,即r(w)=1。
(3)Single-TPR[14]:與TextRank 相比,該方法將候選關鍵詞的主題信息融合到PageRank的重啟概率中。該方法首先使用LDA模型計算文檔中主題的分布向量和詞在不同主題下的分布向量,將二者的余弦相似度賦值給重啟概率r(w)。
(4)WordAttractionRank[13](簡記為WAR):與TextRank相比,該方法使用在Wikipedia 上預訓練的詞向量來增強詞與詞之間共現關系,本文在重現該方法時采用了fastText 詞向量模型,該信息通過修改轉移概率融合到PageRank模型中。
(5)PositionRank[15]:與TextRank 相比,該方法直接將位置信息融合到PageRank的重置概率中。
4.1.3 參數設置
本文使用了三個經典的詞向量表示模型:Skip-gram、TWE-1 和fastText。通過訓練參數和為了實驗的公平性,所有模型所學的詞向量維度均設為300 維;窗口大小設置為5,初始學習率設為0.025;在Skip-gram 中,負采樣的個數設為3;在TWE-1 中,主題的個數設為50;fastText詞向量來于谷歌公司2017年公布的在Wikipedia上使用fastText默認參數訓練的詞向量集(https://github.com/facebookresearch/fastText/blob/master/pretrainedvectors.md)。
表1 實驗中使用的數據集
此外,關鍵詞提取時構建詞圖的共現窗口大小c 一般設置為1~10,窗口越大,方法的算法復雜度越大。本文c 設置為2。公式(1)中調節候選關鍵詞組的長度重要性的權重系數ψp在1/|p|左右取值,本文設置如下:如果|p|=1,則ψp=1;如果|p|=2,則ψp=0.62;如果|p|≥3,則ψp=0.3。
4.1.4 性能評估指標
在關鍵詞提取方法的性能評估中,通常廣泛采用以下四個指標:(1)準確率P=#c/#p,(2)召回率R=#c/#s,(3)F1 值F1=2×P×R/(P+R),(4)平均倒數等級(Mean Reciprocal Rank,MRR),該指標用來衡量關鍵詞提取的排序是否合理,具體定義如下:
其中,#c 表示抽取正確的關鍵詞總個數,#p 表示抽取的關鍵詞總個數,#s 表示數據集中標注的關鍵詞總個數,D 表示所有的文檔集合,rankd表示文檔d 第一個正確提取的關鍵詞的排序。實驗結果中指標P 、R、F1 值和MRR 的值越大,表明關鍵詞提取的效果越好。
由表1可知,數據集中給出的關鍵詞有一半左右沒有出現在摘要中,而且本實驗的評估標準較為嚴格。實驗中提取的關鍵詞與數據集標注的關鍵詞完全匹配時才算做一個正例,而非二者取詞干后匹配即可成為正例。因此實驗提升難度較大。
圖1 不同k 值下關鍵詞提取的F1 值的變化
4.2.1 在top k 下不同提取方法的性能對比
在無監督的關鍵詞提取方法中,一般會取排名靠前的k 個(也稱為top k)候選關鍵詞或詞組作為最后的關鍵詞。無監督提取方法的性能與top k 的取值密切相關,當top k 取值較小時,召回率R 會很低;當top k取值較大時,準確率P 會降低,而召回率R 會增大。為了方便在圖上進行直觀比較,此處使用F1 值和MRR兩個綜合指標來衡量不同方法的提取性能。根據top k取值的不同,不同方法在兩個數據集上的F1 值變化詳見圖1,MRR 值的變化詳見圖2。
從圖1(a)可知,在KDD 數據集上,本文提出的EPRank方法在三個不同的詞向量下均明顯好于其他對比方法,特別是在使得F1 值達到頂峰的top k=4 附近,EPRank 方法相對于其他對比方法有很大的優勢。從圖1(b)可知,在SIGIR 數據集上,盡管PositionRank方法也取得不錯的性能(其性能好于EPRank(fastText)方法),但是提出的EPRank(TWE-1)和EPRank(Skipgram)的性能明顯占據優勢。
圖2 給出了不同方法在兩個數據集上的平均倒數等級MRR 值的實驗結果。從圖上可以明顯得出,隨著top k 的增加,兩個數據集上不管是哪個提取方法都更容易提取到正確的關鍵詞,因此MRR 值也在遞增。此外,提出的方法EPRank(TWE-1)、EPRank(Skip-gram)和EPRank(fastText)的MRR 值在KDD 和SIGIR 數據集上均明顯高于其他5個關鍵詞提取提方法,說明EPRank預測正確的關鍵詞更靠前,更有利于為文檔提取到正確的關鍵詞。
4.2.2 top k=4 時不同提取方法的性能對比
因本文所使用的兩個數據集中文章的平均關鍵詞個數約為4個(KDD的是4.03個,SIGIR的是3.81個,見表1),故選取排名靠前的4個(top k=4)候選關鍵詞作為最終的關鍵詞進行性能對比,具體結果詳見表2。
圖2 不同k 值下關鍵詞提取的MRR值變化
表2 當top k=4時KDD和SIGIR數據集上關鍵詞提取方法對比
觀察表2,可以得出以下結論:
第一,TWE-1 和Skip-gram 兩個詞向量模型的效果要好于fastText 模型,主要原因應該是它們的訓練語料集不同。fastText詞向量是從Wikipedia中學習得到,而TWE-1 和Skip-gram 詞向量是從SIGIR 或KDD 兩個目標語料集訓練得到。這說明在目標語料庫上訓練的詞向量比在Wikipedia 上訓練的詞向量更有利于關鍵詞提取。
第二,本文提出的融合詞向量與位置信息的方式更有利于關鍵詞的提取。首先對比EPRank(fastText)和WAR(fastText),雖然這兩種方法均在PageRank 算法的轉移概率矩陣中使用了fastText 詞向量,但是EPRank(fastText)因為位置信息的加入在KDD和SIGIR數據集上的F1值比WAR(fastText)提高了約2個百分點;MRR值在KDD 上提高了4.77%,在SIGIR 上提高了7.28%。其次對比EPRank(Skip-gram)和PositionRank,這兩種方法均在PageRank 算法中使用了位置信息,但是EPRank(Skip-gram)因為Skip-gram 詞向量的加入在KDD 上比PositionRank的F1 值高出1.99%,MRR 值高出5.45%;在SIGIR 上的F1 值高出0.73%,MRR 值高出3.84%。由此證明了提出的融合詞向量與位置信息的關鍵詞提取方法在關鍵詞提取任務上的有效性。
自動關鍵詞提取問題是自然語言處理領域中亟待解決的基礎關鍵問題。本文聚焦于基于圖的無監督提取方法,嘗試將可以表示文本序列中詞與詞之間的潛在語義關系的詞向量與位置信息同時融合到基于PageRank算法框架中。實驗數據來自于發表在計算機領域的兩個國際會議KDD 和SIGIR 上的文章。實驗結果表明,本文提出的EPRank在各項性能評估指標上均優于現有的無監督對比方法。未來,計劃將提出的算法在其他領域的數據集上進行測試,如生物、醫學等學科領域,以便進一步檢驗所提出算法的有效性。