今天是介紹 jieba 中文分詞工具使用的第 2 篇文章,上一篇主要介紹了 jieba 分詞的三種模式以及對應的分詞實例,今天來介紹通過 jieba 分詞工具來提取中文文章中的關鍵詞,以及對應的權重。
今天的文章能讓你學到什麼?
你可以快速知道一篇中文文章中,哪些詞出現頻率比較高,從而可以快速的知道這篇文章的核心思想是什麼以及對應的話題,這在自然語言當中是比較基礎同時也是比較重要的知識來的,這個知識點通常用於“文本分析”。
安裝
pip install jieba
jieba 關鍵詞提取主要有兩種方法:
第一種:基於 TF-IDF 算法的關鍵詞抽取
第二種:基於 TextRank 算法的關鍵詞抽取
語法
1、基於 TF-IDF 算法的關鍵詞抽取
jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 實例,不設置就採用默認方式 jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
2、基於 TextRank 算法的關鍵詞抽取
jieba.analyse.TextRank(idf_path=None) 新建 TFIDF 實例,不設置就採用默認方式 jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=())
參數介紹
★idf_path :為 IDF 頻率文件
★sentence: 為待提取的文本
★topK :返回幾個 TF/IDF 權重最大的關鍵詞,默認值為 20
★withWeight :表示是否一併返回關鍵詞權重值,默認值為 False
★allowPOS: 僅返回指定詞性的詞如:allowPos=('nr', 'n'),默認值為空,即不篩選
返回值
返回形式為 [(), ()]
例子
實例1:基於analyse.extract_tags()提取
代碼解釋:
topK=3 代表輸出前面的3個關鍵詞,默認是輸出20個
withWeight=True 代表輸出詞語對應的權重信息
from jieba import analyse s = """ 關聯問題交叉銷售問題等屬於關聯問題,關聯分析 也叫購物籃分析,我們要掌握常見的關聯分析算法 """ data = analyse.extract_tags(s, topK=3, withWeight=True) for key, weight in data: print('%s %s' % (key, weight))
關聯 1.6245281341733333
分析 0.8072675027333334
購物籃 0.6641537501611111
實例2:只返回指定的的詞性,比如只返回出現"名詞"
代碼解釋:allowPOS=('n') 代表只返回名詞
更多詞性表示,請看鏈接:https://www.cnblogs.com/chenbjin/p/4341930.html
from jieba import analyse s = """ 關聯問題交叉銷售問題等屬於關聯問題,關聯分析 也叫購物籃分析,我們要掌握常見的關聯分析算法 """ data = analyse.extract_tags(s, topK=3, withWeight=True, allowPOS=('n')) for key, weight in data: print('%s %s' % (key, weight))
購物籃 1.9924612504833332
問題 1.98175678654
算法 1.4485319165216666
實例3:基於 analyse.textrank() 提取
from jieba import analyse s = """ 關聯問題交叉銷售問題等屬於關聯問題,關聯分析 也叫購物籃分析,我們要掌握常見的關聯分析算法 """ for key, weight in analyse.textrank(s, topK=3, withWeight=True): print('%s %s' % (key, weight))
關聯 1.0
問題 0.8928709491961201
分析 0.6495388430401274
在實際的文本中提取關鍵詞,可以將上面的例子中的 s 的內容替換成你需要分析的文本數據就可以了
End-----
喜歡的讀者朋友可以點贊和關注小編,更多精彩內容等著你.......
往期文章推薦如下:
自然語言NLP必備(1),jieba工具 5 行代碼對整篇文章分詞
python科學數據分析包|numpy、pandas等5大數據分析包入門教程
封面圖片來源於網絡