python制作词作云动画_基于Python实现词云制作

1 第三方库的安装与简介

1.1 Python第三方库 jieba(中文分词)

1. 特点

(1)支持三种分词模式:

精确模式,试图将句子最精确地切开,适合文本分析;

全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

(2)支持繁体分词

(2)支持自定义词典

(3)MIT 授权协议

2. 安装和使用说明

pip install jieba / pip3 install jieba

通过 import jieba 进行引用

3. 主要功能

这里主要涉及到的是分词功能,详述如下:

(1)jieba.cut 方法接受三个输入参数:

需要分词的字符串;

cut_all 参数用来控制是否采用全模式;

HMM 参数用来控制是否使用 HMM 模型。

(2)jieba.cut_for_search 方法接受两个参数:

需要分词的字符串;

是否使用 HMM 模型。

该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。

1. 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。

2. 不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8。

3. jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut 以及jieba.lcut_for_search 直接返回 list。

(3)jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。

4. 示例代码

(1)实现代码:

1 #coding=utf-8

2 importjieba3

4 text = "轻轻地我走了正如我轻轻地来"

5

6 seg_list = jieba.cut(text, cut_all=False)7 print("Default Mode:" + "/".join(seg_list)) #精确模式

8

9 seg_list = jieba.cut(text, cut_all=True)10 print("Full Mode:" + "/".join(seg_list)) #全模式

11

12 seg_list =jieba.cut_for_search(text)13 print("Search Mode:" + "/".join(seg_list)) #搜索引擎模式

(2)运行结果:

1209131-20200410181510131-333917472.png

1.2 Python第三方库wordcloud(词云)

1. 安装和使用说明

pip install wordcloud / pip3 install wordcloud

通过 import wordcloud 进行引用

2. 主要功能

wordcloud把词云当作一个对象,它可以将文本中词语出现的频率作为一个参数绘制词云,而词云的大小、颜色、形状等都是可以设定的。

生成词云的步骤如下:

(1)配置对象参数

(2)加载词云文本

(3)输出词云文件 (如果不加说明默认的图片大小为400 * 200)

3. 常见的参数列表

1209131-20200410174317962-805178886.png

2 制作生成词云

2.1 生成《新冠病毒无症状感染者管理规范》的词云

(1)实现代码:

1 #coding=utf-8

2 importmatplotlib.pyplot as plt3 importjieba4 from wordcloud importWordCloud5

6 #1.读入txt文本数据

7 with open("test.txt", 'r') as f:8 text=f.read()9

10 #2.分词

11 cut_text = " ".join(jieba.cut(text))12

13 #3.生成词云

14 wc =WordCloud(15 font_path=r'.\simhei.ttf',16 background_color = 'white',17 width = 1000,18 height = 880,19 ).generate(cut_text)20

21 #4.显示词云图片

22 plt.imshow(wc, interpolation="bilinear")23 plt.axis('off')24 plt.show()

(2)运行结果:

1209131-20200410191104829-650845278.png

2.2 生成《关于做好高校毕业生就业创业工作的通知》的词云

(1)实现代码:

1 #coding=utf-8

2 importPIL.Image as image3 importnumpy as np4 importmatplotlib.pyplot as plt5 importjieba6 from wordcloud importWordCloud, ImageColorGenerator7

8 defGetWordCloud():9 path_txt = "test.txt"

10 path_img = "test.jpg"

11 #1.读入txt文本数据

12 with open(path_txt, 'r') as f:13 text=f.read()14 background_image =np.array(image.open(path_img))15

16 #2.分词

17 cut_text = " ".join(jieba.cut(text))18

19 #3.生成词云

20 wc =WordCloud(21 font_path=r'.\simhei.ttf',22 background_color = 'white',23 mask=background_image24 ).generate(cut_text)25

26 #生成颜色值

27 image_colors =ImageColorGenerator(background_image)28

29 #4.显示词云图片

30 plt.imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")31 plt.axis('off')32 plt.show()33

34

35 if __name__ == "__main__":36 GetWordCloud()

(2)运行结果:

1209131-20200410205843849-845208766.png

Python第三方库jieba(中文分词)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值