一种融合双向LSTM和CNN的混合情感分析模型*
2021-11-09赵星宇范双南邓永和
赵星宇, 何 浩, 范双南, 邓永和
(1.中南大学 湘雅护理学院,湖南 长沙 410013;2.湘潭大学 计算机学院·网络空间安全学院,湖南 湘潭 411105;3. 湖南交通工程学院 电气与信息工程学院,湖南 衡阳 421009;4.湖南工程学院 计算科学与电子学院,湖南 湘潭 411104)
0 引言
人们的生活越来越多地在互联网上进行,在COVID-19大流行期间,人们对社交的需求加剧了这一趋势.人们更频繁地使用微博、知乎和淘宝等在线评论平台,通过了解这些平台上产生的情感内容类型可以提高业务洞察力并提供个性化的建议.为此,情感分析技术被应用于理解微博、在线评论(如电影和餐厅评论)、知识问答和其他在线社交媒体上产生的情感内容.
在信息、互联网和社交媒体时代,人们收集和分析情感的需求越来越强烈.随着网上海量的数据和话题的增加,一个模型可以在任何时刻收集和跟踪成千上万个话题的民意信息.然后,这些数据可以用于商业、经济甚至政治目的,这使得情感分析成为一个极其重要的反馈机制.
目前对于情感分析的研究主要从三个方面开展:基于情感词汇语义特性的方法、基于统计自然语言处理的方法和基于神经网络技术的方法.
首先是基于情感词汇语义特性的方法,情感倾向主要是由情感语义词典确定的.情感语义词典是指人工构造标注有情感倾向的词典[1].王铁套等[2]利用网络舆情评论数据,结合语义模式和词汇情感倾向,形成了一种判定算法.
其次是基于统计自然语言处理的方法,通过支持向量机、贝叶斯分类器和神经网络等机器学习方法对自然语言进行建模.通过大量的数据训练文本的情感特性,并将训练好的模型对情感特征进行识别和分类.首次将机器学习方法应用于自然语言处理领域,分别用支持向量机(SVM)、贝叶斯分类器和最大熵等模型对电影影评数据进行分类.在分类的结果中,SVM模型识别率为82.9%,获得了最好的实验效果.
第三是基于神经网络技术的方法,是将情感分类视作一种多分类问题,该方法能够处理大规模的数据,并拥有较好的效果,广泛应用于自然语言处理领域.Socher[3]提出Matrix-Vector循环神经网络(RNN)模型,这种优化后的模型不仅使用词向量组合句向量的能力,而且通过添加矩阵对核心词的组合词进行记录和修改.Tai[4]在RNN文本分类模型基础上进一步提出长短期记忆(LSTM)文本情感分类模型,LSTM通过门机制解决了RNN所不能解决的长期依赖问题,因而更加符合文本理解的要求,但是LSTM和RNN模型只具有前向信息记忆能力而不能对前后向序列信息进行记忆,故Brueckner[5]提出了双向LSTM模型,该模型在LSTM模型上增加了反向层,使得LSTM能够同时考虑上下文信息,对反向序列信息进行记忆,获得双向无损的文本信息.Cao等[6]利用卷积神经网络(CNN)模型提取的特征用SVM模型进行分类,将机器学习模型和深度学习模型相结合,取得了不错的效果,但情感分析工作中,每个词对整体情感倾向的影响是不同的.Qian等[7]虽然使用了注意力机制,但是没有直接从文本中挖掘重要的信息.最近基于Transformer技术路线的BERT等预训练语言模型被广泛应用于提取文本特征,逐渐用于情感分析中.Shi[8]提出了Transformer的鲁棒性验证方法,分析了情感分析中不同词的重要性.
以上文本情感分析方法各有优势,相比而言,基于情感词汇语义特性的识别方法使用情感词典统计带有情感标注的短语计算情感得分,提高了文本情感分析的准确度.但文本情感分析的准确率和情感词典规模的关联度较大,实时性不强.基于统计自然语言处理的方法使用人工标注的方式构造结构化的文本特征,可以有效地提高文本情感分析的准确率; 但由于需要较多的人工构造特征,实时性仍然不强.基于神经网络的方法可以从向量化的文本词汇中自动提取语义特征,不依赖人工构造的特征; 但是,使用单一的神经网络模型进行特征提取,不能同时提取文本上下文信息和局部语义特征.
综上,针对现有文本情感分析方法实时性不强、难以应用到大规模文本、不能同时提取文本上下文信息和局部语义特征等问题,提出一种融合双向LSTM和CNN的混合情感分析模型.通过双向LSTM和CNN模型对文本词向量进行训练,运用注意力机制将双向LSTM模型学习到的特征作用于CNN模型上,对其进行特征加权,最后将双向LSTM模型和CNN模型得到的结果进行拼接,由softmax分类器得到相应的情感分类结果.
1 BiLSTM-CNN混合情感分析模型
基于BiLSTM-CNN的混合情感分析模型主要分为文本词汇向量化、特征提取、情感分类等三个步骤.文本词汇的向量化首先对输入的中文文本进行分词处理,然后利用word2vec模型将文本词汇转化成含有语义信息的实数词向量.特征提取使用BiLSTM-CNN混合模型,细分为BiLSTM提取文本的上下文信息和CNN提取局部语义特征.情感分类通过使用softmax分类器得到不同情感倾向的分类.最后,使用十折交叉验证方法对基于BiLSTM-CNN的混合模型进行训练以及性能评估.融合双向LSTM和CNN的混合情感分析模型如图1所示.
图1 融合双向LSTM和CNN的混合情感分析模型Fig.1 Mixed sentiment analysis model combining bidirectional LSTM and CNN
1.1 词向量表示
2013年Google公司发布了word2vec深度学习框架,它能够将语料库中词语以词向量的形式表示,获取词与词之间的语义相关性,为神经网络语言模型在各个领域的广泛应用提供了更为有效的方法.使用word2vec将文本中每个词映射出词向量的形式,这些词向量组成了一个词向量矩阵M∈Rd.在用词向量对文本进行表示时,用wt表示文本的第t个词,其中wt∈Rd,则M可表示为
M={w1,w2,w3,…,wn}∈Rn*d,
(1)
式中:n表示词向量的个数;d表示词向量的维度.
将文本转换为词向量之后,可作为双向LSTM模型和CNN模型的输入.
1.2 双向LSTM模型
尽管LSTM模型能够较好地解决RNN模型的梯度消失(gradient Vanishing)和历史信息损失等问题,能够获取前文的信息,但该模型缺乏对下文的信息融合.为此,当文本比较复杂时,单向的LSTM模型对词向量的特征提取不够全面,而引入双向的LSTM模型能够较好地获取上下文的信息,获取更丰富的文本特征.
(2)
(3)
1.3 基于注意力机制的卷积神经网络模型
卷积神经网络模型结合注意力机制,在训练过程中以不同的权重来关注目标,可以学习到文本更多的隐藏信息,从而更好地识别不同的情感立场.传统的卷积神经网络模型一般由一个或多个池化层组成.常用的池化层如平均池化层和最大池化层存在一定的缺陷:平均池化层对通道领域的特征求平均,丢失了特征的强度信息;最大池化层对通道领域的特征求最大值,丢失了特征的时序信息和特征强度信息.针对卷积神经网络池化层使用注意力机制,有利于缓解传统池化层的缺陷.
1.3.1 输入层使用NLPCC-SCDL评测任务的数据集,对其中的文本进行预处理,并将处理后的文本使用word2vec转化为文本词汇的词向量,作为卷积神经网络模型的输入.设定卷积神经网络模型的输入为HCNN={〈T〉},表达式为式(4),其中T={x1,x2,x3,…,xn}表示词向量集合.
(4)
式中:HCNN∈Rn*d(n表示n个词向量,d表示每个词向量的维度为d).
2.3.2 卷积层获取到HCNN输入之后,选取2r个m×d大小的卷积核,步长为1,采用“same”模式,对其进行卷积操作.例如,一个特征Yi可由窗口hi:i+m-1产生,见式(5)
Yi=f(w×hi:i+m-1+b),
(5)
式中:f表示RELU激活函数,RELU能使模型较快地达到收敛的状态;w表示权重项;b表示偏置项;hi:i+m-1表示HCNN矩阵的第i行到第i+m-1行的特征.最终形成一个m×T维的特征矩阵S∈Rm*2r,如式(6),其中si∈R1*2r.
S=[s0,s1,…,sm]T.
(6)
2.3.3 注意力机制为了增强模型的表达能力,更好地捕捉文本中的有效信息,抓住语义的重点,采用注意力机制,在训练过程中让模型关注部分重要的信息.双向LSTM模型能很好地保留历史和未来的时序信息.而相对于LSTM模型来说,CNN模型可以更好地保留文本的局部上下文信息.所以本文通过计算双向LSTM模型提取特征和CNN提取特征的余弦值,来确定局部特征对整体特征的重要程度.将双向LSTM模型得到的词向量特征Qt∈Rl*2r和卷积层神经网络得到的词向量特征si∈R1*2r进行余弦运算,并用softmax函数对其归一化,可得到注意力权重值,见式(7).
αi=softmax(cos(Qt,si)).
(7)
将注意力权重值α∈Rm对卷积特征矩阵S∈Rm*2r进行加权.通过引入注意力机制,来计算文本的重要程度,进而有选择性地保留有用的特征,见式(8).
(8)
2.3.4 分类器将双向LSTM模型得到的词向量特征和卷积层得到的词向量特征进行连接,作为softmax分类器的输入,如式(9).
inputclassify=[Q,S′].
(9)
输入每一类的概率值p,见式(10).
(10)
式中:Wclassify为权重系数;bclassify为偏置系数.
2.3.5 模型训练采用端对端的模型训练方法,损失函数用来描述模型对问题分类的精度.损失函数越小,代表模型的分类结果与真实数据的偏差越小.使用Cross-entropy作为损失函数,该损失函数最早出现在信息论里面,广泛应用于多分类问题、通信、纠错码和博弈论等领域.同时在损失函数中,加入L2正则化项,来防止过拟合的情况,最终的损失函数的表达式见式(11).
(11)
3 实验与分析
3.1 实验数据
采用NLPCC2014深度学习技术情感分类任务(NLPCC-SCDL)的数据集来评估所提出的组合式情感分类模型.NLPCC-SCDL任务被设计用来评估,旨在评估基于深度学习的情感分析模型.该数据集包括中文和英文的产品评论(简称中方和英方). 该数据集包括来自多个领域的中文和英文产品评论(分别为中文和英文),包括书籍、DVD和电子产品.数据集约定的立场类别分为支持(Positive)和反对(Negative)两种立场,其中训练集5 000条,测试集1 250条(如表1所示).使用中文分词库jieba进行分词处理,采用哈尔滨工业大学停用词表去除停用词.
表1 NLPCC-SCDL数据
3.2 评价标准
数据分类的评价标准主要为精准率P(Precison)、召回率R(Recall)和F1(F1-Measure),见式(12),准确率(Accuracy)见式(13).
(12)
(13)
式中:TP表示正确分类中积极立场的数量;FP表示错误分类中积极立场的数量;TN表示正确分类中消极立场的数据;FN表示错误分类中消极立场的数量.
3.3 参数设置
实验中所涉及的权重参数W和偏置参数b,采用随机初始化的方式进行初始化,词向量的维度设置为200,实验过程中的参数设计如表2所示.
表2 模型参数设置
3.4 实验结果
为了验证融合注意力机制的双向LSTM和CNN的混合情感分析模型ATT-BLSTM-CNN方法的有效性,与以下4种方法在中文和英文数据集上进行对比实验,具体实验数据如表3、4所示.
表3 不同模型的中文数据集实验数据对比
表4 不同模型的英文数据集实验数据对比
表中NLPCNN-SCDL-best表示NLPCC-SCDL评测任务中分类效果最好的模型;CNN表示基于卷积神经网络的文本情感分类模型;CNN-SVM是Cao等[6]提出的结合卷积神经网络与支持向量机的分类模型;BLSTM-CNN表示使用双向的LSTM和CNN混合模型,但不使用注意力机制.
实验结果表明,无论是在中文数据集,还是在英文数据集上,融合注意力机制的双向LSTM和CNN的混合情感分析模型ATT-BLSTM-CNN方法都高于NLPCNN-SCDL评测任务中性能最佳的模型.相比于NLPCNN-SCDL-best模型,在中文数据集和英文数据集上准确率分别提高了7.3%和9.2%,相比基于卷积神经网络的文本情感分类模型(CNN),在中文数据集和英文数据集上准确率也分别提高了1.5%和4.1%,这说明融合注意力机制的双向LSTM和CNN的混合情感分析模型合理有效,它使得分类的性能大幅度提高.相比于NLPCNN-SCDL-best模型,CNN模型在识别率上有一定的提高,CNN模型能获取更加丰富的局部特征.引入注意力机制,通过不同的权重来关注目标,可以学习到文本更多隐藏信息,从而更好地识别不同的情感立场.
4 结论
卷积神经网络有助于学习如何从数据中提取特征.然而,它也需要许多卷积层来捕捉长期的依赖性,随着神经网络中输入序列长度的增加,捕捉依赖性变得更差.基本上,它会导致卷积神经网络的层数非常深.LSTM模型能够捕捉词序列之间的长期依赖性.在本研究中,我们提出了一种用于情感分析的融合双向LSTM-CNN模型.本研究提出的融合双向LSTM-CNN模型在NLPCC-SCDL数据集上表现得比较好,与单一CNN和LSTM模型相比,准确率较高.与传统的机器学习和深度学习模型相比,提出的融合双向LSTM-CNN模型的准确率达到了88%.