实验2: 沉默的羔羊词云生成 描述 附件是《沉默的羔羊》中文版内容,请读入内容,分词生成词云进行可视化。 使用自顶向下的设计方法,比较简单的过程就是分三步: 第一步,得到关键词:用分词工具将文本分成关键词,这里可以添加一些附加的内容,例如去除停用词、加载用户自定义词表。 第二步,设置词云的显示格式。该步骤主要是一些字体、背景颜色的设置,词云模板图可以自选从网上下载。 第三步,显示词云并保存
时间: 2024-02-20 13:56:10 浏览: 107
好的,那我来回答你的问题。这个实验要求读取《沉默的羔羊》的中文内容,使用分词工具将文本分成关键词,并生成词云进行可视化。具体的设计流程如下:
1. 读取《沉默的羔羊》的中文内容。
2. 对文本进行分词处理。可以使用 Python 中的 jieba 库进行分词,同时可以添加一些附加的内容,如去除停用词、加载用户自定义词表。
3. 统计分词后得到的词频,得到每个词的出现次数。
4. 设置词云的显示格式,包括字体、背景颜色等。可以选择从网上下载词云模板图。
5. 显示词云并保存。
以下是 Python 代码实现:
```python
# 导入所需要的库
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取《沉默的羔羊》中文版内容
with open('TheSilenceOfTheLambs.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 对文本进行分词处理
words = jieba.lcut(text)
# 去除停用词
stopwords = ['的', '了', '是', '和', '我', '你', '他', '她', '我们', '你们', '他们', '她们', '这', '那', '就', '也', '不', '在', '上', '下', '里', '外', '中', '个', '多', '些', '这些', '那些', '如', '但', '要', '还', '会', '这样', '这里', '那里', '一些', '一样', '这个', '那个', '有', '没有']
new_words = []
for word in words:
if word not in stopwords:
new_words.append(word)
# 统计分词后得到的词频
word_counts = {}
for word in new_words:
if len(word) == 1:
continue
else:
word_counts[word] = word_counts.get(word, 0) + 1
# 设置词云的显示格式
wc = WordCloud(
font_path='STKAITI.TTF', # 设置字体,需要下载相应的字体文件
background_color='white', # 设置背景颜色
max_words=200, # 设置最大显示的单词数量
width=800, # 设置图片的宽度
height=600, # 设置图片的高度
margin=2, # 设置图片的边缘
)
# 生成词云
wc.generate_from_frequencies(word_counts)
# 显示词云
plt.imshow(wc)
plt.axis('off')
plt.show()
# 保存词云
wc.to_file('the_silence_of_the_lambs_wordcloud.png')
```
在运行完上面的代码后,你就可以得到一张《沉默的羔羊》词云图,并且保存在本地。
阅读全文