Python 与 Packages(五):jieba + wordcloud

jieba 库:中文分词第三方库

jieba 是优秀的中文分词第三方库

安装:pip install jieba

  • jieba库常用函数

    函数 作用
    jieba.lcut(s) 精确模式,返回一个列表类型的分词结果
    jieba.lcut(s,cut_all=True) 全模式,返回一个列表类型的分词结果,存在冗余
    jieba.lcut_for_search(s) 搜索引擎模式,返回一个列表类型的分词结果,存在冗余
    jieba.add_word(w) 向分词词典增加新词 w

wordcloud 库:词云展示第三方库

由文本变为词云,wordcloud 库做了什么?

  1. 分隔:将文本以空格分隔成单词
  2. 统计:单词出现的次数并过滤
  3. 字体:根据统计配置字号
  4. 布局:颜色环境尺寸

所以使用时只需要给出一个以空格分隔的字符串就可以了。

实现步骤

  1. w = wordcloud.WordCloud(<参数>) 创建一个词云对象 w

    • 参数

      参数 说明
      width 指定词云对象生成图片的宽度。默认 400 像素
      height 高度。默认 200 像素
      min_font_size 指定词云中字体的最小字号。默认 4 号
      max_font_size 最大字号。
      font_step 指定词云中字体字号的步进间隔。默认为 1
      font_path 指定字体文件的路径,默认 None
      max_words 指定词云显示的最大单词数量,默认 200
      stop_words 指定词云的排除词,即不显示的单词, 例如 stop_words={"python", "world"}
      mask 指定词云形状。默认矩形
      background_color 指定背景颜色。默认黑色
  2. 两个方法

    函数 说明
    w.generate(txt) 向词云对象 w 中加载 txt,txt 是以空格分隔的字符串。w.generate("Python and WordCloud")
    w.to_file(filename) 将词云输出为图像文件,.png.jpg 格式。w.to_file("outfile.png")

jieba + wordcloud 示例

  • 展示《沉默的羔羊》中出现最多的词及出现的次数
  • 展示《沉默的羔羊》词云

代码:

import jieba
import wordcloud

# 读取文件
file = open("沉默的羔羊.txt", "r", encoding="utf-8")
txt = file.read()
file.close()

# jieba库分词,过滤单个字
ls_temp = jieba.lcut(txt)
ls = []
for word in ls_temp:
    if len(word) >= 2:
        ls.append(word)

# 打印出现最多的词
d = {}
for word in ls:
    d[word] = d.get(word,0) + 1
lt = list(d.items())
lt.sort(key=lambda ele:ele[1],reverse=True)
word,count = lt[0]
print("{} {}".format(word, count))

# 输出词云
Str = " ".join(ls)
w = wordcloud.WordCloud(width=1000, height=700, background_color="white", \
    font_path="msyh.ttc")
w.generate(Str)
w.to_file("lambs.png")

输出结果:

Building prefix dict from the default dictionary ...
Dumping model to file cache C:\Users\莫临城\AppData\Local\Temp\jieba.cache
Loading model cost 1.535 seconds.
Prefix dict has been built successfully.


史达琳 701

<wordcloud.wordcloud.WordCloud at 0x212d626c1f0>

词云:

《沉默的羔羊》

链接:https://pan.baidu.com/s/1_YibOGIAL0oTtalBahP1tA?pwd=xby3 提取码:xby3


Python 与 Packages(五):jieba + wordcloud
https://luminous-ee.github.io/2023/01/27/Python-与-Packages(五):jieba-wordcloud/
作者
落与
发布于
2023年1月27日
许可协议