码迷,mamicode.com
首页 > 其他好文 > 详细

放开那词云,让我来

时间:2019-02-01 12:22:58      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:简单的   年度总结   gen   很多   comm   get   term   cut   怎么   

前几天在文章《迟到的 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()

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

放开那词云,让我来

标签:简单的   年度总结   gen   很多   comm   get   term   cut   怎么   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!