textrank提取文件關鍵詞

2021-08-05 21:47:30 字數 1627 閱讀 4841

一、textrank演算法簡介

二、textrank實現

1、將給定輸入的文章,進行分詞,如何將文章進行分詞可以使用jieba來實現。

2、對於分詞的詞語,我們可以對其詞性進行標註處理,並可以過濾掉一些停用詞(如:的、有...),只保留我們需要的詞性的單詞,名詞或者動詞或形容詞。

4、然後根據公式計算,最後可以等到每個單詞的權重,我們可以根據順序選取權重最大的前幾個。

三、textrank演算法的測試

測試文章

有很多不同的數學公式可以用來計算tf-idf。

這邊的例子以上述的數學公式來計算。

詞頻(tf)是一詞語出現的次數除以該檔案的總詞語數。

假如一篇檔案的總詞語數是100個,而詞語「母牛」出現了3次,

那麼「母牛」一詞在該檔案中的詞頻就是3/100=0.03。

乙個計算檔案頻率(df)的方法是測定有多少份檔案出現過「母牛」一詞,

然後除以檔案集裡包含的檔案總數。所以,如果「母牛」一詞在1,000份檔案出現過,

而檔案總數是10,000,000份的話,其逆向檔案頻率就是log(10,000,000 / 1,000)=4。

最後的tf-idf的分數為0.03 * 4=0.12。

實現**,使用jieba實現的

import sys

import jieba

import jieba.analyse

from optparse import optionparser

file_name = "../txt/test.txt"

content = open(file_name, 'rb').read()

#allowpos表示輸出的詞性

for x in jieba.analyse.textrank(content,topk=20,withweight=false,allowpos=('ns','n','vn','v')):

print('%s' % (x))

輸出結果

檔案

出現計算

詞語數學公式

份檔案頻率

母牛測定

集裡總數

包含次數

用來詞頻

逆向方法

例子

四、tf-idf測試結果
import sys

import jieba

import jieba.analyse

from optparse import optionparser

file_name = "../txt/test.txt"

content = open(file_name, 'rb').read()

#10表示輸出的前10個

tags = jieba.analyse.extract_tags(content, topk=10)

print(",".join(tags))

輸出結果

000,檔案,母牛,詞語,tf,詞頻,100,0.03,idf,10

hanlp關鍵詞提取演算法TextRank

長句子 string content 程式設計師 英文programmer 是從事程式開發 維護的專業人員。一般將程式設計師分為程式設計人員和程式編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程式設計師 高階程式設計師 系統 分析員和專案經理四大類。把content 通過乙個...

基於TextRank的關鍵詞提取演算法

pagerank是用來計算網頁重要性的,將每乙個網頁看作乙個節點,將網頁之間的鏈結看作是節點之間的有向邊,網頁的重要性取決於鏈結到它的網頁數量以及這些網頁的重要性。衡量網頁重要性的公式說明如下 什麼是共現關係呢?將文字進行分詞,去除停用詞或詞性篩選等之後,設定視窗長度為k,即最多只能出現k個詞,進行...

NLP 關鍵詞提取之TextRank詳解

pagerank設計之初是用於google的網頁排名的,以該公司創辦人拉里 佩奇 larry page 之姓來命名。google用它來體現網頁的相關性和重要性,在搜尋引擎優化操作中是經常被用來評估網頁優化的成效因素之一。pagerank通過網際網路中的超連結關係來確定乙個網頁的排名,其公式是通過一種...