5691 14

[学习分享] 文本挖掘的案例(此贴只是文本挖掘的基础文字处理,后期还会继续往下分析建模) [推广有奖]

  • 2关注
  • 5粉丝

已卖:31份资源

本科生

50%

还不是VIP/贵宾

-

威望
0
论坛币
297 个
通用积分
1.0115
学术水平
8 点
热心指数
11 点
信用等级
5 点
经验
2128 点
帖子
74
精华
0
在线时间
78 小时
注册时间
2016-9-28
最后登录
2024-12-23

楼主
伪数据分析师 发表于 2016-11-10 16:58:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
曾经打算着,每天都要发一贴,但是昨天没有发,这两天都在学习文本分析,但是昨天学的不到位,所以没有发,今天补上了。好了,废话少说,直接来案例喽。

     

    我用的文本是刚过去不久的十八大(shibada)六中全会全文。主要分为以下几个部分:1、使用Rwordseg包进行分词处理  2、获取词频数据  3、使用wordcloud包做词云图   4、使用wordcloud升级版wordCloud2做词云图(wordcloud这个函数paramater太多了,而且做出来的图比较死板,而它的升级版却很好的解决了这些问题)
    好了,进行具体的操作~~~~
  1. library(rJava)    #加载rJava包
  2. library(Rwordseg) #加载Rwordseg包
  3. installDict(
  4.   "D:/R install/sougou dictionary/十八大报告节选.scel",
  5.   dictname="十八大")  #安装自定义词典
  6. listDict()        #查看已加载的词典
  7. shibada<-read.table(file.choose())  #打开要分析的文档,等价于shibada<-read.table("D:/R install/18 da.txt")
  8. head(shibada)  #查看前六行
  9. shibada1<-readLines(file.choose())  #按行读取文字,读取后只有一个自变量(V1),而read.table读取的方式是遇见空格就形成一个变量
  10. head(shibada1)  #再次查看前六行
  11. shibada1<-gsub("\\s","",shibada1)#去除space键
  12. shibada1<-gsub(pattern =
  13. "[的|和|是|有|在|要|对|必|须|为|了把|]","",shibada1)#删除特殊字词
  14. shibada1<-gsub("\n","",shibada1)#删除Enter键
  15. head(shibada1)
  16. a<-lapply(shibada1,FUN=segmentCN)
  17. str(a)
  18. fenci<-unlist(lapply(shibada1,FUN=segmentCN))
  19. #使用lapply函数对文本进行分词(分词的结果返回来的是列表),使用unlist函数降结果转换为向量
  20. str(fenci)
  21. fenci1<-table(fenci)   #计算频率
  22. fenci1<-sort(fenci1,decreasing = T)#排序
  23. d<-data.frame(fenci1)#构建数据框
  24. write.csv(d,file.choose())#储存词频文件


  25. # 做词云图
  26. install.packages("RColorBrewer")  #wordcloud依赖的包
  27. library(RColorBrewer)
  28. install.packages("wordcloud")
  29. library(wordcloud)
  30. par(bg="lightyellow")
  31. wordcloud(d$fenci,d$Freq,scale = c(6,0.5),
  32.     colors=c('red','blue','green','yellow','purple'),
  33.     min.freq=5,max.words = 100,random.color = T,
  34.     random.order = T,ordered.colors = F)
复制代码
注:1、所用的文档见: 18 da.txt (12.03 KB)
                        2、rJava、Rwordseg包的安装见https://bbs.pinggu.org/thread-4930045-1-1.html
                       3、其中使用的函数,如file.choose(),gsub(),unlist(),lapply()等,我会在下一个帖子中进行讲解,大家权当做会就可以了,哈哈。
词云图: QQ截图20161110163648.png

完美的分割线


下面是用wordcloud2包做的词云图:
  1. #wordcloud的升级版wordcloud2来做词云图
  2. install.packages("jsonlite")
  3. devtools::install_github("lchiffon/wordcloud2")#安装wordcloud2,使用install.packages("wordcloud2")会出现错误,因而用这两行代码
  4. library(wordcloud2)
  5. wordcloud2(d,size = 2,color = "random-light", backgroundColor = "grey")
  6. wordcloud2(d,size = 2,color = "random-light",shape='star', backgroundColor = "grey")#两种图形,一个圆形,一个五角星
  7. letterCloud(d,size = 1,word="畅",backgroundColor = "grey")#注意C是大写,word="畅"是指图形是这个汉字
复制代码
上图: QQ截图20161110165330.png
QQ截图20161110165356.png
QQ截图20161110165423.png
注:图上底角出现的数字是该词的频率,是不是比wordcloud做出来的效果好多了,而且还能做出有个性的图


ok,这贴到此结束,后续自己还会坚持写的。










二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:文本挖掘 Dictionary install Library cloud 六中全会 library 天都 而且

本帖被以下文库推荐

沙发
食梦 发表于 2017-1-14 10:31:13
楼主,请问一下letterCloud这个包怎么下载,我是R3.2.2的版本,下载不了

藤椅
569932445 发表于 2017-5-15 15:07:27
请问下   十八大报告节选.scel这个是哪里来的

板凳
569932445 发表于 2017-5-15 15:24:22
可以提供下十八大报告节选.scel 这个下载吗  我学习下

报纸
伪数据分析师 发表于 2017-5-20 09:28:10
你可以在这里下载。https://cran.r-project.org/web/packages/available_packages_by_name.html

地板
伪数据分析师 发表于 2017-5-20 09:29:50
569932445 发表于 2017-5-15 15:07
请问下   十八大报告节选.scel这个是哪里来的
在搜狗词典里

7
伪数据分析师 发表于 2017-5-20 09:32:02
569932445 发表于 2017-5-15 15:24
可以提供下十八大报告节选.scel 这个下载吗  我学习下
http://pinyin.sogou.com/dict/

8
伪数据分析师 发表于 2017-5-20 09:40:33
食梦 发表于 2017-1-14 10:31
楼主,请问一下letterCloud这个包怎么下载,我是R3.2.2的版本,下载不了
你可以在这里下载https://cran.r-project.org/web/packages/available_packages_by_name.html

9
lonestone 在职认证  发表于 2017-5-21 08:12:24 来自手机
伪数据分析师 发表于 2016-11-10 16:58
曾经打算着,每天都要发一贴,但是昨天没有发,这两天都在学习文本分析,但是昨天学的不到位,所以没有发, ...
谢谢你

10
qchwy22 发表于 2017-7-2 17:09:11
不错啊 支持一下!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 02:43