python怎么对文本生成词云,用停用词
时间: 2023-07-11 18:49:38 浏览: 129
在生成词云时,可以通过设置停用词来过滤掉一些常见但无意义的词语,以提高词云的质量。可以使用Python中的jieba库来进行中文分词,并且可以使用自己的停用词表。下面是一个示例代码:
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 加载停用词表
stopwords = set()
with open('stopwords.txt', 'r', encoding='utf-8') as f:
for line in f:
stopwords.add(line.strip())
# 分词
words = jieba.cut(text)
# 过滤停用词
filtered_words = []
for word in words:
if word not in stopwords:
filtered_words.append(word)
# 创建词云对象
wordcloud = WordCloud(collocations=False, font_path='msyh.ttc', width=800, height=600)
# 生成词云
wordcloud.generate(' '.join(filtered_words))
# 显示词云
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存词云到文件
wordcloud.to_file('wordcloud.png')
```
其中,`stopwords.txt`是停用词表文件,每行一个停用词。代码中使用了`jieba.cut`进行中文分词,并通过循环过滤掉了停用词。最后使用`WordCloud`生成词云,`generate`方法的参数是一个字符串,其中每个词语之间用空格隔开。
阅读全文
相关推荐


















