R语言词云
不经意间注意到七月与安生这个电影,周冬雨凭借自身精湛的演技表现出普通的一对小情侣可能会经历的旅程,质朴而又韵味十足,其中不乏许多妙语,可能很多人都知道,但体会都略有所不同,自身演绎甚是美好。
安生:我遇见你,所以我喜欢你,七月:我喜欢你,所以我陪伴你
七月说,你写的是什么内容,安生说,流浪,爱,和宿命。
七月第一次遇见安生的那一年他十三岁,春意萌芽,突然的漫步操场,开始了他们之间的故事。
这里选取的是 七月与安生 的原版小说文本,借用R语言里面的中文分词包对它做了一个简单的词云分析,但是分词的效果一般,还可以进一步分词后分析,做文本挖掘,通过对文本词频、词意来深入到情感分析,这里就不多述了。
rm(list=ls())
library(jiebaR)
library(rJava)
library(Rwordseg)
library(wordcloud2)
library(stringr)
julywas<-readLines("F:/七月与安生.txt")
#设置分词引擎,这里面的参数还很多,主要的是分词引擎这个参数,mix是效果相对较好的,而其他的比如还有hmm、mp、query,针对不同方面
cutter=worker(type="mix")
#去除文本里面的标点符号类
julys<-str_replace_all(julywas,"[:punct:]","")
#去除多余的空格
julyst<-str_trim(julys)
#对文本进行分词处理
jiebw<-segment(julyst,cutter)
#这里的文本是作为停止词,其实更多的是高频无实际分析意义的部分
swords<-c("她","的","我","了","在")
segw<-filter_segment(jiebw,swords)
segws<-table(segw)
#看看分词后词频的分布情况,这样其实不怎么靠谱,可以画个图看看,我这里就简单看下了
分布还是偏差比较大,不调了
summary(as.numeric(segws))
#再看看频率高于1的数量,也是比较少,分词效果不是怎么好
jiebse<-segws[nchar(segws)>1]
#选取部分做词云,如果是工作中做词云这个肯定还要调很多地方的;这里面往后的话其实在网站、文本的等被搜索频次有很大研究价值,通过关键词的被搜索频次提升流量
jiebse<-sort(segws,decreasing=TRUE)[1:500]
wordcloud2(jiebse,size=2,fontFamily='方正字迹-吕建德行楷',fontWeight='normal',color='random-light',shape='cardioid',backgroundColor = 'black')
#下面这图是在未处理停止词和词频的,第二个图是处理后的;至于词云的作用了,提个很多人都经历过的吧,那就是什么app给你的推荐啊、你收到的邮件推荐等等啊,都是有规则产生对用户标签精准推送,就可以利用到词云,另外就是搜索引擎。
#这是R中另外一个处理分词的包Rwordseg,处理效果见效果图咯,不解释了,来不急了,自行上车
installDict("E:/RStudio/packages/自然语言处理及计算语言学相关术语.scel","computer",dicttype="scel")
#分词处理函数,相对于jiebaR中的处理函数有优势也有劣势
juseg<-segmentCN(julyst,
analyzer = get("Analyzer", envir = .RwordsegEnv),
nature =FALSE, nosymbol = TRUE,
returnType = c("vector", "tm"), isfast =FALSE,
outfile = "", blocklines = 2000)
#前面看了,这个不用我多说了嘛,要是不知道滚回去看,前面都没东看这里搞什么
jurs<-filter_segment(juseg,swords)
summary(nchar(jurs))
jus<-table(unlist(jurs))
#上图,后面跟前面差不多,就换了包,至于里面的函数怎么用,参数怎么设置?百度爸爸会教你的
juss<-sort(jus,decreasing=TRUE)[1:300]
windowsFonts(myFont=windowsFont("方正字迹-吕建德行楷"))
rwpic<-wordcloud2(juss,size=1,fontFamily='方正字迹-吕建德行楷',fontWeight='normal',color='random-dark',minRotation = -pi/6, maxRotation = -pi/6, rotateRatio = 1,backgroundColor = 'black')
看看嘛,美不美,用处了,你结合你的整个项目或者分析过程就可以了 ,有问题欢迎来袭.YOU ARE SUNSHINE
原文地址
网友评论