Python生成中文词云图

news2025/1/12 17:25:48

词云(word cloud),也称标签云,主要用于展示文本数据。把每个单词按照其重要性进行展示,主要通过字体和颜色进行区分。Python提供了wordcloud库,可以很容易实现词云图。“词云”看起来比较美观易理解,通常用于显示一篇文章中最重要的一些关键词。

安装wordcloud库

可以通过下面命令安装wordcloud库。

pip install wordcloud

wordcloud 库可以快速生成词云图。主要使用WordCloud() 函数,该函数包括一些列参数,可以调整生成词云图的样式。

加载数据

本文讲使用下面几段文字。

在大模型这条时下最热的赛道上,运营商的身影终于出现。

在刚刚过去的一个月里,三大电信运营商相继发布了专属AI大模型产品。其中,中国联通走在最前面,在6月末上海举行的世界移动通信大会上,中国联通率先推出图文大模型“鸿湖图文大模型1.0”。据中国联通方面介绍,这是首个面向运营商增值业务的大模型,该大模型目前拥有8亿训练参数和20亿训练参数两个版本,可以实现以文生图、视频剪辑、以图生图等功能。

随后,中国电信在2023世界人工智能大会期间,正式对外发布旗下大语言模型TeleChat。中国电信方面透露,以TeleChat为底座的教育版大模型TeleChat-E在全球大模型综合性考试评测榜单C-Eval上排名第七,前几名包括GP4、ChatGPT等知名大模型。

最后登场的中国移动在7月8日发布了“九天·海算”政务大模型和“九天·客服”大模型。其中,前者首创端到端政务服务体系,主要满足政府工作人员动态管理、公文写作等需求,后者则是针对人工客服场景,能够大幅提升传统人工客服的工作效率。

如此密集地于同期推出同领域产品,在反映三大运营商激烈竞争的同时,也凸显出国内运营商抢占生成式AI业务的急迫感。据《中国经营报》记者不完全统计,截至7月中旬,我国AI大模型发布数量已超过100个。对此,Omdia电信战略高级首席分析师杨光向记者表示,相比于国内诸多巨头厂商,运营商推出大模型的时间并不算早,近期集体入场,显示整个电信业对此业务的布局已近临界点。

可以设置变量并赋值:

text = """在大模型这条时下最热的赛道上,运营商的身影终于出现。
在刚刚过去的一个月里,三大电信运营商相继发布了专属AI大模型产品。其中,中国联通走在最前面,在6月末上海举行的世界移动通信大会上,中国联通率先推出图文大模型'鸿湖图文大模型1.0'。据中国联通方面介绍,这是首个面向运营商增值业务的大模型,该大模型目前拥有8亿训练参数和20亿训练参数两个版本,可以实现以文生图、视频剪辑、以图生图等功能。
随后,中国电信在2023世界人工智能大会期间,正式对外发布旗下大语言模型TeleChat。中国电信方面透露,以TeleChat为底座的教育版大模型TeleChat-E在全球大模型综合性考试评测榜单C-Eval上排名第七,前几名包括GP4、ChatGPT等知名大模型。
最后登场的中国移动在7月8日发布了'九天·海算'政务大模型和'九天·客服'大模型。其中,前者首创端到端政务服务体系,主要满足政府工作人员动态管理、公文写作等需求,后者则是针对人工客服场景,能够大幅提升传统人工客服的工作效率。
如此密集地于同期推出同领域产品,在反映三大运营商激烈竞争的同时,也凸显出国内运营商抢占生成式AI业务的急迫感。据《中国经营报》记者不完全统计,截至7月中旬,我国AI大模型发布数量已超过100个。对此,Omdia电信战略高级首席分析师杨光向记者表示,相比于国内诸多巨头厂商,运营商推出大模型的时间并不算早,近期集体入场,显示整个电信业对此业务的布局已近临界点。"""

如何需要载入更多数据,可以用其他方式。比如从文件加载:

with open("data.txt", "r") as file:
   text = file.read()

中文分词

这里使用jieba分词。它提供三种模式分词:

精确 jieba.cut(s) 无冗余,为默认方式;

全模式 jieba.lcut(s,cut_all =True) 有冗余;

探索模式 jieba.lcut_for_search(s) 有冗余。

words = jieba.cut(text, cut_all=False)
word_counts = ','.join(words)

生成词云

生成词云代码比较简单,主要参数包括,width,height 。由于我们的内容是中文,需要指定中文字体的路径。

mask_img = np.array(Image.open("data/mask.png"))
wordcloud = WordCloud(width=680, height=680,
                      font_path=r'C:\Windows\Fonts\simkai.ttf',
                      mask=mask_img).generate(word_counts)

plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.margins(x=0, y=0)
plt.show()

另外还可以给词云设置形状,需要提供模板图片,该图片需要纯白色背景,形状颜色为其他颜色。最终生成的结果为:

在这里插入图片描述

总结

本文介绍了Python如何生成词云,主要过程包括加载数据、中文分词、自定义形状、生成词云。上面过程可以进一步改进,如过滤停顿词,保持结果为文件或流,让其他应用直接调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/781927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习(十六)柱状图

zdaPython学习(十四)折线图开发_yikuaidabin的博客-CSDN博客 案例数据资源 ↑ """演示基础柱状图的开发 """ from pyecharts.charts import Bar from pyecharts.options import LabelOpts # 使用Bar构建基础柱状图 bar …

视频对比工具(基于python+ffmpeg+airtest实现视频抽帧比较工具)

VideoDiff:基于ffmpeg,实现视频抽帧比较工具 使用场景:在视频渲染模块发生迭代,快速回归测试其产出的视频是否存在问题,从而节省人工回归成本 源码地址:https://github.com/jiangliuer32/VideoDiff 原理图…

什么是分布式操作系统?我们为什么需要分布式操作系统?

分布式操作系统是一种特殊的操作系统,本质上属于多机操作系统,是传统单机操作系统的发展和延伸。它是将一个计算机系统划分为多个独立的计算单元(或者也可称为节点),这些节点被部署到每台计算机上,然后被网络连接起来,…

【计算机网络 01】说在前面 信息服务 因特网 ISP RFC技术文档 边缘与核心 交换方式 定义与分类 网络性能指标 计算机网络体系结构 章节小结

第一章--概述 说在前面1.1 计算机网络 信息时代作用1.2 因特网概述1.3 三种交换方式1.4 计算机网络 定义与分类1.5 计算机网络的性能指标1.6 计算机网络体系结构1 常见的计算机网络体系结构2 计算机网络体系结构分层的必要性3 计算机网络体系结构分层思想举例4 计算机网络体系结…

红包雨架构的设计汇总

一 微服务总体架构 1.1 微服务总体架构 1.2 红包雨的流程 1.3 发红包的内容 1.3.1 概述流程 1.发红包-》抢红包。 1.所有人签到的金额之和等于红包总金额。2.每个人至少抢到一分钱;3.保证所有人抢到金额的几率相等。 1.3.2 拆分红包通用流程算法 其中拆红包最…

详解分类指标Precision,Recall,F1-Score

文章目录 1. Precision(精度)2. Recall(召回率)3. F1-Score4. Accuracy(准确率)5. P-R 曲线6. TPR、FPR6.1 TPR(真正率)6.2 FPR(假正率) 7. ROC曲线8. AUC曲线…

【SpringBoot项目】Tomcat started on port(s): 8080 (http) with context path ‘‘

运行程序后出现下面的错误,并且在postman中无法获取到数据 在idea中的错误显示的如下 本人的原因是忘记在Controller中忘记写!!!! RestController 如果你不是以下原因可以参考下面的文章: Initializing S…

SSTI无过滤

解题步骤 打开环境后就只有一段文字,说密码错误,来回看了源码,抓包都没有什么提示,并且也没有有任何的传参显示 最后想来想去,终于灵机一动,这段文字就是在提示我们,可传的参数为password 所以…

[JAVAee]多线程入门介绍及其创建与基础知识

目录 1.进程 2.线程 3.进程与线程的区别与联系 4.为什么会有线程? 5.创建第一个多线程程序 方法一:继承Theard类 方法二:实现Runnable接口 方法三:匿名内部类创建Thread子类对象 方法四:匿名内部类创建 Runnable 子类对象 方法五(推荐方法):lambda 表达式创建 Runna…

03、怎么理解TPS、QPS、RT、吞吐量?

通常我们都从两个层面定义性能场景的需求指标:业务指标和技术指标。这两个层面需要有映射关系,技术指标不能脱离业务指标。一旦脱离,你会发现你能回答”一个系统在多少响应时间之下能支持多少 TPS“这样的问题,但是回答不了”业务…

开放的安全影响:Elastic AI Assistant

作者:Dain Perkins 在过去的几年里,我们一直在讨论开放和透明的安全方法的好处,即向公众提供对我们的检测和预防功能、代码、文档等详细信息的访问,这将增强我们能够为客户提供的安全功能。 在本博客中,我们将探讨我们…

PHP8知识详解:PHP8的新特性

PHP 8是PHP编程语言的一个主要版本,在2020年11月26日发布。它引入了许多新特性和改进,包括以下一些主要特性: 1. JIT 编译器:PHP 8引入了名为Tracing JIT的即时(Just-In-Time)编译器。JIT可以将PHP脚本中频…

软件测试——白盒测试

目录 1.什么是白盒测试 1.1 白盒测试优缺点 2.白盒测试方法 2.1 静态 2.2 动态 2.2.1 语句覆盖 2.2.2 判断覆盖 2.2.3 条件覆盖 2.2.4 判定条件覆盖 2.2.5 条件组合覆盖 2.2.6 路径覆盖 2.2.7 基本路径测试法(最常使用) 1.什么是白盒测试 白盒测试也称结构测试&…

解决Vue报错unable to resolve dependency tree

目录 一、问题 1.1 问题描述 二、解决 2.1 解决 一、问题 1.1 问题描述 今天在新创建一个项目,也就是在空文件夹里执行Vue脚手架的创建代码,如下 vue create 项目名称 没想到创建报错了:ERESOLVE unable to resolve dependency tree&…

现实生活中机器学习的具体示例(Machine Learning 研习之二)

笔者站点:秋码记录 机器学习在现实中的示例 通过上一篇的讲解,我们多多少少对机器学习(Machine Learning)有了些许了解,同时也对机器学习(Machine Learning)一词不再那么抗拒了。 那么&#…

图像处理之傅里叶变换

1、傅里叶变换的定义 傅里叶变换是在以时间为自变量的“信号”与频率为自变量的“频谱”函数之间的某域研究中较复杂的问题在频域中变得简单起来,从而简化其分析过程;另一方面使信号与系统的物理本质在频域中能更好地被揭示出来。当自变量“时间”或“频…

crypto1_中秋月

0x00 前言 CTF 加解密合集:CTF 加解密合集 0x01 题目 自动钥匙⊕明文全大写,得到后转小写,并以_连接单词。fsskryenvkm~jl{ejs}jwflzsnpgmifq{{j{|suhzrjppnx|qvixt~whu0x02 Write Up 首先提示需要异或,进行异或的爆破 s fs…

AJAX-day02-AJAX原理

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 XMLHttpRequest 了解XMLHttpRequest 使用 XMLHttpRequest XMLHttpRequest - 查询参数 XMLHttpRequest…

linux学成之路(基础篇)(二十二)iscsi服务

目录 前言 一、概述 二、构架iscsi服务 三、targencli 四、实现步骤 一、服务端 配置基础环境 安装 yum install - y targetcli 进入到/backstores/block目录中添加设备到块设备列表 进入到iscsi目录中生成iqn标签 进入到/iscsi/iqn.20...909/tpg1/luns>目录下创…

win10 安装 langchain-chatglm 遇到的问题

win10 安装 langchain-chatglm 避坑指南(2023年6月21日最新版本)_憶的博客-CSDN博客官网看起来安装很简单,网上教程也是,但实际上我耗费了两天时间,查阅了当前网络上所有可查阅的资料,重复「安装-配置-卸载…