新闻| 文章| 资讯| 行情| 企业| wap手机版| article文章| 首页|会员中心|保存桌面|手机浏览
普通会员

烟台市若烟科技有限公司

企业列表
新闻列表
  • 暂无新闻
推荐企业新闻
联系方式
  • 联系人:汪女士
首页 > 新闻中心 > 爱数课实验 | 第五期-基于机器学习方法的商品评论情感判定
新闻中心
爱数课实验 | 第五期-基于机器学习方法的商品评论情感判定
发布时间:2024-11-08        浏览次数:2        返回列表

爱数课:idatacourse.cn

爱数课实验 | 第五期-基于机器学习方法的商品评论情感判定

领域:消费

简介:商品评论可以帮助购买用户更加了解产品,做出更优的购买决策,也可以帮助商家获知商品的优缺点,获取消费者的喜好。本次实验我们将学习中文商品情感判定,通过构建高斯朴素贝叶斯模型和SVM模型和对商品评论进行分类。

数据:

./dataset/data.csv

./dataset/stopwords.txt

任何行业,用户对产品的评价都显得尤为重要。用户在电商平台上面发表的产品评价中包含着用户的偏好信息,所以通过用户评论,可以得到用户的情感倾向以及对产品属性的偏好。

互联网的发展极大提高了每个人的参与度,人们可以通过网络购物或点外卖。在购买商品时,也会着重考虑其他用户的评价。对于用户来说,参考评论能够更全面的去了解商品,做出更优的购买决策;对于商家来说,通过用户的评论可以获知商品优缺点,进一步改良产品;对购物平台而言,通过分析用户评论可以进一步利用智能推荐系统向用户推荐他们更喜欢的产品,以增加用户的黏性,挖掘一些潜在的利润。

下图为某电商平台上针对某款手机的评论:

某款手机的商品评论信息数据集,包含2个字段,共计8186个样本。数据集描述如下:

本实验所用数据集可在爱数科平台下载:http://idatascience.cn/dataset-detail?table_id=100936

使用库中的函数读取格式的数据集文件,结果会保存为一个Dataframe或Series对象,使用Dataframe或Series对象的方法查看前n行数据,默认为5。查看数据可以了解各个字段取值的具体情况,字段的名称等等,对数据有一个基础的了解。

使用方法查看数据集的行数及列数,了解数据集的大小。使用方法打印Dataframe对象的摘要,包括列的数据类型dtype、名称以及有无缺失值,占用的内存等信息。

(8186, 2)

数据集大小为8186行,2列。从数据集的基本信息可以看到列有缺失值,但缺失数量极少。在后续进行数据预处理时,需要考虑对缺失值进行删除。

在中文文本分析和情感分析的工作中,数据预处理的内容主要是分词,去除停用词。英文分词比较简单,见到空格和标点符号就说明是一个词汇,而中文分词就是将一句话拆分成一些词语,在Python中有专门的中文分词库库,使用库的函数对指定的文本内容进行分词。

(8185, 2)

首先,我们去除列文本中的标点符号、数字、字母。然后通过库,对文本进行中文分词。只有经过分词处理后的文本数据集才可以进行下一步的向量化操作,满足输入模型的条件。

为进行分词之后的数据集,可以看到每条评论已经进行了分词。

此步骤我们先读取停用词文件,查看前100个停用词。其次使用中的函数设置停用词。使用中的函数,提取句子中的关键词,显示好评、中评、差评中前30个关键词,可以帮助我们对各类评论有更好的理解,更直观的显示各类评论用户的情感倾向。

设置停用词之后,分别提取各类评论的关键词。

在本环节中,我们将通过Python中的绘图库Pyecharts,利用一系列可视化的手段,通过绘制柱状图的方式展示各类评论的取值分布,通过绘制词云图的方式展示好评、中评、差评的关键词。

从柱状图可以看出好评,共3042人,差评,共2657人,中评,共2486人。好评人数最多,中评人数最少。数据集中好评、中评、差评的人数相差并不大,取值分布较为均衡。

对好评中的关键词通过绘制词云图的方式进行展示,查看好评用户对商品的评价。

好评用户指出商品是正品、有赠品、很漂亮、手机运行流畅、快递速度较快等。总体来说好评用户感觉商品不错,对商品很满意,很喜欢。其中好评用户最常提到的是感觉商品不错和商品是正品。

总体来说中评用户对商品的评价有好有坏,觉得商品不错,但同时指出商品存在发热等问题。

差评用户对商品售后服务,以及退换货服务等感到不满意。同时也提到了充电等问题。

通过分析用户的评论,我们可以发现,对于网购来说,商品本身的质量是非常关键的,对于手机来说人们关注手机的发热问题、流畅性、以及充电问题等,但同时售后服务,快递速度等也是人们关心的重要问题。

经过分词之后的文本数据集要先进行向量化之后才能输入到分类模型中进行运算。算法是常用的文本向量化算法。

是的缩写,即“词频-逆文本频率”。它由两部分组成,和。是一种统计方法,用以评估一个词对于一个文件集或一个语料库中的一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

(分母加1,为了避免分母为0)

我们使用库中的实现文本向量化。

(8185, 2029)

使用模块的函数划分训练集和测试集。训练集:80%;测试集:20%。训练集用于训练模型,测试集用于评估模型性能。

从中导入类,使用类初始化一个模型对象,命名为,对调用方法,带入训练集X_train,y_train进行训练。

训练高斯朴素贝叶斯模型后,可以使用模型在测试集上作出预测。从中导入分类报告用于模型评估,可以通过分类报告查看模型对于各类别的分类精确率、召回率、f1-score等。

,全部预测为正类的样本中被预测正确的比例

,实际为正类的样本中被预测正确的比例

从分类报告来看,差评的精确率为0.67,召回率为0.48,中评的精确率为0.52,召回率为0.39。好评的精确率为0.62,召回率为0.90。模型最终的准确率为0.61。

从中导入类,使用类初始化一个模型对象,命名为,对调用方法,带入训练集,进行训练。

训练模型后,可以使用模型在测试集上作出预测。通过分类报告查看模型对于各类别的分类精确率、召回率、f1-score等。

从分类报告来看,差评的精确率为0.71,召回率为0.74,中评的精确率为0.62,召回率为0.57。好评的精确率为0.85,召回率为0.86。模型最终的准确率为0.74。从分类报告可以看出对于中评的分类效果较差。是由于人在评论时,除非有问题否则一般都会打好评,如果打了中评说明对产品有不满意之处,在情感的表达上就会趋向于负向情感,同时评论具有很大主观性,很多中评会将其归为差评,但数据集中却认为是中评。因此,将一条评论分类为好评、中评、差评是不够客观,中评与差评之间的边界很模糊,因此识别率较低。

通过将SVM模型与构建的高斯朴素贝叶斯模型分类结果比较,可以看出SVM在分类的精确率、召回率,以及模型的准确率上都优于高斯朴素贝叶斯模型。因此情感分析更推荐SVM模型。