现成的词云制作工具也很多:
1.Wordle是一个用于从文本生成词云图而提供的游戏工具
2.Tagxedo可以在线制作个性化词云
3.Tagul是一个Web服务,同样可以创建华丽的词云
4.Tagcrowd还可以输入web的url,直接生成某个网页的词云
那么为什么还要使用python来做词云图呢?
吴小鹏:因为任性
词云的本质是对文本中的词进行词云统计,根据出现频率的多少来按比例展示大小.
生产词云的原理
1.对文本数据进行分词,也是众多NLP文本处理的第一步,对于wordcloud中的process_text()方法,主要是停词的处理.
2.计算每个词在文本中出现的频率,生成一个哈希表。词频计算相当于各种分布式计算平台的第一案例wordcount,和各种语言的hello world 程序具有相同的地位了,呵呵。
3.根据词频的数值按比例生成一个图片的布局,类IntegralOccupancyMap是该词云的算法所在,是词云的数据可视化方式的核心。
4.将词按对应的词频在词云布局图上生成图片,核心方法是generate_from_frequencies,不论是generate()还是generate_from_text()都最终到generate_from_frequencies
5.完成词云上各词的着色,默认是随机着色
词云背后的6C原理
* Connect: 目标是从各种各样数据源选择数据,数据源会提供APIs,输入格式,数据采集的速率,和提供者的限制.
* Correct: 聚焦于数据转移以便于进一步处理,同时保证维护数据的质量和一致性
* Collect: 数据存储在哪,用什么格式,方便后面阶段的组装和消费
* Compose: 集中关注如何对已采集的各种数据集的混搭, 丰富这些信息能够构建一个引入入胜的数据驱动产品。
* Consume: 关注数据的使用、渲染以及如何使正确的数据在正确的时间达到正确的效果。
* Control: 这是随着数据、组织、参与者的增长,需要的第六个附加步骤,它保证了数据的管控。
Python全文代码如下:
是不是 so easy ???
运行效果图:
源素材:链接:http://pan.baidu.com/s/1dFy3PoX 密码:77fl
下载包里还提供了融合图片的词云分析代码
欢迎下载交流