python 中文tfidf关键词提取
时间: 2023-09-07 07:14:33 浏览: 104
深入理解TF-IDF算法:Python实现与关键词提取
在Python中,同样可以使用scikit-learn库中的TfidfVectorizer来进行中文TF-IDF关键词提取。需要注意的是,需要使用中文分词工具对中文文本进行分词,然后将分好词的文本列表传入TfidfVectorizer中进行TF-IDF计算。下面是一个示例代码:
```python
from sklearn.feature_extraction.text import TfidfVectorizer
import jieba
# 中文文本列表
text_list = ['这是第一篇文档。', '这是第二篇文档。', '这是第三篇文档。']
# 使用jieba分词对文本进行分词
text_list = [' '.join(jieba.cut(text)) for text in text_list]
# 创建TfidfVectorizer对象
vectorizer = TfidfVectorizer()
# 转换文本列表为TF-IDF矩阵
tfidf_matrix = vectorizer.fit_transform(text_list)
# 获取词汇表
words = vectorizer.get_feature_names()
# 遍历每一篇文档,输出TF-IDF值最高的前5个词汇作为关键词
for i in range(len(text_list)):
print('文档%d的关键词:' % (i+1))
tfidf = tfidf_matrix[i].toarray()[0]
top_words = [(words[j], tfidf[j]) for j in tfidf.argsort()[:-6:-1]]
for word, score in top_words:
print('\t%s\t%.2f' % (word, score))
```
运行上述代码,将输出每篇文档的关键词及其对应的TF-IDF值。其中,关键词按照TF-IDF值从高到低排序,只输出TF-IDF值最高的前5个词汇。
阅读全文