使用tf-idf算法提取出来top20关键词。
时间: 2023-12-14 15:18:02 浏览: 80
TFIDF关键词提取
好的,我可以为您使用Python中的scikit-learn库来实现tf-idf算法提取top20关键词。以下是代码示例:
```python
from sklearn.feature_extraction.text import TfidfVectorizer
# 假设您有一些文本数据存储在一个列表中,例如:
text_list = ["这是第一篇文章。", "这是第二篇文章。", "这是第三篇文章。"]
# 创建一个TfidfVectorizer对象,并将文本数据传递给它
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(text_list)
# 获取特征名和对应的tf-idf值
feature_names = vectorizer.get_feature_names()
tfidf_scores = tfidf_matrix.toarray()
# 将特征名和tf-idf值组成一个字典
keywords_dict = {}
for i in range(len(text_list)):
keywords_dict[i] = {}
for j in range(len(feature_names)):
if tfidf_scores[i][j] > 0:
keywords_dict[i][feature_names[j]] = tfidf_scores[i][j]
# 将每篇文章的关键词按tf-idf值排序,并提取top20关键词
top20_keywords = []
for i in range(len(text_list)):
sorted_keywords = sorted(keywords_dict[i].items(), key=lambda x: x[1], reverse=True)
top20_keywords.append([x[0] for x in sorted_keywords[:20]])
# 打印出top20关键词
print(top20_keywords)
```
这段代码将会输出top20关键词的列表,其中每个子列表代表一篇文章的top20关键词。
阅读全文