APP下载

基于SWCNN 和双向LSTM 的文本情感特征分析方法

2023-02-28许学添赖河蒗

智能计算机与应用 2023年11期
关键词:语义卷积向量

许学添,赖河蒗

(广东司法警官职业学院信息管理系,广州 510520)

0 引 言

随着终端移动设备的智能化和交互技术的高速发展使得人们在线交流沟通更加高效与频繁,人们多会倾向于通过互联网来发表自己的观点,例如在微博中对热点事件发表自己的看法及态度,表达自己的心情[1]。 如何从互联网中的文本信息中分析出信息发布者的情感倾向,是自然语言处理领域的重要内容之一[2]。 当前,文本情感分析方法主要有基于情感词典的情感分析方法、基于传统机器学习的情感分析方法和基于深度学习的情感分析方法等[3]。 其中,基于情感词典的文本情感分析方法,识别结果过度依赖已建立的“情感词典”,在今天网络评论大量使用网络用语、双关语、谐音语的情况下,要不断扩充“情感词典”才能取得较好的识别准确率。 基于传统机器学习的情感分析方法,对不同分类器的组合选择依赖程度较高,不能充分利用上下文文本的语境来进行情感分析,也存在一定的缺陷。 基于深度学习的情感分析方法能主动学习文本的高维度深层次特征,并主动保留文本中的词语的信息,从而更好地提取到相应词语的情感语义信息,提高识别准确率。

Word2vec 技术将文本单词映射到低维稠密的向量空间,实现了词语的向量表示,并且可以通过相关性来表示词语之间的关联,这极大地推动深度学习在文本分类上的广泛应用[4]。 随之而来,卷积神经网络(CNN),长短期记忆网络(LSTM)、注意力机制等模型在自然语言领域得到了广泛研究与应用,其中也包含了在文本情感分析领域的应用,Kim 等学者[5]最先提出了将卷积神经网络应用于文本情感分类。 冯兴杰等学者[6]将卷积神经网络结合注意力机制进行文本情感分析。 成璐[7]使用基于双向LSTM 和注意力机制的神经网络模型对中文评论进行情感分析。 Yuan 等学者[8]使用多通道卷积神经网络进行局部语义特征信息的提取并结合双向GRU 模型来将文本的整体语义信息进行融合从而获得最终的情感倾向。 Wang 等学者[9]采用双向LSTM 网络结合常用微博情感符号以增强文本情感语义的捕获能力,提高了微博情感分类的性能。 这些方法会存在语义角色重叠、高维度文本词向量训练中难以收敛等问题,本文在CNN 的基础上将其与文本中的情感词进行结合,采用一种加入词语情感特征的CNN 模型,并结合BiLSTM 来对文本情感特征进行分析,以提高分类准确率和收敛速度。

1 基于情感词典的卷积神经网络文本情感分析模型

1.1 情感词典

情感词典是基于情感知识构建的有情感色彩的词语的集合,其基本原理是根据经验将广泛使用的情感词进行归纳整理,通过将待分析语句拆分为单个词汇,并完成去除停用词等工作后,与情感词典的内容进行匹配,寻找文本中词语与情感词典中匹配的情感词,结合语法规则来计算情感分数,从而判断文本的情感极性[10],领域情感词典在文本挖掘和自然语言处理领域发挥着重要的作用[11]。 目前,国内开放的情感词典主要包括知网(HowNet)[12]、大连理工大学情感词汇本体库[13]、清华大学情感词典[14]等。 情感词典由于需要通过专家经验进行情感特征划分,具有一定的局限性,无法走出作为“词典”的限制,不能涵盖所有情感表达形式,因此基于情感词典的文本情感分析任务,面对特定领域存在较多“新词”的情感分析时,其判断的准确率较低。

1.2 词嵌入层

在文本分析中,通常将词语作为处理的基本单元,而词嵌入层(Word Embedding)将词语转化为长度的向量表示,从早期的独热编码发展到现在主流的Word2vec 模型。 Word2vec 模型可以解决独热编码容易造成维度灾难和词语编码缺乏相关性等问题,是通过对大规模文本数据进行训练将高维稀疏的特征向量映射为低维稠密的词向量,可以更好地表示词语之间的关系及信息。 Mikolov 等学者[15]提出的Word2vec 模型有CBOW 和Skip-gram 两种结构,两者都不局限于以前n个词向量来预测第n +1个词向量,而是以n为窗口来计算其中词的出现概率,从而可以充分考虑上下文的关联与影响,都是基于霍夫曼树来实现,其中CBOW 模型由窗口中上下文多个词去预测中心词,而Skip-gram 则是由中心词去预测周围上下文的多个词。 利用Word2vec 模型训练得到的词向量之间余弦距离表示词语之间的关系,余弦相似度值越大,词语间关系越大、余弦相似度值越小、词语间关系越小,这样就能较好地表示词语之间的语义相关性,一个文本字符通过词嵌入层之后转成词向量,就能成为下一步深度学习模型的有效输入信息。

1.3 SWCNN 算法分析

在对文本特征进行分析时,由于RNN 网络无法对文本句子中的局部特征进行聚焦,将会影响对文本中词语的情感特征识别,从而进一步引入了卷积神经网络。 CNN 是一种常用的深度学习模型,是通过多维的卷积核可以获取信息对象不同层次的多维特征,再通过池化操作来取得局部的关键信息。 由于CNN 的卷积核具有局部特征提取功能,因此也适合应用在自然语言处理领域,并在文本的上下文信息获取上具有天然的优势,卷积神经网络能够提取不同粒度的短文本特征,因此能有效提取到关键的情感信息[16]。

陈珂等学者[17]在CNN 的基础上将其与文本中的情感词进行结合,提出一种结合情感词向量的CNN 模型( Sentiment Words Convolution Neural Networks,SWCNN) 来对文本情感特征进行分析。为此,将情感词的词义特征作为文本句子的特征输入矩阵,并利用不同的输入通道来接收文本句子中不同情感语义特征等信息的组合,使文本数据在训练时能够感知到更多的情感语义特征信息,提高对文本句子中的情感特性进行有效识别。

对于长度为n的句子S =w1,w2,…,wn,其中wn为第n个词经过词嵌入层转换后输出的词向量。 首先,将该词向量wi根据情感词典词映射为多维的情感特征向量tagi,从而获得情感特征向量矩阵E∈Rm×|V|,tagi∈Rm,同时也要对否定词和程度副词进行标注与映射,进而对句子的情感向量进行正确表示。

因此,对于一个具有n个词语的句子,其特征表示为:

其中,e是句子中的词向量,tag是情感特征向量。 进一步使用拼接操作形成CNN 层的输入特征矩阵x∈Rm+k作为卷积神经网络的输入:

其中,“ ⊕”表示拼接操作。 在本研究中,句子输入的最大长度为maxlen,若长度小于maxlen则用0 向量补全。

在卷积层中,若对不同卷积核的输入矩阵进行局部特征提取,可将长度为h的卷积核句子分为{x0:h-1,x1:h,…,xi:i+h-1,…,xn-h+1:n},然后对所获得的分量进行卷积操作,从而获得文本句子的情感卷积特征图:

其中,ci表示利用分量xi:i+h-1进行卷积操作所提取获得的文本情感语义特征信息,见下式:

其中,W∈Rh×(m+k)表示卷积核权重,b∈R表示卷积核偏置。

而后,在卷积神经网络的池化层中,利用了Max-Over-Time Pooling 方法对文本情感语义特征进行采样,则所提取的特征信息如下:

其中,表示利用一个卷积核进行采样后所获得的结果,对于k个卷积核采样得到的特征信息可以表示为:

最后,将SWCNN 算法中上述池化层所获得的文本情感语义特征等相关信息作为全连接层的输入,得到分类结果具体如式(8)所示:

其中,bf∈R表示全连接层的偏置;Wf∈Rk表示全连接层权重;y是输出结果。

2 基于SWCNN 和BiLSTM 的文本情感预测模型分析

2.1 BiLSTM 算法分析

对于文本句子的情感语义识别,在将一个句子通过词嵌入层转为词向量S =w1,w2,…,wn后,可以将文本语句S中所包括的情感语义及角色认作一个切分集,记为R ={r1,r2,…,rm},每一个切分rj对应一个本文情感语义角色[17-18]。 这样一来,文本中的情感语义角色识别与处理又可看作针对句子S =w1,w2,…,wn进行情感识别分析,最终自动获得切分集R ={r1,r2,…,rm}。 对上述序列切分问题的处理,通过引入文本语句的序列标记集合,最终将其转化为序列标注与识别类问题。 本研究将文本框架语义识别问题形式化描述为:对于一条句子S =w1,w2,…,wn,给定文本句子中的目标词wt以及其所属的情感框架fwt,并将句子中的每个词标记一个合适的标签ti,ti∈{B,I,O}。 其中,“B”指一个标注单元中的第一个词;“I” 指该词属于一个标注单元中的中间词或结束词,表示该标注单元的延续;“O”指该词不属于任何一个标注单元。 这样,对于一个标记序列T =t1,t2,…,tn,语义角色识别任务转化后可得到如式(9)的一个序列优化问题:

其中,T∗表示一个可对文本句子的语义角色信息进行还原的合理序列。 针对该文本的情感语义识别优化问题,传统的方法是使用SVM(Support Vector Machine)、CRF(Conditional Random Field)等统计机器学习算法来对式(9)的条件概率进行求解。 但这些方法存在对特征流程严重依赖、需人工构建复杂的特征以及成本过高等问题。 随着深度学习算法在众多领域得到广泛应用,众多人工神经网络算法在自然语言的情感语义角色标注任务上取得了极大进展。 其中,BiLSTM(Bidirectional Long Short-Term Memory)作为循环神经网络的一种改进算法,在自然语言处理领域取得了较好的应用效果。

LSTM 算法是RNN 算法的变体,能解决RNN 的梯度消失问题,更重要的是相对于RNN,增加了3个特殊的门:输入门(Input Gate)、输出门(Output Gate)和遗忘门(Forget Gate),这样其记忆单元具有了保存、更新和重置功能,以及兼顾长距离历史信息的能力。 应用在文本信息处理中,可以有效提取上下文语义信息,其单元结构图如图1 所示。 LSTM的更新公式为:

图1 LSTM 网络结构图Fig. 1 LSTM algorithm structure diagram

图1 中,σ为Sigmoid 激活函数,代表了门开关,it为输入门的输出,ot为输出门的输出,ft为遗忘门输出,W为对应的权重,b为对应的偏置。

2.2 算法总体框架

本文基于SWCNN 和BiLSTM 的文本情感预测模型总体框架结构如图2 所示。 其中,将句子的文本字符通过词嵌入层转为词向量,同时也对否定词和程度副词进行标注,最终通过向量化操作,将每一个词进行多维映射。 接着,一方面输入BiLSTM 网络,获取文本上下文的情感特征信息,另一方面利用情感词典,将词向量转为情感特征向量,与词向量拼接为SWCNN 的输入特征矩阵,再通过CNN 层的卷积核获取句子局部的多维度情感特征,随后将BiLSTM 和SWCNN 网络的输出特征进行融合,再输入全连接神经网络,最后通过Softmax层输出句子的情感分类。

图2 基于SWCNN 和BiLSTM 的文本情感预测模型Fig. 2 Text emotion prediction model based on SWCNN and BiLSTM

3 实验结果与分析

3.1 实验数据与环境

本文采用第二十六届全国信息检索学术会议评测大赛提供的疫情期间网民情绪数据集(https:/ /www.datafountain.cn/competitions/423/datasets)进行测试,该数据集是2020年1月1日至2020年2月20日期间根据与“新冠肺炎”相关的230 个主题关键词所采集的数据,其中10 万条已经过人工标注(积极、中性和消极)的文本数据,以7 ∶3 划分为训练数据集和测试数据集,并保证2 个数据集中每类数据的比例保持一致。 本研究所构建模型算法的超参数如下:更新模型参数为mini -batch梯度下降算法,batch -size为150,学习率衰减系数为0.05,优化器为Adam,模型训练时使用dropout方法,dropout -rate为0.5;迭代周期为30 次。

具体仿真实验操作系统为Linux 64 bit,Python 3.6.1 版本,开发平台为PyCharm; CPU 为Intel core i7-8700@4. 2 GHz 8 核,内存为Kingston ddr4 2 400 MHz 16 G,GPU 为Nvidia GeForce 2080 8 G。

3.2 SWCNN 模型参数分析

对于SWCNN 模型,卷积核的尺寸决定了每次卷积读取的单词长度,也即局部特征提取的尺度,而情感向量和词向量的长度决定了卷积核的长度,直接影响了模型的训练速度和识别准确率(见表1)。当情感向量长度为5,词向量长度为150,卷积核为(2,3,4)时,SWCNN 模型可以取得较高的识别准确率。

表1 SWCNN 模型参数分析Tab. 1 SWCNN model parameter analysis

3.3 实验对比与分析

在对本研究算法模型的性能分析中,与相关领域其他学者应用的算法进行了比较,分别选取CNN[5]、 RNN[19]、 BiLSTM[9]、 SWCNN[17]、 CNN +BiLSTM[20]和SWCNN+BiLSTM(本文)进行对比分析。 情感文本分析识别正确率分别利用Accuracy、Precision、Recall及F1值等指标进行分析,结果见表2。

表2 算法性能比较Tab. 2 Algorithm performance comparison%

由表1 可发现本研究的识别精确度达到89.23%,相比其他学者提出的模型算法在准确率上至少提高1.95%;进一步从Precision、Recall及F1三个角度对比,可发现本研究模型算法的Precision、Recall及F1分别为88.57%、74.58%及73.09 %,与其他算法相比,明显本研究模型算法的Precision、Recall及F1值更高。 由此可见,在文本情感分析领域,相比其他深度学习模型算法,本研究所构建基于SWCNN 和BiLSTM 的文本情感分析模型的识别准确度更优。

图3 为几种模型在训练过程中的校验集准确率变化情况。 由图3 可以看出,传统的CNN、RNN 和BiLSTM 和本文提出的SWCNN 都有较大的波动性和收敛速度也较慢,CNN+BiLSTM 由于兼顾了局部的语义信息和上下文信息,具有较快的收敛速度和较高的准确率,而本文所提出的SWCNN+BiLSTM,将CNN+BiLSTM 模型中的CNN 升级为SWCNN,同时考虑了词向量的情感特征信息,因此训练过程稳定而且具有最快的收敛速度和最佳的准确率。

图3 验证集准确率变化曲线Fig. 3 Accuracy change curve of verification set

4 结束语

本文提出了一种结合情感词的卷积神经网络算法以获取句子的局部情感特征,并与双向长短期记忆神经网络所获取的全局情感特征进行融合,构建了基于SWCNN 与BiLSTM 结合的文本情感预测模型,该模型充分考虑了词语的情感属性、位置信息等局部特征,也兼顾了上下文词语的全局关联信息,因此具有较高的识别准确率与较强的泛化性能。 经实验分析表明,与其他模型算法相比,本研究模型的情感识别精确度达到89.23%,训练过程更加平稳、且具有更快的收敛速度,为文本情感识别提供了一种更优的思路与方法。

猜你喜欢

语义卷积向量
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
语言与语义
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“上”与“下”语义的不对称性及其认知阐释
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
认知范畴模糊与语义模糊