• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言文本挖掘+词云显示(jiebaR包+wordcloud2包)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

利用2018年政府工作报告的例子向大家展示一下R语言如何进行文本挖掘的~用到的包有jiebaR和wordcloud2。

1、安装并加载jiebaR

install.packages("jiebaR")
library(jiebaR)

 

2、以2018年政府工作报告为文本,进行分词

(1)首先要将2018年政府工作报告以txt的形式下载到R语言的工作路径中

        读取文本:

text<-readLines("E:/R-3.4.4/bin/workdirection/report.txt");text    #readLines()用来读取不规则文本

 

(2)分词处理:

seg<-worker();seg<=text  
segment(text,seg)  #方法2

(3)词性标注(不是必要的步骤)

seg2<-worker("tag")
segment(text,seg2)  

(4)关键词提取

seg3<-worker(type="keywords",topn=3)
seg3<=text

发现报错了:Error in key_ptr(topn, dict, hmm, idf, stop_word, user) : std::bad_alloc

应该是段落太多了,尝试另外一种方法

for(i in text){a<-seg3<=i;print(a)}  

4.95979
"代表"
11.7392 11.7392 9.43974 8.55357
"过五" "请予" "提出" "全国政协"
8.40548 7.26211 6.71757 6.4807
"工作" "审议" "委员" "国务院"
6.16263 5.87811
"大会" "意见" 

这是一部分的关键词,这样就可以了。

(5)对文本去除一些不必要的

text1<-gsub('[a-zA-Z]','',text) #去除所有英文字母
text2<-gsub("[的|和|了|来|与|到|由|等|从|以|一|为|在|上|各|去|对|侧|多|并|千|万|年|更|向|这是]","",text1) 

再进行分词:

seg<-worker()
seg<=text2

(6)建立词频

freq<-freq(segment(text2,seg))

排序!很重要:

index <- order(-freq[,2])
order2<-freq[index, ];order2 

这是降序排的,如果升序排最后显示的词云图词频大的词在外边

(7)制作词云图

library(wordcloud2)
wordcloud2(order2,size = 1,minRotation = -pi/3, maxRotation = pi/3,rotateRatio = 0.8,fontFamily = "微软雅黑", color = "random-light")

展示一下主旋律嘻嘻嘻

————————————————————————————

第一篇写的很匆忙,很多都没有扩展,下次会继续加油的!!

:)

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言如何单独保存输出图片文件发布时间:2022-07-18
下一篇:
R语言nest_join()函数发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap