ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

词云技术jieba实例(仅供参考)

2019-09-08 11:39:20  阅读:243  来源: 互联网

标签:fp jieba json stopwords 实例 词云 add import


文中所用数据与上一篇博客所用数据出自同一网站,存入的文件就不再声明了,直接打开

jieba的实际应用

目的

将中文数据进行可视化,使人一眼看出重要的信息,本文的数据选用51job网站的工作需求介绍。

代码实现

#引入jieba、词云、matplotlib、json、numpy、PIL模块(json是用来打开文件,numpy是用来转换图片的,其他是必须的)
import jieba
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
import json
import numpy as np
from PIL import Image    #引入处理图片模块


#因为我一开始存的是json格式,然后画蛇添足的转来转去,其实没啥,只要能有数据就行
with open('6.json','r', encoding='utf-8') as fp:
    a = json.load(fp)
    signatures = json.loads(a)
# print(type(signatures))
with open('1.txt','w',encoding='utf-8')as fp:
    fp.write(str(signatures))
with open('1.txt','r',encoding='utf-8')as fp:
    neirong = fp.read()
    
# 设置分词
# print(type(neirong))
split = jieba.cut(neirong, cut_all=False)  # False精准模式分词、True全模式分词
words = ' '.join(split)  # 以空格进行拼接
print(words)
#
# 设置屏蔽词,去除个性签名中的表情、特殊符号等你不需要的数据,也可以先运行,照着结果将不需要的去掉
stopwords = STOPWORDS.copy()
stopwords.add('xa0')
stopwords.add('xa03')
stopwords.add('n4')
stopwords.add('要求')
stopwords.add('进行')
stopwords.add('n')
stopwords.add('无忧')
stopwords.add('推荐')
stopwords.add('xa009')
stopwords.add('发布')
stopwords.add('有限公司')
stopwords.add('民营公司')

# 导入背景图,将数据用此图片展示
image = np.array(Image.open('1.png'))        #背景图随便,只要颜色边界分明就行,大多使用黑白的
# 设置词云参数,参数分别表示:画布宽高、背景颜色、背景图形状、字体、屏蔽词、最大词的字体大小
wc = WordCloud(background_color='white', mask=image, font_path='STKAITI.TTF',stopwords=stopwords,max_font_size=500, random_state=50)
# 将分词后数据传入云图
wc.generate_from_text(words)     #也可以直接用generate     没有区别
plt.imshow(wc)   # 绘制图像
plt.axis('off')  # 不显示坐标轴
# 保存结果到本地,此程序的上级目录下
plt.savefig('1.jpg')     #会生成一个图片,即为最终结果

过程中,会遇到很多问题,我遇到两个:1.导入背景图的时候,将1.png写成了1.jpg,报FileNotFoundError: [Errno 2] No such file or directory: '1.jpg’的错;2.读取文件时,数据的格式出错。
总体来说,都是马虎的问题,多调试,能出来结果的

标签:fp,jieba,json,stopwords,实例,词云,add,import
来源: https://blog.csdn.net/weixin_44423698/article/details/100622228

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有