京东20W条数据统计清洗分析
.
Readme:
- 针对京东商城20W条美的热水器评论数据进行统计清洗分析。
- 分析出所有正面评论和负面评论。
- 分词统计热词出现频率。
- 分析出销售问题所在。
开发环境:
本项目的文本情感分析使用的是基于情感字典的文本情感分析。
为了能够正确标注一段中文文本的情感。需要如下几个情感字典:
①停用词字典:用于过滤掉一段文本中的噪声词组。
②情感词字典:用于得到一段文本中带有情感色彩的词组及其评分。
③程度副词字典:代表情感词的强烈程度,相当于情感词的权重。
④否定词字典:用于判断其后情感词的意思究竟是好(正极性)还是坏(负极性),若情感词前有否定词,则情感得分-1。
情感字典以及评分通常由手工标注完成,而标注是一项费时又费力的活,因此这四个字典都是由网络搜集而来。
项目文本名称对应内容:{Huizong.csv :“所有评论信息”, meidj_jd.txt:“提取后的评论”,
meidi_jd_process_1.txt:“去重后的评论信息”, meidi_jd_neg.txt:“负面评论信息”, meidi_jd_pos.txt :“”正面评论信息”,stop_list:“停用词表”}
数据采集:
首先要进行数据采集
由于京东商品评论信息是由JS动态加载的。
直接抓取商品详情页的URL并不能获得商品评论的信息。
因此我需要先找到存放商品评论信息的文件。
这里我使用Chrome浏览器里的开发者工具进行查找。
捕获到的接口为:
2019年5月13日,更新了,需要加上referer。
headers = {'Referer': 'https://item.jd.com/2705974.html'}
发现根据更改page的值可以选择对应评论页。
先测试下:
请求一页并提取对应评论信息:
通过requests来测试,发现获取到的content内容:
开头为:‘fetchJSON_comment98vv1204’,结尾为: ’ ); ’
发现content内容不是完整的json格式,所以要把doc的前面25位和后两位去掉;
即:doc_true = json.loads(doc[26:-2])
然后循环提取comment 即可得到评论内容;把提取到的数据保存到mongodb中。
首先在mongodb中使用去重语句aggregate 来进行集合内去重。
再通过图形界面Navicat来操作Mongodb数据库,进行数据导出。
保存为csv后,使用pandas提取评论,并保存为meidi_jd.txt;
此时已经提取出了名为meidi_jd.txt的评论文件。
接下来要开始数据清洗工作,先进行数据去重。
我使用了pandas中的unique方法来进行去重,并保存为meidi_jd_process_1.txt;
可发现,经过unique去重后数据减少了6371条。
数据分词:
ROSTCM6是武汉大学沈阳教授研发编码的国内目前唯一的以辅助人文社会科学研究的大型免费社会计算平台。该软件可以实现微博分析、聊天分析、全网分析、网站分析、浏览分析、分词、词频统计、英文词频统计、流量分析、聚类分析等一系列文本分析。
通过ROSTCM6工具来提取出正面与负面评价(待分析的文件编码必须是ANSI)。
例:data=pd.read_csv(…) data.to_csv(r’xixi.txt’, encoding=‘ANSI’)
正面情感词:
负面情感词:
去除标签:
然后使用结巴分词进行简单分词。
先进行参数初始化,然后通过jieba.cut进行自定义分词函数;
通过“广播”形式分词,加快速度然后保存结果;
通过wordcloud库,生成简单词云图来查看正面情感。
查看负面情感词:
主题模型:
根据上面的简易词云图,并不能有效的分析出销售问题所在。
所以我开始对分词之后的文档建立主题模型。
LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。
所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。
文档到主题服从多项式分布,主题到词服从多项式分布。
结果分析:
输出负面主题后:
通过上述分析可以看出在被判定为负面评论的关键词中,‘安装’的系数是最大的,其次主要就是‘商品本身’,可见在热水器销售的过程中,对用户评论有关键影响的主要是商品的安装服务和商品的质量,另外可以看出,‘客服’、‘物流’也是比较重要的;
输出正面主题后:
‘好’、‘不错’等类似的关键词反应了顾客对应商品还是比较满意的,另外师傅’、‘安装’
的系数还是比较大的,另外‘及时’、‘很快’也一定程度上反应了物流的快慢对于用户好的购物体验的影响。
我将输出出来的两种主题信息保存在到result_id.txt中。
提取相同的数据然后把对应的数进行相加,再使用matplotlib绘制出散点图
根据结果总体分析来看商品的售后安装和商品的质量是顾客最为关键的考察点。
虽然本例中情感分析、分词的准确率并不能百分百的正确预测,但也在一定程度上反应了具体由哪些因素主导了用户的购物体验及评论的好坏。
github完整链接: https://github.com/lixi5338619/jingdong_comment
京东20W条数据统计清洗分析相关推荐
- python画哪吒_用Python爬取暑期档大火的《哪吒》,20W+评论数据,我们分析一波...
原标题:用Python爬取暑期档大火的<哪吒>,20W+评论数据,我们分析一波 说起这个暑期档的动画片,非<哪吒之魔童降世>莫属了! 上映第 1 天:89分钟,中国动画最快破 ...
- 2021年全国大学生数据统计与分析竞赛赛题B—基于机器学习的用户消费行为预测(上)
2021年全国大学生数据统计与分析竞赛赛题B-基于机器学习的用户消费行为预测(上) 一.赛题B:用户消费行为价值分析 二.基于机器学习的用户消费行为预测 1.数据简介及清洗 (一)数据简介 (二)数据 ...
- 移动数据统计平台分析
数据统计对于各位移动开发的童鞋并不陌生,小到Bug统计,大到数据分析,一款性能稳定.用户体验良好的APP一定离不开数据统计的支持,为此我将给大家科普一下常用的六大数据统计平台. 统计平台列表表,外加体 ...
- 数据统计与分析基础实验三:常规数学统计计算(R语言,还没写完)
数据统计与分析基础实验三:常规数学统计计算 1.随机生成一个10x15的高斯矩阵,均值为自己学号后两位,方差为1.对该矩阵分别进行LU.QR.奇异值,并展示分解结果. LU QR 奇异值 2.利用软件 ...
- web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数据管理平台
作品介绍:原型内容包含:web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数 ...
- 用Excel完成专业化数据统计、分析工作
使用Excel可以完成很多专业软件才能完成的数据统计.分析工作,比如:直方图.相关系数.协方差.各种概率分布.抽样与动态模拟.总体均值判断,均值推断.线性.非线性回归.多元回归分析.时间序列等.本专题 ...
- 2021年全国大学生数据统计与分析竞赛-B题分析
2021年全国大学生数据统计与分析竞赛的B题代码精简版 模块加载 import numpy as np import matplotlib.pyplot as plt import pandas as ...
- 关于微信小程序进行数据统计以及分析问题
一款项目的发布和使用,开发者均希望能够得知自己开发的项目人群反响如何.一般的项目都会通过自己定义的方式与数据库连接进行记录与统计.如今微信小程序的流行,小程序的使用情况的反馈也是必不可少的.故而,微信 ...
- Python用5000+条数据为你分析《我不是药神》登顶原因!(附代码)
来源:51CTO技术栈 作者:刘晓明 本文共1400字,建议阅读6分钟. 本文带你爬取豆瓣.猫眼.淘票票等网站上<我不是药神>的信息并用Python进行分析. <我不是药神>是 ...
最新文章
- 鸟哥的Linux私房菜(服务器)- 第二十章、WWW 伺服器
- 微信小程序使用template模板
- C#10 和 .NET6 代码跨平台开发
- 30岁前不要在乎的29件事(转载)
- 如何生成随机不重复的11位数字
- 子窗体 记录选择_如何设计一个简单的Access登录窗体(1)
- 深度技术win11 64位正版系统v2021.07
- matlab小波分析常用函数
- java单分支结构,java基础语法分支结构
- Linux中Redis的安装
- 【Java从0到架构师】Zookeeper 应用 - Java 客户端操作、服务器动态感知、分布式锁业务处理
- 干货分享 | 详解特征工程与推荐系统及其实践(附PPT)
- 973. 最接近原点的 K 个点
- CSS布局讲解-float浮动布局使用
- 雷军自述:我十年的程序员生涯
- mysql 导出 客户端_Mysql 数据库攻击面
- 【利用WPS功能破解密码】笔记
- Java设计模式——GoF设计模式
- android boss简历,BOSS简历模板
- python聊天程序程序代码_python聊天程序实例代码分享 -电脑资料