放开那词云,让我来

前几天在文章《迟到的 2018 年度总结(文内有福利)》中,我使用了分词和词云的展示效果,有不少同学都在后台问我是怎么实现的,也希望能用到自己的总结里面去。

其实主要思路是参考大佬 Python之禅(专业研究 Python,有兴趣的同学可以关注) 的文章《北大开源中文分词工具pkuseg-python,我用张小龙的3万字演讲做了统计》,然后稍微做了下变通。

为了让这个工具更易用,我给加了简单的 UI 界面,这样所有人都可以无门槛的拿来即用,用完即走了。

而问题就是时间拖的有点晚了,对不起,希望还能对你有所帮助。

因为很多人问,所以我把工具共享出来,需要的同学请后台回复「tool」获取完整源代码。

下面是图解使用说明:

下面是关键部分的代码实现:

def on_button_check(self, event):
    """响应 开始统计 按钮点击操作"""
    content = self._readfiles(self.text_file2.GetValue())

    zhuanyong = self._readfiles(self.text_zhuanyong.GetValue())
    zhuanyong_list = []
    for one in zhuanyong.split(‘\n‘):
        zhuanyong_list.append(one)
    seg = pkuseg.pkuseg(user_dict=zhuanyong_list)
    text = seg.cut(content)

    stopwords = self._readfiles(self.text_stop.GetValue())

    new_text = []
    for word in text:
        if word not in stopwords:
            new_text.append(word)

    counter = Counter(new_text)
    print(counter.most_common(20))

    word_list = " ".join(new_text)

    pic_path = self._cur_file_dir(self.text_pic.GetValue())
    coloring = numpy.array(Image.open(pic_path))
    wc = WordCloud(background_color="white",
                    mask=coloring,
                    font_path="simfang.ttf",
                    max_font_size=84,
                    random_state=15,
                    )
    myword = wc.generate(word_list)

    #展示词云图
    plt.imshow(myword)
    plt.axis("off")
    plt.show()

以上,希望对你有所帮助,有任何问题欢迎留言和我沟通。

原文地址:http://blog.51cto.com/sylan215/2348296

时间: 2024-11-01 23:48:10

放开那词云,让我来的相关文章

echarts之词云随机颜色的配置

echarts中的词云字体产生随机颜色,最主演的是要引入worldcloud.js,另外还要有jquery.js文件与echarts.js文件的引入,通过配置即可实现词云随机颜色的产生.下面为大家介绍两种随机颜色的方法. world.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</tit

如何用Python做词云(收藏)

看过之后你有什么感觉?想不想自己做一张出来? 如果你的答案是肯定的,我们就不要拖延了,今天就来一步步从零开始做个词云分析图.当然,做为基础的词云图,肯定比不上刚才那两张信息图酷炫.不过不要紧,好的开始是成功的一半嘛.食髓知味,后面你就可以自己升级技能,进入你开挂的成功之路. 网上教你做信息图的教程很多.许多都是利用了专用工具.这些工具好是好,便捷而强大.只是它们功能都太过专一,适用范围有限.今天我们要尝试的,是用通用的编程语言Python来做词云. Python是一种时下很流行的编程语言.你不仅

使用Python定制词云

一.实验介绍 1.1 实验内容 在互联网时代,人们获取信息的途径多种多样,大量的信息涌入到人们的视线中.如何从浩如烟海的信息中提炼出关键信息,滤除垃圾信息,一直是现代人关注的问题.在这个信息爆炸的时代,我们每时每刻都要更新自己的知识储备,而网络是最好的学习平台.对信息过滤和处理能力强,学习效率就会得到提高."词云"就是为此而诞生的."词云"是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"

python生成词云

期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感. 今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如<倔强>,海阔天空是,什么的大家熟悉的. 所要用到的python库有 jieba(一个中文分词库).wordcould .matplotlib.PIL.numpy. 首先我们要做的是读取歌词.我将歌词存在了文件目录下励志歌曲文本中. 现在来读取他 #encoding=gbk l

R系列:分词、去停用词、画词云(词云形状可自定义)

附注:不要问我为什么写这么快,是16年写的. R的优点:免费.界面友好(个人认为没有matlab友好,matlab在我心中就是统计软件中极简主义的代表).小(压缩包就几十M,MATLAB.R2009b的压缩包是1.46G).包多(是真的多,各路好友会经常上传新的包). R的麻烦之处:经常升级,是经常,非常经常,这就导致你在加载一个包之前需要考虑这个包要在R的哪个版本上才能使用,而往往做一件事情都要加载10个包左右,一般比较方便的做法就是先升级到最新版,因为只有小部分的包在新版本上不能用. 言归正

R语言之词云:wordcloud&amp;wordcloud2安装及参数说明

一.wordcloud安装说明 install.packages("wordcloud"); 二.wordcloud2安装说明 install.packages("devtools"); devtools::install_github("lchiffon/wordcloud2",type="source") 错误提示: 解决办法: install.packages("htmltools"); 三.word

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

接上一章,抓取京东评论区内容. url='https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1' 重点是productId--产品id.page--页码.pageSize:指定

Python给小说做词云

闲暇时间喜欢看小说,就想着给小说做词云,展示小说的主要内容.开发语言是Python,主要用到的库有wordcloud.jieba.scipy.代码很简单,首先用jieba.cut()函数做分词,生成以空格分割的字符串,然后新建WordCloud类,保存为图片. 1 #coding:utf-8 2 import sys 3 import jieba 4 import matplotlib.pyplot as plt 5 from wordcloud import WordCloud,ImageCo

抓取网易云音乐歌曲热门评论生成词云

前言 抓数据 抓包分析 加密信息处理 抓取热门评论内容 词云 词云运行效果 总结 前言 网易云音乐一直是我向往的"神坛",听音乐看到走心的评论的那一刻,高山流水.于是今天来抓取一下歌曲的热门评论.并做成词云来展示,看看相对于这首歌最让人有感受的评论内容是什么. 做成词云的好处就是直观以及美观, 其他的我也想不出来有什么了. 抓数据 要想做成词云,首先得有数据才行.于是需要一点点的爬虫技巧. 抓包分析 加密信息处理 抓取热门评论内容 抓包分析 使用Chrome控制台.我们可以轻松的找到评