李 辉,王一丞
(1.河南理工大学 物理与电子信息学院,河南 焦作 454000;2.河南理工大学 电气工程与自动化学院,河南 焦作 454000)
文本情感分类,也被大众媒体称为意见挖掘[1],是自然语言处理(Natural Language Processing,NLP)领域的一个重要分支。文本情感分类通常指对带有主观情感倾向的文本进行信息提取和情感分类,被广泛应用于产品分析及民意调查等方面。近年来,随着网评媒体及互联网交互产业的快速发展,各种电商平台出现在日常生活中,网络购物成为普通大众的日常生活方式,也催生了海量商品评论文本。对有价值的文本进行情感分类操作,不仅可以帮助用户甄别产品的质量,还可使商家精准挖掘用户偏好,以便进行产品升级。
早期,支持向量机[2](Support Vector Machine,SVM)和朴素贝叶斯[3](Naive Bayes)等多种机器学习方法被广泛应用于文本情感分类领域。利用这些方法虽然取得了一定的效果,但这些浅层学习方法需要应用大量专业领域知识,因此在一些复杂文本的情感分类实现上,机器学习方法无法满足与日增的数据要求。深度学习可以自动提取文本特征[4],克服了传统的机器学习算法的缺陷,已被大量应用于NLP任务处理中。卷积神经网络(Convolutional Neural Network,CNN)起始于图像领域,其相对传统机器学习方法可有效提高算法准确率。文献[5]将CNN应用于短文本的情感分析中,验证了其应用于情感分类任务的可行性。但文本的上下文信息仍不能被充分学习。文献[6]利用CNN对Twitter消息中的词组向量进行特征提取。文献[7]将 CNN 和 Multi-Attention机制结合,有效缩短了平行化文本的训练时长,并解决了内容注意力机制对外部知识的依赖问题。文献[8]将卷积神经网络和长短期记忆神经网络(Long Short-Term Memory,LSTM)相结合,对英文文本进行情感分类,发现CNN-LSTM 模型在英文文本情感的分类准确率要高于单独的LSTM模型和CNN模型。文献[9]提出了两种双重LSTM模型,解决了单纯LSTM对全面文本特征提取效率低下的问题。文献[10]通过对影评集评论的情感分析,准确构建了基于用户兴趣的模型算法,提高了算法的召回率和准确率。文献[11]构建耦合输入和遗忘门网络模型(Coupled Input and Forget Gate,CIFG)网络模型,通过将其与CNN相结合,对文本中的情感信息进行学习。结果显示,通过该方法,正面和负面文本的分类性能在准确率及召回率等多个评价指标上都有明显提高。Attention机制最近被广泛应用于深度学习当中。文献[12]将视觉注意力和主题建模相融合,设计了 NICVATP2L 模型。在自然语言处理领域,研究人员希望对文本进行有差别特征提取,因此Attention机制也被应用于情感分析研究当中。文献[13]最早将基于细粒度的 Attention 机制应用于机器翻译任务,将每个词训练过程中学会的表达同预测将要翻译的词联系起来,将 Attention 机制引入其中,得到了较好的翻译效果。文献[14]将卷积神经网络、递归神经网络(Recurrent Neural Network,RNN)以及长短时记忆模型进行融合,构建了分层的情感分类模型,并用该模型成功捕获了文本的显著部分。文献[15]提出了一种基于Attention机制的LSTM-CNN模型,用于识别社交文本中的不确定性信息,其F1指标得分在微博及新闻文本数据集上都有明显的提高。Attention机制也被大量用于文本摘要、文本校对、句子选择性问答等问题的解决当中。文献[16]利用RNN网络对中文微博预料进行情感分类任务,发现在文本分类中RNN比CNN有更好的分类效果。但RNN需要长期依赖学习,且会导致梯度爆炸或梯度消失现象的产生。为了解决这一问题,研究人员相继提出LSTM和CIFG网络,并将其应用在情感分析领域。相对于LSTM模型,CIFG 模型只需要通过一个门就可以实现控制输入和细胞之间的递归自连接状态。相较于LSTM模型,CIFG在参数数量和计算复杂度上都有所降低。在分析文本情感时,由于样本数据量巨大,只有对重点情感短语给予足够关注,才能有效提高模型的性能。
为有效解决以上问题,本文提出了一种 CNNCIFG-Attention 模型。将CNN提取得到文本矩阵的局部信息特征,输入CIFG模型学习文本上下文信息,最后引入注意力机制对深层次文本信息进行权重分配,提高重要信息对情感分类的影响强度。本文将CNNCIFG-Attention模型在京东购物评论集和豆瓣影评集上进行对比实验,将准确率、F-Score值作为实验评价指标,验证CNNCIFG-Attention 模型在文本分类方面的有效性。
由于语音和图像具有相对丰富的高维向量表示,属于较为底层的原始输入信号,因此更适合特征学习。文本词句属于更加高层的认知抽象实体,将文本词语信息转化为计算机能够识别的特征向量,就能够对文本蕴含的语义信息进行训练和学习,最终达到文本情感分类的目的。
文献[17]提出用神经网络训练词向量的方法对大量的语料信息进行分词处理,再将每个词语转换成其对应的向量形式,通过比较不同词向量间的数学联系来获取多个词之间的关系。但该方法的模型参数数量过多,收敛速度较慢。文献[18]对Word2vec框架进行了详细介绍。该框架运行更加高效快捷,适合对大规模数据进行处理。Word2vec拥有两个主要模型,分别是通过中心词预测其前后相邻多个词组的Skip-gram模型和通过其前后多个词组预测该中心词的CBOW模型。本实验使用Word2vec模型训练词向量,将生成的词向量拼接成词向量矩阵形式,作为实验的原始输入特征。
图1 文本情感分类模型结构示意图
CNN是一种通过线性运算处理网格型数据的网络模型,其工作机理是通过卷积运算来代替普通矩阵运算。由于文本语言具有前后信息相关联的特性,因此CNN常用于处理自然语言相关联问题。本实验使用多个卷积核对词向量组矩阵按规则进行扫描,提取各部位的检测特征。本实验中xt∈Rd为一个输入句子的第t个词组的词向量,d为该词向量的维度。该句子对应的词向量矩阵为
x1:l=x1⊕x2⊕…⊕xl
(1)
式中,l表示句子的长度;“⊕”用于连接各词向量;x1∶l∈Rl×d为输入的一个句子。其中滤波器窗口大小为k×k,则将卷积过程表示为
Ct=f(w·xt+k-1+b)
(2)
式中,b为该滤波器对应的偏置;ω为参与计算的权重计算矩阵;f采用了ReLU作为非线性激活函数,其表示为式(3)。
f(x)=max(0,x)
(3)
传统的基于CNN的文本情感分类过程通常在生成特征图后加入池化层对特征信息进行采样。但无论是最大池化异或平均池化,都会损失部分有用的特征信息。因此,在本文得到句子特征图后,用 LSTM的变体CIFG单元对特征信息进行特征序列学习,取代原有的池化操作,可以获得更好的学习效果。
采用CIFG模型对特征信息序列进行学习后,将其各时刻隐藏层状态作为 Attention层的输入计算文本各词向量权重。将加入权重分配后的文本向量作为Softmax层的输入,对文本情感预测值进行计算。
下式为通过卷积步骤后对局部卷积进行全连接的过程。
C=[C1;C2;…;Cl]
(4)
为了多角度提取文本特征,本文选用多个卷积核,得到多个相对应的不同特征信息的特征图。
CIFG模型是LSTM在发展过程中的一种变体,图2展现了其网络单元的内部结构。CIFG用“门”的结构设计来决定该支路上信息是否通过。CIFG使用单个门控制输入与网络细胞间的递归连接,相对于LSTM需要3个门结构的连接方式,CIFG大幅简化了结构。CIFG最初被用于语音识别和机器视觉的研究,近几年开始被应用于自然语言处理领域。CIFG细胞更新过程为
图2 耦合输入和遗忘门网络单元结构图
(5)
ft=σ(Wf·[ht-1,xt]+bf)
(6)
(7)
式中,σ是激活函数,通过输出[0,1]间的数来决定信息的通过量;tanh表示双曲线正切函数,其输出值介于[-1,1]之间;Ct是该细胞的输出;Ct-1为前一个细胞的输出结果;ft和t为t时刻CIFG更新计算过程中的两个中间变量;bf和bc这两个中间变量对于的偏置量;ht-1代表前一个细胞输出的隐层状态。CIFG通过单个门控制网络单元的递归连接,相较于LSTM,CIFG的参数更少,数据迭代速度更快,因此本文采用CIFG对文本序列信息进行学习。
Attention机制最初被应用于语音处理和机器视觉等相关研究中。传统深度学习方法与注意力机制的融合取得了突破性的进展,近年来被广大学者用于自然语言处理方向,凸显了Attention机制对语言处理的优越性。Attention机制通过对文本各部分数据进行加权变换,将不同部分相联系,突出语义重点,使整个情感分析系统表现出更好的分类效果。Attention机制通过对关键信息分配足够的关注来突出局部重要信息,其结构如图3所示。
图3 注意力机制结构图
在该层中,CIFG的隐藏层状态到新的隐藏层状态的向量s为t时刻旧隐层状态占新隐层状态比重at与旧隐层状态ht依次相乘然后累加求得,即注意力层提取后的文本特征向量
(8)
(9)
et=zttanh(ωtht+bt)
(10)
式中,et表示t时刻ht所决定的能量数值;zt和ωt分别表示第t时刻参与计算的权重系数矩阵;bt表示第t时刻对应的偏移量。将s作为预测层的输入,使用Softmax函数可计算测试文本不同属性类别的概率大小。
将Attention层输出的词向量矩阵输入Softmax 分类层,可得到文本分类属性预测值,其计算式为
(11)
式中,y(t)为t时刻该文本情感预测值。计算模型损失函数依据式(12)求取。
(12)
本实验使用Python3.6进行编程,并采用Keras 深度学习框架,底层为TensorFlow,实验操作系统为Windows 10。
为验证CNNCIFG-Attention模型的有效性,本文从互联网爬取一定数量的用户真实评论文本数据来对所提出的混合模型进行性能测试。该数据集详细情况如表1所示。
表1 数据集
数据集所使用的文本评论较为口语化,需要对文本数据进行预处理。本文利用Jieba分词器对中文句子进行分词处理,用网络搜集的停用词表删除文本包含的停用词,去除文本中的网络链接等无用信息。将文本分为积极评论数据和消极评论数据两类,并均衡地将两类文本数据按照8∶2的原则进行划分,也就是划分将80%的数据作为输入对模型进行训练,而剩余20%数据作为测试集,来验证混合模型的性能。
实验中需要对许多超参数进行设置,并在每一次迭代完成后,根据实验结果的准确率、损失率对超参数进行调整。经过多次迭代,实验最终的超参数设置情况如表2所示。
表2 模型参数设置
本文选取准确率(Accuracy)和F-Score作为文本情感分类模型评价指标,其计算式为
(13)
式中,M为测试集总的样本量;m为测试集中被正确分类的样本数量。F-Score可由精准率P和召回率R计算得到
(14)
(15)
(16)
式中,TP表示类别为积极且分类正确的样本数量;FP表示分类错误的积极类别样本数量;FN表示被错误分类的消极样本数量。准确率和F-Score数值越高,代表混合模型的情感分类效果越好。
CNNCIFG-Attention模型的具体实验步骤如下:
步骤1进行数据清洗;
步骤2将数据样本统一为具有固定长度的索引向量的形式;
步骤3对训练集和测试集进行均匀划分;
步骤4拼接词向量成为词向量矩阵,作为CNNCIFG-Attention模型的输入;
步骤5通过卷积提取文本向量矩阵局部特征,将其输出作为CIFG的输入,进一步提取文本深度特征;
步骤6加入Attention层为各文本向量分配合适的权重;
步骤7用爬取的测试集对CNNCIFG-Attention 模型的性能进行评估。
本文共设置6组常见对比模型进行试验,来比较使用CIFG和注意力机制模型对文本情感分类结果的影响。6组模型结构情况如下:
(1)Naive Bayes。将经过Word2vec训练的词向量输入该网络,训练学习文本的序列特征信息;
(2)SVM。将经过Word2vec训练的词向量输入该网络,训练学习文本的序列特征信息;
(3)CNN。将经过Word2vec训练的词向量输入该网络,其中用CNN提取词向量矩阵特征,用来学习文本的序列特征信息;
(4)CNN-LSTM。将经过Word2vec训练的词向量输入该网络模型,并结合卷积神经网络和长短时记忆网络的混合模型。其中LSTM代替了卷积神经网络的池化层,用来进一步学习文本的序列特征信息;
(5)CNN-CIFG。将经过Word2vec训练的词向量输入该网络模型,并结合CIFG和长短时记忆网络的混合模型。其中CIFG代替了卷积神经网络的池化层,用来学习文本的深度序列特征;
(6)CNNCIFG-Attention。在CNN-CIFG模型基础上加入注意力机制,对重点文本给予足够关注。
本文实验结果如表3所示。通过对比可知,本文所提的CNNCIFG-Attention混合模型在准确率和F-Score数值上较其他网络模型都有所提升,证明该模型在中文文本情感分析方面具有可行性和一定的优越性。
表3 6种模型对比
通过Naive Byes、SVM及CNN共3个模型的分类结果可以看出,相对传统机器学习算法,深度学习算法分类效果更佳。对比CNN、CNN-LSTM及 CNN-CIFG模型的分类结果可以看出,混合的深度学习网络模型分类效果要优于单个深度学习模型,且CIFG在文本情感分类准确率以及F-Score的提高方面较LSTM有更好的效果。加入了 Attention层后的CNN-CIFG模型,由于其对重要文本信息给予了更多的关注权重,通过比较文本向量间的关联度分析文本数据的重要性分布,增强了重点文本对整个样本情感分类的影响力,体现了更好的文本情感分类效果。
另外,针对京东商品评论文本集通过20轮迭代实验,将各模型文本情感分类获得的准确率和F-Score数值分别绘制折线图,如图3和图4所示。从图中能够观察到各个模型在20轮迭代中准确率和F-Score数值的变化。对比可知,CNNCIFG-Attention 模型性能优于其他传统神经网络,并且在第10轮附近性能达到最佳效果,表示此时模型已达到收敛状态,可停止训练。
图4 不同模型准确率变化图
图5 不同模型F-Score变化图
本文通过介绍及对比几种深度学习方法在自然语言处理方面的应用,提出了一种新的CNNCIFG-Attention 神经网络。相比较于 Naive Bayes、SVM、CNN 和 CNN-LSTM 网络,CNN-CIFG网络在提高中文文本情感分类的准确率及F-Score数值方面有着更好的表现。同时由于 CIFG 简化了LSTM 的结构,加入CIFG 的网络训练时间更快。本文实质是将 CIFG取代CNN的池化层并发挥其对文本序列的学习能力。由于训练数据量较大,为提高对重点文本信息的捕捉能力,本文又加入了 Attention 层,对所有文本向量分配并储存不同的权重,有效提高了整个混合网络的性能。下一步研究中,将对网络结构及学习算法进行深入研究,优化参数。此外,将继续寻找在海量数据的情况下,文本分析能力更强,计算量更小,更适宜中文文本情感分类的网络模型。