基于深度学习的混合型文本情感分析方法

2023-10-31 09:08陈梦月朱明梁旭风徐劲松
湖北大学学报(自然科学版) 2023年6期
关键词:表情符号特征向量语义

陈梦月,朱明,梁旭风,徐劲松

(湖北大学计算机与信息工程学院,湖北 武汉 430062)

0 引言

情感分析(sentiment analysis)是对带有情感色彩的主观性文本或句子进行分析、处理和抽取的技术[1].随着互联网技术的快速发展,人们不仅可以通过网络进行购物、学习,还可以对已购买的商品或者感兴趣的事情进行评论.这些评论数据都是十分有价值的,比如企业可以通过分析产品的评论数据,更好地了解客户的需求,进行个性化的精准销售,带来更好的收益;舆情相关部门可以通过事件的评论进行舆情分析[2]、观点挖掘[3]等,从而能够快速做出反应,进行舆论的引导和控制,避免重大舆情问题的发生.

情感分析任务包括两个重要步骤,分别是文本分类和文本特征提取.

从早期到现在文本分类的发展可以总结为三个阶段,第一个阶段是使用情感词典匹配的方式,这种方式需要人为构建情感词典.虽然使用情感词典对文本情感进行分类的方法具有很好的灵活性,但随着时代的发展,文本中的情感信息不易显现,如果继续通过情感词典的方法进行情感分析已经达不到预期的效果.第二阶段是基于机器学习的情感分类方法,目前常用的机器学习的分类算法主要有朴素贝叶斯(naive Bayes)[4]、随机森林(random forest)[5]和支持向量机(support vector machine)[6]等,即便机器学习的方式相对于第一阶段的发展来说会带来不错的效果,但是它仍然存在局限性,基于机器学习的情感分类方法适用于小型结构化或标记化的数据集.第三阶段就是现在广为使用的深度学习,Bengio等[7]首次在NLP任务中使用神经网络模型;Mikolov等[8]在情感分析中使用RNN,RNN当前节点的输入包含之前所有节点信息,因此RNN善于捕获上下文信息,但是RNN是有偏模型,后面的词重要性占比更大,对早期输入的感知能力就会下降,所以从这个方面讲,当它用于捕获整个文档的语义时,可能会降低效率,因为关键组件可能出现在文档的任何位置,而不仅仅是最后.2014年,Kim[9]首次提出使用CNN网络来提取文本特征,即把CNN用到NLP的文本分类任务中,并取得了不错的实验结果,但是CNN对解决长距离依赖的效果并不理想.为了解决上面模型的缺陷,Lai等[10]提出了RCNN模型,该模型的作者将RNN(Bi-LSTM)和max-pooling结合使用,利用Bi-LSTM获得上下文的信息,比传统的基于窗口的神经网络噪声要小,能够最大化地提取上下文信息,其次使用最大池化层获取文本的重要部分,自动判断哪个特征在文本分类过程中起更重要的作用.2017年,Conneau等[11]提出使用更深的CNN网络用于文本分类,但是随着网络的加深,模型的复杂度也在提高;2017年中,腾讯 AI-lab 提出了DPCNN模型[12],DPCNN模型不仅可以加深网络来抽取长距离的文本依赖关系并且还不会增加计算成本,因此DPCNN模型在实际应用中能够获得很好的效果.

在文本特征提取上,有大量的研究者对此进行研究,2013年,Mikolov等[13]提出了Word2vec模型用来获取词向量.2017年,Peters等[14]提出ELMo模型,利用双向LSTM模型结合上下文语境信息生成词的embedding.2018年,Devlin等[15]提出了BERT模型,也是目前在NLP中应用最广泛的预训练模型之一.2020年,Google基于BERT模型提出了改进模型ALBERT[16],ALBERT在性能提升的同时减少了模型的参数及提高了模型训练速度,在情感分类任务中取得了理想的分类效果.

综上所述,为了提升模型在多种数据形式上情感分析的准确性,本文中提出基于传统模型ALBERT结合改进的DPCNN算法,将通过ALBERT预训练出来的文本向量作为改进的深度金字塔卷积神经网络(deep pyramid convolutional neural networks for text categorization,DPCNN)模型的输入来进行下游任务的训练,然后结合softmax回归分类算法对情感文本进行分类.由于DPCNN模型随着网络层数不断增加,使提取的情感文本特征包含深层次的上下文信息.与ALBERT预训练语言模型相结合,既可以使情感文本特征获得丰富的先验知识,又可以根据下游任务获取更深层次的上下文语义信息来提升情感分析的准确性.

1 相关工作

1.1 ALBERT预训练语言模型概述本文中采用的是ALBERT模型来提取文本特征向量,ALBERT模型是一种轻量级的预训练语言模型,与BERT模型本质相同,都是使用Transformer[17]的Encoder结构对语料库进行特征提取,Transformer中采用了注意力机制来学习上下文相关的语义信息.ALBERT预训练语言模型结构如图1所示.

图1 ALBERT预训练语言模型结构图

ALBERT模型在不修改BERT模型核心机制的情况下,对BERT模型做出了改进,通过降低词嵌入维度的方式来减少参数量,并实现参数在attention层和全连接层共享,从而极大地减少了模型的参数量;同时ALBERT使用训练难度相对较高的预训练任务SOP(sentence-order prediction)替换NSP(next sentence prediction)任务,相比NSP任务来说,SOP任务能够让模型学到更多句子间的语义关系.因此ALBERT在减少模型参数的同时也提升了模型的预测性能.ALBERT模型不仅使参数量降低到了BERT模型的1/18,而且在训练速度上也提升了1.7倍.综上所述,ALBERT模型更适合做本文情感分析任务中文本特征的提取.

1.2 Emoji表情符号处理方式随着各大社交媒体和电商平台的快速发展,Emoji表情符号的使用越来越普遍.一方面,Emoji符号可以替代文字的表达;另一方面,它能以类似图片的方式生动形象地呈现所表达的内容.可以说“一个Emoji胜过千言万语”[18].从而,在情感分析任务上,Emoji符号对句子的情感有非常大的影响.然而在常用的预训练语言模型中基本不包含Emoji表情符号.所以,针对上述问题,提出了一种改进方法,即融合预训练语言模型文本特征和Emoji特征的方法,通过提取Emoji符号的特征向量及Emoji符号在文本中的位置信息与文本特征向量拼接,得到完整的一句话或者一段话的特征向量,使得这段话特征向量的语义更加明确,从而使改进的模型在情感分析任务中取得更佳的分类效果.

在NLP领域的情感分析任务中,需要学习Emoji的特征.本文中提出通过Embedding随机初始化Emoji的特征向量,然后在Fine-tune的过程中学习它的特征,这样做的优势是不仅成本较低,而且效果很好.

在改进模型上一共新增了能够经常被使用到的842个Emoji表情符号作为Emoji情感字典.在研究的同时发现Emoji和语言一样具有丰富的情感表达,即相同的Emoji在不同的场景中所表达的情感语义可能会有所不同,如下面的两个句子:

图2 Emoji情感分析示意图

图3 Emoji特征向量提取流程示意图

将Emoji和其位置信息position通过embedding层得到Emoji特征向量V1∈Rb*emoji_length*(h/2)和位置向量V2∈Rb*emoji_length*(h/2),其中b为一批次处理的文本量,emoji_length为文本中Emoji最大的长度,h为Emoji向量的维度,接下来将V1和V2进行拼接,其拼接方式如式(1)所示:

V=V1⊕V2

(1)

式中,V∈Rb*emoji_length*h,⊕是行向量拼接操作,将V1和V2在第三维度拼接.通过Emoji和Emoji位置信息的融合,从而可以得到Emoji语义更为完整的特征向量,然后在fine-tune过程中学习它的特征.

1.3 改进的DPCNN模型DPCNN模型是一种低复杂度的词级别的深度卷积神经网络,可以称之为“深度金字塔卷积神经网络”.该模型是通过两层等长卷积为接下来的特征提取提供更宽的感受野,也就是提高embedding的丰富性,然后重复使用size=3和stride=2的maxpooling进行池化,序列的长度就被压缩成了原来的一半,其能够感知到的文本片段就比之前长了一倍,从而词位的语义信息就会不断提高.因此相较于普通的卷积神经网络来说,DPCNN模型在表示长距离关联和更多更全面信息上具有更好的预测效果和更高的计算效率.其模型结构如图4所示.

图4 DPCNN模型结构图

由于region embedding和pre-activation的存在,已经有了多次卷积操作,加上Repeat结构会使得网络的深度非常之大,虽然网络结构已经通过Downsampling下采样,但这样构建出的卷积神经网络在反向传播时一定会碰到梯度消失的问题.于是DPCNN模型将残差网络的shortcut connection拿过来使用,这样就可以极大地缓解梯度消失问题.但是本文中网络是与ALBERT模型串行使用的,也就是说DPCNN网络每个通道的输入都是ALBERT层输出的结果,原始文本在ALBERT预训练语言模型中已经获得丰富的先验知识,因此为了避免ALBERT层训练的特征向量在DPCNN卷积模块中提取特征时出现模型退化的问题,改进了DPCNN网络结构来提高模型的准确率.本文中模型将Repeat结构中的两层卷积减少为一层,Repeat结构的出现主要是由于前面多次卷积,导致神经元数量过多,并且每个神经元上都带有大量的信息,如果直接接入全连接层会使计算量过大.而考虑到在Repeat结构中可能会产生模型退化的问题,在Repeat结构之前就已经有过多次卷积,并且原始文本已经通过ALBERT预训练语言模型获得了文本特征的先验知识,因此提出将Repeat结构中的两层卷积改为一层卷积,并通过实验发现改进后的DPCNN模型结合ALBERT比原始DPCNN模型结合ALBERT模型的效果要好.改进后的模型结构如图5所示.

图5 improvDPCNN模型结构图

2 改进的模型

2.1 模型概述本文中提出的基于深度学习的混合型文本情感分析模型,主要由ALBERT文本向量表示层、通过Embedding初始化的Emoji向量表示层、卷积层、全连接层及softmax层共同构成.其具体的实现方式如下文所述:

1)ALBERT文本向量表示层,由于BERT模型参数太多,而且模型太大,少量数据训练时,容易发生过拟合的现象.因此本文选择BERT的轻量化版本ALBERT来提取文本特征向量,将预处理后的文本数据输入到ALBERT模型中转换为词向量,即输入文本通过双向transformer编码器得到输出文本向量Xi=(Xi1,Xi2,Xi3,…,Xij),其中Xij表示第i句中第j个词的词向量,然后拼接每句中的各个词向量,最终生成文本词向量矩阵Xtext,如式(2)所示:

Xtext=X1⊕X2⊕…⊕Xn

(2)

2)Emoji表情符号向量表示层,在前期的准备工作中,已经对爬取的数据集进行过预处理,因此这些数据可以直接使用.首先是拆解Emoji部分,将句子中的Emoji通过emoji_lis函数提取出来,并获取Emoji在句子中位置信息info_position;然后将Emoji和它的位置信息info_position分别通过嵌入层获取其对应的Embedding向量;接下来把上一步获取的两个向量分别喂入Embedding层来获取Emoji和Emoji位置信息的的特征向量;最后将这两个向量的第三维度拼接在一起,得到语义信息更加完整的Emoji特征向量矩阵XEmoji.

3)卷积层,将ALBERT层输出的文本特征向量与通过Embedding层获取的Emoji特征向量拼接得到语义信息更加完整的文本特征向量表示矩阵,如式(3)所示.然后将X作为改进的DPCNN模型的输入,通过深层等长卷积网络来丰富词嵌入的语义信息表示和挖掘文本中长距离依赖关系,从而获得语义信息更加完整文本特征.在做卷积操作时由比较常见的卷积计算,如式(4)所示,改为先将X进行激活,这样可以带来更好的效果,并且激活函数求导时减少了对偏置b求导的那部分,从而可以使计算更加便捷快速,减少计算量,如式(5)所示.

X=Xtext⊕Xemoji

(3)

E=f(wx+b)

(4)

E=wf(x)+b

(5)

4)最后将提取的文本特征通过全连接层,把前面提取到的特征综合起来,并使用softmax函数输出每个类别的概率进行情感分类,如式(6)所示.

y=softmax(T)

(6)

2.2 模型结构综合上文对模型组成结构的概述与分析,本工作改进的模型结构如图6所示.

图6 本模型结构图

3 实验结果与分析

3.1 实验数据为了验证本文模型在多种混合型数据文本上的表现效果,本文中选取了一个公共数据集waimai_10k、爬取的酒店长文本评论数据集、在各大电商平台及社交媒体平台中爬取的包含Emoji表情符号的商品评论数据集这三类数据集进行验证.数据集waimai_10k是外卖平台上用户对美食或骑手或服务等相关的评论数据;考虑到数据集waimai_10k中的文本长度并不能很好的体现本模型在长文本上的优越性,因此通过爬虫爬取了酒店的长评论数据作为长文本数据集进行验证;由于前两类数据集都没包含Emoji表情符号,同样为了验证本文模型对包含Emoji表情符号的数据的分类效果,因此在各大电商平台以及社交媒体平台中也爬取了部分包含Emoji表情符号的评论数据作为包含Emoji表情符号的文本数据集.这三类数据集中的数据都是三分类,正向情感取值为1,情感倾向不明显取值为0,负向情感取值为-1.

3.2 实验环境表1中列出了一些必要的实验环境(包括硬件设备)以及对应的版本和配置.

表1 实验环境表

3.3 评测标准本实验模型与对比实验模型通过4个指标进行评估:准确率A(accuracy)表示正确分类的样本量占总样本量的比例;精准率P(precision)表示正确分类的正样本量占正样本总量的比例;召回率R(recall)表示正确分类的正样本量占正确分类的总样本量的比例;F1值是对精准率和召回率综合的体现.

其中:TP(truepositive)代表真阳性,即预测结果与实际结果都为正面情绪;TN(truenegative)代表真阴性,即预测结果与实际结果都为负面情绪;FP(falsepositive)代表假阳性,即预测结果为正面情绪,实际结果为其他情感;FN(falsenegative)代表假阴性,即预测结果为负面情绪,实际结果为其他情感.

3.4 对比实验结果与分析为了验证本文模型的分类效果,该部分选择了RNN、TextCNN、RCNN、DPCNN、ALBERT+RNN、ALBERT+TextCNN、ALBERT+RCNN、ALBERT+DPCNN(没有改进的DPCNN)这8类模型与本文提出的模型进行对比实验.

实验一:

首先使用一个公开数据集以及通过爬虫获取到的长文本数据集来验证本文提出的模型与其他8个模型的分类效果,模型作用在公开数据集上的实验结果如表2所示,模型作用在爬取的长文本数据集上的实验结果如表3所示.

表2 不同模型在公开数据集上的对比实验结果

表3 不同模型在爬取的长文本数据集上的对比实验结果

通过表2、3的实验结果可以得出如下结论:

1)在前4个没有使用ALBERT预训练语言模型的对比实验中发现TextCNN在普通文本上的分类效果最好,DPCNN的准确率和TextCNN不相上下,仅相差0.41%.而在长文本数据集上,DPCNN的分类效果要远好于其他三种模型,说明DPCNN可以较好地捕获文本的长距离依赖关系,能够达到更好的分类效果,从而可以得出DPCNN在长短文本上都具有不错的分类效果.

2)融合了ALBERT预训练语言模型之后,前4类模型在4个评测指标上都有明显的提升,说明与ALBERT预训练语言模型相融合,既可以使情感文本特征获得丰富的先验知识,又可以根据下游任务获取更深层次的上下文语义信息来提升情感分析的准确性.

3)对比表2和表3中所有的模型可以发现融合ALBERT预训练语言模型与DPCNN可以获得不错的分类效果.但是由于文本在进入DPCNN之前已经通过ALBERT预训练语言模型获得了先验性的情感特征,为了避免模型退化的问题,本文中将改进的DPCNN网络结构再与ALBERT相融合,通过表2、3中的实验结果可以看出改进的ALBERT+improvDPCNN模型比原始的ALBERT+DPCNN模型有又进一步的提升.

由实验一得出的三条结论可以总结出改进的ALBERT+improvDPCNN模型在长短文本上都可以获得较好的分类效果.

实验二:

实验一没能验证模型在含有Emoji表情符号文本中的分类效果,因此实验二使用爬取的含有Emoji表情符号文本的数据集来验证本模型对含有Emoji表情符号文本的分类情况,从实验一中选取分类效果最好的ALBERT+improvDPCNN模型,在此模型基础上再次做出改进,即通过Embedding融合Emoji表情符号.将模型ALBERT+improvDPCNN与改进的模型ALBERT+Embedding(emo+pos)+improvDPCNN再次进行对比实验.实验数据是纯Emoji表情符号的数据集和文本中包含有Emoji表情符号的数据集.为了验证模型的识别精度,该部分实验分析了模型对不同情感极性的指标值,对比实验结果如表4所示.

表4 不同情感极性对比实验结果

实验结果表明通过Embedding融合了Emoji表情符号的模型对Emoji的情感语义有更加精准的把握,并在情感分析任务中取得了不错的分类效果.下面给出一些识别结果不同的例子用于模型分析,部分模型识别结果不同的案例如表5所示.

表5 部分模型识别的不同结果

根据预测错误的示例可以发现模型ALBERT+improvDPCNN对句子1和句子2中的‘牛’和‘差’这两个表情符号的语义并不知道,这种情况下就会被当做UNK(unknown)来处理.如果不知道‘牛’这个表情符号的语义信息,句子1当然会被预测为一个中性的情感;如果不知道‘差’这个表情符号的语义信息,句子2也同样会被预测为一个中性的情感.本文中提出的通过Embedding融合了Emoji表情符号的模型ALBERT+Embedding(emo+pos)+improvDPCNN学习到了‘牛’和‘差’这两个表情符号的语义信息,因此本文提出的最终模型可以预测句子1为正确的正面情感,句子2为正确的负面情感评论信息.同时从上面的例子也可以看出Emoji表情符号对整个句子情感的影响是非常大的,因此在模型中融入Emoji表情符号是非常必要的.

实验三:

为了再次验证本文中提出的模型在混合型文本中的分类效果,在实验三中将本文模型与前面实验中表现效果最好的ALBERT+improvDPCNN模型在三种混合型文本数据集上进行对比实验,实验的准确率结果如表6所示.

表6 不同模型在混合型文本数据集上的对比实验结果

通过实验三的结果可以看出本文中提出的模型ALBERT+Embedding(emo+pos)+improvDPCNN在多种混合型文本数据集上都能够获得不错的分类效果,并且这种方法在提高性能的同时也没有大幅增加成本,因此本文中提出的模型在实际生产中具有较高的实用价值.

4 结语

本文中提出一种基于深度学习的混合型文本情感分析方法,并使用3种数据集对模型进行验证.该方法通过ALBERT预训练模型向量化文本,同时使用Embedding向量化Emoji表情符号,同时考虑到相同Emoji可能具有多种不同的语义,因此融合了Emoji的位置信息,从而可以解决传统模型对于带有Emoji的评论数据进行情感分析准确性不够高的问题.然后与改进的DPCNN模型串行化,能够根据下游任务进行微调从而获取更深层次的上下文语义信息来提升情感分析的准确性.通过实验证明本文模型在多种数据形式下都可以获得不错的分类效果,且成本没有过度提升,因此本文中模型在数据种类上具有很好的通用性与包容性,为多种数据形式的通用型情感分析模型提供了新的参考方法.

猜你喜欢
表情符号特征向量语义
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
微信表情符号写入判决:你发的每个表情都可能成为呈堂证供
克罗内克积的特征向量
世界表情符号日
语言与语义
一类特殊矩阵特征向量的求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
“上”与“下”语义的不对称性及其认知阐释
这个表情符号,你用对了吗
表情符号玩上瘾 时尚爱尝鲜