JiebaR+wordcloud2词云
2017-05-16 16:09
106 查看
这篇文章介绍如何通过JiebaR和wordcloud2进行分词并制作精美的词云图片。
话不多说,先看词云
分词通过jiebaR进行,词云通过wordcloud2绘制,wordcloud2的强大之处在于可以自定义词云的形状。
分词用的文本随意取,这里我把分出来的词都替换成“学习”了,毕竟我们是如此的热爱学习。
关于JiebaR中文分词就不多说了,网上有很多教程,找一个比较全的停止词表就可以分析文档了,具体代码如下:
首先载入相关包
加载需要分析的txt格式文本
聊天记录、小说等等都可以,最好是UTF-8编码的,否则有时候会出问题,(如何把txt保存成UTF-8编码的格式百度即可),
分词
具体过程就不细讲了,最终分词得到词频矩阵,然后对词频矩阵进行一些处理,删掉一些无用的词,比如长度为1的词等等,让结果更精确。
词云
词云通过
参数很多,解释主要的几个参数
data:作词云的词频数据框,包含两列,一列为词,一列为频数,频数越大,词云中该词字号越大
backgroundColor:背景颜色
shape:形状,wordcloud2本身带了多种形状,直接从help里复制过来::circle (default), cardioid (apple or heart shape curve, the most known polar equation), diamond (alias of square), triangle-forward, triangle, pentagon, star
figpath:自定义形状的路径,想做什么形状的图形,先找一个图片,把图片路径放在这个参数里就可以了。重要的事情说三遍,图片要是黑色的,图片要是黑色的,图片要是黑色的
col:色调:偏亮或者偏暗
其他的可以自己研究下,跟图片、字体大小有多。
下面是我用来做词云的部分图片
图片推荐从这里下:http://www.iconfont.cn/,颜色选纯黑。
当然水平够高可以自己做。
下好图片之后就可以直接做词云了
代码:
话不多说,先看词云
分词通过jiebaR进行,词云通过wordcloud2绘制,wordcloud2的强大之处在于可以自定义词云的形状。
分词用的文本随意取,这里我把分出来的词都替换成“学习”了,毕竟我们是如此的热爱学习。
关于JiebaR中文分词就不多说了,网上有很多教程,找一个比较全的停止词表就可以分析文档了,具体代码如下:
首先载入相关包
library(jiebaR) library(wordcloud2)
加载需要分析的txt格式文本
聊天记录、小说等等都可以,最好是UTF-8编码的,否则有时候会出问题,(如何把txt保存成UTF-8编码的格式百度即可),
filename为文件的绝对路径
f <- scan('filename.txt',sep='\n',what='',encoding="UTF-8")
分词
具体过程就不细讲了,最终分词得到词频矩阵,然后对词频矩阵进行一些处理,删掉一些无用的词,比如长度为1的词等等,让结果更精确。
wk <- worker(stop_word = '中文停用词表.txt') seg <- wk[f] seg <- seg[nchar(seg)>1] seg <- table(seg) seg <- sort(seg,decreasing = T)[1:100] result <- as.data.frame(seg,stringsAsFactors=F)
result为按词频降序排列的词频矩阵,把所有的词都替换成“学习”
词云
词云通过
wordcloud2这个包实现,先来看一下这个函数
wordcloud2(data, size = 1, minSize = 0, gridSize = 0, fontFamily = 'Segoe UI', fontWeight = 'bold', color = 'random-dark', backgroundColor = "white", minRotation = -pi/4, maxRotation = pi/4, shuffle = TRUE, rotateRatio = 0.4, shape = 'circle', ellipticity = 0.65, widgetsize = NULL, figPath = NULL, hoverFunction = NULL)
参数很多,解释主要的几个参数
data:作词云的词频数据框,包含两列,一列为词,一列为频数,频数越大,词云中该词字号越大
backgroundColor:背景颜色
shape:形状,wordcloud2本身带了多种形状,直接从help里复制过来::circle (default), cardioid (apple or heart shape curve, the most known polar equation), diamond (alias of square), triangle-forward, triangle, pentagon, star
figpath:自定义形状的路径,想做什么形状的图形,先找一个图片,把图片路径放在这个参数里就可以了。重要的事情说三遍,图片要是黑色的,图片要是黑色的,图片要是黑色的
col:色调:偏亮或者偏暗
其他的可以自己研究下,跟图片、字体大小有多。
下面是我用来做词云的部分图片
图片推荐从这里下:http://www.iconfont.cn/,颜色选纯黑。
当然水平够高可以自己做。
下好图片之后就可以直接做词云了
代码:
wordcloud2(result,backgroundColor = 'black',col = 'random-light',figPath = '图片.png')
相关文章推荐
- python画词云图
- 生成词云之python中WordCloud包的用法
- 基于 jieba 和 word_cloud 生成《人民的名义》小说词云
- R语言︱文本挖掘——词云wordcloud2包
- Python+wordcloud+jieba+docx生成中文词云和词频统计
- NLP01-python的wordcloud实现中文词云小例
- R词云--wordcloud2
- (转)jiebaR中文分词快速入门
- 猎聘python招聘之词云:满屏数据
- wordcloud2的一个小问题
- 电影《战狼2》的可视化分析
- R语言进行词云分析
- 使用jieba模块进行自然语言处理并制作词云
- 用python生成词云
- 手把手教你制作 中英文 词云 | python demo
- Python 任意中文文本生成词云 最终版本
- [机器学习入门] 李宏毅机器学习笔记-15 (Unsupervised Learning: Word Embedding;无监督学习:词嵌入)
- python 用字符串生成词云图
- 【python入门】制作一个自定义的中文词云
- QQ在线交谈一句代码搞定