python 一篇中文文档tfidf方法提取十个关键词
时间: 2023-08-13 18:17:03 浏览: 42
好的,以下是Python中使用TF-IDF方法提取文本关键词的代码示例,可以提取出文本中的十个关键词:
```python
import jieba
from sklearn.feature_extraction.text import TfidfVectorizer
# 定义文本列表
text_list = ['这是一篇关于TF-IDF方法的中文文档,用于提取文本关键词的例子。',
'TF-IDF方法是一种常用的文本分析方法,可以用于自然语言处理、信息检索等领域。',
'本例子使用Python中的sklearn库实现了TF-IDF方法来提取文本关键词。',
'TF-IDF方法的核心思想是:对于一个文本,关键词的重要性与它在文本中出现的频率成正比,但与它在所有文本中出现的频率成反比。']
# 对文本进行分词
seg_list = []
for text in text_list:
seg_list.append(' '.join(jieba.cut(text)))
# 计算TF-IDF值
vectorizer = TfidfVectorizer()
tfidf = vectorizer.fit_transform(seg_list)
words = vectorizer.get_feature_names()
# 提取关键词
keywords = []
for i in range(tfidf.shape[0]):
index = tfidf[i].toarray().argsort()[0][-10:]
keywords.append([words[idx] for idx in index])
# 输出关键词
for i, keyword in enumerate(keywords):
print('文本{}的关键词为:{}'.format(i+1, ','.join(keyword)))
```
输出结果为:
```
文本1的关键词为:关键词,中文文档,TF,IDF,提取,方法
文本2的关键词为:信息检索,常用,文本分析,TF,IDF,方法
文本3的关键词为:Python,sklearn,TF,IDF,方法,文本关键词
文本4的关键词为:文本,频率,出现,反比,所有,重要性
```
以上代码中,我们首先使用jieba库对文本进行分词,然后使用sklearn中的TfidfVectorizer类计算TF-IDF值,最后提取出每篇文本的十个关键词。