wordcloud词云图和jieba分词,过滤不要的词句(停用词)

"""
生成中文词云步骤
1、读取文件内容
2、借助jieba分词库对中文进行分词,让后将结果合并,以空格隔开
3、打开图片文件,得到对应数组(可以设置图片的形状;图片中的白色部分不显示)
4、创建WordCloud对象,设置基本属性 (创建词云对象,将文本生成词云generate,再用画出词云图,并显示)
5、生成词云图,并保存或显示图片

中文中需要设置停用词的话可以有三种方法:(过滤不需要的)
1、在分词前,将中文文本的停用词先过滤掉。
2、分词的时候,过滤掉停用词。
3、在wordcloud中设置stopwords。

"""

import jieba  # 先安装pip install jieba
import wordcloud as wc  # 先安装pip install wordcloud
import matplotlib.pyplot as plt  # 用于显示图片
from PIL import Image
import numpy as np  # 先安装pip install numpy

# 词云图的形状mask
mask = np.array(Image.open('fivestar.png'))  # 读取图片 词云图样

# # 设置停用词(直接再代码设置)
# stopwords = ['的', '制度', '完善', '发展', '和', '□']
# wc.STOPWORDS.update(stopwords)

# 设置停用词(文件设置停用词; \ufeff 需要把编码模式改成utf-8-sig)
stopwords = set()
content = [line.strip() for line in open('hit_stopwords.txt', 'r', encoding='utf-8-sig').readlines()]
print(content)
stopwords.update(content)


# 创建词云对象,设定基本信息;
words = wc.WordCloud(font_path='AliHYAiHei-Beta_0.ttf', mask=mask, stopwords=stopwords)

# 读取文件内容
with open('text.txt', mode='r', encoding='utf-8') as f:
    txt = f.read()
txt = ' '.join(jieba.lcut(txt))  # 用空格连接分好的词
# print(content)
words.generate(txt)
# word_cloud.to_file('词云图.png')  # 保存词云图

# 显示词云图
plt.imshow(words)  # 显示图片
plt.axis('off')  # 不显示坐标轴
plt.show()  # 显示图

"""
在读取文件中出现\ufeff,解决 \ufeff的问题
只需改一下编码就行,把 UTF-8 编码 改成 UTF-8-sig
https://www.cnblogs.com/yunlongaimeng/p/12530255.html
"""

停用词文件(一行一个停用词):

Python 基础 之 词云(词的频率统计大小成图)的简单实现(包括图片词云,词云颜色,词的过滤)_仙魁XAN的博客-CSDN博客_词云过滤一、简单介绍Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。本节简单介绍,词云的生成图、保存词云图片、图片 mask 生成词云、过滤词云中的某些词等简单功能,如有不对,欢迎指正,谢谢。...https://blog.csdn.net/u014361280/article/details/111227462?ops_request_misc=&request_id=&biz_id=102&utm_term=wordcloud%20%E8%BF%87%E6%BB%A4%20stopwords&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-8-111227462.142^v10^control,157^v4^control&spm=1018.2226.3001.4449

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值