APP下载

一种基于字词双通道网络的文本情感分析方法

2021-02-21崔玉爽

西安电子科技大学学报 2021年6期
关键词:双通道向量卷积

李 源,崔玉爽,王 伟

(1.安阳工学院 计算机科学与信息工程学院,河南 安阳 455000;2.信阳师范学院 计算机与信息技术学院,河南 信阳 464000)

近几年,在“互联网+”的背景下,各种网络信息平台不断增加,人们的生活习惯也随之发生了巨大变化,越来越多的用户开始在网络大众平台上发表自己的观点和看法。但这一变化导致在互联网上产生了海量的具有个人情感倾向的文本信息。如何有效地从这些主观信息中挖掘出人们对某份商品、某项政策和某个事件的态度和意见,这将促使自然语言处理成为当前热门研究领域的原因[1-2]。目前,在文本分类任务中最为常用的方法有两类,即基于情感词典的方法和基于机器学习(Machine Learning,ML)的方法。但随着网络信息的喷井式爆发,以往使用的朴素贝叶斯、支持向量机(Support Vector Machine,SVM)等浅层机器学习方法已经无法满足对海量数据处理的要求,而深度学习的出现刚好弥补了这一缺陷,并在情感分类上获得了很好的效果,其研究成果十分显著[3-5]。文献[6]中提出的英文文本分类模型,利用CNN实现句子级别的分类,有效降低了任务中特征工程的依赖性,其分类效果也得到了质的飞跃。TAI等人利用长短时记忆神经网络(Long Short-Term Memory,LSTM)模型有效解决了情感分析中时序联系问题,并实现了较优的分类效果[7]。潘晓英等提出的基于BiLSTM网络和Attention的情感分类模型,利用Attention减少了文本中的冗余噪音,有效增强了模型的目标特征选择能力[8]。尽管深度学习在情感分析任务中获得了不俗的成就,但对于句子含义比较模糊且具有歧义的文本来说,还是无法精准全面的提取文本信息特征,导致其准确率大大降低,从而使其分类效果变差。针对此问题,笔者提出了一种基于字词双通道的输入策略即采用两个不同的通道有针对性地进行特征提取。其中,词通道是利用词性标注技术获取相应单词的词性,并将其与标注词拼接成“单词-词性”(Word-Position)的形式;该方法可有效地区分不同语境下词的语义信息,相对于原始词向量能达到消歧的作用。而字通道则是用来捕获句子的细粒度信息,解决文本切分带来的未登录词(Out Of Vocabulary,OOV)困扰,而且通过细粒度的字向量可有效辅助词向量挖掘出更深层细致的文本信息。首先,利用CNN的卷积优势全面捕捉输入文本的信息特征,然后通过基于Attention的BiLSTM网络有目标性地提取上下文全局特征,最后将融合的特征信息通过softmax函数进行训练并获取文本的类别标签。通过对比实验验证得出,所提出的双通道模型在文本分类任务中,其准确率、F1值和召回率等指标远高于其他方法。

1 双通道卷积神经网络模型

为消除输入文本带来的一词多义和OOV等问题,模型采用Word-POS词向量矩阵和字向量矩阵作为两个方向上的输入通道来挖掘出更深层次的语义信息和抽象特征,其网络模型如图1所示。最终的实验结果显示,该方法的使用在一定程度上充分提高了模型分类的精确率。具体实现过程如下。

对于长度为L的语句W={x1,x2,…,xl},先标注出句子中每个词的对应词性P={p1,p2,…,pl},紧接着再与原词拼接为WP={(x1,p1),(x2,p2),…,(xl,pl)}的序列形式,并利用词向量模型Word2vec将所有拼接序列映射为n维的wpk表示形式,最终定长例句L被转化为l×n维的向量矩阵。在此基础上,为了保持文本的基本特征,还需要将字向量信息引入到文本建模中,因此在模型中引入字词双通道策略,即分别采用Word-POS词向量和字向量作为两个不同通道的模态信息,输入序列分别表示为S1={wp1,wp2,…,wpl}和S2={x1,x2,…,xm},其中,S1是词性拼接向量矩阵,wpk为文本中第k个Word-POS单位词汇的向量表示。S2是字向量矩阵,xk是样本中第k个字的字向量表示。

模型通过使用多种尺寸的卷积核对输入的词向量通道和字向量通道分别进行卷积操作,尽可能地提取出更全面的信息特征。模型采用了h=3、h=4和h=5这3种不同类型的卷积核,其中,S1和S2分别代表Word-POS词向量通道和字向量通道,在卷积操作后得到Chi,以其表示所有卷积核计算结果。当卷积核的高度为h时,每次卷积滑动提取的特征值表示为

Chi=f(W1S1,i:(i+h)+W2S2,i:(i+h)+b) ,h=3,4,5,

(1)

其中,W为双通道上的权重值;b为偏置因子;f(·)是非线性激励函数,此处采用Relu函数。

使用卷积核对文本进行上下滑动提取信息特征。若指定高度为h,则可提取l-h+1个卷积特征。C表示所有类别的卷积核形成的特征图集合:

C={Ch,1,Ch,2,…,Ch,l-h+1},h=3,4,5 。

(2)

为了降低卷积操作带来的过拟合风险,需要加入池化层对文本特征做降维运算,以便提取出具有目标性的情感极性特征。池化运算的公式为

C(2)=max(Ch,i) ,

(3)

其中,C(2)是所有卷积核在max-pooling后得到的特征图集合。若每种尺寸的卷积核数量有m个,则经过池化后的特征集合C(3)定义为

(4)

融合层:将S1与S2提取的信息特征进行对应合并,获得最终的特征集合C(4),可表示为

(5)

2 深度双向LSTM网络模型

近年来,循环神经网络及其变体深受广大学者的青睐,被广泛应用在各个领域中并取得了丰硕的成果,一时间掀起了研究热潮[9-10]。与其他的神经网络相比,该类网络在解决文本序列问题上具有更好的适应性,所以一般都被用来解决自然语言处理领域的文本情感分类项目。

文献[1]提出的长短时记忆网络(Long-Short Term Memory,LSTM),尽管有效缓解了梯度难题,但却只能学习当前词之前的信息,而文本分类任务不但与历史信息联系密切,还与未来的信息存在相互关系,因此,采用双层LSTM分别从文本的两个方向读取输入信息,既克服了梯度问题,又能学习到当前词的前后文语义信息。基于此,在以上卷积神经网络的基础上添加了一种深度双向长短时记忆神经网络(Bidirectional Long Short Term Memory,BiLSTM)。如图2所示,把多个BiLSTM网络层叠起来,每一层通过连接两个方向相反的LSTM来完成建模,在任意时刻t,模型能够同时考虑到过去和将来的上下文联系。其中,该模型在t时刻输出层BiLSTM的隐藏状态Ht包括前向的ht1和后向的ht2,其计算公式为

ht1=H(Wxhxt+Whhht-1+bh) ,

(6)

ht2=H(Wxhxt+Whhht+1+bh) ,

(7)

yt=Wyhht1+Whht2+by,

(8)

其中,ht是t时刻的隐藏层,Wx代表权重矩阵,模型的最终输出状态yt代表文本的特征向量。

3 字词双通道情感分析模型

3.1 模型结构及模型构建步骤

在提出的双通道CNN的模型结构上,又结合了基于Attention的深度BiLSTM网络模型构建一种新的字词双通道情感分析模型(Convolutional natural networks-Attention-Bidirectional Long Short-Term Memory,C-A-BiLSTM)。该网络模型包含四个阶段:第1部分根据中文文本的特点设计两个通道的卷积神经网络,主要应用于处理不同环境下所产生的不同数据特征。第2部分利用卷积优势,挖掘语句深层抽象特征,提取出更充分的局部文本信息。第3部分引入多层BiLSTM来获取融合特征数据的前后文时序信息,以便实现全局性的深层特征信息挖掘。第4部分利用注意力机制准确把握关键词,解决信息冗余等问题。最后,将提取出来的特征通过softmax函数进行训练,并输出文本的标签类别,最终完成情感分类任务。其模型结构如图3所示。

模型构建的主要步骤为:

步骤1 数据预处理。载入数据语料,利用jieba中文分词工具对输入文本进行切片处理,并与下载的公开停用词库进行逐一匹配,过滤掉一些乱码、表情符号等无用信息。

步骤2 训练Word-POS词向量和字向量。其中,字向量的训练采用未标注的数据集,而词向量的训练则使用经过词性标注和拼接后的数据集,并且统一运用Word2Vec工具的Skip Gram方法进行训练。

步骤3 卷积、池化。采用多尺寸的卷积核对词通道和字通道分别进行卷积操作,以尽可能地挖掘出更多的文本语义信息。模型中水平设置3个典型CNN,卷积核大小分别是3×100、4×100、5×100,3种过滤器各64个,stride大小设置为1,池化层采用最大池化操作,提取关键特征,映射成低维特征向量,进而减弱卷积操作带来的向量维度过高问题。

步骤4 训练BiLSTM模型。把步骤3中提取的特征数据输入深度BiLSTM模型中再次进行训练并微调。当前输入与前后序列都相关,经过BiLSTM隐含层能够同时捕捉到过去和将来的上下文信息,并成为下一层BiLSTM网络相应神经元的输入。以此类推,最后将有限个BiLSTM网络层的输出部分进行特征融合,并与注意力机制相连接作为全连接层的输入。

步骤5 注意力机制[12]。将注意力机制引入卷积双向长短时记忆网络(Convolutional Bidirectional Long Short-Term Memory,C-BiLSTM)模型中,表示不同特征数据的重要性。注意力机制将会产生注意力权重矩阵α和特征表示v,其计算公式为

ut=tan(Wxyt+bw) ,

(9)

(10)

(11)

其中,ut是隐藏单元,uw是一个单词级的前后文向量,at是注意力向量,yt是深层BiLSTM输出的文本特征向量,v是经过Attention计算后输出的特征向量,并作为下一层的输入。

步骤6 全连接层。模型中加入了2个全连接层,其主要作用是对数据进行加权运算和得出最终的特征向量,其计算公式为

V′=f(wv+b) ,

(12)

其中,v为上一层得到的特征向量,n代表偏置因子,w代表权重矩阵,f代表激活函数(这里采用的是高级激活函数PReLU)。另外,模型中的CNN网络和BiLSTM网络中分别采用了relu和tanh激活函数。

步骤7 嵌入Dropout方法。在第一个全连接层嵌入Dropout技术后会在神经网络的学习过程中对部分神经元进行随机失活,以致每次迭代时都会形成新的目标网络,进而增强模型的泛化能力。

步骤8 输出层。将第二个全连接层输出的特征数据V″输入softmax函数进行训练,并利用softmax函数获取待分析句子的所属情感标签。

3.2 模型训练

模型使用了softmax函数来接收全连接层的特征数据V″,最终获取特定方面的情感预测标签Y,预测结果为

Y=soft max(WV″+B) ,

(13)

其中,W代表权重项,B代表偏置因子。而模型的最终目标函数表示为

(14)

4 实验结果及分析

实验是基于Windows 10(64 bit)的操作系统,CPU为Intel(R)Core(TM)i7-8550U 2.0 GHz,内存为16.0 GB;编程语言使用的是具有强大第三方库的Python3.5,深度学习框架使用的是灵活性较强的Keras 1.2.2;对于词向量的训练采用的是深度学习中最受欢迎的Word 2vec。

为了能直观全面地对比模型在多种情况下的分类效果,使用精确率(P)、召回率(R)以及F1值作为分类任务的评价指标。计算公式为

P=C/A,

(15)

R=C/B,

(16)

F1=2PR/(P+R) ,

(17)

其中,A为模型正确预测和错误预测的所有样本数据之和,B为模型评估时真正属于该类的样本数,C为模型正确判定的样本数据。另外,为了衡量模型的分类准确度,还采用准确度(Accuracy)指标以评价总体实验效果。

采用的数据集是从淘宝平台中利用Scrapy框架爬取的有关电子产品、家电等商品评论语料,经过预处理操作后,选取约 22 056 条评论作为数据集。其中,在爬取的评论数据中存在星级评分制度,从一星标签到五星标签不等,该评分显示了顾客对购买产品的满意度,在实验中将三星及以下默认为负面评论,其余的则默认为正面评论,以此进行文本情感分析研究。

为考察所提出方法的各个参数对模型的影响程度,使用最优参数设置、选择固定其他参数设置以及改变可变参数的大小等3种情况进行对比实验。

超参数学习速率的大小设置对模型的分类效果具有一定影响,若速率太大,则容易导致目标函数波动幅度较密,从而难以找到最优值。该实验分析了学习速率在训练集和测试集下对模型分类效果的变化趋势。根据图4显示,当学习速率增加到0.5时,训练集和测试集上的准确率直线上升至91%,说明模型的优化已经产生了较好的效果,之后随着学习速率的增大,准确率开始呈现下降趋势。因此为保证模型能达到最佳性能,设置学习速率为0.5。

模型训练的迭代次数对情感分析效果影响很大。若迭代次数过少,则容易产生数据训练不足的欠拟合问题;反之,若迭代次数过多,则又会出现众多负面影响,导致模型泛化能力下降。图5显示了模型在训练集中迭代次数为1~20时各相关指标变化情况,其中包含准确度、F1和召回率(recall)的变化趋势。从图中可以看出,在迭代了20次以后模型的多项评价指标基本都处于稳定状态,因此该实验的迭代次数(Epoch)值被设为20。

图5 迭代次数对模型效果的影响

随机失活(Dropout)的作用是根据设定的概率P对于模型中的部分神经元进行随机失活,这种技术的引入可以增强模型的泛化性,有助于找出目标解,进而提高模型的训练效率。图6主要对比了Dropout值在训练集上模型各指标之间的变化趋势。从图中可以看出,当Dropout值在0.5时,模型的各项指标均达到最优,而超过0.5时却呈现下降趋势。因此,在实验中选择将Dropout值调为0.5。

图6 Dropout值与模型效果对比图

模型在训练过程中的准确度、F1值和损失函数变化趋势如图7所示。其中,图7中的train-acc、train-F1分别表示训练过程中训练集的准确率和F1值,而val-acc、val-F1分别表示训练过程中验证集的准确率和F1值。图7显示,在Epoch值大于20时,各曲线走向逐渐处于平稳状态,表明模型的训练已达到预期效果。

图7 训练中的准确率和F1值对比图

为了进一步证明所提方法的高效性和准确性,将文中模型分别与CNN模型、LSTM模型、C-BiLSTM模型以及SVM在相同的数据集上进行分类结果性能对比,具体对比结果如表1所示。

根据表1的实验结果显示,在处理文本分析任务中的二分类问题上,文中所提的模型在分类效果上最好,评估指标Accuracy和F1值分别为94.5%和 94.4%。其中,单模型LSTM和CNN的最终分类效果相对较差,但总体上其各项指标还是远优于传统机器学习中表现最好的SVM算法,而 C-BiLSTM 模型与单模型相比较而言,其在准确率、召回率和F1值上均得到了显著提升,这是因为该模型将CNN网络和BiLSTM网络进行联合使用,既能提取局部特征,又能捕捉文本前后文语义信息,大大增强了模型对信息特征的综合学习能力,因此,CNN网络和BiLSTM网络的联合使用能取得比以往单模型更好的分类效果。而文中模型是在C-BiLSTM模型的基础上引入了字词双通道策略和Attention技术,在进行文本序列的特征提取时,能够更加全面和准确地挖掘出深层次的文本情感特征,使模型达到更好的分类效果。因此,字词双通道C-A-BiLSTM模型的准确率、召回率、F1值等各项指标都超过了C-BiLSTM模型。

表1 5种模型的分类结果性能对比表

由表2可知,5种对比模型的泛化误差均高于训练误差的约3.00%~4.00%,主要原因是出现了数据过拟合;同时,从表中也可以看出,CNN模型的泛化误差与测试误差相差约0.74%,LSTM 模型的泛化误差与测试误差相差接近0.07%,C-BiLSTM模型的泛化误差与测试误差大约相差0.23%,而文中模型的泛化误差与测试误差大约相差0.22%;此外,在文本分类效果方面文中模型均优于其他几种对比模型,其中,比CNN模型的分类错误率降低了约5.83%,比SVM模型的分类错误率降低了约6.52%,比C-BiLSTM 模型的分类错误率降低了约1.81%。综上所述,通过多项对比充分证明了笔者所提出的模型在文本分类任务中具有较好的性能表现和较小的误差损失。

表2 5种模型的误差对比表 %

5 结束语

结合中文评论语料特点,为改善以往情感分析方法存在的准确率低、提取信息不全面等缺陷,笔者提出了一种基于字词双通道的文本情感分析方法。该模型引入了双通道策略即分别在字向量和词向量两个不同的通道上实现卷积运算,通过最小单位的字向量来辅助词向量挖掘出更全面准确的信息特征,并在此基础上利用与Attention机制结合的A-BiLSTM网络进一步提取上下文信息,以此得到更优质全面的目标特征,从而增强模型的分类性能和精确程度。依据实验结果显示,所提出的C-A-BiLSTM模型在文本情感分类上具有更高的准确率和F1值。

但是,由于该模型涵盖了两种深度网络,参数较多,很大程度上会出现过拟合风险,因此下一步将继续对深度学习和文本语义分析进行更深层次的研究。

猜你喜欢

双通道向量卷积
基于全卷积神经网络的猪背膘厚快速准确测定
向量的分解
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
近端胃切除双通道重建及全胃切除术用于胃上部癌根治术的疗效
福建省医保局率先上线省级“双通道”电子处方流转服务
聚焦“向量与三角”创新题
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线