python实现简易词云功能:wordcloud+jieba词云模块+结巴分词

本文介绍了如何使用Python的WordCloud模块和jieba分词库创建词云。通过安装wordcloud和jieba,对文本进行结巴分词以去除无关词汇,再利用matplotlib进行词云的控制台输出或文件保存。通过ImageColorGenerator可以自定义词云的背景颜色,使词云更美观。
摘要由CSDN通过智能技术生成

词云功能:

大家肯定都看过词云,也就是提取一段文字中的关键字,并将其根据出现的频率有大小不同的分类按照图片的方式展示出来,如下:
在这里插入图片描述
在这里插入图片描述那么我们要怎么实现呢,其中,python就有一个叫wordcloud的模块可以简单实现:

WordCloud

首先,我们需要安装wordcloud, pip安装如下

pip install wordcloud

wordcloud有如下的属性(部分,这段代码需要的部分):

scale #画布放大倍数,也就是清晰度,值越大对应输出的文件也就越清晰
font_path #设置字体样式
background_color #设置背景的颜色
max_words #词云所能展示的最大词数
mask #词云所形成的形状
max_font_size #字体的最大值
width,height,margin #画布的宽高和边框

如果只是要简单的词云只需要将文字文件读入或者自己定一个带有文字的字符串就可以生成输出啦

text = '#自定义一个字符串#'
wdcloud = WordCloud(scale = 4,
					font_path = '',#存放字体路径
					background_color = 'white',
					max_words = 50,
					max_font_size = 10,
					width = 100, height = 100, margin = 1)
matplotlib.pyplot.imshow(wdcloud.generate(text))#生成并输出词云

这样一来,简单的词云就已经可以生成啦,只有三行,是不是很简单?

结巴分词

虽然我也不知道为什么要叫结巴,但是真的好用啊,首先先要下载jieba模块:老样子,使用前要import

pip install jieba

然后是对自己需要的自定义单词的添加,以免需要的词被分割了

def add_word(words):
    for word in words:
        jieba.add_word(word)
        
add_word(my_words_list)

然后就是使用jieba对文字进行清洗,去掉无关词(例如:你,我,啊之类没有意义的单词)

  1. 首先是对text中的文字进行分割,使用jieba的cut方法
  2. 判断当前的词是否在停用词列表中
  3. 最后将筛选出来有意义的单词整成一个新的text

实现如下:

def jiebaClearText(text):#清洗单词,去掉无关词
    mywordlist = []#存放洗净后的单词
    string = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值