编写至少50行代码,形成小说人物词云分析通用代码框架
时间: 2024-01-15 19:02:48 浏览: 94
以下是一个基于Python的小说人物词云分析通用代码框架,可以通过简单修改适用于不同的小说文本:
``` python
import jieba
import numpy as np
from PIL import Image
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
# 读取小说文本
with open('novel.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 对文本进行分词处理
words = jieba.lcut(text)
# 去除停用词
stop_words = ['的', '了', '和', '是', '就', '都', '而', '及', '与', '也', '等', '要', '在', '之', '乎', '有', '无', '不', '是', '我', '你', '他', '她', '它', '们']
words = [word for word in words if word not in stop_words]
# 生成词频统计结果
word_counts = {}
for word in words:
if len(word) == 1:
continue
else:
word_counts[word] = word_counts.get(word, 0) + 1
# 生成词云图
mask = np.array(Image.open('mask.png'))
wc = WordCloud(background_color='white', mask=mask, font_path='simhei.ttf', max_words=200, max_font_size=150)
wc.generate_from_frequencies(word_counts)
image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors)
# 显示词云图
plt.imshow(wc)
plt.axis('off')
plt.show()
```
可以根据实际情况修改参数,如停用词表、文本文件名、遮罩图片等,以生成符合需求的词云图。
阅读全文