写一个英文词频统计及词云显示的python程序
时间: 2023-05-26 16:06:05 浏览: 227
以下是一段可以实现英文词频统计及词云显示的Python代码:
```python
import nltk
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
from wordcloud import WordCloud
import matplotlib.pyplot as plt
nltk.download('stopwords')
# 读取文件
with open('text.txt', 'r') as f:
text = f.read()
# 分词,去停用词
tokens = word_tokenize(text.lower())
stop_words = set(stopwords.words('english'))
tokens_cleaned = [token for token in tokens if token not in stop_words and token.isalpha()]
# 统计词频
freq_dist = nltk.FreqDist(tokens_cleaned)
freq_dist.most_common(20) # 打印出出现频率最高的前20个单词
# 生成词云
wordcloud = WordCloud(background_color='white').generate(' '.join(tokens_cleaned))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
```
以上代码将文本文件 "text.txt" 中的内容进行了词频统计,并生成了一个词云图。其中,使用了NLTK库进行了分词和去除停用词,使用了matplotlib库进行了可视化。另外,使用了wordcloud库生成了词云图。您可以将代码复制到Python环境中执行,并根据需要进行调整。
阅读全文