词云

一、定义

又称 文字云。

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

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

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

词云的作用:

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

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

二、Python - 词云

词云

如图所示的 TXT 文本。
通过以下代码:

  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()

得到的图如下:

词云

三、Python - 词云(抠图)

同样的测试文本,使用的图像为本人此论坛图像,白色背景,代码如下:

  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')

得到的词云图如下:

词云