标签:
整理笔记时,某人在看老九门,so 选它作例子。分析文本内容基本的步骤:提取文本中的词语 -> 统计词语频率 -> 词频属性可视化。词频:能反映词语在文本中的重要性,一般越重要的词语,在文本中出现的次数就会越多。词云:让词语的频率属性可视化,更加直观清晰。文本下载地址(http://www.yuandn.com/booktxt/59797/#download 效果图是将12章后面内容删除后结果)
目录:
效果示例图:
分词包介绍及安装:
词云包介绍安装:
分词统计:
> library(rJava) > library(Rwordseg) > > str <- c("齐铁嘴趴着车窗,张大佛爷来到长沙火车站外面,二月红看热闹") > segmentCN(str) [1] "齐" "铁" "嘴" "趴" "着" "车窗" "张大" "佛爷" "来到" "长沙" "火车站" [12] "外面" "二月红" "看热闹" > > #加载文件的方式增加词典未验证通过 > installDict("d:\\dict.txt","mydict",dicttype = "text") Error in installDict("d:\\dict.txt", "mydict", dicttype = "text") : Wrong path of the dic file! > segmentCN(str) [1] "齐" "铁" "嘴" "趴" "着" "车窗" "张大" "佛爷" "来到" "长沙" "火车站" [12] "外面" "二月红" "看热闹" > > #显示当前手动添加的词库 > listDict() [1] Name Type Des Path <0 行> (或0-长度的row.names) > > #删除自定义词库 > uninstallDict(removedict=‘mydict‘) > > #参数isNameRecognition 可用来人的名字识别,默认为false > #查看函数 getOption("isNameRecognition") > segment.options(isNameRecognition = TRUE) > segmentCN(str) [1] "齐铁嘴" "趴" "着" "车窗" "张大" "佛爷" "来到" "长沙" "火车站" "外面" "二月红" [12] "看热闹" > > #自定义词典,让某词组放入内存 > insertWords(c("张大佛爷","二月红")) > segmentCN(str) [1] "齐铁嘴" "趴" "着" "车窗" "张大佛爷" "来到" "长沙" "火车站" "外面" [10] "二月红" "看热闹" > > #删除词典 > deleteWords(c("张大佛爷","二月红"))
#加载分词工具包 library(rJava) library(Rwordseg) #自定义分词,启用名字识别 segment.options(isNameRecognition = TRUE) insertWords(c("佛爷","张启山","二爷","二月红","八爷","九爷")) #参数returnType表示返回的分词格式是按空格间隔的格式 #执行完成后,会自动在相同目录生成一个"待分析文件名. .segment.txt"的文本文件 text=segmentCN("d:\\9th.txt",returnType = "tm") #读入分词文件,它是一个长字符 text1=readLines("d:\\9th.segment.txt",encoding = "UTF-8") #word是一个长list #正则表达式:\\s表示 空格,回车,换行等空白符 #word1 向量 word = lapply(X = text1, FUN = strsplit, "\\s") word1=unlist(word) #统计词频 df=table(word1) df=sort(df,decreasing = T) #把词汇词频存入数据框 df1 = data.frame(word = names(df), freq = df) # 过滤掉1个字和词频小于10的记录 d <- subset(df1,nchar(as.character(df1$word)) >1 & df1$freq >= 10) # 输出结果,将结果保存为.rda文件 save(d,file = "d:\\9th.rda")
词云展现:
#加载包和清洗后的数据 library(wordcloud2) data <- load("d:\\9th.rda") #默认样式展视数据 wordcloud2(d,shape = "star") #个性化背景和颜色 wordcloud2(d, color = "random-light", backgroundColor = "grey") #自定义字符模式 letterCloud(d,word = "B", color = "random-light", backgroundColor = "black",wordSize = 0.3) #自定义图片模式 wordcloud2(d, figPath=‘d:\\ma.png‘)
代码中 d:\\ma.png 图片样式如下,你可选择不同图片绘出不同效果,下图是随便从网上截的,仅作演示用
标签:
原文地址:http://www.cnblogs.com/tgzhu/p/5783646.html