jieba 基于 TF-IDF 算法的关键词提取

import jieba.analyse

jieba.analyse.extract_tags(sentence, topK=20, withWeight=False,
allowPOS=())
  • sentence 为待提取的文本
  • topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
  • withWeight 为是否一并返回关键词权重值,默认值为 False
  • allowPOS 仅包括指定词性的词,默认值为空,即不筛选
# 新建 TFIDF 实例,idf_path 为 IDF 频率文件
jieba.analyse.TFIDF(idf_path=None)

关键词提取所使用停止词(Stop Words)文本语料库可以切换成自定义语料库的路径

# file_name为自定义语料库的路径
jieba.analyse.set_stop_words(file_name)

自定义语料库示例:

!
"
#
$
%
&
'
(
)
*
+
,
-
--
.
..
...
......
...................
./
.一
记者
数
年
月
日
时
分
秒
/
//
0
1
2
3
4
import jieba
import jieba.analyse
content = open('demo.txt', 'r', encoding='utf-8').read()
jieba.analyse.set_stop_words("stopwords.txt")
tags = jieba.analyse.extract_tags(content, topK=10)
print(",".join(tags))

关键词一并返回关键词权重值示例:

import jieba
import jieba.analyse
content = open('demo.txt', 'r', encoding='utf-8').read()
jieba.analyse.set_stop_words("stopwords.txt")
tags = jieba.analyse.extract_tags(content, topK=10, withWeight=True)
for tag in tags:
    print("tag:%s\t\t weight:%f"%(tag[0],tag[1]))
本作品采用《CC 协议》,转载必须注明作者和本文链接
不要试图用百米冲刺的方法完成马拉松比赛。
本帖由 Galois 于 3年前 解除加精
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!