实现文本分词+在线词云实现工具
词云是NLP中比较简单而且效果较好的一种表达方式,说到可视化,R语言当仍不让,可见R语言︱文本挖掘——词云wordcloud2包
当然用代码写词云还是比较费劲的,网上也有一些成型的软件供大家使用。
本节转载于金砖咖啡馆公众号
我们词云制作工具是目前非常流行的tagxedo,tagxedo对于英文的分词做的很好(废话,英文单词之间有空格),但是对于中文分词做的不好,于是我们需要用到另外一个在线工具http://life.chacuo.net/convertexportword(百度找的,你也可以用别的),将中文的词和词之间加上空格(分词)。
(1)打开分词网站http://life.chacuo.net/convertexportword,将你需要做词云的文本放到第一个框里,我们这里就直接再搜狐上找了一篇文章(http://stock.sohu.com/20160422/n445480002.shtml),然后点击“中文分词”按钮,你就会发现,网站就把第一个框里的文本分词结果放在了第二个框里(加了空格)。将第二个框的结果全选,然后“复制”,备用。
(2)打开词云网站:http://www.tagxedo.com/app.html,(注意:第一次打开的时候会让你安装“Silverlight”,你只需要按照指示下载安装,然后刷新上面的链接。
有时候打不开,可参考一些其他词云网站。
接下来的步骤如下:
a.加载文本。打开load,在“enter text”里面将前面复制的分词后文本粘贴进去,再按“Submit”。(等待一下,等下面的进度条读完)。
b.加载图片。为了做个性化词云,我提前准备了一张奥巴马的照片。点击左边“Shape”会弹出图片菜单,我们选择下方的“AddImage”(如果你想用内置的图片直接在弹出菜单里面选择就好了)。
c.图片设置。点击“AddImage”,加载完图片后,菜单会让你做一些设置,只要是调整threshold和Blur(调整边界和模糊度)。下面还有一些设置文字摆放位置的,自己点一下,很容易摸索,最后点击“accept”,运行一下就看到结果了。
d.保存。点击“save”,选择自己要的图片大小,就可以保存了。(也就得到最上面的效果咯)
e.词频。如果想看词频或者像删除某些不需要的词(比如“的”),那么单机“word|layoutoptions”里面的“skip”菜单,里面有详细词频,不需要的词,直接点“Keep”就变成“Skip”了(也就是删除了)。
二、Wordle
本节转载于36大数据,文章《免费词云可视化工具,你知道几款? 36大数据》
体验词云:http://www.wordle.net/
这些年比较火的一款词云软件,Wordle是一个用于从文本生成词云图而提供的游戏工具,词云图会更加突出话题并频繁地出现在源文本,它的优点是可以快速的分析文本或网站的词频,并以多种多种风格展示,且支持文字字体选择和用户自定义颜色。做完词云图,生成图像后还可以保存在网络之中供你查看、链接、下载以及与好友分享。
由于Wordle目前只支持英文,所以应在Excel或记事本里先将中文信息转换成Wordle可以识别的语言,即英文或数字。
三、WordItOut
本节转载于36大数据,文章《免费词云可视化工具,你知道几款? 36大数据》
体验词云:http://worditout.com/
WordItOut网站很人性,还给用户解释什么是词云以及词云的作用等信息。它操作简单,进入网站后只需要输入一段文本,然后就可以生成各种样式的“云”文字。用户可以根据自己的需要对WordItOut进行再设计,比如颜色、字符、字体、背景、文字位置等,保存下载后,可以复制。
但是WordItOut是不识别中文的,如果输入中英混合的文本,保存后只显示英文字体,对于不懂英文的同学是比较痛苦的。
———————————————————————————————————————— 四、Tagul
本节转载于36大数据,文章《免费词云可视化工具,你知道几款? 36大数据》
体验词云:https://tagul.com/
Tagul云可以自定义字体、词云的形状(有爱心、BUS、雪人、人像、UFO等),颜色等,做出来的词云图很酷炫,为网站访问者提供良好的用户体验。用户可以在网站做好词云图,然后印在衣服、杯子、鼠标垫等地方,自己设计身边的物件,感觉很有成就感,很实用的网站。
———————————————————————————————————
五、ToCloud
本节转载于36大数据,文章《免费词云可视化工具,你知道几款? 36大数据》
ToCloud
体验词云:http://www.tocloud.com/
ToCloud是一个在线免费标签云生成器,你可以设置词的长度和频率。ToCloud整个页面看着有点乱的感觉,但是可千万不要小看它,工具非常好用,它能提取短语,是一个比较好的标签云工具之一利用词频生成词云,你可以快速了解页面优化了某些单词。
现在,来两款国内的数据产品,绝对国产,再也不用担心英文不好或者中英文互导麻烦了。
————————————————————————————————————————
六、图悦
本节转载于36大数据,文章《免费词云可视化工具,你知道几款? 36大数据》
1、图悦
体验词云:http://www.picdata.cn/
这款国内的在线词频分析工具,在长文本自动分词并制作词云方面还是很出众的,而且也容易上手,还可以自定义定制图形模板:标准、微信、地图等,切换自如,用起来体验很不错。
但是图悦在导出excel词频有一些不足的地方,不介意的话可以忽略。
————————————————————————————————————————
七、BDP个人版
本节转载于36大数据,文章《免费词云可视化工具,你知道几款? 36大数据》 2、BDP个人版
体验词云:https://me.bdp.cn/home.html
这是一款数据可视化工具,除了词云,还有很多其他酷炫的图表,如GIS地图、漏斗图等。BDP很容易上手,直接把词语这个数据拉到维度栏,再选择词云就瞬间呈现词云图表,BDP会自动算好词频,你可以设置颜色,快速实现词云可视化。
不足之处,BDP不是专门制作词云的工具,但是还有几十种图表供你使用,是一款比较不错的数据分析工具。
这么多款词云制作工具,大家自行选择吧,感兴趣的话都可以试试,会有很多有意思的发现,原来词云可视化是如此简单,瞬间觉得自己棒棒的。
demo2:jieba + https://wordart.com/
用jieba分词提取关键词做漂亮的词云
用到的工具
- 原始数据:《白夜行》小说,txt格式(我是用calibre把原来mobi格式的书转成txt的)。后期可以用爬虫爬点网页数据做原始数据。为简单就先用txt练手好了。
- 提取关键词:jieba分词、停用词表
- 在线词云生成工具:TAGUL
简单分析一下
生成词云最关键的问题是中文分词,统计分析各个词的权重(权重较高的字体显示较大)。这些问题jieba分词已经帮我们解决了。我们只需要import jieba.analyse
,使用jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
方法即可,当然只是提取关键词还是不够的,因为有些没有意义的常用词诸如“我的”、“或者”、“一个”等词,会出现在结果里面,还需要一个“停用词表”来帮我们过滤结果。 我们的目标是提取关键词,并得到“关键词+制表符+权重”的文本,这里关键词和权重用制表符隔开是为了在用在线工具的时候,能顺利导入权重的值,决定词的大小(size)。
关键词和size中间用制表符分开
步骤:
- 安装jieba
pip install jieba
- 准备好txt文件和停用词表(网上可以下载到,txt格式即可)
- 编写代码
import jieba.analyse
path = '你的txt文件路径'
file_in = open(path, 'r')
content = file_in.read()
try:
jieba.analyse.set_stop_words('你的停用词表路径')
tags = jieba.analyse.extract_tags(content, topK=100, withWeight=True)
for v, n in tags:
#权重是小数,为了凑整,乘了一万
print v + '\t' + str(int(n * 10000))
finally:
file_in.close()
运行结果如下:
4.打开TAGUL,开始制作词云,把结果贴进import words里
参考文章:
http://www.jianshu.com/p/6a285dfa3d87
1.TF-IDF与余弦相似性的应用(一):自动提取关键词 2.超简单:快速制作一款高逼格词云图 3.jieba的github