NLP之關鍵詞提取(TF-IDF、Text-Rank)


1.文本關鍵詞抽取的種類:

關鍵詞提取方法分為有監督、半監督和無監督三種,有監督和半監督的關鍵詞抽取方法需要浪費人力資源,所以現在使用的大多是無監督的關鍵詞提取方法。

無監督的關鍵詞提取方法又可以分為三類:基於統計特征的關鍵詞抽取、基於詞圖模型的關鍵詞抽取和基於主題模型的關鍵詞抽取

2.基於統計特征的有個最簡單的方法,利用TF-IDF效果不錯

對於未登錄詞其IDF值的常用計算以及TF-IDF的計算

3、TD-IDF的主要思想以及優缺點

主要思想

tf-idf 模型的主要思想是:如果詞w在一篇文檔d中出現的頻率高,並且在其他文檔中很少出現,則認為詞w具有很好的區分能力,適合用來把文章d和其他文章區分開來。

TF-IDF算法的優點是簡單快速,結果比較符合實際情況。缺點是,單純以"詞頻"衡量一個詞的重要性,不夠全面,有時重要的詞可能出現次數並不多。而且,這種算法無法體現詞的位置信息,出現位置靠前的詞與出現位置靠后的詞,都被視為重要性相同,這是不正確的IDF的簡單結構並不能有效地反映單詞的重要程度和特征詞的分布情況,使其無法很好地完成對權值調整的功能。

4、基於詞圖模型的介紹一個TextRank

具體參考:

https://www.cnblogs.com/xueyinzhe/p/7101295.html

說到TextRank要先介紹PageRank:

PageRank算法

  PageRank設計之初是用於Google的網頁排名的,以該公司創辦人拉里·佩奇(Larry Page)之姓來命名。Google用它來體現網頁的相關性和重要性,在搜索引擎優化操作中是經常被用來評估網頁優化的成效因素之一。PageRank通過互聯網中的超鏈接關系來確定一個網頁的排名,其公式是通過一種投票的思想來設計的:如果我們要計算網頁APageRank值(以下簡稱PR值),那么我們需要知道有哪些網頁鏈接到網頁A,也就是要首先得到網頁A的入鏈,然后通過入鏈給網頁A的投票來計算網頁APR值。這樣設計可以保證達到這樣一個效果:當某些高質量的網頁指向網頁A的時候,那么網頁APR值會因為這些高質量的投票而變大,而網頁A被較少網頁指向或被一些PR值較低的網頁指向的時候,APR值也不會很大,這樣可以合理地反映一個網頁的質量水平。那么根據以上思想,佩奇設計了下面的公式:

該公式中,Vi表示某個網頁,Vj表示鏈接到Vi的網頁(即Vi的入鏈),S(Vi)表示網頁ViPR值,In(Vi)表示網頁Vi的所有入鏈的集合,Out(Vj)表示網頁,d表示阻尼系數,是用來克服這個公式中“d *”后面的部分的固有缺陷用的:如果僅僅有求和的部分,那么該公式將無法處理沒有入鏈的網頁的PR值,因為這時,根據該公式這些網頁的PR值為0,但實際情況卻不是這樣,所加入了一個阻尼系數來確保每個網頁都有一個大於0PR值,根據實驗的結果,在0.85的阻尼系數下,大約100多次迭代PR值就能收斂到一個穩定的值,而當阻尼系數接近1時,需要的迭代次數會陡然增加很多,且排序不穩定。公式中S(Vj)前面的分數指的是Vj所有出鏈指向的網頁應該平分VjPR值,這樣才算是把自己的票分給了自己鏈接到的網頁

具體解釋下后面的計算:即為網頁所有入鏈的PR值之和再*阻尼系數,入鏈的PR值還要考慮到該入鏈是從哪個網頁出來的,該入鏈的PR=其出鏈的那個父節點/所有出去的路徑

TextRank算法提取關鍵詞

TextRank是由PageRank改進而來,其公式有頗多相似之處,這里給出TextRank的公式:

 

可以看出,該公式僅僅比PageRank多了一個權重項Wji,用來表示兩個節點之間的邊連接有不同的重要程度。TextRank用於關鍵詞提取的算法如下:

1)把給定的文本T按照完整句子進行分割,即

 

2)對於每個句子,進行分詞和詞性標注處理,並過濾掉停用詞,只保留指定詞性的單詞,如名詞、動詞、形容詞,即,其中 ti,j 是保留后的候選關鍵詞。

3)構建候選關鍵詞圖G = (V,E),其中V為節點集,由(2)生成的候選關鍵詞組成,然后采用共現關系(co-occurrence)構造任兩點之間的邊,兩個節點之間存在邊僅當它們對應的詞匯在長度為K的窗口中共現,K表示窗口大小,即最多共現K個單詞。

4)根據上面公式,迭代傳播各節點的權重,直至收斂。

5)對節點權重進行倒序排序,從而得到最重要的T個單詞,作為候選關鍵詞。

6)5得到最重要的T個單詞,在原始文本中進行標記,若形成相鄰詞組,則組合成多詞關鍵詞。

總結:將原文本拆分為句子,在每個句子中過濾掉停用詞(可選),並只保留指定詞性的單詞(可選)。由此可以得到句子的集合和單詞的集合。

每個單詞作為pagerank中的一個節點。設定窗口大小為k,假設一個句子依次由下面的單詞組成:w1,w2,w3,w4,w5,…,wn

[w1,w2,…,wk]、[w2,w3,…,wk+1]、[w3,w4,…,wk+2]等都是一個窗口。在一個窗口中的任兩個單詞對應的節點之間存在一個無向無權的邊。

基於上面構成圖,可以計算出每個單詞節點的重要性。最重要的若干單詞可以作為關鍵詞。

5.文章關鍵詞提取算法的對比

TF-IDF與TextRank的對比:tf-idf注重詞頻,詞頻和idf的乘積越大越關鍵,textrank注重詞語之間的關聯,和別的詞關聯性越大的詞越重要。

tf-idf是純粹用詞頻的思想(無論是tf還是idf都是)來計算一個詞的得分,最終來提取關鍵詞,完全沒有用到詞之間的關聯性.textrank用到了詞之間的關聯性(將相鄰的詞鏈接起來),這是其優於tf-idf的地方tf-idf的idf值依賴於語料環境,這給他帶來了統計上的優勢,即它能夠預先知道一個詞的重要程度.這是它優於textrank的地方.而textrank只依賴文章本身,它認為一開始每個詞的重要程度是一樣的

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM