专栏名称: 爱数据原统计网
中国统计网(www.itongji.cn),国内最大的数据分析门户网站。提供数据分析行业资讯,统计百科知识、数据分析、商业智能(BI)、数据挖掘技术,Excel、SPSS、SAS、R等数据分析软件等在线学习平台。
目录
相关文章推荐
51好读  ›  专栏  ›  爱数据原统计网

超简单!快速制作一款高逼格词云图

爱数据原统计网  · 公众号  · BI  · 2017-08-04 17:00

正文


词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。


一、先看看几个词云图



简书签约作者标签词云


从简书签约作者的自我介绍中提取关键词,统计后制作的词云图。看看这些关键词,你能想到是哪位签约作者?



简书热门文章类型词云


从简书首页、7日热门文章进行文章分类统计后,生成的词云图。想上首页热门,应该选择上面几个类型来写。


关于在简书上写什么,V先生有一个高度的概括总结:


三教 × 九流:「生活、工作、学习」三教,「学术思辨、故事、诗歌、时评、随笔、科技工具、书影音、新技能 get、吐槽」九流。


2016简书-阅读 词云


抓取2016年简书·读书专题文章中的书名,生成的词云图,今年你读过哪几本书?


彭小六文章标题词云图


简书头牌-六神的词云图,抓取他的120篇文章标题,进行分词统计后生成。



51JOB C++嵌入式岗位JD 词云图


抓取51Job C++嵌入式岗位,职位描述分词后,得到的词云图,上图是硬技能的要求,下图是软实力的要求。



二、开始制作词云图


工具: 我使用的是TAGUL, https://wordart.com/ 一款在线词云制作工具,非常简单。



TAGUL


步骤:


1)导入文本


Import words , 可以直接粘贴导入文本数据,或者以web url的方式导入。文本数据包括关键词和size。


Add,是添加一个关键词和size



2)选择形状 -- 自定义形状图片


TAGUL提供了一些模板图形,左边是分类主题。




一般图形选取的原则,看关键词的内容来定,如公司LOGO,人物头像,需要上传你的图形图片,点 ADD IMAGE。自定义形状图片,有一个技巧,图片的清晰度不要求很高,轮廓清楚就好。



调整形状参数


还一个有小技巧,如果图形有背景,或边缘需要修理一下的话,我没有采用PS这一类的重型武器,直接用PPT中的图像就可以搞定,快捷方便。比如小六之前的头像,原图下巴处有一圈光影,不处理的话,形成的词云图是左边的,用PPT修好后的是右图,看上去是不是清秀多了。


修图后的前后对比


3)修改字体


注意TAGUL默认的都是英文字体,关键词如果是中文或有中文是无法显示出来的。


点Add Font添加就行,添加你电脑上 C:/WINDOWS/font 文件夹下的你喜欢的一种字体就行。


注意,如果你使用的是Mac,需把Windows下的字体拷一个过来进行添加就OK。


4)选择文字排列方向


选择文字方向即可。


5)生成词云 -- 下载


点击 "Visualize" 就可以生成。在Download and Share中下载标清(SQ)图片,就是你想要的词云图。


TAGUL付费版可以下载高清的图片,也可以生成嵌入的网页代码,词云有动态效果。


怎么样,以上操过很简单吧。其实这些不是关键,关键是如何获得词源和词的频度(size)。




进阶篇


三、词源获取:爬虫和分词技术


我用以获取关键词的方法都是使用Python爬虫,如爬取简书用户信息,爬取简书首页、热门文章标题,爬取51JOB招聘职位信息 ......


注意,这时候你拿到的还不是关键词,是句子或段落,怎么得到关键词?就是把句子切成多个词语。看过老罗锤子M1发布会的一定对Big Bang有深刻的印象,对的,Big Bang就是分词的应用。



BigBang


我常用的两款分词工具,一个是在线分词工具 基于深度学习的中文在线抽词-PullWord,另一个是结巴分词(jieba)。再把这些关键词进行分类汇总得到词频数据,选择那些高频词,按上面的方式制作词云图。


比如你看到的上面软技能的关键词,实际上是从所有职位描述进行分词得到的 372,739 个词,再进行分类汇总后得出的高频词。分类汇总用的是SQL聚合函数,也可以用Excel。


爬虫和分词都需要编程实现。如果你没有编程方面的基础,这一步也可以简化来做,就是主观选取一些关键词,随机或手动指定词频(size)。


所以一个完整的词云图的制作过程应该是:网络抓数据(Python或R语言)— 分词 — 分类汇总(SQL)— 使用词云工具生成云图。



四、其他词云工具


有比较多的在线词云工具,javascript也可以开发动态词云工具。


另外推荐:Tagxedo,使用方法跟TAGUL差不多。


ECharts有专门的词云,不过展现力还是比较单薄点。


词云图从大了讲就是数据可视化,从小了讲只是个雕虫小技,“形式大于内容”,酱紫。


全文完。另外词云图看多了也比较晕,这篇文章里就放得太多。




作者:向右奔跑
链接:http://www.jianshu.com/p/4fb27471295f

已获作者授权