漂亮的词云图是怎么生成的?不到10行代码搞定!

大模型向量数据库机器学习

猴哥的第 40 期分享,欢迎追看

前两天写了一篇微信聊天记录导出教程:导出微信所有聊天记录,拢共分几步?

后台很多小伙伴对词云感兴趣:给一段文本,然后根据其中词语出现的频率,生成好看的词云,像下面这张图一样:

picture.image

生成这个其实很简单,几行 Python 代码就能搞定,今天就来带大家实操一番。

  1. 环境准备

配置好 Python 环境后,需要安装两个包:

  • jieba:用于分词
  • wordcloud:用于生成词云
  
pip install jieba  
pip install wordcloud  

  1. 获取模板图片(可选)

wordcloud 中默认生成的是矩形图片。

如果希望生成的词云图片具有特定的样式,你需要准备一张 png 格式的含有透明图层的图片,像下面这样:

picture.image

怎么获取 png 格式的图片?

打开:https://www.remove.bg/zh/upload

上传一张图片,然后点击下载即可:

picture.image

  1. 获取字体文件

Windows 电脑中,字体默认保存在 C:\Windows\Fonts\,文件后缀为 .ttf。

找到想要想要生成的字体路径。

  1. 获取文本信息

大家可以试试自己的微信聊天记录。

这里我们以《红楼梦》小说为例进行演示,输入的是 .txt 文本文件。

  
import jieba  
def cut_words(text):  
    # 使用 jieba 分词  
    words = jieba.cut(text)  
    return ' '.join(words)  
with open('D:\Downloads\data\红楼梦.txt', 'r', encoding='utf-8') as f:  
        text = f.read()  
text = cut_words(text)  

  1. 生成词云图

最后,初始化一个 wordcloud 实例,把刚刚分词后的文本输入进来,生成最终的词云图片。

  
import wordcloud  
def generate_wordcloud(text, stopwords=None, mask=None, max_words=50, img_name='1.jpg'):  
    wordcloud = WordCloud(width=800, height=400,   
                        mask=mask,  
                        background_color='white',  
                        stopwords=stopwords,  
                        font_path='C:\Windows\Fonts\simkai.ttf', # simkai.ttf STXINGKA.TTF  
                        max_words=max_words,  
                        ).generate(text)  
    wordcloud.to_file(img_name)  

  • text:第 4 步分词后的文本;
  • mask:第 2 步拿到的模板图片;
  • stopwords: 停止词,对于你不想在词云中出现的词,你都可以添加到这个文件中过滤掉它;
  • max_words:比如50,就是选择出现频率最高的50个词进行展示。

你可以换用不同的背景 mask 试试~

picture.image

写在最后

如果本文对你有帮助,欢迎点赞收藏 备用!

我是猴哥,一直在做 AI 领域的研发和探索,会陆续跟大家分享路上的思考和心得,以及干货教程。

👇 关注猴哥,快速入门AI工具

picture.image

# 学用 GPT:

免费白嫖GPT4,无次数限制,5分钟带你上手

轻松搞定10w+:小白易上手的提示词模板,GPT很强,但请温柔以待!

【每天一个AI提示词】搞定公众号爆款标题,助你轻松10W+

# AI 工具:

视频下载神器!抖音B站YouTube全搞定,免费无广告,亲测好用

Windows上安装Linux子系统,搞台虚拟机玩玩,手把手教

# AI应用** :**

手把手搭建微信机器人,帮你雇一个24小时在线的个人 AI 助理(上)

手把手带你搭建一个语音对话机器人,轻松定制个人AI小助手(新手入门篇)

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论