用python写一个红楼梦主要人物出场频次的代码,最后以词云形式展示
时间: 2024-03-11 07:51:37 浏览: 64
分析三国演义和红楼梦,进行中文分词,统计人物出场频次,生成词云图
好的,下面是用Python实现红楼梦主要人物出场频次的代码,并将结果以词云形式展示:
```python
import jieba
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取红楼梦文本
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba分词
words = jieba.lcut(text)
# 去除停用词
stopwords = [',', '。', '?', '!', '、', ';', ':', '“', '”', '‘', '’', '(', ')', '\n']
words = [word for word in words if word not in stopwords]
# 统计人物出现次数
people = ['贾宝玉', '林黛玉', '薛宝钗', '王熙凤', '贾母', '贾琏', '史湘云', '妙玉', '元春', '秦可卿']
people_count = Counter([word for word in words if word in people])
# 生成词云
wordcloud = WordCloud(background_color='white', font_path='msyh.ttc', width=1000, height=600)
wordcloud.generate_from_frequencies(people_count)
# 显示词云
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
```
运行以上代码后,就可以得到红楼梦主要人物出现频次的词云图了。如果需要更改人物列表或者停用词,只需要修改代码中相应的部分即可。
阅读全文