python資料分析 關鍵字提取

2021-09-11 08:33:25 字數 2637 閱讀 1574

tf-idf(term frequencey-inverse document frequency)指詞頻-逆文件頻率,它屬於數值統計的範疇。使用tf-idf,我們能夠學習乙個詞對於資料集中的乙個文件的重要性。

tf-idf有兩部分,詞頻和逆文件頻率。首先介紹詞頻,這個詞很直觀,詞頻表示每個詞在文件或資料集**現的頻率。等式如下:

tf(t)=詞t在一篇文件**現的次數/這篇文件的總詞數

第二部分——逆文件頻率實際上告訴了我們乙個單詞對文件的重要性。這是因為當計算tf的時候,我們對每個詞賦予了同等的重要性,它出現得越多,它的tf就越高,如果它出現了100次,也許相比其他出現更少的詞,它並不攜帶那麼多資訊,因此我們需要賦予它們權重,決定每個詞的重要性。使用下面的等式得到idf:

idf(t)=(log10文件的篇數/包含詞t文件的篇數)

那麼,計算tf-idf的方法如下:

tf * idf=(詞t在一篇文件**現的次數/這篇文件的總詞數)* log10(文件的篇數/包含詞t文件的篇數)

tf-idf可以應用於如下場景:

如果你正開發乙個文字摘要應用,並正在進行統計,tf-idf是生成摘要最重要的特徵。

tf-idf權重的變動常用於搜尋引擎,以求出文件的得分以及同使用者檢索的相關性。

文字分類應用將tf-idf和bow一起使用。

把給定的文字t按照完整句子進行分割,即

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

# 導入庫

import jieba.analyse # 匯入關鍵字提取庫

import pandas as pd # 匯入pandas

import news*****

# 讀取文字資料

# 獲取文章 銀保監會出台新政為例

article = news*****.article(

'', language=

'zh'

)article.download(

)# 解析文章

article.parse(

)# 對文章進行nlp處理

article.nlp(

)# nlp處理後的文章拼接

string_data =

"".join(article.keywords)

# 關鍵字提取

defget_key_words

(string_data, how='')

:# topk:提取的關鍵字數量,不指定則提取全部;

# withweight:設定為true指定輸出詞對應的if-idf權重

if how ==

'textrank'

:# 使用textrank 演算法

tags_pairs = jieba.analyse.textrank(string_data, topk=

5, withweight=

true

)# 提取關鍵字標籤

else

:# 使用tf-idf 演算法

tags_pairs = jieba.analyse.extract_tags(string_data, topk=

5, withweight=

true

)# 提取關鍵字標籤

tags_list =

# 空列表用來儲存拆分後的三個值

for i in tags_pairs:

# 列印標籤、分組和tf-idf權重

(i[0

], i[1]

))# 拆分三個字段值

tags_pd = pd.dataframe(tags_list, columns=

['word'

,'weight'])

# 建立資料框

return tags_pd

keywords = get_key_words(string_data)

print

("#####################tf-idf####################"

)print

(keywords)

keywords_tr = get_key_words(string_data, how=

'textrank'

)print

("#####################textrank####################"

)print

(keywords_tr)

結果如下:

#####################tf-idf####################

word weight

0 民營企業 0.327466

1 貸款 0.112652

2 融資 0.089557

3 商業銀行 0.084860

4 服務 0.072322

#####################textrank####################

word weight

0 民營企業 1.000000

1 要 0.553043

2 貸款 0.493173

3 融資 0.379846

4 服務 0.371273

python 關鍵字提取

jieba 關鍵字提取 import jieba.analyse tags jieba.analyse.extract tags str,topk 3 str是提取關鍵字的內容,topk是提取關鍵字數 print join tags tf idf關鍵字提取 是用於資訊檢索和文字挖掘的加權技術。是評估...

關鍵字 EXCEL關鍵字提取

如何根據關鍵字列表將單元格中的關鍵字提取出來,本文提供三種方法,看哪一種適合你!開啟excel 表,內容如下 a列為需要提取關鍵字的內容 f列為關鍵字列表 bcd為三種方法演示 方法一 公式 if sumproduct countif a2,f 2 f 13 lookup 0 frequency 0...

關鍵字 php提取關鍵字中文分詞

每日17點準時技術乾貨分享 需求 做seo的keywords時,需要從標題或者正文裡提取關鍵字 2.封裝 loaddict pa setsource content pa startanalysis true tags pa getfinallykeywords num 獲取文章中的n個關鍵字 re...