R语言文本挖掘:kmeans聚类分析上海玛雅水公园景区五一假期评论词云可视化

科技   科技   2024-11-19 17:29   浙江  

全文链接:http://tecdat.cn/?p=32307


互联网时代,大量的新闻信息、网络交互、舆情信息以文本形式存储在数据库中,如何利用数据分析和文本挖掘的算法,将海量文本的价值挖掘出来,成为我们团队近期的一个研究方向,本案例就是我们的一个尝试点击文末“阅读原文”获取完整代码数据

相关视频


文本聚类其实也就是聚类分析在文本方向上的应用,首先我们要把一个个文档的自然语言转换成数学信息,这样形成高维空间点之后再去计算点与点之间的距离,然后将这些距离比较近的聚成一个簇,这些簇的中心成为簇心。而我们做的就是保证簇内点的距离足够近,簇与簇的距离足够远。

本文将通过R语言帮助客户来实现文本挖掘、聚类和词云可视化技术,体验一下舆情分析的魅力。

原始评论数据

本文获取上海玛雅水公园景区评论数据共计1692条数据:

读取数据


pinglun=read.xlsx("玛雅景区数据5.8.xlsx")

文本预处理

res=pinglun1[pinglun1!=" "];  
#剔除通用标题
# res=gsub(pattern="[專賣店【未拆封順豐】|<b>|</b>]+"," ",res);
#剔除特殊词
res=gsub(pattern="[我|你|的|了|是]"," ",res);
#清理文本里的回车!否则每个回车就会被识别成一段文本
res=gsub("\n","",res)

分词+频数统计

words=unlist(lapply(X=res, FUN=segmentCN));

过滤掉1个字和词频小于100的记录

d=subset(d, nchar(as.character(d$word))>1 & d$freq>=100)

输出关键词结果

 write.table(d, file="/worldcup_keyword.txt", row.names=FALSE)

绘制词汇图

wordcloud(d$word,d$freq,random.order=FALS


点击标题查阅往期内容


自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据


左右滑动查看更多


01

02

03

04



kmeans聚类部分

转换成评价矩阵


rating=matrix(0,length(res1),dim(d)[1])#生成评价矩阵

for(i in 1:length(res1)){
words=unlist(lapply(X=res1[i], FUN=segmentCN));#对每一条记录分析获得词频
#输出评价矩阵###############################
write.table(rating, file="评价矩阵.txt", row.names=FALSE)

对评价矩阵进行k均值聚类

kmeans(rating,5)#对评价矩阵进行k均值聚类

词云可视化

#第一个类别################################
mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:
wordcloud(colnames(result)[-c(115,116)],freq1[

第二个类别


wordcloud(colnames(result)[-c(115,116)],f

第三个类别


wordcloud(colnames(result)[-c(115,116)],freq3[-c(

1.被提及了哪些维度

第一个维度是指开心好玩,可以认为是景点的可玩性程度。第二个维度是 排队的关键词 另外包含时间,因此可以认为是景点的秩序问题。第三个维度是项目、 公园 、喇叭 、热带、 漂流等关键词,可以认为是景点的游玩项目维度。

2.各维度关注度如何(即被提及的频率)

#第一类的关注度 可玩性程度。
guanzhu1=length(which(result$kmeansmod.cluster==1))
#第二类的关注度 景点的秩序问题

guanzhu2=length(which(result$kmeansmod.cluster==4))
#第三类的关注度 游玩项目维度

guanzhu3=length(which(result$kmeansmod.cluster==3))

3.各维度的满意度指数

#第一类的满意度指数 可玩性程度。
manyi1=sum(na.omit(result$pinglun.星级.1.nrow.rating.. [which(result$kmeansmod.cluster==1)]))

#第二类的满意度指数 景点的秩序问题
manyi2=sum(result$pinglun.星级.1.nrow.rating.. [which(result$kmeansmod.cluster==4)])

#第三类的满意度指数 游玩项目维度
manyi3=sum(result$pinglun.星级.1.nrow.rating.. [which(result$kmeansmod.cluster==3)])

4.三张图:各维度关注度,各维度满意度,词云

colnames(manyi)=c("可玩性程度","景点的秩序问题","游玩项目维度")
barplot(manyi,ylab="满意度")





点击文末“阅读原文”

获取全文完整代码数据资料


本文选自《R语言文本挖掘:kmeans聚类分析上海玛雅水公园景区五一假期评论词云可视化》。




点击标题查阅往期内容

【视频】文本挖掘:主题模型(LDA)及R语言实现分析游记数据
NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据
Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集
自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
R语言对NASA元数据进行文本挖掘的主题建模分析
R语言文本挖掘、情感分析和可视化哈利波特小说文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
用于NLP的Python:使用Keras进行深度学习文本生成
长短期记忆网络LSTM在时间序列预测和文本分类中的应用
用Rapidminer做文本挖掘的应用:情感分析
R语言文本挖掘tf-idf,主题建模,情感分析,n-gram建模研究
R语言对推特twitter数据进行文本情感分析
Python使用神经网络进行简单文本分类
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
R语言文本挖掘使用tf-idf分析NASA元数据的关键字
R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据
Python使用神经网络进行简单文本分类
R语言自然语言处理(NLP):情感分析新闻文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
R语言对推特twitter数据进行文本情感分析
R语言中的LDA模型:对文本数据进行主题模型topic modeling分析
R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)
R语言对NASA元数据进行文本挖掘的主题建模分析
R语言文本挖掘、情感分析和可视化哈利波特小说文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
用于NLP的Python:使用Keras进行深度学习文本生成
长短期记忆网络LSTM在时间序列预测和文本分类中的应用
用Rapidminer做文本挖掘的应用:情感分析
R语言文本挖掘tf-idf,主题建模,情感分析,n-gram建模研究
R语言对推特twitter数据进行文本情感分析
Python使用神经网络进行简单文本分类
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
R语言文本挖掘使用tf-idf分析NASA元数据的关键字
R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据
Python使用神经网络进行简单文本分类
R语言自然语言处理(NLP):情感分析新闻文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
R语言对推特twitter数据进行文本情感分析
R语言中的LDA模型:对文本数据进行主题模型topic modeling分析
R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)


拓端数据部落
拓端(tecdat.cn)创立于2016年,提供专业的数据分析与挖掘服务,致力于充分挖掘数据价值。
 最新文章