基于集成算法的在线购物平台消费者评价情感分析与研究

2024-06-01 10:36袁钰喜陈义安刘晓慧
现代信息科技 2024年4期

袁钰喜 陈义安 刘晓慧

收稿日期:2023-07-24

DOI:10.19850/j.cnki.2096-4706.2024.04.021

摘  要:文章对在线购物平台的消费者评价数据进行了情感分析和分类。通过使用Python实现自动化浏览器驱动和反爬虫技术,成功采集了某东购物平台的消费者评价信息。文章提出了一种改进的集成算法,将LSTM、BiGRU、BiLSTM作为分类器,分别采用Voting和Bagging方法进行集成。结果表明,与传统的贝叶斯和逻辑回归相比,LSTM+Bagging集成算法在准确率方面分别提高了5.9%和6%,而与LSTM+Voting集成算法相比,准确率提高了0.5个百分点。另外,LSTM+Bagging模型在稳定性和鲁棒性方面表现优于LSTM+Voting算法。

关键词:LSTM模型;Voting;Bagging;电商购物

中图分类号:TP391.1  文献标识码:A  文章编号:2096-4706(2024)04-0101-05

Sentiment Analysis and Research on Consumer Evaluation of Online Shopping Platform Based on Integrated Algorithm

YUAN Yuxi1, CHEN Yian1,2, LIU Xiaohui1

(1.School of Mathematics and Statistics, Chongqing Technology and Business University, Chongqing  400067, China; 2.Chongqing Key Laboratory of Economic and Social Applied Statistics, Chongqing  400067, China)

Abstract: This paper performs sentiment analysis and classification on consumer evaluation data from online shopping platforms. By using Python to realize automatic browser driving and anti-crawler technology, it successfully collects consumer evaluation information of a certain shopping platform. This paper proposes an improved integration algorithm, which uses LSTM, BiGRU and BiLSTM as classifiers, and uses Voting and Bagging methods for integration respectively. The results show that compared with the traditional Bayesian and logistic regression, the LSTM+Bagging integration algorithm improves the accuracy by 5.9% and 6%, respectively, and compared with the LSTM+Voting integration algorithm, the accuracy increases by 0.5 percentage points. In addition, the LSTM+Bagging model outperforms the LSTM+Voting algorithm in terms of stability and robustness.

Keywords: LSTM model; Voting; Bagging; E-Commerce shopping

0  引  言

電商购物平台上的评价是消费者对商品、服务、商家等多个方面的详细描述,覆盖面广泛,内容丰富。这些评价可以为商家提供第一手的用户反馈,帮助商家深入了解消费者的需求与意见,及时发现评价中存在的问题,主动采取措施加以改进,提供更加贴近消费者需求的商品与服务,可以增强商家的竞争力。同时,这些评价也为其他消费者提供宝贵的信息,帮助他们更加精确地选择商品。所以,挖掘电商购平台的评价是一项具有重要意义的研究工作,可以为电商行业的发展和消费者的消费体验提供有力支持。

相较于传统的文本分类模型,深度学习在文本特征处理和模型构建上已有成熟的技术。例如,诸林云等采用BiLSTM方法实现了用户对酒店服务情绪倾向的分析,在输入层加入注意层突出重要信息,并使用BERT模型获得文本特征,实验证明此方法在中文情感分类上具有更高精度[1]。王佳慧提出利用CNN和BiLSTM提取文本局部与全局特征并融合,生成语义特征丰富的模型,可有效提高中文分类精度[2]。YU Shujuan等在短文本分类上提出双RNN并行架构,使用LSTM和GRU获取上下文,生成注意力矩阵,此方法具有收敛速度快、精度高的特点[3]。SUNG Yunsick用FastText在Microsoft恶意软件数据集上提取文本特征,相比one-hot编码方法,性能提高1.87%[4]。陈可嘉提出融合词级文本特征提取方法,构建情感词典获取特征词,多维特征向量表示文本特征,并转为词级与句级特征向量,此特征词向量与LSTM融合,最后的分类效果优于其他深度学习方法[5]。LI Weijiang提出SAMF-BiLSTM情感分类模型,使用自注意力和多通道特征增强情感信息,还利用目标词与情感词关系,使得分类正确性高于其他方法[6]。TAM Sakirin用Word2Vec提取Twitter文本特征,研究CNN和BiLSTM集成模型ConvBiLSTM,而在推文数据上表现效果极佳[7]。本文在借鉴前人的基础上使用Word2Vec方法提取文本特征,用LSTM的三种变体:LSTM、BiGRU、BiLSTM分别结合Voting和bagging集成算法进行比较,实验表明集成算法相比单一的深度学习算法在稳定性和正确性显著提高。

1  模型构建

1.1  三种LSTM变体

本节将分别介绍集成学习算法Voting+LSTM和Bagging+LSTM的三种记忆模型分类器,即LSTM、BiGRU和BiLSTM,这些模型专门用于文本数据的处理。通过结合三种算法的优势,可以像随机森林一样构建一种性能更好、准确率更高的模型,即Voting+LSTM和Bagging+LSTM,其中集成算法的LSTM都是指三种记忆模型分类器,在随机森林中称为弱分类器。下面将详细剖析这些模型的内部结构单元,揭示黑匣子的运转过程,并指出每一种弱分类器的优缺点。

1.1.1  LSTM模型结构

RNN循环神经网络是由若干个重复的神经网络模块构成的,在标准的RNN神经网络中每个神经网络模块是相互独立且有相同的结构被重复链接在一起。LSTM网络同循环神经网络一样具有相同的结构,但是相对传统的RNN架构而言,每个神经网络模块里面的内容大大增加了,增添了遗忘门、输入门、输出门能在进行误差反馈修正时不产生梯度消失或发散[8]。

1.1.2  BiGRU模型结构

在2014年提出门控循环单元(GRU)是针对LSTM的劣势而提出的,GRU不仅保证信息向量在传播的时候不会丢失,还相较于LSTM神经网络而言少了一个门函数,因此在参数方面得到了减少,有利于在计算过程中省略了不必要的计算资源[9]。

1.1.3  BiLSTM模型结构

BiLSTM是双向长短期记忆网络,同样也是一种序列处理模型。其结构是由两个LSTM组成:一个从前向后输入,另外一个从后向前输入[10]。

1.2  Bagging+LSTM和VotingLSTM的集成

Voting+LSTM和Bagging+LSTM都是集成学习的算法,它们的目的均是通过组合弱分类器来提高分类的正确率。两者的主要不同在于Voting+LSTM除了可以构建同质的分类器外,还可以选择异质的分类器。然后两种集成算法都是用多数投票的原则来汇总各个分类器的结果。最常见的Bagging+LSTM应用场景是组合决策树构成新的算法,也就是随机森林。这里分别介绍本文的创新点两种集成算法的理论知识。

1.2.1  Voting+LSTM投票法

本文后续的实验基于不同变体的LSTM模型预测类别的0-1间的值,也就是软投票方法。

(1)

其中, 表示第i个分类器将样本划分为Cj类,而取值为1或者0,这种方法进行投票称硬投票。如果 ,是对于后验概率P(Cj | x)的估计,被称为软投票,本文后续的实验就是基于不同变体的LSTM模型预测类别的0~1间的值,也就是软投票方法。

1.2.2  Bagging+LSTM集成

Bagging(Bootstrap Aggregating)+ LSTM是一种并行式的集成学习方法,旨在通过对给定的包含m个样本的数据集进行自助采样(Bootstrap Sampling),形成多个采样集,并在每个采样集上训练基学习器,最终通过集成这些基学习器的预测结果来提高模型的性能。Bagging+LSTM算法的核心思想类似于自助采样法,即从原始数据集中随机抽取样本,放入采样集中,并允许同一样本在采样集中出现多次(放回)。这样,每个样本都有被抽取到的概率,且概率相同,均为总样本数的分之一。这种采样方式能够引入随机性和多样性,使得不同的基学习器在不同的采样集上训练,从而增加了集成模型的泛化能力和鲁棒性。为了更清晰地说明本文的Bagging+LSTM算法的实现过程,以下给出伪代码过程:

输入:训练集

基础学习算法 ;

训练轮数T.

过程:

1: for t = 1,2,…,T do

2:

3: end for

输出: .

Voting+LSTM和Bagging+LSTM都是训练多个模型并且对其结果进行聚合的集成算法,用来提高模型的性能,也可以降低模型的方差,以避免过拟合。两者的区别在于生成的模型的方式和聚合结果上的方式。Voting+LSTM軟投票采用不同的算法或者是加权平均分,Bagging+LSTM使用自助采样,但两者在不同的领域各有优势。

1.3  评价指标

在机器学习中分类的评价指标是对模型性能优劣的一个定量指标。这里选取四种指标综合衡量模型的优劣,其指标分别为:精准率、召回率、准确率、F1值。

2  数据分析

2.1  爬取数据

本文使用Selenium和BeautifulSoup库从某东在线购物平台页面中爬取顾客购买蚊帐后的在线评论。其脚本收集了用户的姓名和评论日期、评论内容、情感等级等字段。在调用XPath表达式解析HTML网页内容时,将情感等级1~3星情感倾向设定为Negative,而4~5星的设置为Positive,这样做有利于样本情感的集中不至于分散。

2.2  数据清洗

在标注和情感检测爬取的数据时,发现评论中含有大量无意义的数字、与主题不相关或拼写错误的词汇,以及错误的情感态度。如一条评论中写道“组装方便,美观大方,老婆很喜欢”,但情感标签却被标注为“Negative”。对所有评论进行错误信息统计分析后,发现购买蚊帐商品用户评价错误样本共162条,包含全数字评论12条,无关或拼写错误文本39条,以及情感错误评论111条。为了优化数据可视化和分类算法性能,删除了错误样本,剩余样本数量为10 483条,数据有效性高达98.47%,数据采集和内容质量较可靠。经过低质量样本筛选和数据清洗,为集成学习的后续过程奠定了基础。

2.3  数据可视化

2.3.1  分词结果

表1是基于jieba分词的部分词频统计结果,用以呈现用户在线评论数据的主要关注点。根据数据,可以看出“蚊帐”是评论的主题词,用户评价主要集中在购买蚊帐后的使用体验上。此外,“质量”是出现频率较高的词汇,这表明用户对蚊帐的质量问题非常关注,可能会在购买前仔细考虑这一因素。另外,注意到,“不错”和“很好”等积极的词汇被频繁提到,这表明大多数用戶对蚊帐的评价比较正面。然而,一些用户可能会遇到一些问题或不满意,如“没有”和“不”以及“安装”等词汇所显示的,主要集中在蚊帐的安装方面。

表1  词频统计

分词结果 词频 分词结果 词频

蚊帐 2 570 京东 1 044

质量 2 315 蚊子 1 013

不错 1 841 很好 916

安装 1 288 没有 900

2.3.2  情感分析

经过前面的数据清洗工作,成功筛选出了一批精品样本数据,共计10 483条。其中,情感标签为Negative的样本有5 258条,而Positive的有5 225条,占比分别为50.16%和49.84%。可以看出,两类样本数量相当,不存在失衡的情况。

2.3.3  词向量矩阵

通过对用户评论数据进行分词并使用Word2Vec 进行训练,可以得到一个词向量矩阵。每个词都可以在50到300之间的维度上表示,这些词向量具有一些有趣的语言关系。例如,可以使用“北京”-“中国”+“美国”=“华盛顿”的关系来表达“美国”和“中国”之间的国家关系,并且“华盛顿”与“北京”则是各自国家的首都。这些词向量可以帮助我们更好地理解主题之间的联系性。在本实验中,使用了Gensim库中的Word2Vec算法来训练词嵌入模型。该模型使用了词向量的维度是100,最大距离为5,最小频率阈值为1,并使用4线程进行训练,迭代次数为1 000次。下面的表2就是训练得到的“蚊帐”“质量”“不错”“安装”相似的语义以及相似度。

表2  语义表

蚊帐 相似度 质量 相似度 不错 相似度 安装 相似度

质量 0.774 蚊帐 0.773 很好 0.846 蚊帐 0.654

安装 0.654 安装 0.615 喜欢 0.66 质量 0.615

没有 0.591 不错 0.511 好看 0.613 组装 0.615

支架 0.540 很好 0.509 方便 0.601 不错 0.528

不好 0.534 支架 0.489 挺好 0.594 很好 0.478

表2展示了关键字“蚊帐”与其他词之间的语义相似度,从中可以得知“蚊帐”与“质量”和“安装”最为相近。这说明用户在选购蚊帐时比较关注其质量和是否易于安装。“质量”一词与“不错”和“很好”高度相似,表明用户对蚊帐的质量给予肯定的评价。“不错”与“喜欢”“好看”和“挺好”也有较高相似度,显示“不错”表达的主要是正面情感。而“安装”与“组装”“不错”和“很好”也有一定语义相似性,与“蚊帐”“质量”和“不错”等词的语义也有较高重合度。使用词向量技术可以更好地理解文本数据,发现词与词之间的内在联系。这也为后续使用深度学习进行词向量嵌入打下了基础。

3  模型实证分析和结果

3.1  实验环境和模型参数

表3列出了不同模型的实验环境和对应的参数,以便比较它们的实验效果。使用的操作系统是Windows 10家庭中文版,实验环境是PyCharm 2021.3.3版本,解释器是Python 3.9。主要库的版本如下:Gensim为3.8.1,TensorFlow为2.2.0,tokenizers为0.13.3。贝叶斯和逻辑回归都使用了默认参数。针对两种集成算法(Voting+LSTM和Bagging+LSTM),使用了LSTM、BiGRU和BiLSTM三种弱分类器进行训练,其中Voting+LSTM算法每个弱分类器训练7轮,Bagging+LSTM算法每个弱分类器训练5轮,每次训练的批次都是16。LSTM的三种变体的参数设置如表3所示。

表3  实验环境

嵌层维数 神经单元 激活

函数 损失 训练轮数 训练批次 惩罚项 优化器

100 16 sigmoid binary_crossentropy 25 16 l2 adam

3.2  模型结果和分析

在这里,进行了三种变体的LSTM模型的损失值和正确率的比较,并探讨了它们作为弱分类器在两种集成算法中的应用。在所有的模型中,剔除了第一次产生的损失值和正确率,因为一方面这些值差异较大,另一方面模型也不太稳定。

通过图1可以观察到,经过10次迭代后,LSTM、BiLSTM和BiLSTM模型的损失值趋近于收敛状态,但在正确率方面没有明显的改善。值得注意的是,在收敛过程中,相较于其他两种变体,LSTM表现较弱,无论是在损失值还是在正确率上都存在一定的欠缺。而BiLSTM模型则展现出最佳的性能,表明在训练过程中可能具有更好的收敛性能和预测准确性。

在图2和图3中两种集成算法Voting+LSTM和Bagging+LSTM,损失值和正确率都低于LSTM模型。例如在Voting+LSTM中,最佳损失值为0.2,但在LSTM模型的第十二次迭代时就已经低于0.2。此外,Voting+LSTM模型的正确率在0.93~0.95之间,而LSTM模型在第十四次迭代时也在0.95左右,但在迭代二十几次时都是0.96左右,说明深度学习可能存在过拟合的可能性,即在训练集表现优秀,但在测试集上预测不太行。另外,需要说明的是,本文的Bagging+LSTM模型与LSTM模型在可视化展示时微不同,横坐标代表的是分类器,三种LSTM模型每种模型只训练了五次。

3.3  模型评估

经过对训练好的模型,包括贝叶斯、逻辑回归、LSTM、集成算法等,在测试集上进行评价,并选取了多个评价指标,如精确率、召回率、F1值和正确率进行综合分析。从表4可以看出,传统的机器学习方法存在不稳定性的问题,特别是贝叶斯和逻辑回归在类别为Positive的精确率以及Negative的召回率上存在较大的差异,差距高达十个百分点。此外,它们的正确率也没有达到较高水平。

相比之下,三种LSTM模型,包括LSTM、BiGRU和BiLSTM,在穩定性和正确率方面都取得了较传统机器学习方法显著的提升。此外,本文提出的两种将LSTM、BiGRU和BiLSTM作为弱分类器的集成算法Voting+LSTM和Bagging+LSTM,在F1值方面都取得了一个百分点的提升。尤其是Bagging+LSTM方法的集成模型在正确率方面表现最佳,同时稳定性也得到了显著改善。

表4  分类模型的对比

模型 类别 精确度 召回率 F1 正确率

贝叶斯 Negative 0.81 0.91 0.86 0.853

Positive 0.9 0.8 0.85

逻辑回归 Negative 0.8 0.92 0.86 0.852

Positive 0.91 0.78 0.84

LSTM Negative 0.88 0.93 0.91 0.905

Positive 0.93 0.88 0.9

BiGRU Negative 0.86 0.93 0.89 0.889

Positive 0.92 0.86 0.89

BiLSTM Negative 0.89 0.89 0.89 0.894

Positive 0.9 0.9 0.9

Voting+LSTM Negative 0.89 0.93 0.91 0.907

Positive 0.93 0.88 0.91

Bagging+LSTM Negative 0.91 0.91 0.91 0.912

Positive 0.92 0.91 0.91

4  结  论

本文在考察传统的机器学习时发现文本特征方面存在高维度,稀疏矩阵,且模型的泛发性、鲁棒性的能力存在不足。笔者在最近几年的热点研究方向复现词向量矩阵的方法结合不同变体的LSTM,发现模型的稳定性方面得到了一定的提升。同时利用词向量矩阵挖掘出主题词相关的同义语义的词,可以帮助我们做主题建模。当然本文的最大的创新点在于利用随机森林的思想,通过多颗决策树作为弱分类器集成强模型的思路,利用到了Voting和Bagging的集成,进一步的在变体LSTM基础上提升了正确率和稳健性,但集成算法的模型训练时间周期较长,也是实验上的缺点。在以后得实验中,将采取更大的训练集和测试集,另外语料库的质量上也要严格把关,同时模型的参数也要限制,防止模型的过拟合的情况。

参考文献:

[1] 诸林云,曲金帅,范菁,等.基于BERT-BiLSTM-Attention的文本情感分析 [J].云南民族大学学报:自然科学版,2023,32(4):520-527+540.

[2] 王佳慧.基于CNN与Bi-LSTM混合模型的中文文本分类方法 [J].软件导刊,2023,22(1):158-164.

[3] YU S J,LIU D L,ZHU W F,et al. Attention-based LSTM,GRU and CNN for short text classification [J].Journal of Intelligent & Fuzzy Systems,2020,39(1):333-340.

[4] SUNG Y,JANG S,JEONG Y S,et al. Malware classification algorithm using advanced Word2vec-based Bi-LSTM for ground control stations [J].Computer Communications,2020,153:342-348.

[5] 陈可嘉,柯永诚.融合多特征的在线评论情感分类 [J/OL].小型微型计算机系统,2023:1-9[2023-02-24].http://kns.cnki.net/kcms/detail/21.1106.TP.20230223.1407.014.html.

[6] LI W J,QI F,TANG M,et al. Bidirectional LSTM with self-attention mechanism and multi-channel features for sentiment classification [J].Neurocomputing,2020,387:63-77.

[7] TAM S,SAID R B,TANRI?VER ? ?. A convbilstm deep learning model-based approach for twitter sentiment classification [J].IEEE Access,2021,9:41283-41293.

[8] 施元昊,张健铭,徐正蓺,等.多运动模式下的累积误差修正行人航位推算算法 [J].计算机工程,2020,46(12):305-312.

[9] 马磊,黄伟,李克成,等. 基于Attention-LSTM的光伏超短期功率预测模型 [J].电测与仪表,2021,58(2):146-152.

[10] 袁程,熊青松,孔庆钊.钢筋混凝土剪力墙抗震滞回性能的多元时序深度神经网络预测 [J/OL].工程力学,2022:1-12(2022-10-27).http://kns.cnki.net/kcms/detail/11.2595.O3.20221026.1310.017.html.

作者简介:袁钰喜(1997—),男,汉族,重庆开州人,硕士研究生在读,研究方向:自然语言处理、数据挖掘;通讯作者:陈义安(1968—),男,汉族,四川达州人,教授,硕士,研究方向:经济统计、非线性分析理论及其在社会经济中的应用。