数据分享|R语言豆瓣数据文本挖掘 神经网络、词云可视化和交叉验证

简介: 数据分享|R语言豆瓣数据文本挖掘 神经网络、词云可视化和交叉验证

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


在网络技术高速发展的背景下,信息纷乱繁杂,如何能够获得需要的文本信息,成了许多企业或组织关注的问题点击文末“阅读原文”获取完整代码数据


该项目以采集的豆瓣电影评论数据查看文末了解数据免费获取方式为例,使用R语言和神经网络算法,对文本挖掘进行全流程的分析,包括对其特征及其子集进行提取,并对文本进行词云可视化和分类处理,同时采用交叉验证方法对模型进行调整,从而预测有关评论的类型,并将其作为电影推荐的一个标准。


电影评论数据



查看数据


head(pinglun1)


文本预处理


#剔除通用标题   
res=(pattern="NIKEiD"," ",res);    
res=(pattern="http://t.cn/"," ",res);  
res=(pattern="com"," ",res);


中文分词技术


不同于英文每一个单词具有明确的划分标准,中国的汉字博大精深、历史悠久。一个词语或者一句话在不同的语境里有多种切分方式,并且随着网络用词的不断更新,许多具有现时意义的词语并不能为计算机所识别。

keyword=(X=res, FUN=segmentCN)


绘制词汇图


词云不仅能够形象的将文本的主要内容进行呈现,清晰明了地展示出在一个测试集里面最为重要的关键词,同时也可以检验停用词的处理环节是否完善,因为如果不完善,词云中会不可避免地出现一些无意义的单个词。

mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:
wordcloud(d$word,d$freq,random.order=FALSE,random.color=FALSE,colors=

点击标题查阅往期内容


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


01

02

03

04


unique(words)
##    [1] "通过"             "亲"               "父"               
##    [4] "养父"             "岳父"             "人物"             
##    [7] "关系"             "构"               "写"               
##   [10] "一部"             "编"               "有"


转换成词频矩阵


由于计算机比较擅于处理电子表格、数据库这样的结构化数据,但是文本是人类的语言,所以将非结构化的文本转变成结构化的数据是非常必要的。

for(i in  1:nrow(cldata)){  
  for(j in  unique(d$word) ){  
    if(j %in%  unlist(key
    
    
##        故事 电影 一个 喜欢 父亲 童话 因为 这个 一部 时候 没有 知道 生活  
##   [1,]    0    0    0    0    0    0    0    0    1    0    0    0    0  
##   [2,]    0    0    0    0    0    0    0    0    0    0    0    0    0  
## [594,]    0  
## [595,]    0  
## [596,]    0  
## [597,]    0  
## [598,]    0  
## [599,]    0  
## [600,]    0


神经网络


nn <-  (c(label$V1)[samp]~cldata[samp,],size=10,decay=0.01,maxit=1000,l


预测分类结果


yy <- round(predict(nn, cldata))


分类混淆矩阵


table(yy,label[1:500,])


十折交叉验证


利用for循环,将参数依次赋值并对每一个结果求平均值。

k=10  
for(kk in 1:k){  
  index=sample(1:length(data),floor(length(data)*(1/k)),replace=F)#得到测试样本样本号  
  test=as.data.frame(cldata[index,])#提取测试集  
  train=as.data.frame(cldata[-index,])#提取训练集

结论


本次项目是基于豆瓣电影评论对文本挖掘的整个流程进行阐释,对文本进行了分词、文本向量化等一系列操作。项目还需要进一步地完善。首先因文本挖掘的技术手段不如数据挖掘成熟,其次就是在不同的项目中适用的方法和模型也是不同的,比如当改变算法或者参数的时候,会导致准确率发生变化,所以在处理这个项目的时候,需要注意的是,对于运用哪种方法和建立哪种模型必须进行充分的思考和实验,从而得出比较科学的支撑依据。

当然就本项目来说,也存在和其他文本挖掘项目相同的问题——分词库和停用词库不完善,所以文本挖掘这一领域仍需要大量的探索和实践,未来的研究中应该更加关注数据本身的质量和真实性并完善词典的构建。通过这个项目可以看出文本挖掘在网络评价分析方面发挥了很重要的作用,目前有很多组织或企业通过文本挖掘来提取相关产品的客户反馈,并提高自身的产品质量和服务水平。尽管这种方式还没有很完善,但是当其得到更加广泛的推广后,其中包含的技术也一定会越来越完善。相信当这种方式走向成熟时,其会广泛地应用于更多的领域,例如商品贸易、新闻出版、医疗和教育等等,那么我们的生活也会获得更多的便利。

参考文献:

[1] 张公让,鲍超,王晓玉,等.基于评论数据的文本语义挖掘与情感分析 [J].情报科学,2021,39(5):53-61.

[2] 王继成,潘金贵,张福炎.Web文本挖掘技术研究 [J].计算机研究与发展,2000(5):513-520.

相关文章
|
5天前
|
Java Linux API
统计android设备的网络数据使用量
统计android设备的网络数据使用量
14 0
|
2天前
|
Windows
LabVIEW通过网络传输数据
LabVIEW通过网络传输数据
|
4天前
|
安全 算法 网络安全
网络安全与信息安全:保护您的数据和隐私
【5月更文挑战第8天】随着互联网的普及和技术的快速发展,网络安全和信息安全已经成为我们日常生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助您更好地保护自己的数据和隐私。
|
5天前
|
安全 网络协议 网络安全
网络安全与信息安全:保护你的数据,确保你的安全
【5月更文挑战第7天】在数字化的世界中,网络安全和信息安全是至关重要的。本文将深入探讨网络安全漏洞、加密技术以及安全意识等方面,帮助读者了解如何保护自己的数据和确保自己的网络安全。
|
6天前
|
机器学习/深度学习 数据可视化 算法
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
|
6天前
|
机器学习/深度学习 监控 数据可视化
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6天前
|
机器学习/深度学习 数据可视化 算法
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例1
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
1天前
|
网络协议 Linux 网络架构
|
4天前
|
域名解析 网络协议 Linux
linux网络配置详解
linux网络配置详解
13 0
|
5天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
11 0