用R语言进行网站评论文本挖掘聚类

news/2024/5/14 3:43:57/文章来源:https://tecdat.blog.csdn.net/article/details/128088812

对于非结构化的网站中文评论信息,r的中文词频包可能是用来挖掘其潜在信息的好工具,要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。频率能反映词语在文本中的重要性,一般越重要的词语,在文本中出现的次数就会越多。词语提取后,还可以做成词云,让词语的频率属性可视化,更加直观清晰。  

 【视频】KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例

KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例

,时长06:05

相关视频:文本挖掘:主题模型(LDA)及R语言实现分析游记数据

文本挖掘:主题模型(LDA)及R语言实现分析游记数据

时长12:59


最近我们被客户要求撰写关于网站评论文本挖掘的研究报告,包括一些图形和统计输出。比如对于如下的网站评论信息:
通过一系列的文本处理和高频词汇的提取,最后结合聚类,我们可以得到如下的可视化结果。

第一类客户:

第二类

第三类

这是根据某网站成交评论制作的可视化词云,词频的统计,分词和词云的制作都是用R,最后做了聚类,将不同的用户聚成了3个类别。这个图能很直观看到,每个类别的客户的特点。不过这张图中的词语还需要进行优化,因为有些术语或词组可能被拆分成了更小的词语,没有展示出来,为了演示,我就没再花更多时间去优化词库,主要介绍分析的过程与方法。

                                                                                                    pinglun=readLines("E:\手机评论1.txt")write.table(pinglun,"E:\手机评论整理.txt")pinglun1=read.table("E:\\手机评论整理.txt",sep="|")# == 文本预处理  res=pinglun1[pinglun1!=" "];  #剔除通用标题  res=gsub(pattern="[專賣店【未拆封順豐】||]+"," ",res);   #剔除特殊词  res=gsub(pattern="[我|你|的|了|是]"," ",res);       #清理文本里的回车!否则每个回车就会被识别成一段文本res=gsub("\n","",res)###############library(r;  library(Rwordseg);  # == 分词+频数统计  words=unlist(lapply(X=res, FUN=segmentCN));  word=lapply(X=words, FUN=strsplit, " ");  v=table(unlist(word));    # 降序排序  v=rev(sort(v));   d=data.frame(word=names(v), freq=v);   # 过滤掉1个字和词频小于100的记录  d=subset(d, nchar(as.character(d$word))>1 & d$freq>=100)  # == 输出结果  write.table(d, file="E: \\worldcup_keyword.txt", row.names=FALSE)  #############绘制词汇图####################3library("wordcloud")mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:wordcloud(d[1:30,]$word,d[1:30,]$freq,random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont3")write.csv(d[1:30,], file="E:\\ 30个keyword.csv", row.names=FALSE)  ############kmeans聚类#######################res1=res[1:10000]#筛选500个样本做测试words=unlist(lapply(X=res1, FUN=segmentCN));  word=lapply(X=words, FUN=strsplit, " ");  v=table(unlist(word));    # 降序排序  v=rev(sort(v));   d=data.frame(word=names(v), freq=v);   # 过滤掉1个字和词频小于100的记录  d=subset(d, nchar(as.character(d$word))>1 & d$freq>=100)  #获得高频词汇rating=matrix(0,length(res1),dim(d)[1])#生成评价矩阵colnames(rating)=d[,1]#给矩阵列命名for(i in 1:length(res1)){words=unlist(lapply(X=res1[i], FUN=segmentCN));#对每一条记录分析获得词频  word=lapply(X=words, FUN=strsplit, " ");  v=table(unlist(word));    # 降序排序  v=rev(sort(v));   dd=data.frame(word=names(v), freq=v); index=intersect(dd[,1],colnames(rating))#找到每条记录中拥有的高频词汇if(length(index)==0)next;for(j in 1:length(index)){jj=which(dd[,1]==index[j])rating[i,colnames(rating)==index[j]]=dd[jj,2][[1]]#高频词汇的数量赋值到评价矩阵}  }write.table(rating, file="E:\\ 评价矩阵.txt", row.names=FALSE)  kmeans(rating,5)#对评价矩阵进行k均值聚类result=read.csv("E:\聚类结果.csv")colnames(result)=d[1:30,1]###分类别c1=result[result[,31]==1,]c2=result[result[,31]==2,]c3=result[result[,31]==3,]freq1=apply(c1,2,sum)[-31]freq2=apply(c2,2,sum)[-31]freq3=apply(c3,2,sum)[-31]library("wordcloud")mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:wordcloud(colnames(result)[-17],freq1[-17],random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont3")wordcloud(colnames(result)[-17],freq2[-17],random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont3")wordcloud(colnames(result)[-17],freq3[-17],random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont3")######算法比较y=rbind(matrix(rnorm(10000,mean=2,sd=0.3),ncol=10),matrix(rnorm(10000,mean=1,sd=0.7),ncol=10))#生成两类随机数合并colnames(y)=c(paste("y",1:10))#变量名#Kmeans算法聚类cl=kmeans(y,2)pch1=rep("1",1000)#类标号pch2=rep("2",1000)plot(y,col=cl$cluster,pch=c(rep("1",1000),rep("2",1000)),main="kmeans算法聚类图")#每个类样本points(cl$centers,col=3,pch="*",cex=3)#每个类中心

最后可以得到直观的用户的聚类特征从而进一步进行研究。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_732470.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oa办公系统含手机版源码_贵阳投资控股集团召开OA协同办公系统(含网站)建设项目启动大会...

为提高集团公司办公信息资源的利用效率&#xff0c;2020年1月7日&#xff0c;贵阳投资控股集团召开OA协同办公系统(含网站)建设项目启动大会。集团党委委员、副总经理付洪伟出席会议并讲话&#xff0c;信息科技部部长周康主持会议&#xff0c;上海泛微网络科技股份有限公司贵州…

scrapy爬虫框架和selenium的使用:对优惠券推荐网站数据LDA文本挖掘

介绍 最近我们被客户要求撰写关于爬虫的研究报告&#xff0c;包括一些图形和统计输出。 每个人都喜欢省钱。我们都试图充分利用我们的资金&#xff0c;有时候这是最简单的事情&#xff0c;可以造成最大的不同。长期以来&#xff0c;优惠券一直被带到超市拿到折扣&#xff0c;…

7个设计师必备的国际顶尖设计网站

成为dA&#xff08;deviantart&#xff09;的忠实用户有很多理由——dA是最大的艺术社区&#xff1b;成为dA用户简直是设计新手的必经之路。但是&#xff0c;这些都不妨碍你加入其他专业的网站来展现你的才华。 创立于12年前的dA现在拥有最多的艺术爱好者受众。然而&#xff0c…

追踪服务器的网站,网站Tracert路由追踪|在线Tracert工具—卡卡网 www.webkaka.com

Tracert是一个dos下的网络命令&#xff0c;主要作用是对路由进行跟踪。它是一个简单的网络诊断工具&#xff0c;可以列出分组经过的路由节点&#xff0c;以及它在IP 网络中每一跳的延迟。(这里的延迟是指&#xff1a;分组从信息源发送到目的地所需的时间&#xff0c;延迟也分为…

大型分布式网站架构技术总结

出处&#xff1a;ITFLY8 网址&#xff1a;http://www.cnblogs.com/itfly8/p/4967966.html 本文是学习大型分布式网站架构的技术总结。对架构一个高性能&#xff0c;高可用&#xff0c;可伸缩&#xff0c;可扩展的分布式网站进行了概要性描述&#xff0c;并给出一个架构参考。一…

Apache+php+mysq配置本地多个虚拟网站

首先我下载的是wampserver 64位&#xff0c; 按照自己的电脑系统下载 一般就分两种 &#xff0c;1 32为操作系统&#xff0c; 2 64为操作系统。 下面是软件图 文件64位&#xff1b; 安装教程就不写了。 下一步下一步就行 下面改到了配置了 首先第一步、 这里的 gao.com 就…

一个程序员单枪匹马,靠一个网站一年赚1个亿

是什么 网站叫BuiltWith.com&#xff0c;通过它可以查看其他网站使用了什么技术&#xff0c;什么编程语言、服务器及广告系统 可以客户生成、销售情报和市场分析提供的许多服务的用户使用&#xff0c;潜在客户列表的客户等&#xff0c;帮助企业赚钱、发现潜在客户。 这个网站仅…

Caddy实战(一)| 托管你的网站,只需一行命令

点击上方蓝色“飞雪无情”关注我&#xff0c;设个星标&#xff0c;第一时间看文章继续在Github猎奇&#xff0c;又看到了caddy这个Web服务器&#xff0c;发现star已经33K了&#xff0c;而且最近上升的也比较快&#xff0c;所以打算研究下它。周末抽了点时间&#xff0c;看了下c…

django实战仿慕课网在线视频网站(完成了85%以上的功能已上传github:https://github.com/huwei86/mxonline):...

1. 前台功能模块 基本模块&#xff1a;登录 注册 找回密码 / 全局搜索 / 个人中心&#xff0c; 课程功能&#xff1a;课程管理 / 讲师管理 / 授课机构管理 热门推荐 相关课程推荐 用户操作管理&#xff1a;用户收藏 / 课程评论2.后台管理系统课程管理模块&#xff1a;课程管理…

原创:LNMP架构部署个人博客网站 禁止转载复制

nginx编译安装步骤 ①. 检查软件安装的系统环境 cat /etc/redhat-release uname -r ②. 安装nginx的依赖包&#xff08;pcre-devel openssl-devel&#xff09;---假设不进行安装 yum install -y pcre-devel openssl-devel ③. 下载nginx软件---1.10.2 复制链接地址&#xff0…

setrequestproperty参数_「setrequestproperty」详解HttpURLConnection - seo实验室

setrequestproperty请求响应流程设置连接参数的方法setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUsecachessetDefaultAllowUserInteractionsetDefaultUseCaches设置请求头或响应头HTTP请求允许一个key带多个用逗号分开的values&#xff0c;但是HttpURLC…

maven依赖查询网站

https://mvnrepository.com/&#xff0c;是maven依赖查询网站。 比如&#xff0c;现在要查询docker-maven-plugin这个插件。 搜到 com.spotify docker-maven-plugin 点击版本号&#xff0c;可以知道如何在pom.xml中引入这个依赖 点击Central&#xff0c;可以知道该依赖所在中…

使用Python-Flask框架开发Web网站系列课程(一)构建项目

前言 使用IDE&#xff1a;PyCharm 操作系统: Mac Python版本&#xff1a;3.6 我的邮箱:51263921qq.com 交流群: 372430835 请注意&#xff0c;既然要学习开发&#xff0c;那么要注意以下几个问题。 1、开发语言版本不一样&#xff0c;尤其是Python&#xff0c;会导致同一段代码…

网站复制工具:HTTrack

HTTrack简介&#xff1a; HTTrack是Kali中内置的工具&#xff0c;主要用于克隆网站。渗透测试人员可以利用它来在自主可控制的环境中查看该网站的完整内容&#xff1a;所有离线文件。同时可以利用该网站的副本来开发假冒的钓鱼网站。【遵守法律法规】 &#xff08;1&#xff09…

企业建站“智能化”成小成本建站趋势

2019独角兽企业重金招聘Python工程师标准>>> 随着电子商务的不断走热&#xff0c;中小企业对网络营销越来越看重&#xff0c;于是企业建站成了众多企业间的热门话题。虽然大家对建设网站表现出了足够的热心&#xff0c;但是如何建设网站却成了中小企业的拦路虎。是请…

快速打造一个有设计感的网站

英文原文&#xff1a; How to Make Your Site Look Half-Decent in Half an Hour&#xff1b;编译&#xff1a;极客公园 注&#xff1a;拥有属于自己的网站是很多人的梦想&#xff0c;但大多数人只能借助像 WordPress 这样的 CMS 实现&#xff0c;甚至很多公司网站也是这样。但…

网站发布错误“遭遇战”

前两天试着把写好的《新闻发布系统》网站在本地发布了一下&#xff0c;遭遇了一系列错误&#xff0c;着实头疼了一回。 不知道网友们是不是也跟我一样&#xff0c;屡次遭遇“/”应用程序中的服务器错误&#xff0c;想抓狂&#xff0c;想把电脑从楼上扔下去。 不过还好&#xff…

替代微软IIS强大的HTTP网站服务器工具

方配网站服务器(FPWebServer) 是一款免费轻量级独立安装版的IIS服务器&#xff0c;兼具 IIS 的强大功能与轻型免费 Web 服务器的便利&#xff0c;可以使任何人快速搭建部署ASP、ASP.NET、PHP服务器运行环境。一健安装方式与简便的管理界面&#xff0c;可以让 Windows 上的 Web …

隐藏a标签seo_做SEO快速排名如何选好域名?挖掘优质老域名特征解读

大家都知道&#xff0c;做SEO使用有过建站历史的老域名&#xff0c;效果会比较快比较稳。老域名也有好有坏&#xff0c;好的域名带来效果&#xff0c;坏的域名没有效果&#xff0c;白白浪费成本和时间。如何选择一个对SEO有效果的老域名&#xff0c;桔子SEO在之前的几讲也讲过&…

java程序设计任务驱动实训教程上海交通大学出版社_新书推荐 | ASP.NET网站开发项目化教程(教学大纲)...

ASP.NET网站开发项目化教程(教学大纲)课程名称ASP.NET应用开发适用专业软件技术课程类型职业技术课程版本V.02学分/课时5 / 84先修课程数据库设计与实现、C#与WinForm高级程序设计、网页设计与制作、JavaScript客户端脚本编程01.课程概述(一)课程性质与作用《ASP.NET应用开发》…