词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。
一、先看看几个词云图
简书签约作者标签词云从简书签约作者的自我介绍中提取关键词,统计后制作的词云图。看看这些关键词,你能想到是哪位签约作者?
简书热门文章类型词云从简书首页、7日热门文章进行文章分类统计后,生成的词云图。想上首页热门,应该选择上面几个类型来写。
关于在简书上写什么,V先生有一个高度的概括总结:
三教 × 九流:「生活、工作、学习」三教,「学术思辨、故事、诗歌、时评、随笔、科技工具、书影音、新技能 get、吐槽」九流。
抓取2016年简书·读书专题文章中的书名,生成的词云图,今年你读过哪几本书?
彭小六文章标题词云图简书头牌-六神的词云图,抓取他的120篇文章标题,进行分词统计后生成。
51JOB C++嵌入式岗位JD 词云图抓取51Job C++嵌入式岗位,职位描述分词后,得到的词云图,上图是硬技能的要求,下图是软实力的要求。
二、开始制作词云图
- 工具: 我使用的是TAGUL, https://tagul.com/ 一款在线词云制作工具,非常简单。
-
步骤:
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有专门的词云,不过展现力还是比较单薄点。
词云图从大了讲就是数据可视化,从小了讲只是个雕虫小技,“形式大于内容”,酱紫。
全文完。另外词云图看多了也比较晕,这篇文章里就放得太多。
网友评论