Walden中各单词出现的频次,并按频次由高到低排序,并制作词云。
时间: 2023-06-25 07:06:39 浏览: 156
瓦尔登湖Walden名句名言华章英汉对照.doc
好的,我可以帮您完成这个任务。
首先,我们需要读取Walden文本,然后将其分词并统计词频。您可以使用Python中的nltk库来完成此任务。请确保您已经安装了nltk库。
以下是完成此任务的代码:
```python
import nltk
from nltk.tokenize import word_tokenize
from nltk.probability import FreqDist
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文件
with open('Walden.txt', 'r') as file:
text = file.read()
# 分词
tokens = word_tokenize(text)
# 统计词频
fdist = FreqDist(tokens)
# 按频次排序
sorted_fdist = sorted(fdist.items(), key=lambda x: x[1], reverse=True)
# 打印前20个高频词
print(sorted_fdist[:20])
# 制作词云
wordcloud = WordCloud(width=800, height=800, background_color='white', contour_width=5, contour_color='steelblue')
wordcloud.generate_from_frequencies(fdist)
plt.figure(figsize=(8, 8), facecolor=None)
plt.imshow(wordcloud)
plt.axis("off")
plt.tight_layout(pad=0)
plt.show()
```
在这里,我们首先读取Walden.txt文件,然后使用word_tokenize函数将其分为单词。接下来,我们使用FreqDist函数计算每个单词出现的次数,并将其存储在fdist变量中。然后,我们按频率对单词进行排序,并使用sorted_fdist变量存储结果。最后,我们使用WordCloud库制作词云,并在图形中显示出来。
您可以将Walden.txt文件放在与代码相同的文件夹中,并在代码中指定文件名。运行代码后,您将获得一个包含前20个高频词的列表,并且还会显示一个词云。
阅读全文