1. 分析

构建词云需要具备:

  • 原料即文章等内容
  • 将内容进行分词
  • 将分词后的内容利用构建词云的工具进行构建
  • 保存成图片

2. 需要的主要模块

  • jieba 中文分词
  • wordcloud 构建词云

3. 模块原理

wordcloud的实现原理

  • 文本预处理
  • 词频统计
  • 将高频词以图片形式进行彩色渲染

jieba的实现原理

  • 进行中文分词(有多种模式)【详情

4. 英文词云

英文分词和构建词云只需要wordcloud模块

具体实现如下:

 from wordcloud import WordCloud

 string = 'Importance of relative word frequencies for font-size. With relative_scaling=0, only word-ranks are considered. With relative_scaling=1, a word that is twice as frequent will have twice the size. If you want to consider the word frequencies and not only their rank, relative_scaling around .5 often looks good.'
font = r'C:\Windows\Fonts\FZSTK.TTF'
wc = WordCloud(font_path=font, #如果是中文必须要添加这个,否则会显示成框框
background_color='white',
width=1000,
height=800,
).generate(string)
wc.to_file('ss.png') #保存图片

5. 中文分词

具体实现如下:

 import jieba
cut = jieba.cut(text) #text为你需要分词的字符串/句子
string = ' '.join(cut) #将分开的词用空格连接

6. 中文词云

中文词云需要jieba和wordcloud模块

具体实现如下:

 import jieba
from wordcloud import WordCloud
from PIL import Image
import numpy as np font = 'hwkt.ttf'
content = (open('岗位需求.txt','r',encoding='utf-8')).read()
cut = jieba.cut(content)
cut_content = ' '.join(cut)
img = Image.open('22.png') # 以什么图片进行显示
img_array = np.array(img) # 将图片转换为数组 wc = WordCloud(
background_color='white',
mask=img_array, # 若没有该项,则生成默认图片
font_path=font # 中文分词必须有中文字体设置
)
wc.generate_from_text(cut_content) # 绘制图片
wc.to_file('new.png') # 保存图片

7. 实现效果

英文词云实现效果如下:

中文词云实现效果如下:

最新文章

  1. swift 的枚举、结构体、类
  2. Ubuntu换源
  3. 关于启动 SecureCRT 遇到一个致命的错误且必须关闭
  4. Java final static abstract关键字介绍
  5. Unity中的Path对应各平台中的Path
  6. 问题-delphi在某电脑(win7)上是界面超乱 DPL
  7. 搭建Tornado+Nginx
  8. win32系统信息获取
  9. 【剑指offer】面试题35:第一个只出现一次的字符
  10. 学习笔记之--Navicat Premium创建数据表
  11. mongodb实现简单的增删改查
  12. 怎样将IPhone应用程序软件公布到应用程序商店?
  13. Web应用和RESTful架构
  14. 玩玩RMI
  15. [SCOI 2010]字符串
  16. Android存储之SQLite数据库
  17. WebRequest/HttpWebRequest/HttpRequest/WebClient/HttpClient的区别
  18. Hibernate配置关系(申明:来源于csdn)
  19. SSH配置文件详解
  20. Oracle数据库操作---入门(一)

热门文章

  1. JavaScript设计模式(一)
  2. deepin安装php5.6
  3. javascript中数组的方法你真的都了解吗?
  4. 在Linux上创建webrev(cont)[基于svn]
  5. 手动添加Git Bash到右键菜单
  6. ACM,算法
  7. IOS贝塞尔曲线圆形进度条和加载动画
  8. CSS3动画积累+动画库+3d动画
  9. shell脚本分析apache日志状态码
  10. prism.js使页面代码变得漂亮