长文本关键词提取后,进行可视化,Python完整代码示例,直接写代码
时间: 2023-10-05 17:09:04 浏览: 46
以下是使用Python进行长文本关键词提取并可视化的示例代码:
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
from collections import Counter
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用Jieba进行分词
words = jieba.cut(text)
# 去除停用词
stopwords = ['的', '了', '是', '我', '你', '他', '她', '我们', '你们', '他们']
filtered_words = [word for word in words if word not in stopwords]
# 统计词频
word_counts = Counter(filtered_words)
# 取出出现频率最高的前10个关键词
top_words = word_counts.most_common(10)
# 输出关键词和词频
for word, count in top_words:
print(word, count)
# 生成词云
mask = np.array(Image.open('mask.png'))
wordcloud = WordCloud(background_color='white', mask=mask, font_path='msyh.ttc', max_words=2000, max_font_size=200, random_state=42)
wordcloud.generate_from_frequencies(word_counts)
# 可视化词云
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
```
其中,`text.txt`是需要提取关键词的文本文件,`mask.png`是词云形状的图片文件,`msyh.ttc`是中文字体文件。代码中使用了`jieba`库进行分词,`Counter`类进行词频统计,`WordCloud`类生成词云,`matplotlib`库可视化词云。