第3篇:三分鐘熱情學NLP-關鍵詞提取TextRank算法
TextRank算法庐镐,借鑒了PageRank的思想,或者可以直接理解成:TextRank是PageRank的2.0版毯焕。
1、PageRank算法
谷歌的2位創(chuàng)始人佩奇和布林剥槐,借鑒了評判論文重要性的方法(學術界损谦,如果1篇論文被引用得越多,就會認為該論文越重要)來評價網(wǎng)頁的重要性找颓,概況來說就是2點:
1合愈、要數(shù)量。某個網(wǎng)頁被越多網(wǎng)頁鏈接的話击狮,說明這個網(wǎng)頁越重要佛析,其對應的PageRank值越高;
2彪蓬、要質(zhì)量寸莫。被PageRank值較高的網(wǎng)頁A鏈接的網(wǎng)頁B,則被鏈接的這個網(wǎng)頁B的PageRank值也會相應提高档冬;
注:PageRank值膘茎,簡稱PR值;
如下圖所示(圖片來源https://www.cnblogs.com/Luv-GEM/p/10884493.html)
2酷誓、TextRank算法
通過把文本分割成若干組成單元(如:句子)并建立圖模型, 利用投票機制對文本中的重要成分進行排序披坏,可實現(xiàn)利用單篇文檔本身的信息進行關鍵詞提取。
步驟包括:
1呛牲、對文本進行切割刮萌,按照完整的句子進行切割;
2娘扩、對于每個句子進行分詞和詞性標注着茸,去掉停用詞,保留名詞琐旁、動詞涮阔、形容詞等;
3灰殴、計算詞向量敬特;
4、將詞向量合并為句子的句向量表示牺陶;
5伟阔、計算句向量之前的相似性;計算轉(zhuǎn)移概率矩陣掰伸,用于句子的TenxRank計算皱炉;
6、按照TextRank值進行排序狮鸭;
7合搅、取排名靠前的句子作為摘要多搀;
如下圖所示(圖片來源:https://zhuanlan.zhihu.com/p/55270310)
3、TextRank算法實戰(zhàn)
本部分以Jieba分詞下的TextRank進行實戰(zhàn)灾部,摘選一段jieba的git上的對jieba.analyse.textrank的參數(shù)說明康铭。
jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) 直接使用,接口相同赌髓,注意默認過濾詞性从藤。
輸入
import jieba
import jieba.analyse
s = "此外,公司擬對全資子公司吉林歐亞置業(yè)有限公司增資4.3億元春弥,增資后呛哟,吉林歐亞置業(yè)注冊資本由7000萬元增加到5億元。吉林歐亞置業(yè)主要經(jīng)營范圍為房地產(chǎn)開發(fā)及百貨零售等業(yè)務匿沛。目前在建吉林歐亞城市商業(yè)綜合體項目扫责。2013年,實現(xiàn)營業(yè)收入0萬元逃呼,實現(xiàn)凈利潤-139.13萬元鳖孤。"
for x, w in jieba.analyse.textrank(s, withWeight=True):
print('%s %s' % (x, w))
輸出
吉林 1.0
歐亞 0.9966893354178172
置業(yè) 0.6434360313092776
實現(xiàn) 0.5898606692859626
收入 0.43677859947991454
增資 0.4099900531283276
子公司 0.35678295947672795
城市 0.34971383667403655
商業(yè) 0.34817220716026936
業(yè)務 0.3092230992619838
在建 0.3077929164033088
營業(yè) 0.3035777049319588
全資 0.303540981053475
綜合體 0.29580869172394825
注冊資本 0.29000519464085045
有限公司 0.2807830798576574
零售 0.27883620861218145
百貨 0.2781657628445476
開發(fā) 0.2693488779295851
經(jīng)營范圍 0.2642762173558316