zoukankan      html  css  js  c++  java
  • 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分词提取关键词做漂亮的词云

            

     

                  

    用到的工具

    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 + '	' + 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

  • 相关阅读:
    You are not late! You are not early!
    在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书
    Vue.js Is Good, but Is It Better Than Angular or React?
    It was not possible to find any compatible framework version
    VS增加插件 Supercharger破解教程
    Git使用ssh key
    Disconnected: No supported authentication methods available (server sent: publickey)
    VS 2013打开.edmx文件时报类型转换异常
    asp.net MVC4 框架揭秘 读书笔记系列3
    asp.net MVC4 框架揭秘 读书笔记系列2
  • 原文地址:https://www.cnblogs.com/csj007523/p/8066413.html
Copyright © 2011-2022 走看看