说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1. 项目背景
随着信息化社会的发展,互联网成为方便、快捷的信息获取渠道之一。在电子商务和社会网站中,大量非结构化的评论文本作为最直观的用户体验数据被保存下来。如何利用这些文字信息归纳出用户对某一事、物的观点态度成为自然语言(NLP)领域一项重要任务。
文本情感分析又称文本意见挖掘,是自然语言处理领域最优吸引力的研究方向之一。文本情感分析通过计算语言学知识量化处理得到一段文字的观点态度和情感倾向。
淘宝作为一个电子商务平台,越来越受欢迎,2020年天猫双十一营业额超过3000多亿。商家销售的商品更是不计其数,每个商品的评论更是非常之多,本项目就是针对商品的评论数据通过建立循环神经网络模型进行情感倾向的分析。
2. 数据采集
通过Python撰写爬虫程序,爬取天猫华为手机商品的评论数据。
爬取的数据集如下:
数据集:data_comment.xlsx
数据字段包括:nickname、ratedate、auctionSku、ratecontent
在实际应用中,根据自己的数据进行替换即可。
特征数据:评论文本
标签数据:情感倾向(好评(2)、中评(1)、差评(0))
作为演示,我只弄了75条特征、标签数据,所以最后模型评估的时候,测试集再100次训练下出现了过拟合。
爬虫代码详见:tianmao.py(此程序作为参考代码,因为网站结构在不断地变化,此参考代码爬取出来的数据可能存在重复,需要去重处理)
3.数据预处理
爬虫爬取下来的数据格式如下:
用户户没有意义,直接去掉;日期转换为以天为单位;auctionSku字段以分号进行分割拆分为网络类型、机身颜色、套餐类型、存储容量4个数据项,方便后续进行数据分析,清洗后的数据如下:
4.探索性数据分析
1)按月统计订单完成交易时间的订单个数:
通过上图可以看到,2021年8月份完成订单交易最多,其次是2021年6月份。
2)按机型类型进行统计分析:
上图可以看到,SA/NSA双模(5G)、亮黑色、套餐一、8+256GB最多。
3)按机身颜色进行统计分析:
从上图可以看出,亮黑色最受欢迎。
3)按存储容量进行统计分析:
从上图可以看出,大部分人都喜欢大容量的。
4)制作评论数据词云图
分词:
词频统计:
词云图:
5.特征工程
1)用Tokenizer给文本分词
评论句子已经被分解为单词
每个单词已经被分配一个唯一的词典索引
分词后输出的值是列表类型的数据:
2)通过直方图显示各条评论中单词个数的分布情况
上图中的评论长度分布情况表明多数评论的词数在5以内,所以我们只需要处理前5个词,就能够判定绝大多数评论的类型。如果这个数目太大,那么将来构造出的词嵌入张量就达不到密集矩阵的效果。
6.LSTM建模
1)建立LSTM分类模型,模型参数如下:
编号 |
参数 |
1 |
loss=' sparse_categorical_crossentropy ' |
2 |
optimizer='adam' |
3 |
metrics=['acc'] |
其它参数根据具体数据,具体设置。
2)神经网络概要
可以看到每层网络的类型、形状和参数。
一些其它的神经元图可以自行画。
3)训练过程展示
7.模型评估
1)损失和准确率图
通过上图可以看到,针对测试集 训练100次有些过拟合了,主要原因是总共我只做了75条数据,训练集数据太少。实际操作中,数据集是远远大于这个的。
其它一些评估方法,大家可以自行选择。
8.实际应用
在日常电子商务运营中,会出现新的评价数据,然后就可以运用此模型进行预测,准确定位客户对产品的评价,然后针对不同的客户要求来进行优化产品以及针对性营销。
# 本次机器学习项目实战所需的资料,项目资源如下: # 项目说明: # 获取方式一: # 项目实战合集导航: https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2 # 获取方式二: 链接:https://pan.baidu.com/s/1UKdu0-T7A1ksKmQxTfkOTg 提取码:blmd