APP下载

基于卷积神经网络的短评语情感分类

2018-11-22吴铁峰

计算机技术与发展 2018年11期
关键词:评语卷积神经网络

孙 悦,李 晶,吴铁峰,张 磊

(佳木斯大学 信息电子技术学院,黑龙江 佳木斯 154007)

0 引 言

情感分类(sentiment analysis,SA)是指对带有感情色彩的主观性文本进行分析、处理、归纳和判断的过程[1]。随着互联网的发展,电子商务网站的评价系统成为了客户分享见解、提出意见的重要平台,其中所蕴含的信息亟待有效的方法进行挖掘处理[2]。传统的情感分类技术主要分为两类:基于规则的方法和基于统计的方法[3]。前者主要利用情感词来判断上下文的语义信息,需要用人工的知识来编写词典和模板对文本中的情感倾向性进行分析[4]。后者是从机器学习入手,利用人力去标注训练语料,从而进行特征提取和统计模型构建,自动化地实现情感极性的判定[5]。

现有研究中产品特征的分类方法大多利用情感词或者是特征评价词来判断客户对产品的情感倾向。张庆庆等[6]用句法关系与SVM结合的方法做情感分类;王勇等[7]使用极性词典的方法进行情感分类;梁军等[8]利用深度学习来做中文文本微博情感分析,采用LSTM递归网络发现特征并根据前后词语的关联性引入情感极性转移模型进行情感分析并取得不错效果。

文中使用句子级别的情感分类方法,通过利用上下文语义信息,避免了词级别分类所带来的分类不准确问题;提出了词嵌入和多通道卷积神经网络(word embedding and multi-channel convolution neural network,WMCNN)模型应用于商品短评论的情感分类任务中。首先按照高斯分布随机初始化词向量,然后将其训练好并进行组合,最后将其作为卷积神经网络的输入特征,并作为网络参数一起参与迭代训练过程。此外,在使用相同数据集的基础上,引入几组机器学习模型来进行比对。

1 理论基础

1.1 卷积神经网络

卷积神经网络是近年兴起的机器学习的一个研究领域,它的概念最初由Hinton等[9]在2006年提出,是利用多层神经网络去模拟人脑对信号的分析,从而提取有效特征。卷积神经网络被提出以来在计算机视觉[10]、语音识别[11]和自然语言处理[12]等领域取得了卓越的效果。卷积神经网络的卷积层能很好地提取数据的局部特征,通过池化层又能够在局部特征中进一步提取最具有代表性的特征[13]。为实现评论短文本中的特征信息得到有效的挖掘和表达,文中引入了卷积神经网络模型来解决短文本评论的情感分类问题。

1.2 词向量

2 基于WMCNN的短评语情感分类

基于卷积神经网络的短评语情感分类模型的流程模型结构如图1所示,具体包括预处理、卷积层、池化层和输出层,它们之间的关系为底层服务上层。

图1表示WMCNN模型的结构,首先将训练集进行预处理得到训练集和测试集。训练集通过多通道卷积操作、最大池化操作后经由Softmax分类器进行分类训练。测试集同样进行多通道卷积操作、最大池化操作,最后使用Softmax分类器得到分类结果。

图1 模型结构

2.1 WMCNN特征矩阵生成

卷积神经网络通常处理二维矩阵,因此需将文本处理成二维矩阵的数据作为模型的输入数据。在实验中定义的第一个网络层是嵌入层,这一层的作用是将词汇索引映射到低维度的词向量进行表示。模型首先从短评语训练集中提取出每条评论的特征矩阵,即对进行过预处理的数据进行jieba分词处理,这时将每个句子L:{x1,x2,…,xn}划分成了n个词x1,x2,…,xn。获取L中每个词xi的词表达,其中xi∈Rk,是指这条评论中第i个词所对应的k尺寸词向量,所以将xi表示为Rk×1空间中的向量Xi:

Xi=(yi1,yi2,…,yik)

(1)

将L中所有的词语的词表达按照词序列的方式从上至下排列:

x1:n=x1⊕x2⊕…⊕xn

(2)

卷积神经网络的输入即为n个k维向量组合而成的n×k的二维矩阵。假设数据集中的长度最长的评论的词语个数为n,对于长度小于n的样本,进行补零处理。具体的评论L被转换为Rn×k的特征矩阵为:

(3)

2.2 WMCNN的卷积层

在卷积神经网络中,卷积层的主要作用是通过窗口的滑动来提取输入层输入的数据的局部特征。在该实验中,选取大小为h×k维的卷积核在文本矩阵中滑动来获取短评语中的卷积特征。其中h为窗口大小,k为词向量维度,不同的卷积核能够得到图像不同映射下的特征。模型在实验中会设置多个卷积核是为了能够更加全面地获取评论短语表达中的特征,从而降低特征提取过程中的偶然性。为考虑实验整体的训练效果,实验选择了三组卷积核。其中卷积操作中的滤波器大小w∈Rh×k:

(4)

这个是指对窗口大小为h的k维词向量进行卷积操作,则输出特征为:

yi=f(w·xi:i+h-1+b)

(5)

其中,b为偏置;f为激活函数。

为了加快训练的收敛速度,实验中采用了ReLu函数作为激活函数:

f(x)=max(0,x)

(6)

滤波器会被应用在一个句子中每一个可能窗口里的单词即输入文本的矩阵{x1:h,x2:h+1,···,xn-h+1:n}产生一个特征图:

y=[c1,c1,…,cn-h+1]

(7)

2.3 WMCNN的池化层

池化层一般都直接放在卷积层后面,是为了简化从卷积层输出的信息并且输出一个更紧凑的特征映射。池化层是对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征。

实验利用最大池化操作来进行特征筛选,对特征图y进行池化操作所筛选出的特征值y'可表示为:

(8)

假设每组卷积核的数量均为s,则最大池化层的输出为:

(9)

2.4 WMCNN的Softmax分类器层

最后一层采用全连接方式,将池化层的输出作为全连接层的输入,通过Softmax分类器来完成对情感类别概率的预测从而映射出正负情感。为了防止过拟合,在全连接层的训练中引入Droupout方法,即每次迭代的过程中都随机放弃一部分训练好的参数。

池化层得到n个训练数据{(x1,y1)(x2,y2)…(xn,yn)},其中xi是文本特征向量,yj是文本类别。用假设函数针对每个类别yj估算其概率g(p=yj:xi)。文中进行的是短文本二分类,其假设函数如下:

(10)

为了计算模型的准确性,对模型进行概率误差计算,其损失函数表达式如下:

(11)

现行的模型训练方法依然是使用梯度下降法,实验采用mini-batch梯度下降的方法来进行训练。该方法是每次只选择一小部分样本参与权值更新的计算,这样在保证寻求最优解的同时还能兼顾收敛速度。

3 实 验

3.1 实验设定及评价标准

数据预处理阶段的主要目的有两个。一个是过滤掉垃圾评论,另一个是将评论分句变为短文本的评论。删除的评语包括默认的“好评”、随意输入的字符以及“赞”、“不错”、“还行”等过短的评语。同时对长评论做分句处理,然后进行词向量训练。

实验开始之前需要对模型的参数进行确定。具体包括以下几个参数:

(1)卷积核尺寸:考虑到上下文语境的影响,卷积核的宽度保持不变,设置三个窗口大小分别为3、4、5的不同卷积核进一步减少特征提取时出现的偶然性。

(2)Dropout比例:按照一定概率来“禁用”一些神经元的发放。是为了防止过拟合,实验中设置为0.5。

(3)批量值:对数据集进行批次迭代操作,实验中采用多次迭代交叉验证结果,每10次保存一次结果,并取10次结果的平均值。

网上评论短语分类的评价标准以准确率(Accuracy)为测试指标,具体计算方法如下:

(12)

其中,True(xi)为类别为xi的并且分类正确的短评语数量;Doc(xi)为类别为xi的总短评语数量;TP、TN为正确分类的正向短评语和负向短评语;FP、FN为错误分类的正向短评语和负向短评语。

3.2 实验对比

TensorFlow允许在训练和评估阶段来跟踪和可视化各种参数。图2和图3分别为本次实验的训练精度和测试精度。结果表明,训练集准确率与测试集准确率基本相同,证明该模型没有过拟合现象。

图2 训练集准确率

图3 测试集准确率

为了测试模型的效果,一般选取几种其他方法应用在相同的数据集上查看对应效果。该实验采用10折交叉验证法,结果如表1所示。可以看出,实验所应用的模型对短评语文本的分类结果有了提升,说明该模型能提高短评语文本情感分类的效果。

另外选取其中一折的实验结果,如图4所示。

图4 准确率对比曲线

方法12345678910平均值SVM87.2585.7486.6585.8686.1586.7386.3485.9086.7985.9986.34CNN87.6289.4188.3989.2489.1588.7989.2488.9989.4589.0288.93CNN+Skip-gram90.2691.7891.6991.3690.5391.8290.7991.2490.4691.1791.12WMCNN91.6491.0891.3791.3290.8190.8491.2591.4991.5691.1491.26

可以看出,深度学习方法的实验效果比基于特征的SVM的传统机器学习效果好。没有加入模型和任何处理的卷积神经网络方法在情感分类效果上不是特别理想。而CNN+Skip-gram和文中使用的CNN+rand效果基本相同,可以看出准确率基本相同,但CNN+rand的收敛速度更快。由此可见,在样本较少的实验中,CNN+Skip-gram容易在类别分析上出现分类误差,对于情感词会出现不能识别的问题。所以在小样本的短评语文本数据集上CNN+rand取得了较好结果。

4 结束语

针对网上评论的情感分类问题进行了研究,提出了基于卷积神经网络的网上评论短文本情感分类模型,该模型不仅能挖掘更多的文本特征,同时相对于其他算法在准确率上也略有提高。文中的创新点在于采用了句子级别的情感分类,在考虑借助上下文语境的基础上消除了对情感词典的依赖。由于文中主要针对单标签标注的特征提取,在多标签分类方法中并未涉入研究,因此今后的工作将深入研究卷积神经网络的模型结构,以期在多标签分类模式下数据量较大的数据集也能得到效果较好的情感分类,从而使神经网络模型能够更加适用于情感分类的问题。

猜你喜欢

评语卷积神经网络
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
流沙河语录及诸家评语
周克芹语录及诸家评语
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
教师评语
基于傅里叶域卷积表示的目标跟踪算法