应用SD-LS-SVM 算法的评论情感分析模型

2021-04-23 05:50孙翌博濮泽堃徐玉华
软件导刊 2021年4期
关键词:置信区间分词特征向量

孙翌博,濮泽堃,徐玉华,胡 冰

(1.常州工学院计算机信息工程学院,江苏常州 213032;2.南京邮电大学江苏省邮政大数据技术与应用工程研究中心;3.南京邮电大学国家邮政局邮政行业技术研发中心(物联网技术),江苏南京 210003)

0 引言

由于智能终端设备和移动互联网技术的快速发展,传统线下消费部分份额已开始逐步转移到线上电商消费中。对于商品的评论也从消费者的口碑式口口相传转变为互联网电商平台上的评论热潮。而这些产生于消费者购买后的评价信息,对电商或店家研究商品的销售情况与制定相关销售策略十分有价值。电商或卖家可以对消费者购买后产生的评价信息进行分析,然后根据分析结果实现更好的决策[1]。

情感分析是对文本进行分析处理后对其所表达的情感进行分类[2-3],由Pang 等[4]于2002 年提出。情感分析主要用于处理非结构化及未标记的数据,而这些数据往往比较模糊主观,因此需要涉及多个领域,其中包括自然语言处理[5]、机器学习[6]、数据分析[7]等。目前,对文本进行情感分析的常见方法主要有情感词典方法和机器学习方法[8]。情感词典是一种传统的情感分析方法[9-10],由Whissell[11]于1988 年提出。情感词典首先对已知的广泛使用的情感词进行归纳和整理,匹配文本和情感词典中相同的词语,进而预测出待检测文本的情感属性。基于机器学习的情感分析方法首先提取文本特征[12-13],然后按照预先设定的算法对文本进行相应处理,最后输出情感分类结果。这种方式相较于基于情感词典的情感分析方法,不仅可以减少相关人员的负担和主观的非理性判断,还能够建立足够大的情感词库并且对词库不断迭代更新。

Lin 等[14]开发了一种跨语言联合情感模型,该模型同时检查两种语言意见表达;Liu 等[15]使用支持向量机(Support Vector Machines,SVM)作为情感分析的基础分类器,对在线评论情感进行分析。最小二乘支持向量机(Least Squares SVM,LS-SVM)相对于SVM,有着更低的训练复杂度[16]。在面对复杂文本特征分类的情形下,LS-SVM 的训练速度更适合。MuthuKumaran 等[17]利用LS-SVM 算法实现用户评论分析与排名,从而实现合理的商品推荐。但是,LS-SVM 相对于SVM,存在稀疏性与鲁棒性问题。此外,面对评论中追评等多次评论情况也需要进行合理处理才能进一步提高评论情感的分析准确度。

因此,为了高效预测用户评论中的情感分类,本文提出一种基于SD-LS-SVM(Simple Optimization of Dynamic Confidence Interval for Least Squares Support Vector Machines)的评论情感分析模型。通过该模型对评论文本进行预处理并提取文本情感特征向量,同时利用改进的SDLS-SVM 算法对评论进行情感分类。

1 评论情感分析模型设计

为了有效预测用户评论的情感类别,需要建立评论情感分析模型,该模型结合情感词典与机器学习技术对评论进行分析从而提取其文本特征。首先,对评论数据和训练文本进行预处理,并利用多个开源数据库构建词网,通过上下文分析对分词进行评分,并对追评进行有效处理,从而生成文本情感特征向量;然后,通过置信区间的动态优化修剪向量以提高LS-SVM 的稀疏度与算法效率,从而形成SD-LS-SVM 算法;最后,利用修剪后的最优数据集与SD-LS-SVM 算法对评论文本进行情感预测。

如图1 所示,评论情感分析模型包括文本预处理模块、构建词网模块、基于上下文分析的分词评分计算模块、追评处理模块、评论文本情感特征向量提取模块与SD-LSSVM 评论情感分类模块。各模块主要功能如下:

(1)文本预处理。文本预处理模块首先对文本语言进行检测,如为非中文文本将进行翻译操作,本系统主要对中文文本评论进行情感分析。利用开源工具对评论文本进行分词,过滤常用停用词,并保留文本符号,因为常用停用词主要表示语气的停顿,而不能揭示相关情感,而符号却带有情感含义。

(2)词网构建。搜集多个开源情感词典,例如清华大学中文褒贬义词典、情感词汇本体、台湾大学NTUSD 简体中文情感词典、知网Hownet 情感词典等构建词网。通过与词网对比,可以进行文本语料分析、标注词性、生成词袋。

Fig.1 Comment sentiment analysis model图1 评论情感分析模型

(3)基于上下文分析的分词评分计算。该模块利用上下文分析技术将待检测的分词与词网中语料进行对比分析。首先通过Word2vector 技术将待检测分词与词网语料转化文本向量,然后采用聚类算法找到与待检测分词最相似的词网语料,并用投票机制识别分词的情感极性,其表达式如式(1)所示。其中,num(Positive)是该分词在词网中属于积极类的个数,num(Negative)是该分词在词网中属于消极类的个数。根据投票结果获得语料各分词得分S(x)。如果得分为+1,则该词为积极词性;为-1 则是消极词性;为0 则是中性词。

此外,还需要建立副词的评分机制,根据副词评分计算显示分词词性的强度λ,因此分词的最终得分为S(x) ×λ。

(4)追评处理。现有电商平台中的商品评论已经不再局限于初次评论,消费者往往会在收货一段期间再次追加评论以表达使用感受,而使用感受会随着时间的推移发生变化,初评与追评的情感也可能存在差异,但是由于用户经过一段时间的商品体验,追评相比初评更加客观。为了更加全面地分析用户的评论情感,该系统也需要对追评进行处理。若同一用户的初评与追评通过上述步骤计算得出的词性相同,则合并为一条评论;若词性不同,则将追评替代初评。

(5)评论文本情感特征向量提取。该模块将每个评论表示为一个文本特征向量Ω={θ1,θ2,…,θn},其中n是每条评论的有效高频分词总数,θ则为每个高频分词的最终评分。通过上述步骤可以对每条评论进行有效处理,并获取每条评论的文本情感特征向量。

(6)评论情感分类。该模块对LS-SVM 算法进行改进,利用改进算法对文本特征向量进行分类以实现评论情感预测。对于LS-SVM 缺乏稀疏性问题,可以通过基于置信区间的训练样本修剪策略CI-LS-SVM[18]加以应对。然而,固化的置信区间迭代扫描方法使得算法缺乏灵活性,且复杂度较高,因此采用基于动态置信区间的SD-LS-SVM 算法提高计算效率,并对训练数据进行修剪获得最优训练数据集。将评论文本的情感特征向量导入SD-LS-SVM 算法中,并利用最优训练集,对评论情感进行分类,计算出用户评论的情感类别。

通过以上步骤,基于SD-LS-SVM 评论情感分析模型实现了评论文本预处理、特征向量提取与情感分类。通过分析出的情感类别,商家或平台则可以判断用户对于该商品的喜恶趋势,从而有针对性地制定相应的营销策略,并进行精准的商品推荐。

2 SD-LS-SVM 情感分类算法

LS-SVM 是对SVM 的一种变形算法,主要将QP(Quadratic Programming)问题转化为线性方程组问题。相比于SVM,LS-SVM 的计算复杂度更低,算法效率更高。然而在LS-SVM 中,由于等式约束,几乎所有训练样本都是支持向量,并且对平方误差具有异常值的敏感性,使得LS-SVM 相比SVM 缺少稀疏性和鲁棒性。为了提高LS-SVM 算法的检测效率与精度,需对LS-SVM 加以改进。

2.1 基于置信区间简单动态优化的LS-SVM 算法改进

本文提出一种改进的SD-LS-SVM 算法,即利用简单动态置信区间优化策略处理文本情感数据样本以提高分类精度。置信区间是总体参数区间估计值的一种,它显示估计值的可靠性。在不同的置信度水平下,一些训练样本将超出置信区间的限制。本文通过动态机制调整置信水平,并在置信区间之外逐渐删除样本,以提高LS-SVM 的稀疏性。

通过引入拉格朗日函数解决约束优化问题,其中αi为拉格朗日乘项。

然后求偏导优化:

消除变量ωi和δi,可以得到以下线性方程式:

其中,y=[y1,y2,…,yN],α=[α1,α2,…,αN],I是单位矩阵,Ω是M×MHessian 矩阵,即Ωij=K(xi,xj),K是RBF 核函数如式(6),σ为核函数宽度。

可以通过式(8)进行1-α置信度的预测值区间预估,即L(x) ≤y(x) ≤U(x)。其中,Λ是所选择的一个合适的平滑函数。

且局部近似值服从高斯分布,如式(9):

E(y(x))为均值,ρ‖w(x) ‖为方差。由于预测会存在偏差令bi(x)=E(y(x)) -y(x)。由此可将置信区间修正为如式(10):

引入动态调整迭代因子μ与缩略因子ϑ,使得置信度在合理范围内变化。需要修剪的支持向量数量s与平均删减的支持向量机数量m的比值达到一定阈值时,迭代因子μ通过取下限整数进行动态下调。置信度的动态调整机制如式(11)。

最终修剪过的LS-SVM 如式(12),从而确定支持向量中的最优子集{(xi,yi)i∈S}。

然后可以进一步计算平均方差如式(13)。

然后通过以上机制实现LS-SVM 置信区间的简单动态修正,从而提高LS-SVM 的稀疏性。

2.2 SD-LS-SVM 文本情感分类

首先使用1 000 条开源数据集作为训练数据集,并使用爬虫软件从淘宝、京东与苏宁易购知名电商平台中爬取评论数据集对训练数据集作进一步扩充,训练数据集中包含积极语料子集与消极语料子集。将训练数据集通过上述模型提取语料的情感特征向量,然后通过SD-LS-SVM高效地修剪冗余样本,得到最优训练数据集。利用最优数据集,通过SD-LS-SVM 算法对实际评论情感进行分类。由于在修剪过程中需要进行迭代训练,因此需要考虑终止条件。本文将累积误差作为终止条件,当累积误差降至阈值K时就终止训练,累积误差计算如式(14)。

SD-LS-SVM 文本情感分类流程如图2 所示。输入训练数据集,原始支持向量机集合为所有训练样本;令原始置信度为0.05,累积误差阈值K为0.9。基于SD-LS-SVM的情感分类具体步骤如下:

Fig.2 Sentiment classification process based on SD-LS-SVM图2 基于SD-LS-SVM 的情感分类流程

①LS-SVM 分类与误差惩罚参数γ、核函数宽度δ有关,因此利用蚁群算法求解这两个参数的最优解[19];②用训练数据集求解式(5)以实现对原始模型的训练;③通过式(7)计算预测值和式(13)均方误差;④利用式(10)计算置信度为α时的置信区间;⑤移除在置信区间外的训练样本,并将剩余训练样本作为支持向量;⑥利用式(11)计算新的置信度α与置信区间,然后回到步骤②进行重训练,直至累积误差降至阈值K,此时经过修剪后的数据集为最优数据集;⑦利用最优数据集对SD-LS-SVM 模型进行训练;⑧将待检测的评论文本情感特征向量数据输入SD-LSSVM 模型进行分类,实现评论情感预测;⑨通过精确度P与召回率R与式(15)评估分类效果,对模型进行性能评价。

3 评论情感分析系统仿真实验

为了验证应用SD-LS-SVM 算法的评论情感分析模型的有效性与可靠性,本文设计相应的仿真系统,基于该模型实现相应的情感预测功能,并对模型状态与训练结果进行统计分析。

Fig.3 Simulation system architecture图3 仿真系统架构

如图3 所示,评论情感分析仿真系统主要分为数据采集层、数据处理层、数据分析层与数据显示层。数据采集层可从商品网页上采集用户评论、追评以及相关点赞数据,也为用户提供数据导入接口,通过外部导入文本数据进行分析预测,所采集的文本数据均采用CSV 格式存储在后台数据库;数据处理层主要对训练数据和待检测数据进行预处理,其中包括词网构建、文本分词、分词的词性计算以及文本的特征向量提取;数据分析层对SD-LS-SVM 模型进行训练,将待检测数据进行分类,并对分类结果进行标注;数据显示层实现参数信息显示,便于数据管理者设置相应的模型参数,并将数据分析层的预测结果、运行的模型状态以图表形式进行直观展示。

基于SD-LS-SVM 的评论情感分析仿真系统主要使用Web 技术栈进行实现,分为前后端。在前端搭建Angular 框架,并设计实现相应的显示界面;后端搭建Django 框架,结合Mysql 数据库,并基于ScikitLearn 框架完成情感分类模型。对于电商平台中待检测的评论,在对其作预处理后,提取文本特征向量,通过SD-LS-SVM 模型进行分类。系统管理员可以通过前端控件选择相应的基础情感词典,设置训练和测试数据比例,并导入所需的SD-LS-SVM 参数模型。

如图4 所示,该系统通过SD-LS-SVM 模型对所需分析的语料进行情感预测,并展示其结果。预测结果包括预测类别,即情感是属于积极情感还是消极情感,给出正极性评估值和负极性评估值。

系统模型每月都会进行一次训练,系统会自动选择准确度最高的模型作为当前模型。如图5 所示,该系统会对每次的训练时常和分析结果进行统计与展示。通过多次训练,模型的情感分类准确率达70%~85%。仿真系统统计分析结果验证了基于SD-LS-SVM 的情感分析模型可以对评论文本的情感进行有效分类。

Fig.4 Results of sentiment classification图4 情感分类结果

Fig.5 Statistics and analysis of model status图5 模型状态统计与分析

4 结语

本文提出一种应用SD-LS-SVM 算法的评论情感分析模型,通过该模型实现评论文本预处理,构建词网,并利用上下文分析方法生成评论中分词的得分,同时对追评进行处理从而提取文本情感特征向量。此外,本文对LS-SVM进行了改进,首先利用简单置信区间动态优化获取最优训练数据集,并利用最优数据集与改进的SD-LS-SVM 算法对评论文本进行分类。本文对评论情感分析系统进行了仿真实验,通过实验证明了基于SD-LS-SVM 的评论情感分析模型的有效性。目前,本文只是将该模型进行了实验仿真,在未来工作中,需要研究SD-LS-SVM 评论情感分析模型在真正电商平台中的应用,其中需要将SD-LS-SVM评论情感分析模型部署至实际电商平台中,并根据评论情感分类结果,生成相应的满意度报告。商家利用报告结果一方面可以改善商品质量,另一方面可以挖掘忠实客户以实施精准营销。

猜你喜欢
置信区间分词特征向量
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
定数截尾场合三参数pareto分布参数的最优置信区间
克罗内克积的特征向量
p-范分布中参数的置信区间
多个偏正态总体共同位置参数的Bootstrap置信区间
分词在英语教学中的妙用
结巴分词在词云中的应用
结巴分词在词云中的应用
列车定位中置信区间的确定方法
一类特殊矩阵特征向量的求法