实现文本分词+在线词云实现工具

词云是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分词提取关键词做漂亮的词云

 

         

用到的工具

  1. 原始数据:《白夜行》小说,txt格式(我是用calibre把原来mobi格式的书转成txt的)。后期可以用爬虫爬点网页数据做原始数据。为简单就先用txt练手好了。
  2. 提取关键词:jieba分词、停用词表
  3. 在线词云生成工具:TAGUL

简单分析一下

生成词云最关键的问题是中文分词,统计分析各个词的权重(权重较高的字体显示较大)。这些问题jieba分词已经帮我们解决了。我们只需要import jieba.analyse,使用jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())方法即可,当然只是提取关键词还是不够的,因为有些没有意义的常用词诸如“我的”、“或者”、“一个”等词,会出现在结果里面,还需要一个“停用词表”来帮我们过滤结果。 我们的目标是提取关键词,并得到“关键词+制表符+权重”的文本,这里关键词和权重用制表符隔开是为了在用在线工具的时候,能顺利导入权重的值,决定词的大小(size)。

 

关键词和size中间用制表符分开

 

步骤:

  1. 安装jieba pip install jieba
  2. 准备好txt文件和停用词表(网上可以下载到,txt格式即可)
  3. 编写代码
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实现文本分词+在线词云实现工具的更多相关文章

  1. jieba分词wordcloud词云

    1.jieba库的基本介绍 (1).jieba是优秀的中文分词第三方库 中文文本需要通过分词获得单个的词语 jieba是优秀的中文分词第三方库,需要额外安装 jieba库提供三种分词模式,最简单只需掌 ...

  2. 在线词云制作tagxedo

    最近在用python制作词云的时候发现了一个更加方便快捷很好玩的词云制作网站 http://www.tagxedo.com/app.html 所以今天就来大致介绍下是怎么使用的 1.先来介绍下tagx ...

  3. python使用matplotlib画图,jieba分词、词云、selenuium、图片、音频、视频、文字识别、人脸识别

    一.使用matplotlib画图 关注公众号"轻松学编程"了解更多. 使用matplotlib画柱形图 import matplotlib from matplotlib impo ...

  4. python抓取数据构建词云

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

  5. python爬虫——京东评论、jieba分词、wordcloud词云统计

    接上一章,动态页面抓取——抓取京东评论区内容. url=‘https://club.jd.com/comment/productPageComments.action?callback=fetchJS ...

  6. 新技能 get —— 使用 python 生成词云

    什么是词云(word cloud)呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据 ...

  7. [python] 基于词云的关键词提取:wordcloud的使用、源码分析、中文词云生成和代码重写

    1. 词云简介 词云,又称文字云.标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客.微博 ...

  8. Python 词云 【中/英】小白简单入门教程

    1. 分析 构建词云需要具备: 原料即文章等内容 将内容进行分词 将分词后的内容利用构建词云的工具进行构建 保存成图片 2. 需要的主要模块 jieba 中文分词 wordcloud 构建词云 3. ...

  9. Python基于jieba的中文词云

    今日学习了python的词云技术 from os import path from wordcloud import WordCloud import matplotlib.pyplot as plt ...

随机推荐

  1. .Net Core ORM选择之路,哪个才适合你 通用查询类封装之Mongodb篇 Snowflake(雪花算法)的JavaScript实现 【开发记录】如何在B/S项目中使用中国天气的实时天气功能 【开发记录】微信小游戏开发入门——俄罗斯方块

    .Net Core ORM选择之路,哪个才适合你   因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别 ...

  2. 【SDOI2014】【BZOJ3529】数表

    Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼.1 < =j < =m)的数值为 能同一时候整除i和j的全部自然数之和.给定a,计算数表中不 ...

  3. PHP基本的语法以及和Java的差别

    .表示字符串相加 ->同Java中的. $作为变量的前缀,除此之外.变量名称定义规则同Java 參数传递和方法返回时传引用须要加前缀& 演示样例代码: function f(&$ ...

  4. ASP.NET 的ClientIDMode属性

    在ASP.NET 4.0之前我们总是要为控件的ClientID头疼,比如明明一个叫lblName的Label放在一个叫做grd的GridView里面后,在页面上改Label的ID就变成了诸如grd_c ...

  5. Android事件处理的2种方式:监听器与回调

    android组件的事件处理有2种方式: 1.基于监听器的事件处理方式:先定义组件,然后为组件设定监听器. 详见http://blog.csdn.net/jediael_lu/article/deta ...

  6. Ubuntu18.04 修改DNS

    Ubuntu18.04 修改DNS sudo vim /etc/systemd/resolved.conf 修改如下: [Resolve] DNS=119.29.29.29 保存退出后 systemc ...

  7. MySql计算两个日期的时间差函数

    MySql计算两个日期时间的差函数: 第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND.SECOND. MINUTE. HOUR. DAY. ...

  8. lnmp 一键安装

    系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩 ...

  9. php分享十八七:mysql基础

    mysql操作数据库代码: $link = @mysql_connect('localhost:3306', 'root', 'root') or die(mysql_error()); mysql_ ...

  10. 处理 ASP.NET 中的异常:无法在发送 HTTP 标头之后进行重定向。

    因为在 Global.asax 中的 Application_Error 事件中添加了统一的错误处理,其中会有 Redirect 重定向到错误页面. 但是有可能有些情况下已经进行过其它重定向操作,所以 ...