生成词云...

本文展示了如何使用Python中的wordcloud和jieba库,从给定的文本文件中提取关键词并生成词云,以便可视化文本的重要主题。
摘要由CSDN通过智能技术生成
import wordcloud    
import jieba
import PIL
import numpy as np
import matplotlib.pyplot as plt
import jieba.analyse  
image_background = PIL.Image.open('/home/back/pythonclass/11.jpg')
#遮罩
MASK = np.array(image_background)
txt=open("/home/back/pythonclass/2024_government_work_report.txt").read()
w = wordcloud.WordCloud(font_path='/home/back/pythonclass/aaa.ttf',background_color='white', width=4000, height=2000, margin=10, max_words=200, mask =MASK)
#jieba统计并提取权值top30的词语,返回list
ls=jieba.analyse.extract_tags(txt,topK=30)
#将list转换为元素间空格分隔的字符串,创建词云
w.generate(" ".join(ls))
#将词云导出到outfile.png
w.to_file("outfile.png")

在这里插入图片描述

代码解析

导包:

import wordcloud
import jieba
import PIL
import numpy as np
import matplotlib.pyplot as plt
import jieba.analyse

变量定义:

  • image_background: 背景图片
  • MASK: 背景图片的 NumPy 数组
  • txt: 文本文件内容
  • w: 词云对象

代码执行:

  1. 读取背景图片并转换为 NumPy 数组。
  2. 读取文本文件内容。
  3. 使用 jieba.analyse.extract_tags 函数提取文本的 top 30 关键词,并将其转换为空格分隔的字符串。
  4. 创建词云对象,并设置字体、颜色、大小、边距等参数。
  5. 使用 generate 方法生成词云,并将关键词列表作为参数传入。
  6. 使用 to_file 方法将词云导出到 PNG 图片。

代码详解:

  • jieba.analyse.extract_tags(txt, topK=30) 函数用于提取文本的关键词,并根据词频进行排序。topK 参数指定提取的关键词数量。
  • wordcloud.WordCloud(font_path, background_color, width, height, margin, max_words, mask) 函数用于创建词云对象。font_path 参数指定字体文件路径,background_color 参数指定背景颜色,widthheight 参数指定词云大小,margin 参数指定词云边缘的空白区域,max_words 参数指定词云中显示的最大词语数量,mask 参数指定遮罩图片。
  • w.generate(" ".join(ls)) 方法用于生成词云,并将关键词列表作为参数传入。
  • w.to_file(“outfile.png”) 方法用于将词云导出到 PNG 图片。

总结:

以上代码使用 jiebawordcloud 库对文本进行分词、关键词提取和词云生成。最终将词云导出到 PNG 图片。

改进建议:

  • 可以使用其他分词库,例如 pkusegHanLP,进行分词。
  • 可以使用其他词云库,例如 pytagcloudwordcloud2,生成词云。
  • 可以尝试不同参数设置,生成不同风格的词云。
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Back~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值