【小白的实战】Python构建中文词云图

简介: 还记得之前我们构建英文词云图的实战吗?通过三期的涉及了自定义调参、形状等……几乎是可以自定义出自己的心仪词云了。但关键问题是什么?——咱们是中国人,我们要做中文的词云!

还记得之前我们构建英文词云图的实战吗?通过三期的涉及了自定义调参、形状等……

几乎是可以自定义出自己的心仪词云了。

但关键问题是什么?——咱们是中国人,我们要做中文的词云!


实战开始


一、中文分词依赖下载


wordcloud本质是对一个个用空格分开的字符串进行频数统计,

这点对于英语来说很好理解,毕竟一个个词都是分开的。

但是中文全部连在一起就像这样子如果有人讲话不带标点你甚至一个空格都找不到他就一句话给你说完了……

这时候我们就需要一个中文分词利器来帮助我们解决问题——

他就是大名鼎鼎的jieba库

还是我们的jupyter开发环境。直接pip install jieba下载依赖包

image.png

尝试一下import看看我们的依赖是否都安装完毕:

image.png

没有反应就是好反应,import顺利,说明依赖包正常运行。


二、打开文件


我们这次选用的是480多万字的当红网络小说,用来考验这个词云的统计能力。

我们用老方法打开文件

w=open(r"C:\Users\asus\Downloads\吞噬星空.txt","r")
txt=w.read()
w.close()

image.png

居然报错了

我们查看报错提示,发现是有文字无法解码。对于这种情况我们往往采用更高级的解码表来解决问题。

上网一搜“gb18030”似乎可以符合条件。我们在打开文件那里增加一个参数encoding="gb18030即可。尝试再次运行——

image.png

此时问题得到了解决。


三、jieba库分词


这个第三方库给中文分词非常简单,一个函数就能解决问题。

a=jieba.lcut(txt)
txt=" ".join(a)
复制代码

分词完毕之后生成的是一个列表,我们需要再把它变成空格隔开的字符串以应对问题,就像英文那样。我们这里采用的是python的join函数,把前面的字符串添加到每个列表元素之间,并最终形成大字符串。明显,480万字的小说分词耗了很多时间。不过最终结果是好的。


四、正常操作词云生成词云图。


这里不赘述了。方法和英文的一样。生成wordcloud对象之后传入文字,最终to_file生成图片文件。

f=wordcloud.WordCloud(font_path="msyh.ttc",width=1500,max_words=150,height=700,background_color="white")
f.generate(txt)
f.to_file("C:/Users/asus/Desktop/吞噬星空词云.png")


image.png

image.png


五、结束语与成果分析


image.png

来到桌面观察战果,发现果然是被中文常用语霸占的词云图啊。

虽然我们仍然可以从中读出主要信息:如金角巨兽出现非常多,甚至大于主角罗峰;这部小说是宇宙玄幻题材的……

但是要做出一个好的中文词云,还有挺长的路要走呀……

首先,你总得完善stopwords语料库,把中文常见词屏蔽,如“那”“是”等吧。这将是不小的工作量。

期待有一天我可以发现解决办法,再分享给大家呀~

相关文章
|
13天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
8天前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
|
16天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。
|
17天前
|
机器学习/深度学习 数据可视化 数据处理
Python数据科学:从基础到实战
Python数据科学:从基础到实战
25 1
|
18天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
53 2
|
18天前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
33 1
|
13天前
|
数据采集 存储 数据处理
探索Python中的异步编程:从基础到实战
【10月更文挑战第39天】在编程世界中,时间就是效率的代名词。Python的异步编程特性,如同给程序穿上了一双翅膀,让它们在执行任务时飞得更高、更快。本文将带你领略Python异步编程的魅力,从理解其背后的原理到掌握实际应用的技巧,我们不仅会讨论理论基础,还会通过实际代码示例,展示如何利用这些知识来提升你的程序性能。准备好让你的Python代码“起飞”了吗?让我们开始这场异步编程的旅程!
29 0
|
17天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
7天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
13天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
下一篇
无影云桌面