使用Python造一片词云

60 篇文章 1 订阅

一、简介

背景

“词云”又称文字云,是文本数据的视觉表示,由词汇组成类似云的彩色图形,用于展示大量文本数据。通常用于描述网站上的关键字元数据(标签),或可视化自由格式文本。
词云中每个词的重要性以字体大小或颜色显示,由词汇组成类似云的彩色图形。

“词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)提出,他做过编辑、记者,曾担任迈阿密先驱报(MiamiHerald)新媒体版的主任。他一直很关注网络内容发布的最新形式——即那些只有互联网可以采用而报纸、广播、电视等其它媒体都望尘莫及的传播方式。通常,这些最新的、最适合网络的传播方式,也是最好的传播方式。

作用

因此,“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

  • 快速感知最突出的文字
  • 快速定位按字母顺序排列的文字中相对突出的部分

词云的本质是点图,是在相应坐标点绘制具有特定样式的文字的结果。

二、Python-词云

针对如下图所示的TXT文本,利用Python构造词云:
在这里插入图片描述
代码如下:

  import jieba
  from wordcloud import WordCloud
  import matplotlib.pyplot as plt

  text = open(r'\\Mac\Home\Desktop\vlookup.txt',encoding='utf-8')
  mylist = list(text)

  word_list = [" ".join(jieba.cut(sentence)) for sentence in mylist]
  new_text = ' '.join(word_list)
  wordcloud = WordCloud(font_path='simhei.ttf',
			background_color='black').generate(new_text)
  plt.imshow(wordcloud)
  plt.axis("off")
  plt.savefig(r'\\Mac\Home\Desktop\test\ciyun.png')
  plt.show()

三、扩展-抠图

同样的测试文本,还可使用指定图像进行抠图,例如使用白色为背景,则以指定图像中非白色为轮廓填入词汇生成词云。
代码如下:

  import jieba
  from wordcloud import WordCloud
  import matplotlib.pyplot as plt
  from PIL import Image
  # from scipy.misc import imread
  from matplotlib.pyplot import imread


  text = open(r'\\Mac\Home\Desktop\test.txt',encoding='utf-8')
  mylist = list(text)
  word_list = [" ".join(jieba.cut(sentence)) for sentence in mylist]
  new_text = ' '.join(word_list)
  pac_mask = imread(r'\\Mac\Home\Desktop\test.jpg')
  wc = WordCloud(font_path='simhei.ttf',
		background_color='white',max_words=2000,mask=pac_mask).generate(new_text)
  plt.imshow(wc)
  plt.axis('off')
  plt.show()
  wc.to_file(r'\\Mac\Home\Desktop\test\ciyun1.png')

得到的词云图如下:

在这里插入图片描述
免费下载试用:https://support.i-search.com.cn/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值