NLP实现文本分词+在线词云实现工具
实现文本分词+在线词云实现工具
词云是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里
5.选个shape(词云轮廓)
6.在fonts中,导入一个中文字体,我用的微软雅黑:
7.点击visualize即可生成
8.Download and Share里面可以下载需要的格式。
参考文章:
http://www.jianshu.com/p/6a285dfa3d87
1.TF-IDF与余弦相似性的应用(一):自动提取关键词 2.超简单:快速制作一款高逼格词云图 3.jieba的github
NLP实现文本分词+在线词云实现工具的更多相关文章
- jieba分词wordcloud词云
1.jieba库的基本介绍 (1).jieba是优秀的中文分词第三方库 中文文本需要通过分词获得单个的词语 jieba是优秀的中文分词第三方库,需要额外安装 jieba库提供三种分词模式,最简单只需掌 ...
- 在线词云制作tagxedo
最近在用python制作词云的时候发现了一个更加方便快捷很好玩的词云制作网站 http://www.tagxedo.com/app.html 所以今天就来大致介绍下是怎么使用的 1.先来介绍下tagx ...
- python使用matplotlib画图,jieba分词、词云、selenuium、图片、音频、视频、文字识别、人脸识别
一.使用matplotlib画图 关注公众号"轻松学编程"了解更多. 使用matplotlib画柱形图 import matplotlib from matplotlib impo ...
- python抓取数据构建词云
1.词云图 词云图,也叫文字云,是对文本中出现频率较高的"关键词"予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨. 先看几个词 ...
- python爬虫——京东评论、jieba分词、wordcloud词云统计
接上一章,动态页面抓取——抓取京东评论区内容. url=‘https://club.jd.com/comment/productPageComments.action?callback=fetchJS ...
- 新技能 get —— 使用 python 生成词云
什么是词云(word cloud)呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据 ...
- [python] 基于词云的关键词提取:wordcloud的使用、源码分析、中文词云生成和代码重写
1. 词云简介 词云,又称文字云.标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客.微博 ...
- Python 词云 【中/英】小白简单入门教程
1. 分析 构建词云需要具备: 原料即文章等内容 将内容进行分词 将分词后的内容利用构建词云的工具进行构建 保存成图片 2. 需要的主要模块 jieba 中文分词 wordcloud 构建词云 3. ...
- Python基于jieba的中文词云
今日学习了python的词云技术 from os import path from wordcloud import WordCloud import matplotlib.pyplot as plt ...
随机推荐
- .Net Core ORM选择之路,哪个才适合你 通用查询类封装之Mongodb篇 Snowflake(雪花算法)的JavaScript实现 【开发记录】如何在B/S项目中使用中国天气的实时天气功能 【开发记录】微信小游戏开发入门——俄罗斯方块
.Net Core ORM选择之路,哪个才适合你 因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别 ...
- 【SDOI2014】【BZOJ3529】数表
Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼.1 < =j < =m)的数值为 能同一时候整除i和j的全部自然数之和.给定a,计算数表中不 ...
- PHP基本的语法以及和Java的差别
.表示字符串相加 ->同Java中的. $作为变量的前缀,除此之外.变量名称定义规则同Java 參数传递和方法返回时传引用须要加前缀& 演示样例代码: function f(&$ ...
- ASP.NET 的ClientIDMode属性
在ASP.NET 4.0之前我们总是要为控件的ClientID头疼,比如明明一个叫lblName的Label放在一个叫做grd的GridView里面后,在页面上改Label的ID就变成了诸如grd_c ...
- Android事件处理的2种方式:监听器与回调
android组件的事件处理有2种方式: 1.基于监听器的事件处理方式:先定义组件,然后为组件设定监听器. 详见http://blog.csdn.net/jediael_lu/article/deta ...
- Ubuntu18.04 修改DNS
Ubuntu18.04 修改DNS sudo vim /etc/systemd/resolved.conf 修改如下: [Resolve] DNS=119.29.29.29 保存退出后 systemc ...
- MySql计算两个日期的时间差函数
MySql计算两个日期时间的差函数: 第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND.SECOND. MINUTE. HOUR. DAY. ...
- lnmp 一键安装
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩 ...
- php分享十八七:mysql基础
mysql操作数据库代码: $link = @mysql_connect('localhost:3306', 'root', 'root') or die(mysql_error()); mysql_ ...
- 处理 ASP.NET 中的异常:无法在发送 HTTP 标头之后进行重定向。
因为在 Global.asax 中的 Application_Error 事件中添加了统一的错误处理,其中会有 Redirect 重定向到错误页面. 但是有可能有些情况下已经进行过其它重定向操作,所以 ...