2. 西安工程大学 计算机科学学院 陕西 西安 710048
2. School of Computer Science, Xi′an Polytechnic University, Xi′an 710048, China
用户在电商平台发表的评论往往带有买家对商品的购买体验和情感观点,具有篇幅简短、主题明确、情感浓厚的特点.同时,用户因购买相同商品并通过评论互动而聚合形成群体用户,这种群体用户对商品的评论互动具有很强的动态性,使得群体用户对商品的情感趋势随时间推移而发生变化.因此,高效地挖掘这些评论中潜在的情感观点,能够分析群体用户对商品的真实情感倾向,甚至预测下一时间段群体用户的情感变化趋势过程.对于商家而言,可以通过对群体用户购买商品后情感的持续追踪,及时发现商品的缺陷与不足,进而制订更精准的营销方案.情感分析,是人们对实体、事件及其属性的意见、评价和情绪的计算研究[1].为了有效挖掘和分析群体用户的情感变化趋势,需要利用情感分析技术,从群体用户的评论文本中获取情感观点等信息,将其转化为结构化数据.文本情感分析的研究方法有基于机器学习的方法、基于情感词典的计算方法和两者相结合的研究方法.文献[2]利用基于决策树机制进行特征选择的MLP分类方法,对IMDb数据集进行二分类,其准确率提高了6.56%,但是该方法仅考虑了特征词的排序而忽略了特征词在文本评论中的情感特性.文献[3]使用基于域适应的方法结合支持向量机进行情感分类研究,对不同语言和不同领域的数据进行域适应验证,其效果优于域独立的情感分类方法,但是该方法未考虑领域差异下句子的情感特征所带来的分类误差.文献[4]在基于自动编码器的词嵌入和词汇功能上使用MLP模型进行情感分析,其效果良好,但是该方法并未对词的情感属性进行细粒度挖掘.文献[5]利用目标句子关注度机制来增强LSTM,并融合相关情感概念的常识性知识辅助情感分类,但是该模型忽略了句中非情感词的影响.文献[6]通过用户情感分析方法计算用户对商品的情感倾向,并考虑用户之间的情感相似度进行情感分析.上述这些方法仅仅针对单个用户所发表的评论观点进行情感倾向性判断,主要分为积极、中性、消极3种情感,或是更细粒度地分为喜爱、高兴、诧异、愤怒、悲伤、恐惧和厌恶7种不同类别[7],并未将时间序列作为情感判别的依据,难以准确地判断群体用户对某一商品在时间维度下的情感变化趋势.
时序情感趋势预测是根据历史时间序列的情感倾向值及走势来预测用户未来的情感变化趋势.早期的时序趋势预测方法主要应用于产品销量预测、市场价格预测及票房预测等领域[8].文献[9]使用基于朴素贝叶斯的情感分类结果,利用LSTM模型对商品销量进行预测.文献[10]通过联合情感主题模型提取消费者对在线评论中潜在主题的情感倾向,结合时间序列进行销量预测.文献[11]利用情感时序分析方法对微博事件的公众情感趋势进行预测,分析不同时间段下用户对微博话题的情感变化趋势.以上方法都是在基于用户情感分析的基础上,将时间序列分片段进行处理,预测用户的情感变化趋势.但这些方法仅仅从单一用户的角度进行考虑,并未给出群体用户的情感变化趋势过程,而商品质量和销量的评判依据更多来自于群体用户的观点态度.因此,本文利用不同时期群体用户对商品的评论数据,结合深度学习技术,实现了一种基于商品评论的群体用户情感趋势预测方法.
1 基于商品评论的群体用户情感趋势预测方法 1.1 基本原理基于商品评论的群体用户情感趋势预测方法,首先对原始评论集以少量人工标注的方式进行处理[12],同时引入时间变量,对用户评论的文本集进行细粒度情感特征选取;其次使用群体用户多维特征向量构造合适的情感分类模型,计算群体用户对商品的情感倾向值;最后融合评论时间和用户情感倾向值构建群体用户时序情感倾向序列,并通过LSTM模型分析群体用户对商品的情感变化,进而预测下一时间段群体用户对商品的情感趋势.
1.2 文本处理文本评论信息是一种非结构化数据,而情感分析的首要研究过程就是将这些非结构化数据进行特征量化[13].假设群体中每个用户对同一种商品构建的评论集为C={c1, c2, …, cn},ci表示第i个用户对商品的评论,而每条评论所对应的时间样本构成的集合为T={t1, t2, …, tn},tj表示第j条评论的时间.由于时间维度下每个用户对商品进行的评论所持有的情感观点不同,例如t时刻下评论用户对商品的兴趣、认可度高,而t+1时刻下用户的情感倾向可能就会发生变化.因此,对评论集按时间维度进行处理,构建了如图 1所示的基于时间维度的文本特征结构.其中F={w1, w2, …, wk|k∈N+}表示每一条评论在时间维度下的特征词向量.研究过程需将每一个经过处理的文本看作一系列词组序列,且词组序列中的每一个特征词都会影响到该句的情感判断[14].通过对每一个词组序列特征词w的特性进行识别来提高情感分析的准确性.
![]() |
图 1 基于时间维度的文本特征结构 Fig. 1 Textual feature structure based on time dimension |
结合BosonNLP情感字典构建了一种情感特征词识别算法,以此来逐条识别文本评论中的情感特征词,将情感特征词作为评判句子特性的理论依据,具体步骤如算法1所示.
算法1 情感特征词识别算法.
输入:特征词向量F; 输出:仅含有情感特征词向量F′.
Step 1 逐次遍历每一条特征词向量F;
Step 2 提取每一个F中的特征词w;
[1] 若提取成功,执行Step 3;
[2] 若提取失败,执行Step 4;
Step 3 特征词w是否命中情感字典:
[1] 若结果为True,将特征词w加入到F′,执行Step 2;
[2] 若结果为False,直接执行Step 2;
Step 4 读取下一条特征词向量F,若读取成功,继续执行Step 2;否则跳出循环,执行结束.
除了情感特征词识别之外,特征选取也是情感分析的重要环节,有助于提高情感分类的准确率.特征选取是一种按照词语的重要性和频率进行排序并选择的方法.其中词频-逆向文件频率是一种统计学方法,用以表示词语在文本信息中的重要程度,并给词语标记相应的权重.该方法首先统计词频,逆向文件频率用于丢弃文本中经常出现的低值词,将这些词语以特征向量的形式输入训练模型[15].通过对词频进行分析排序,按照整个语料库的词频序列构建词汇表,使用向量变换及拟合方法将计数矩阵转换为词频-逆向文件频率矩阵,以此得到群体用户多维情感特征向量.
1.3 情感分析模型情感分类一般采用支持向量机、朴素贝叶斯、决策树以及MLP等方法处理.其步骤都是通过一定数量的训练数据训练合适的分类器,使用测试数据计算分类准确率,选择准确率较高的分类模型进行情感分类[16].本文使用MLP模型进行情感分类,该模型包括输入层、隐藏层和输出层.输入层用于特征向量的输入,隐藏层表示知识处理,输出层主要表示信息的决策判别结果.MLP网络结构如图 2所示,表示群体用户多维情感特征向量在MLP模型上的训练结构.
![]() |
图 2 MLP网络结构 Fig. 2 MLP network structure |
定义输入层的输入向量为X={F′1, F′2, …, F′n}T,隐藏层的输出向量为H={h1, h2, …, hp}T,输出层的输出向量为Y={y1, y2, …, yn}T,输入层与隐藏层之间的权值向量为V={v1, v2, …, vp},隐藏层与输出层之间的权值向量为L={l1, l2, …, lq},f(·)是激活函数.根据定义得到输入层、隐藏层与输出层的对应关系式为
$ h_{t}=f\left[\sum\limits_{\lambda=1}^{p} v_{\lambda} F_{\lambda}^{\prime}\right] ; y=f\left[\sum\limits_{\rho=1}^{m} l_{\rho} h_{\rho}\right]. $ | (1) |
MLP模型的训练初始化神经元为512个,激活函数为Tanh函数,隐藏层的激活函数设为4层ReLu函数,输出层的激活函数为Sigmoid函数.
1.4 时序情感趋势预测方法 1.4.1 构建时序情感倾向序列对于任意商品,如果将每类商品对应的群体用户情感倾向值按照评论时间的先后次序排列起来,则任一类商品所对应的群体用户情感均可构成一条情感时序序列:
$ \left( {Sentimen{t_\theta }|\mathit{\boldsymbol{T}}, 1 \le \theta \le n} \right) = {e_1}, {e_2}, \cdots , {e_n}, $ | (2) |
式中:ei表示按时间排列后第i条情感倾向值.由于用户评论存在随机性,故评论时间并不是按照规律的周期性时间发起的,排列后的相邻情感时序间的时间跨度不确定,不能够直接被时间序列分析所使用.因此,采用前后均值法对缺失时间段情感值进行处理,可以表示为et=(et-1+et+1)/2.
1.4.2 基于LSTM的时序情感预测模型LSTM模型能够允许网络变量学习训练多个步长的时间序列,即使在输入序列有噪声的情况下,也不会丢失短时滞能力[9].在LSTM存储单元处于t时刻下,隐藏层的激活函数计算定义为:Int和Outt分别表示LSTM神经元结构在t时刻下的输入和输出,φi、φo、φf和φq分别表示输入门、输出门、遗忘门和块输入的输入权重矩阵,Ri、Ro、Rf和Rq分别表示输入门、输出门、遗忘门和块输入的递归权重矩阵,bi、bo、bf和bq分别表示输入门、输出门、遗忘门和块输入的偏置.为了克服下一时刻每个门仅受当前门的外部输入控制,将长时记忆ct-1接入每个门,ρi、ρo和ρf分别表示输入门、输出门和遗忘门的长时记忆系数,z(·)、g(·)表示激活函数,
$ i_{t}=z\left(\boldsymbol{\varphi}_{i} I n_{t}+\boldsymbol{R}_{i} O u t_{t-1}+\rho_{i} \otimes c_{t-1}+b_{i}\right), $ | (3) |
$ o_{t}=z\left(\boldsymbol{\varphi}_{o} I n_{t}+\boldsymbol{R}_{o} O u t_{t-1}+\rho_{o} \otimes c_{t}+b_{o}\right), $ | (4) |
$ f_{t}=z\left(\boldsymbol{\varphi}_{f} I n_{t}+\boldsymbol{R}_{f} O u t_{t-1}+\rho_{f} \otimes c_{t-1}+b_{f}\right), $ | (5) |
$ q_{t}=g\left(\boldsymbol{\varphi}_{q} I n_{t}+\boldsymbol{R}_{q} Ou t_{t-1}+b_{q}\right), $ | (6) |
$ c_{t}=i_{t} \otimes O u t_{t}+f_{t} \otimes c_{t-1}, $ | (7) |
$ O u t_{t}=o_{t} \otimes \operatorname{Tanh}\left(c_{t}\right). $ | (8) |
式(3)~(8)分别为输入门、输出门、遗忘门、块输入、单元状态和块输出,代表LSTM隐藏层单元[17]的计算过程.基于LSTM的时序情感预测模型如图 3所示.图中将模型按照时间顺序展开,其中标有LSTM模块表示的是LSTM隐藏层,且每一行的LSTM模块表示的是随着时间递增下的LSTM隐藏层.预测下一时刻t+1的用户情感值et+1,可认为预测形式是对输出序列自身的后向传播,表示为
$ \chi_{t+\delta}=\boldsymbol{F}\left(\chi_{t}, \chi_{t-1}, \chi_{t-2}, \cdots, \chi_{t-\sigma}\right), $ | (9) |
![]() |
图 3 基于LSTM的时序情感预测模型 Fig. 3 LSTM-based time series sentiment prediction model |
式中:δ是预测步长;χt是t时刻下的情感值;σ表示滑动窗口大小.由于时序情感倾向序列是单变量数据,故每个时刻只能观测到一个单独的情感值.因此,利用LSTM模型进行参数训练,需要对滑动窗口、预测步长等参数进行调优.同时,在模型训练过程中使用交叉熵最小化损失函数,表示为
$ Loss{\rm{ }} = - \sum\limits_{i = 1}^n {{\chi _i}} \lg \chi _i^\prime + \eta {\left\| \mu \right\|^2}, $ | (10) |
式中:χi为实际样本;χ′i为预测样本;η‖μ‖2是正则项.在此基础上对模型进行训练调优,选择最优化模型,分析连续时间段下群体用户的情感变化,对其进行情感趋势曲线评估,最终预测下一时间段群体用户对商品的情感变化趋势.
2 实验结果与分析 2.1 数据集通过网络爬虫获取了京东平台上的手机评论信息,时间范围为2017年6月至10月,选取属性主要包括商品id、用户评分、评论时间和评论信息,最终获得31 011条评论数据.通过人为标注及评分策略方式对部分评论集进行情感标注[18],规定评分≥3分为Positive标签,评分 < 3分为Negative标签.考虑到非文字类字符评论的影响,对其进行抽取、过滤等数据处理,实际数据集规模为16 382条.随机抽取数据集,情感分类训练集为5 000条,测试集为3 000条,其余数据用作时序情感趋势预测的验证实验.
2.2 分类模型及评估指标选取支持向量机、决策树、朴素贝叶斯、MLP 4种分类模型,通过受试者工作特征(ROC)评估指标和模型准确度的对比,分析了这4种不同分类器的性能.如图 4所示,将4种分类模型对应的假正率和真正率结果绘制成ROC曲线.结果表明,同一类型数据集在4种模型上所取得的效果有一定差异,支持向量机、决策树、朴素贝叶斯、MLP模型的准确度分别为73.8%、71.9%、71.1%、75.9%.从4种模型的分类结果可以看出,MLP模型在情感分类中的性能最好,能够达到实验预期效果,可用于后续情感趋势预测任务.
![]() |
图 4 4种分类模型的ROC曲线对比 Fig. 4 ROC curve comparison on four classification models |
在情感分类实验基础上,对所提出的LSTM模型进行验证.模型参数优化对比结果如图 5所示.实验通过设置不同的滑动窗口大小,将训练步长由500递增至4 000,进行模型预测损失评估.结果表明,在同等步长下,滑动窗口越小,预测模型损失值越小;当滑动窗口大小相同时,损失值与训练步长呈反比趋势.当滑动窗口大小为50,步长为4 000时,预测模型损失值最小.为了验证本文LSTM模型在不同数据集上都能取得较好的预测结果,实验对3类不同商品随机选取了250组用户情感数据集,按照时间顺序选取前200组数据作为训练集,后50组数据作为测试集,预测步长为50.同时,引入自回归(AR)模型与LSTM模型进行时序情感趋势预测比较[8],结果如图 6所示.可以看出,AR模型的评估曲线与实际曲线存在较大差异,预测结果也具有一定的偏差,而LSTM模型的评估曲线和预测效果相对更好.
![]() |
图 5 模型参数优化对比 Fig. 5 Comparison of model parameters optimization |
![]() |
图 6 AR模型与LSTM模型时序情感趋势预测结果对比 Fig. 6 Prediction results comparison of time series sentiment trend between AR and LSTM models |
为了进一步分析AR模型和LSTM模型在不同数据集的预测精确度,利用均方差(MSE)评估指标[9]对两种模型进行比较,度量方法如下:
$ MSE = \frac{1}{N}\sum\limits_{t = 1}^N {{{\left| {trued_t^e - pred_t^{{e^\prime }}} \right|}^2}} , $ | (11) |
式中:truedte表示t时刻下情感实际值;predte′表示t时刻下情感预测值;N为样本数量.同时,为了比较两种模型MSE的降低幅度,定义Bij为
$B_{i j}=\frac{\left|M S E_{i}-M S E_{j}\right|}{M S E_{j}}, $ | (12) |
式中:MSEi表示i模型的MSE值;MSEj表示j模型的MSE值.在MSEi≤MSEj情况下,Bij表示MSEi优于MSEj的百分比.
表 1为3类商品预测指标评估结果.其中MSEA和MSEL分别表示AR模型和LSTM模型的MSE值.可以看出,LSTM模型所对应3类商品数据集的MSE值相对更小.BAL反映了两种模型MSE的降低幅度,相对AR模型,LSTM模型的MSE平均降低了79.06%.
![]() |
表 1 3类商品预测指标评估结果 Tab. 1 Evaluation results of three kinds of commodity forecasting indicators |
上述实验分析表明,基于LSTM的时序情感趋势预测模型可以较准确地预测群体用户情感变化趋势.评估曲线存在少量误差,导致预测结果具有一些偏差,这主要是由于连续时间段群体用户的情感值保持一致,致使情感波动会出现长时间持平状态,从而使得评估曲线和预测结果有少量偏差.
3 结论为辅助商家制订更精准的销售决策方案,本文结合情感分析和时序预测方法进行群体用户情感趋势预测,发现用户对商品的情感变化存在较大波动.虽然采用了一定的平滑手段,但是用户对于商品的情感可能还与情感特征提取及用户分类有关.同时,在短文本的处理中,特征提取仍然是一个挑战.
[1] |
RAVI K, RAVI V. A survey on opinion mining and sentiment analysis: tasks, approaches and applications[J]. Knowledge-based systems, 2015, 89: 14-46. DOI:10.1016/j.knosys.2015.06.015 ( ![]() |
[2] |
JOTHEESWARAN J, KOTEESWARAN S. Decision tree based feature selection and multilayer perceptron for sentiment analysis[J]. ARPN journal of engineering and applied sciences, 2015, 10(14): 5883-5894. ( ![]() |
[3] |
PAK M Y, GUNAL S. Sentiment classification based on domain prediction[J]. Elektronika ir elektrotechnika, 2016, 22(2): 96-99. ( ![]() |
[4] |
AKHTAR M S, KUMAR A, GHOSAL D, et al. A multilayer perceptron based ensemble technique for fine-grained financial sentiment analysis[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Copenhagen, 2017: 540-546.
( ![]() |
[5] |
MA Y, PENG H, CAMBRIA E. Targeted aspect-based sentiment analysis via embedding commonsense knowledge into an attentive LSTM[C]//Proceedings of AAAI on Artificial Intelligence. New Orleans, 2018: 5876-5883.
( ![]() |
[6] |
LAKSHMI K P, SHRADDHA V, ABHINAVA V, et al. Sentiment analysis and prediction using text mining[J]. Indian journal of science and technology, 2017, 10(28): 1-11. ( ![]() |
[7] |
YADOLLAHI A, SHAHRAKI A G, ZAIANE O R. Current state of text sentiment analysis from opinion to emotion mining[J]. ACM computing surveys, 2017, 50(2): 1-33. ( ![]() |
[8] |
TSENG K K, LIN R F Y, ZHOU H F, et al. Price prediction of E-commerce products through Internet sentiment analysis[J]. Electronic commerce research, 2018, 18(1): 65-88. ( ![]() |
[9] |
ZHUGE Q, XU L, ZHANG G. LSTM neural network with emotional analysis for prediction of stock price[J]. Engineering letters, 2017, 25(2): 1-9. ( ![]() |
[10] |
YUAN H, XU W, LI Q, et al. Topic sentiment mining for sales performance prediction in E-commerce[J]. Annals of operations research, 2018, 270(1/2): 553-576. ( ![]() |
[11] |
任巨伟, 杨亮, 吴晓芳, 等. 基于情感常识的微博事件公众情感趋势预测[J]. 中文信息学报, 2017, 31(2): 169-178. ( ![]() |
[12] |
AMOLIK A, JIVANE N, BHANDARI M, et al. Twitter sentiment analysis of movie reviews using machine learning techniques[J]. International journal of engineering and technology, 2016, 7(6): 1-7. ( ![]() |
[13] |
陈龙, 管子玉, 何金红, 等. 情感分类研究进展[J]. 计算机研究与发展, 2017, 54(6): 1150-1170. ( ![]() |
[14] |
FU X, LIU W, XU Y, et al. Long short-term memory network over rhetorical structure theory for sentence-level sentiment analysis[C]//Asian Conference on Machine Learning. Hamilton, 2016: 17-32.
( ![]() |
[15] |
ALBOANEEN D A, TIANFIELD H, ZHANG Y. Sentiment analysis via multi-layer perceptron trained by meta-heuristic optimisation[C]//IEEE International Conference on Big Data. Boston, 2017: 4630-4635.
( ![]() |
[16] |
AHMED E, SAZZAD M A U, ISLAM M T, et al. Challenges, comparative analysis and a proposed methodology to predict sentiment from movie reviews using machine learning[C]//International Conference on Big Data Analytics and Computational Intelligence. Chirala, 2017: 86-91.
( ![]() |
[17] |
梁军, 柴玉梅, 原慧斌, 等. 基于极性转移和LSTM递归网络的情感分析[J]. 中文信息学报, 2015, 29(5): 152-159. DOI:10.3969/j.issn.1003-0077.2015.05.020 ( ![]() |
[18] |
LI D, QIAN J. Text sentiment analysis based on long short-term memory[C]//1st IEEE International Conference on Computer Communication and the Internet.Wuhan, 2016: 471-475.
( ![]() |