用textrank的方法抽取这十篇里TOP-20的关键词的代码
时间: 2024-05-05 12:15:23 浏览: 164
以下是使用Python中的gensim库和textrank算法来抽取这十篇文章的TOP-20关键词的代码示例:
```python
import gensim
from gensim.summarization import keywords
# 定义一个函数来获取文章的关键词
def get_keywords(text):
# 使用gensim库中的textrank算法来抽取关键词
kw = keywords(text)
# 将关键词按照权重排序
kw_list = kw.split('\n')
kw_list.sort(key=lambda x: float(x.split(' ')[1]), reverse=True)
# 返回排名前20的关键词
return [kw.split(' ')[0] for kw in kw_list[:20]]
# 读取所有文章的文本内容
texts = []
for i in range(1, 11):
with open(f'article_{i}.txt', 'r', encoding='utf-8') as f:
texts.append(f.read())
# 获取所有文章的关键词
all_keywords = []
for text in texts:
all_keywords += get_keywords(text)
# 统计每个关键词的出现次数
keyword_count = {}
for kw in all_keywords:
if kw in keyword_count:
keyword_count[kw] += 1
else:
keyword_count[kw] = 1
# 按照出现次数排序并输出前20个关键词
sorted_keywords = sorted(keyword_count.items(), key=lambda x: x[1], reverse=True)
for kw, count in sorted_keywords[:20]:
print(kw)
```
需要注意的是,在使用gensim库的textrank算法时,我们并没有对文章进行分词和去停用词等预处理操作。如果需要更高质量的关键词抽取结果,可以考虑使用其他NLP工具进行预处理。
阅读全文