千川岛

岛主:ANN_XNA
微博:http://weibo.com/annxna
博客名称取自POT82文《千川岛》,欢迎去贴吧挖出催填坑

©千川岛
Powered by LOFTER
 

词云图制作

狂野朵儿:

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

一、先看看几个词云图

 

简书签约作者标签词云

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

 

简书热门文章类型词云

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

关于在简书上写什么,V先生有一个高度的概括总结:
三教 × 九流:「生活、工作、学习」三教,「学术思辨、故事、诗歌、时评、随笔、科技工具、书影音、新技能 get、吐槽」九流。

 

2016简书-阅读 词云

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

 

彭小六文章标题词云图

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

 

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

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

二、开始制作词云图
  • 工具: 我使用的是TAGUL, https://tagul.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有专门的词云,不过展现力还是比较单薄点。

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

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

 
 
作者:向右奔跑 
链接:https://www.jianshu.com/p/4fb27471295f
來源:简书 
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。