当前位置:   article > 正文

wordcloud和jieba实现中文词云图_nuslaw是哪个大学

nuslaw是哪个大学

一、什么是词云图

词云图是文本数据的一种可视化展现方式,它一般是由文本数据中提取的词汇组成某些彩色图形。 词云图的核心 价值 在于以高频关键词的可视化表达来传达大量文本数据背后的有价值的信息。

二、步骤

1.引入库

因为要生成中文文本的词云图所以这里采用jieba分词对文本进行分词处理。

from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
  • 1
  • 2
  • 3
  • 4
  • 5

2.代码

文本采用了三国演义开篇的一段txt文件。
注意WordCloud()中的参数,mask为词云图背景样式,我导入了一张皮卡丘的图片。

# 读文件
text = open('text_file/三国演义.txt').read()

# 中文分词(join()分别以指定分隔符对字符串、列表、元组、字典元素进行连接)
text = ' '.join(jieba.cut(text))
#print(text)

# 生成词云图
mask = np.array(Image.open('mask_img/pikaqiu.jpg'))  # 通过PIL下的Image读取图片,并转化为np.array类型
wc = WordCloud(mask=mask,  # mask参数设置背景样式
               font_path='‪C:\Windows\Fonts\AdobeHeitiStd-Regular.otf',  # 设置字体路径,不同系统后缀会有区别,建议从‪C:\Windows\Fonts路径下找自己电脑的字体
               mode='RGBA',  # RGB的扩展颜色格式
               background_color=None).generate(text)

# 画词云图
plt.imshow(wc)
plt.axis('off')  # 去掉画图坐标轴
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

font_path为字体的路径设置,对中文文本如果不指定font_path(字体路径)会出现词云图中的词为空白的情况。如下图:
在这里插入图片描述
不同系统字体后缀会有区别,建议从‪C:\Windows\Fonts路径下找自己电脑的字体

3.词云图

在这里插入图片描述


总结

因为词云图是找出文本中出现的高频词,而中文文本是连续的所以要进行分词
如果是英文文本,则不需要通过jieba进行分词步骤,因为英文文本单词就是以空格分隔。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号