APP下载

基于跳转LSTM-CNN模型的Twitter情感分析

2021-11-17李俭兵许萌萌

计算机仿真 2021年8期

李俭兵,王 俊,许萌萌,王 成

(1.重庆邮电大学通信与信息工程学院,重庆 400065;2.重庆信科设计有限公司,重庆 401121)

1 引言

随着信息技术的高速发展,推特(Twitter)、脸书(Facebook)等社交平台每天会产生数以亿计的文本数据。Twitter是巨大信息的来源,每天产生超过5亿条推文[1]。庞大的推文(Tweet)提供了丰富的人际互动信息,从中挖掘情感极性[2]可以获取更多有用的信息。本文主要分析Twitter数据集的情感极性。

情感分析(Sentiment analysis)又称意见挖掘[3](Opinion mining),是对文本数据所表达的情感信息进行挖掘、分析的过程。从文本的粒度[4]来看,可以分为词语级别、句子级别和篇章级别的情感分析。在基于词典[5]的方法中,需要机械化的构造情感词典,对数据进行字符串匹配,从而挖掘情感信息。随着文本规模的不断增大,完备的情感词典很难构造,该方法目前已基本不再使用。在基于机器学习的方法中,将文本处理后得到特征后,将特征输入到分类器中。常用的方法有支持向量机(Support Vector Machine,SVM)[6]、决策树[7]、叶斯(Naive Bayesian,NB)[8]等。该方法对逻辑较强的文本学习和复杂函数的表达能力明显不足,对复杂分类问题的泛化能力受到限制。

近年来深度学习方法的兴起,可以有效地弥补以上方法的缺陷,深度学习的方法可以自动抽取特征值以及学习特征表示[9]。该方法在自然语言处理领域,例如文本分类、情感分析等任务上也获得了很多研究成果。Kalchbrenner[10]提出了一种用于情感分类的卷积神经网络(Convolutional Neural Networks,CNN)模型,用于处理不同序列长度的输入句子。Tai和Socher[11]提出了一个关于情感分类的长短期记忆(Long Short-Term Memory,LSTM)框架,该框架对特征的语义表示进行了改进。

本文先对LSTM输入序列进行跳转,再通过LSTM-CNN混合网络模型进行情感分类。通过实验验证了该模型相比于LSTM-CNN混合模型在效率和准确度上均有所提升。

2 相关工作

本文的工作是对Sosa P M.提出的LSTM-CNN模型架构[12]进行改进,以下介绍相关的神经网络模型。

2.1 CNN

卷积神经网络是一种由卷积层和池化层叠加组合而成的前馈神经网络,对高维特征具有良好的学习能力,目前已被广泛应用于图像处理、语音识别等领域。2014年,Kim等人[13]创新性的将CNN用于处理文本任务问题,在几个数据集上均取得良好的结果。

图1 CNN模型

一个包含n个词的句子S={s1,s2,…,sn}可以被表示为二维矩阵的词向量X=[x1,x2,…,xn],其中x∈Rn*d,d是词向量的维度,将其输入到神经网络卷积层的输入,经过池化层降维后,最终输出到全连接层。

2.2 LSTM

近年来,针对循环神经网络(Recurrent Neural Network,RNN)具有“记忆性”的优点,成功将其应用在自然语言处理领域。在文本序列中,单词之间并不是独立的,文本的语义与单词之间的组合有关。CNN每层之间的神经元是无连接的,这种神经网络无法捕获输入文本的上下文依赖信息,而RNN会对前面的信息进行记忆判断并应用于当前的计算中。传统的RNN容易出现梯度爆炸和梯度消失等问题,LSTM可以有效解决这些问题,并已成为目前最常使用的循环神经网络。LSTM有三个门来控制信息的保存,分别是:输入门、遗忘门和输出门。LSTM通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息,从而更好地从整体上理解文本的情感。

图2 LSTM模型

2.3 LSTM-CNN模型

LSTM-CNN模型结合LSTM和CNN的优点,其中LSTM模型可以有效地保留长文本序列中历史信息的特征,CNN模型提取局部特征。通过CNN模型进一步提取输入文本的特征,该混合模型使结果准确度更高。将推文表示为词向量作为LSTM的输入,再依次通过卷积层、池化层和全连接层,最终得到情感分类结果[12]。

图3 LSTM-CNN模型

2.4 跳转LSTM

LSTM总是读取文本的所有输入内容,且较长序列输入过程缓慢,对于文本分类和情感分析等任务,大部分输入对预测结果是不需要的。跳转LSTM模型[14]在输入文本时跳过无关的信息,在效率上有了更好的预测结果。

3 型结构

本文基于跳转LSTM模型的预测效果的高效性和准确性,对Sosa P M.提出的LSTM-CNN模型进行改进。过程如下:

3.1 改进型LSTM-CNN模型

LSTM-CNN模型在情感分类取得较好的效果,其中LSTM层提取输入文本的语序信息,CNN提取局部特征[12]。

图4 跳转机制

该混合模型分类结果的准确度优于传统的CNN、LSTM模型。这里,本文对LSTM层进行改进,文本序列在通入LSTM层输出文本特征向量之前,首先计算跳转概率。

图5 跳转LSTM-CNN模型

该网络模型分为以下三个部分:

1)计算跳转概率

假设输入词向量是长度为T、维度为d的序列:x1,x2,…,xT,记为:x1:T。本文标记xt∈Rd是词向量的第t项。在第t项,将前向序列(x1:t-1)的特征编码为fprecede(t)∈Rp,后向序列(xt+1:T)的特征编码为ffollow(t)∈Rf。本文将后向序列分为两部分:局部后向文本、全局后向文本。例如:x1:T中的第t项xt,xt+1:t+m为局部后向序列,xt+1:T为全局后向序列。为了提取后项序列,本文采用微型反向LSTM,反向LSTM从序列最后一项逆序读取[14]。分别将反向LSTM和CNN的LSTM(t′)、CNN(t′)表示为步骤t的输出。其中,LSTM(t’)编码xt′:T的特征,CNN(t′)编码xt′:t+m的特征。后向序列特征如下:

(1)

本文使用两层感知机计算跳转的概率分布

st=RELU(W1[xt;fprecede(t);ffollow(t)]+b1)

(2)

πt=softmax(W2st+b2)

(3)

其中,W1∈Rs*(d+p+f),W2∈R2*s,b1∈Rs,b2∈R2是多层感知机的权重和偏置值。“;”是连接符号,st∈Rs是隐藏层的状态,πt∈R2表示概率值。

2)跳转后的文本序列通入LSTM网络

对于概率值πt,本文选定阈值为0.5,当πt<0.5时,跳过该输入单词,隐藏层不进行更新,即ht=ht-1。

当πt>0.5时,模型处理输入文本序列同标准LSTM模型。LSTM内部含有3个控制门和一个记忆单元,用来记忆和存储当前时刻的信息。将LSTM单元公式化,如下所示

x=[xt;ht-1]

(4)

(5)

ct=ft⊙ct-1+it⊙tanh(wc·x+bc)

(6)

ht=ot⊙tanh(ct)

(7)

其中,Wf、Wi、Wo∈Rd*2d分别为LSTM中的遗忘单元f、输入单元i和输出单元o的权重矩阵,bf、bi、bo∈Rd是LSTM的偏置向量,这些值会在训练的过程中更新。[;]表示向量拼接,σ和tanh分别为sigmoid激活函数和双曲函数。

从改进后的LSTM中输出的各隐藏层向量h1,h2,…,hL,是输入数据的一个高级抽象表示,里面含有输入序列文本数据的语义信息,输入到CNN的卷积层中。

3)将LSTM的输出通过CNN进一步提取其特征

本文使用卷积层进行提取重要特征,卷积操作中的滤波器大小w∈Rh*d,这个滤波器和j个隐藏层输出的向量进行卷积操作,进而产生的一个新的特征。例如,从一个窗口大小的单词hi:i+j-1产生一个特征ci

ci=f(W·hi:i+j-1+b)

(8)

卷积层在NLP只进行一维的滑动,卷积核的宽度与隐藏层输出向量的维度相同,滤波器被应用在每一个可能的单词{h1:j,h2:j,hL-j+1:L},产生的特征图为

c=[c1,c2,…,cL-j+1]

(9)

(10)

以上为单一大小的卷积核,文本使用多个大小的卷积核,数量为z,将池化层的输出串联作为全连接层的输入,全连接层负责情感分类,得到结果,如下所示

V=v1⊕v2⊕…⊕vz

(11)

P(y|V,Wfc,bfc)=softmax(Wfc·V+bfc)

(12)

其中,⊕表示串联操作,V表示模型在多个不同大小的卷积核生成结果的串联,z表示选取了几种卷积核的数量,Wfc为全连接层的权重,bfc为偏置值,y∈{+1,-1},代表情感类别,这里是二分类。

3.2 模型的训练

在该混合网络模型中,本文使用梯度下降法更新所有的参数θ

(13)

式中,λ为学习率。

本文采用交叉熵代价函数,同时为了避免过拟合,加入L2正则化优化模型,定义如下

(14)

4 实验结果与分析

4.1 实验数据

本文使用的Twitter数据集是密歇根大学Kaggle竞赛数据集[15]和Neik Sanders创建的“Twitter情感语料库”的组合[16],其中包含标记为“positive”或“negative”的1578627条推文。

4.2 实验参数设置

在跳转部分,本文使用梯度下降法来优化所有训练的参数,将其初始学习率设置为0.001,将参数{h,d,p,f,s,h’}分别设置为{300,300,300,20,20},CNN的滤波器尺寸为{[3,300,1,60],[4,300,1,60],[5,300,1,60]}。

实验中,LSTM隐藏层输出词向量的维度设为300,卷积神经网络部分的参数与Kim[13]的卷积神经网络参数相似,使用RELU激活函数,卷积核大小分别为[3,4,5],每个卷积核数量为100,dropout设置为0.5,batch_size为64,池化层采用最大池化。所有权重矩阵的初始值服从均匀分布U(-0.1,0.1),偏置值初始化为0。

4.3 实验结果

文本采用准确率来评估情感分析效果,定义如下

(15)

其中,T是预测正确的样本数,N是样本的总数。准确率如下:

表1 神经网络模型的准确率对比

4.4 结果分析

为了进行结果分析,将文本提出的模型与Sosa P M.提出的CNN,LSTM-CNN和CNN-LSTM模型进行了比较。在本文中,跳转LSTM-CNN模型比混合LSTM-CNN模型高4.3%,其准确率明显高于模型LSTM-CNN、CNN-LSTM和LSTM。该模型在情感分析任务上取得较好的效果,这表明跳转机制在跳过无关序列后,拥有更强的特征提取能力,提高了分类的准确性。

5 结束语

本文在Sosa P M提出的LSTM-CNN模型的基础上,提出一种基于跳转的LSTM-CNN模型。即LSTM-CNN模型前加入跳转机制,跳过大量对情感极性没有帮助的文本,明显提高序列读取效率。再结合LSTM和CNN的各自优势,对推文进行特征提取。通过实验结果可知本文提出的跳转LSTM-CNN模型在保证较高的准确率前提下,明显提高对文本数据的分类效率。但该实验还有进一步完善和改进的空间。例如,可以在深度神经网络中加入Attention注意力机制,通过对文本序列词语自动加权,来获取情感关键词进行重点关注,提取出更强的情感特征,使模型有更高的准确率。