季旺 夏振宇
(江苏科技大学计算机学院 镇江 212003)
随着互联网的普及和电商行业的发展,人们的生活发生了巨大的改变,电子商务成为人们最主要的消费方式。大量的消费者在电商网站上购买商品、发表评论,留下了大量数据,这些网络数据是消费者表达对产品感受和态度的一种方式。因此对消费者评论的挖掘与分析十分重要,这不仅可以帮助消费者提高购物体验,还能帮助企业改进产品提高产品质量。因此,如何高效快速准确地对商品评论进行情感分析[1]成为电商领域发展亟待解决的问题之一,同时也是自然语言处理[2]和数据挖掘[3]的热门话题。
在电子商务平台上挖掘在线评论是产品改进和营销策略的重要工具。传统的对消费者评论的挖掘方法是企业相关人员依靠手工方法从海量的商品评论中提取有用的信息,这种方法耗时耗力且收效甚微,因此利用信息技术进行数据挖掘和分析成为企业发展的迫切需求。基于情感词典[4]和基于机器学习[5]是目前应用于情感分析研究的两种主要方法。情感词典主要包括能够反映情感倾向的两类词语,这两类词语必须极性相反,并且每一种类词语的数量要广泛,因此一个好的情感词典首先是一个巨大的语言文字库。如何构建情感词典,怎样利用构建好的情感词典实现情感分析一般由以下四个步骤组成:文本预处理[6]、中文分词[7]、训练情感词典、情感分类。Python+机器学习的情感分析方法,通常是选取带有情感极性的词语作为特征词,然后对评论的文本向量化,最后利用朴素贝叶斯[8]等方法进行情感分析。21世纪以来,由于深度学习的崛起,国内外的很多学者逐步将深度学习的相关技术运用在智能信息处理领域。深度学习相关的模型例如有循环神经网络[9]、递归神经网络[10]、长短内存网络(LSTM)[11]、卷积神经网络[12]等在情感分析领域应用十分广泛。
论文介绍了情感分析的传统算法和模型,详细分析了改进的TF-IDF[13~14]算法和改进原理,利用Word2vec[15]模型进行词向量转换,通过改进的算法优化权重计算,结合深度神经网络模型CNN[16]进行训练,并与各种传统评价模型进行实验对比分析,最终结果表明本文构建的分类模型实现了对电商领域商品评价较为准确的情感定位。
Word2vec 是一种广泛应用于训练词向量的模型。在大量的文本语料库中,Word2vec 以无监督的方式学习语义信息,使语义相似的单词在嵌入空间内距离很近,并且可以更好地比较不同单词之间的相似性和类比关系。Word2vec 本质上是一个浅层神经网络,它通过将每个单词映射到向量来测量单词之间的相似性。Word2vec主要有Skip-Gram[17]和CBOW[18]两种模型。Skip-Gram方法每次都使用中心词来预测周围的词,时间复杂度是CBOW 的n倍(n 是窗口大小)。跳转语法比CBOW 更耗时,但分类准确率更高,因此我们使用跳转语法模型来训练词向量。Skip-Gram 模型包括三层:输入层、投影层、输出层,基础形式如图1所示。
图1 Skip-Gram 模型
Skip-Gram 模型训练的目标函数是:
其中,c是窗口的大小,c越大,得到的训练样本T就越多,获得的结果就越准确。基本的Skip-Gram 模型计算条件概率如下式:
其中,vw和分别是词w 的输入和输出向量。
TF-IDF,词频-逆文件频率。是一种常用的数据挖掘技术,其中TF(Term Frequency)表示文本中特定单词的出现频率;IDF(Inverse Document Frequency)则用于衡量单词的普遍性。传统的TF 可以用式(3)来概括:
分子是关键字t 在文档d 中出现的次数,分母表示文档d中所有关键字的数量。传统的IDF可以用式(4)来概括:
|D|表示一个文档集中的文本总数,||表示某个文本包含特征词的个数,分母加1 以防止特征词在文档集中缺失而导致分母为零。
TF-IDF 的本质实际上是TF 和IDF 的产物,它反映了单词对整个文档集的重要性。TF-IDF 是文本特征提取[22]的经典方法之一。计算公式如下:
卷积神经网络,简称CNN[19],是一种前馈神经网络[20],通常由输入层、卷积层、池化层、全连接层、softmax层构成。其基本结构如图2所示。
图2 CNN模型结构
基于CNN 的文本分类流程主要为文本表示、卷积处理、池化处理、特征组合。具体步骤如下:
Step1:训练词向量,对词向量表示的单词级联后表示出句子的语义特征,转化为文本矩阵,作为卷积神经网络的输入来提取文本的特征值;
实现过程:w是卷积核,w∈irhk,h是窗口高度,k代表词向量维度,wi:h 是长度为h 的词序列(wi,wi+1,…,wi+h),wi代表一个单词;每通过一个高为h,宽为k 的窗口即生成一个新的特征值,特征值ci的计算公式如下:
式中b表示卷积层的偏置项,f是激活函数。
Step2:对文本窗口中的词序列(w1:h,w2:h,…,wn-h+1:n)进行卷积得到特征图,特征图的计算公式如下:
其中,n 是单词数目,h 代表卷积核窗口高度,c是卷积得到的特征图。
Step3:扫描取样。先是将输入的特征图分成数个w×h大小的子区域,每个子区域经池化输出对应的值,然后提取每个池化区域的最大特征值。最大特征值的计算公式如下:
式中ci是一个卷积核对文本卷积后形成的特征图,m代表特征图数量,采用1-maxpooling,池化后一个特征图获取一个值。
Step4:从文本中提取出含有更多信息的特征值,把全部的特征值拼接成一个向量,此向量即为经过CNN处理后对应的特征向量;
Step5:将Step4中的特征值组成n维向量,将该n维向量输入到分类器中进行分类。
由于传统的TFIDF 算法在文本特征提取中存在的不足,特别是在关键词权重计算方面有着不小的缺陷。于是,我们在关键词提取中对TF-IDF 算法进行改进,具体办法如下:
提出一种基于训练的改进方法,通过使用无关评价文本训练出新的权重来修正传统算法计算出来的权重。需要注意的是,无关评价文本的选取越多越好。这样可以使得数据量庞大,计算结果也相对较好。
改进后的计算公式如下所示:
其中TF 和IDF 的计算方法都与传统的TFIDF 算法一样,算法靠公式的最后一项来修正传统TFIDF算法的不足,其中m 为增进文本训练出来的值,m 越大代表该特征词越能代表评论文本主题,k 为该特征项在约束文本中训练出来的值,k 越高计算出来的重要性就越低。pi为基于手机领域的情感词典训练的关键词的权重。
算法中的训练部分要遵循的原则:首先将训练文本分为增进文本和约束文本,在增进文本选择上,选取带有情感词或者评价词的评论文本来进行训练,训练的结果就是公式中的权值w。约束文本的选择就是一些不带情感倾向的评论文本,训练的结果是公式里面的权值k,这样就完成了训练工作。
情感分类模型主要由以下几个部分组成:1)数据预处理。对重复文本数据、停用词、无关评论进行清理;2)分词。Jieba 主要进行分词、词性标注、关键词提取等操作;3)Word2vec 模型训练词向量;4)利用改进的TFIDF算法进行优化权重的计算;5)最后经过CNN 进行分类预测。算法流程如图3 所示。
图3 情感分类模型构建流程图
1)实验环境和实验数据集
本文实验环境如下:
操作系统:Windows 10 64位操作系统。
CPU:Intel Core i5-8265U 1.80GHz。
内存容量:8GB。
IDE:Pycharm及Python2.7。
本文所使用的数据集是来自某手机品牌在天猫旗舰店上的评价数据。
2)评价指标
对构建的模型进行评估非常关键,主要是来检测所使用的算法的准确性和稳定性能。准确率(Precision)、召回率(Recall)和F1 值[21](F-Measure)是主要的三种评价指标。
3)实验参数设置
本文构建的模型运行所需要设置的参数如表1所示。
表1 实验参数设置
4)结果分析
本文采用Word2vec 模型+改进后的TFIDF 模型+CNN 深度学习模型,对每条评论文本进行情感极性分析。最后对本文构建的评价模型进行实验,通过与不同组合的分类模型对比,得到以下试验结果。
表2 不同模型的测试结果对比
从实验结果可以看出,本文算法相较于其他算法在总体上获得的效果是最好的。基于训练的改进方法对关键词权重进行优化后要比传统的TF-IDF 测试效果好,分类的准确性也相对更高。TF-IDF 与Word2vec 结合分类,要比TFIDF 模型独立分类效果要好。同时,较利用一般的CNN 模型进行情感分析相比,Word2vec 结合改进后的TF-IDF 再利用CNN 深度神经网络进行情感分类,在准确率和召回度上都相对提升了5 个百分点,分类效果非常可观。实验总结可以得出本文提出的模型分类质量较高。
本文针对TFIDF 算法在自然语言处理领域文本特征提取中存在的不足,对关键词权重的计算进行了优化和改进,改进后的算法提升了分类的效果,更适合于短文本情感分析。在深度学习背景下,利用改进后的TF-IDF 算法结合CNN 构建商品评价模型,对电商商品评论文本进行情感分类,进一步提高了算法的准确率和召回率,为商家不断提高商品质量满足客户需求提供了有效的帮助。