数据分析之《菜鸟侦探挑战数据分析》-4-文本挖掘

本文介绍使用R语言对《红楼梦》进行文本挖掘的过程,包括分词、词频统计及绘制词云图。通过安装自定义词典提高分词准确性,并筛选高频词汇进行可视化展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、文本挖掘
GitHub上的MeCab-Chinese
中文的分词器工具-下载地址
https://github.com/panyang/MeCab-Chinese
参考这篇文章的工具:
http://blog.sina.com.cn/s/blog_54f07aba0101slum.html
这篇包装不上,参考下一篇
https://www.cnblogs.com/zzhzhao/p/5299876.html
http://blog.youkuaiyun.com/luoyexuge/article/details/49176105

library(rJava)
library(Rwordseg) 
library(RColorBrewer)
library(wordcloud2)
library(Rwordseg)
installDict("E:\\红楼梦群成员名字词库.scel","hongloumeng2")
installDict("E:\\红楼梦词汇.scel","hongloumeng3")
lecture<-read.csv("E:/《红楼梦》完整版.txt", stringsAsFactors=FALSE,header=FALSE)
class(lecture)
res=lecture[]
#分词+频数统计  
words=unlist(lapply(X=res, FUN=segmentCN))
#unlist将list类型的数据,转化为vector
#lapply()返回一个长度与X一致的列表,每个元素为FUN计算出的结果,且分别对应到X中的每个元素。
word=lapply(X=words, FUN=strsplit, " ") 
v=table(unlist(word))
#table统计数据的频数
# 降序排序  
v=rev(sort(v))
d=data.frame(word =names(v), freq = v)   #创建数据框
#过滤掉1个字和词频小于200的记录  
d =subset(d, nchar(as.character(d$word))>1 )  
d=subset(d, d$freq.Freq>=254) 
#输出结果
write.csv(d, file="E:/hongloumengfcresult.csv", row.names=FALSE)   
#画出标签云
mydata<-read.csv("E:/hongloumengfcresult.csv",head=TRUE)
mycolors <- brewer.pal(12,"Paired")
windowsFonts(myFont=windowsFon("锐字巅峰粗黑简1.0")) 
wordcloud(mydata$word,mydata$freq.Freq,random.order=FALSE,random.color=TRUE,colors=mycolors,family="myFont")

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值