第3篇:三分鐘熱情學(xué)NLP-關(guān)鍵詞提取TextRank算法
TextRank算法,借鑒了PageRank的思想,或者可以直接理解成:TextRank是PageRank的2.0版。
1、PageRank算法
谷歌的2位創(chuàng)始人佩奇和布林,借鑒了評(píng)判論文重要性的方法(學(xué)術(shù)界,如果1篇論文被引用得越多,就會(huì)認(rèn)為該論文越重要)來(lái)評(píng)價(jià)網(wǎng)頁(yè)的重要性,概況來(lái)說(shuō)就是2點(diǎn):
1、要數(shù)量。某個(gè)網(wǎng)頁(yè)被越多網(wǎng)頁(yè)鏈接的話,說(shuō)明這個(gè)網(wǎng)頁(yè)越重要,其對(duì)應(yīng)的PageRank值越高;
2、要質(zhì)量。被PageRank值較高的網(wǎng)頁(yè)A鏈接的網(wǎng)頁(yè)B,則被鏈接的這個(gè)網(wǎng)頁(yè)B的PageRank值也會(huì)相應(yīng)提高;
注:PageRank值,簡(jiǎn)稱PR值;
如下圖所示(圖片來(lái)源https://www.cnblogs.com/Luv-GEM/p/10884493.html)


2、TextRank算法
通過(guò)把文本分割成若干組成單元(如:句子)并建立圖模型, 利用投票機(jī)制對(duì)文本中的重要成分進(jìn)行排序,可實(shí)現(xiàn)利用單篇文檔本身的信息進(jìn)行關(guān)鍵詞提取。
步驟包括:
1、對(duì)文本進(jìn)行切割,按照完整的句子進(jìn)行切割;
2、對(duì)于每個(gè)句子進(jìn)行分詞和詞性標(biāo)注,去掉停用詞,保留名詞、動(dòng)詞、形容詞等;
3、計(jì)算詞向量;
4、將詞向量合并為句子的句向量表示;
5、計(jì)算句向量之前的相似性;計(jì)算轉(zhuǎn)移概率矩陣,用于句子的TenxRank計(jì)算;
6、按照TextRank值進(jìn)行排序;
7、取排名靠前的句子作為摘要;
如下圖所示(圖片來(lái)源:https://zhuanlan.zhihu.com/p/55270310)

3、TextRank算法實(shí)戰(zhàn)
本部分以Jieba分詞下的TextRank進(jìn)行實(shí)戰(zhàn),摘選一段jieba的git上的對(duì)jieba.analyse.textrank的參數(shù)說(shuō)明。
jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) 直接使用,接口相同,注意默認(rèn)過(guò)濾詞性。
輸入
import jieba
import jieba.analyse
s = "此外,公司擬對(duì)全資子公司吉林歐亞置業(yè)有限公司增資4.3億元,增資后,吉林歐亞置業(yè)注冊(cè)資本由7000萬(wàn)元增加到5億元。吉林歐亞置業(yè)主要經(jīng)營(yíng)范圍為房地產(chǎn)開發(fā)及百貨零售等業(yè)務(wù)。目前在建吉林歐亞城市商業(yè)綜合體項(xiàng)目。2013年,實(shí)現(xiàn)營(yíng)業(yè)收入0萬(wàn)元,實(shí)現(xiàn)凈利潤(rùn)-139.13萬(wàn)元。"
for x, w in jieba.analyse.textrank(s, withWeight=True):
print('%s %s' % (x, w))
輸出
吉林 1.0
歐亞 0.9966893354178172
置業(yè) 0.6434360313092776
實(shí)現(xiàn) 0.5898606692859626
收入 0.43677859947991454
增資 0.4099900531283276
子公司 0.35678295947672795
城市 0.34971383667403655
商業(yè) 0.34817220716026936
業(yè)務(wù) 0.3092230992619838
在建 0.3077929164033088
營(yíng)業(yè) 0.3035777049319588
全資 0.303540981053475
綜合體 0.29580869172394825
注冊(cè)資本 0.29000519464085045
有限公司 0.2807830798576574
零售 0.27883620861218145
百貨 0.2781657628445476
開發(fā) 0.2693488779295851
經(jīng)營(yíng)范圍 0.2642762173558316