jieba计算中文TF-IDF,并画出词云

import jieba.analyse
 
text='关键词是能够表达文档中心内容的词语,常用于计算机系统标引论文内容特征、信息检索、系统汇集以供读者检阅。关键词提取是文本挖掘领域的一个分支,是文本检索、文档比较、摘要生成、文档分类和聚类等文本挖掘研究的基础性工作'
 
keywords=jieba.analyse.extract_tags(text, topK=10, withWeight=True, allowPOS=())
print(keywords)

#结果:输出前10个值,极其频率
‘’‘
[('文档', 0.7683580497346154), ('文本', 0.4587102868907692), ('关键词', 0.45658796811333335), ('挖掘', 0.37005466278512816), ('文本检索', 0.30653250007435895), ('聚类', 0.30653250007435895), ('标引', 0.2949431379282051), ('信息检索', 0.2796139840615385), ('内容', 0.2632965833297436), ('计算机系统', 0.23367143356897435)]
’‘’

jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
sentence 为待提取的文本
topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
withWeight 为是否一并返回关键词权重值,默认值为 False
allowPOS 仅包括指定词性的词,默认值为空,即不筛选

在开始编写程序之前,我们先了解一下词云图的作用,我们拿到一篇文章,想得到一些关键词,但文章篇幅很大,无法短时间得到关键词,这时我们可以通过程序将文章中的每个词组识别出来,统计每个词组出现的次数,出现次数越多,字号越大,最后吧所有词组拼成一张图,这就是词云图了。

现在开始写程序

import jieba
import wordcloud
import imageio

首先,我们导入 jieba,wordcloud库,这2个库是第三方库,需要自己安装,imageio是python自带库不需要安装

安装方法:

pip install jieba

pip install wordcloud

Ps:因为我用的是Windows系统,所以这里只有Windows系统安装方法,其他系统需要读者去网上自寻

第二步

我们打开需要制作词云图的文件
将需要制作词云的词汇放入txt文件中,如下所示:

with open('data/4.txt',encoding='utf-8') as f:
    t=f.read()

下面我们将文章中的词组提出来

ls=jieba.lcut(t)
txt=" ".join(ls)

我们现在已经把所有词组提取出来,以空格分开,并保存在txt中

下一步,我们需要定义一个词云

w=wordcloud.WordCloud(width=2000,
height=1400,
font_path="msyh.ttc")

Width=2000,height=1400及词云图,高1400像素,宽2000像素,font_path=”msyh.ttc”,及使用微软雅黑字体,这些参数读者可以随意修改。

现在我们将词组变量txt导入词云对象w中并保存

w.generate(txt)
w.to_file(r'F:\pic5.png')

 

如图所示,我们制作的词云图为黑色,且不美观,不具有可观性,这时我们进行下一步,对词云图的颜色,型状进行修饰

首先,关于词云图的颜色问题,因为wordcloud函数存在默认背景色,改变背景色发法

w=wordcloud.WordCloud(width=2000,
height=1400,
font_path="msyh.ttc",
background_color='white')

这里我将背景色定义为白色

紫色 purple 粉红色 pink

蓝色 blue    红色 red

黑 色 black 黄 色yellow

青 色 cyan金 色 glod

棕色 brown 白色 white

你也可以使用其他颜色单词,这时你可能会想如何修改字体的颜色

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值