基于PSO- LSTM的中文微博情感分类研究

2022-07-20 02:51
关键词:粒子向量样本

林 伟

(西南政法大学刑事侦查学院, 重庆 401120)

0 引言

据第48次《中国互联网络发展状况统计报告》显示,截至 2021年6月,我国网民规模为10.11亿,互联网普及率达71.6%[1]。随着互联网的不断普及,人们对现实生活中的突发性事件的关注度往往会通过网络发表情感鲜明的言论并相互影响渗透,以新浪微博为代表的中文微博社交平台是用户关注、追踪、评论热点话题的重要平台。然而,微博在为人们获取信息提供便利的同时,也成为负面信息快速传播的温床。特别是2019年出现新冠肺炎(COVID- 19)疫情以来,某些不法分子利用微博平台发布、传播涉疫相关虚假信息,助推网络舆情恶化[2]。为此,通过微博情感分析掌握网络空间舆情动态具有重要的现实及理论意义。

目前情感分类方法主要有3大类。一是基于情感词典的情感分类方法。该方法主要是通过构建好的情感词典来计算文本的情感值,进而根据一定的阈值判别该文本的情感倾向。目前常见的英文情感词典有SentiWordNet、General Inquirer等[3]。在中文情感词典构建方面,万琪等[4]针对中文微博表达口语化、不规范等问题提出了一种基于CRF的职合抽取模型,并验证了该模型在微博文本的新词探测方面有较好的效果;赵妍妍等[5]采用文本统计的方法构建了大规模微博情感分类词典,取得了较好的实验结果;二是基于机器学习的情感分类方法。情感词典方法的局限性在于维护词典的成本太大,特别是类似微博这样的短文本,表达的不规范也给词典的构建带来较大的困难。因此,有学者将传统的机器学习方法应用到文本情感分类中,并取得不错的效果。刘志明等[6]使用3种特征选择方法(信息增益、CHI统计、文档频率)和3种机器学习算法(贝叶斯、支持向量机、N-Gram)在中文微博上进行比较实验,实验结果表明,基于支持向量机和信息增益的微博情感分类效果较好。张璞等[7]提出一种融合情感词典和机器学习的文本情感分类方法,该方法以机器学习为基础,采用互信息占比对分类概率进行加权计算,实验结果表明该方法能够有效提高文本情感分类的性能;三是基于深度学习的情感分类方法。基于深度学习方法由于能够克服传统机器学习方法在时间序列上信息表达不足,其应用从最开始的图像领域渐渐推广到情感分析领域。深度学习中常用的情感分类模型有人工神经网络(Artificial Neural Network,ANN)、卷积神经网络(Convolutional Neural Networks, CNN)、循环神经网络(Recurrent Neural Network, RNN)、长短期记忆网络(Long-Short Term Memory,LSTM)和注意力机制等。TENG F等[8]提出了一种基于长短期记忆网络的多维主题分类模型,将该模型与递归神经网络在中文微博数据集进行比较实验,实验结果表明文中提出的模型效果较好。冯兴杰等[9]提出基于卷积神经网络和注意力模型相结合的文本情感分析方法,并与传统的机器学习方法和单纯的卷积神经网络方法进行比较实验,实验结果表明文中提出的模型效果较好。

通过文献梳理发现,长短期记忆网络因具有记忆能力,在文本情感分类中取得了不错的效果。然而,LSTM模型的参数设置直接影响到模型的预测结果,目前LSTM参数选取研究多是采用遍历网格搜索算法,存在开销大的缺点[10]。因此,本文的主要工作如下:

(1)利用词嵌入技术将微博样本从高维向量化嵌入到低维向量空间;

(2)采用TF*IDF提取微博样本的积极情感与消极情感的特征词,并进一步用词云分别展示其词语分布;

(3)采用粒子群算法优化LSTM网络参数,给出一种PSO- LSTM模型,并在涉新冠肺炎疫情相关微博数据集上进行了模型的比较实验。

1 相关工作

1.1 微博预处理

微博文本具有长度短(一般不超200字)、表达不规范(口语化、用户昵称)、非结构化等特点,给微博文本情感分类带来较大的噪声干扰。在对微博文本情感分类之前要用自然语言的相关技术对数据集进行预处理操作。主要步骤有:一是数据清洗。微博样本常包含有数字、字母、URL、特殊字符、重复值等噪声数据,要将这些噪声数据进行去除操作;二是切词分词。为有效提取微博样本的特征,通常采用切词分词算法(如jieba分词等)对其进行切词分词操作;三是去除停用词、标点符号。停用词、标点符号一般没有实际意义,且会因出现频率较高影响微博特征的有效提取,需进一步采用常用的停用词库(百度停用词库、哈工大停用词库、搜狗停用词库)对微博样本中的停用词进行去除操作。

1.2 向量空间模型

微博是非结构化的字符文本,需要通过向量空间模型转化为计算机可以处理的形式。文本向量空间模型表示方法主要有独热编码(One Hot Encoding)和词嵌入(Word Embedding)。

1.2.1 独热编码

独热编码是将词转换成词表表示的一个高维向量,每个词在词表中出现的位置记为1,其余位置均记为0。如,短文本:“我爱中国”,通过分词可表示为序列[“我”“爱”“中国”],假设词表长度为3,即只有这3个词,则“我”“爱”“中国”的独立编码分别为[100][010][001]。这种编码方式虽然便于计算,但词与词之间彼此独立,缺乏上下文关联,会丢失文本的语义及词序信息。同时,还容易因单词数量太多,特别是短文本易导致数据的高度稀疏,出现“维数灾难”[11]。

1.2.2 词嵌入

词嵌入是指将词汇从高维向量化嵌入到低维向量空间,单词向量的每个分量用实数表示[12]。词嵌入具有能够有效考虑文档中的某个词与其他词的关系及相关语义信息等,在文档表示中广泛使用。词嵌入应用比较广泛的是谷歌提出的Word2Vec,其基本思想是句子中相近的词是有联系的,可以通过当前的词预测相近的词。Word2Vec主要有Skip-gram和CBOW两种模型,Skip-gram使用中心词来预测周围的词,CBOW则是使用周围的词预测中心词。Skip-gram模型比CBOW 模型语义准确率更高[13]。因此,本文采用Skip-gram模型来训练词向量,该模型的结构如图1所示。在单词总量为T的文本序列中,给定任意一个单词w(t),当训练文本窗口大小为m时,Skip-gram的目标是最大化生成w(t)背景词的概率为:

(1)

上式最大似然估计等价于最小化以下损失函数:

(2)

其中,P(w(t+j)|w(t))利用softmax函数定义为:

(3)

2 PSO- LSTM模型

2.1 长短记忆神经网络(LSTM)

图2 LSTM神经网络结构

ft=σ(wf[ht-1,xt]+bf)

(4)

it=σ(wi[ht-1,xt]+bi)

(5)

(6)

(7)

ot=σ(wo[ht-1,xt]+bo

(8)

ht=ot×tanh (ct)

(9)

2.2 粒子群算法

粒子群算法(Particle Swarm Optimization,PSO)是一种模拟鸟群捕食行为的随机搜索群智能优化算法,算法将待优化问题的解抽象为粒子,每个粒子根据适应函数确定适应值[15]。粒子在限定空间飞行的过程中,向局部最优与全局最优点移动来实现最优位置的选取,以实现该粒子在粒子群中的运动方向最优。粒子群算法基本过程是:在N维空间中随机初始化M个粒子,粒子i的位置表示为:Xi=(xi1,xi2,…,xiN),飞行速度表示为:Vi=(vi1,vi2,…,viN)。粒子i通过由适应度函数决定的适应值来不断迭代找到最优解,同时通过跟踪自己目前的最好位置pbesti和粒子群全局最优位置gbesti来更新自己。找到pbesti和gbesti后,根据公式(10)和(11)来分别改变自己的速度与位置。

(10)

(11)

其中,n=1,2,…,N为搜索空间的维数,i=1,2,…M搜索的粒子数,Vin为粒子i在第k次迭代中的速度,rand()为分布在[0,1]之间的随机数,Xin为粒子的当前位置,c1,c2是学习因子,ω为惯性因子。

2.3 基于粒子群优化的LSTM模型(PSO- LSTM)

LSTM模型的预测精度同参数数据时间窗步长(look_back,lb)、网络隐藏层 (lstm_nets,ls)、训练次数(epochs,ep)、(dropout,dp)的取值密切相关[10]。因此,本研究采用粒子群算法在搜索空间内对这4个参数进行优化,以确定最佳参数组合,并使用交叉熵损失函数作为自适应函数,在文本情感分类中交叉熵损失函数定义为:

(12)

其中,i=1,2,…N为训练样本数,k=1,2,…K为情感类别数,yi为真实值,i为预测值。交叉熵损失度量了真实值和预测值之间的不一致程度,其值越小,模型的效果越好,模型优化的最终目标就对参数值的调优,使得交叉熵损失最小[16]。

建立粒子群优化的LSTM中文本微博情感分类模型,具体流程如图3所示。根据粒子群算法和LSTM算法的基本思想,基于粒子群优化的LSTM微博情感分类算法思路如下。

图3 基于粒子群优化的LSTM模型

(1)采用1.1和1.2介绍的相关预处理技术将微博样本表示为词向量空间模型;

(2)将数据时间窗步长(look_back,lb)、网络隐藏层 (lstm_nets,ls)、训练次数(epochs,ep)、丢弃率(dropout,dp)作为优化对象。初始化粒子群和相关参数(具体值见实验),初始化P个粒子的位置编码Xi,速度Vi;

(3)根据公式(12)计算每个粒子的适应度值fi,产生pbesti和gbesti;

(4)用每个粒子的适应度值fi与个体极值比较pbesti,若fi>pbesti,则pbesti的值更新为fi;

(5)用每个粒子的适应度值fi与全局极值比较gbesti,若fi>gbesti,则gbesti的值更新为fi;

(6)根据公式(10)和(11)更新所有粒子的速度和位置;

(7)若满足终止条件,返回最优超参数取值;否则,重复步骤(3)至(6);

(8)根据返回的最优参数训练LSTM模型;

(9)用测试微博集在训练出的模型上进行测试,并采用评价函数评估模型性能。

3 实验结果及分析

3.1 实验环境

实验环境:CPU Intel(R) Core(TM) i7- 8565U,内存16 GB,操作系统为Windows 10,使用Python 3.8.8,具体环境如表1所示。

表1 实验环境

3.2 实验数据

实验数据集来源分别为新浪微博平台抓取和笔者收集的涉及新冠肺炎疫情微博数据,并进行了人工标注,实验数据的样本结构如表2所示。

表2 微博样本结构

3.3 评价标准

通常采用精确率(Precision)、召回率(Recall)、F1值和准确率(Accuracy)评价微博情感分类的性能,混淆矩阵如表3所示[17]。

表3 混淆矩阵

(13)

(14)

(15)

(16)

3.4 实验结果分析

3.4.1 微博数据集分析

(1)数据长度分析

微博数据样本的长度统计分析如图4所示,选取标准化长度为220时可以涵盖 94.66%的样本。

图4 微博数据样本长度统计

(2)微博情感分析

为验证微博数据集标记的可靠性,本研究采用TF*IDF提取微博样本的积极情感与消极情感的特征词,并进一步用词云分别展示其词语分布。具体分析为:如图5(a)所示,积极情感主要包括“医护人员”“平安”“前线”“健康”等正面主题词,内容主要涉及对大家健康的祝福、对前线医护人员的支持等,多有“平安”“健康”等能够带来积极正面影响的词语,如图5(b)所示,消极情感主要包括“肺炎”“野味”“悲伤”“严重”等相对负面主题词,表现为对疫情呈现悲观态度,在一定程度上会煽动人们的情绪,带来消极负面的影响。

图5 不同微博情感词云分布

3.4.2 模型比较实验分析

粒子群算法的参数设置为:惯性因子ω的值初始化为0.5,学习因子c1,c2的值初始化为2,粒子数为20[10]。本研究将网络隐层数、时间窗步长、训练次数、dropout 4个参数的上界组合设为[10,1,10,0.2],上界组合设为[160,16,320,0.5]。采用PSO- LSTM算法在上述搜索空间最终确定优化参数[101,12,90,0.35]作为LSTM的参数输入。将微博样本集划分为80%训练集和20%测试集,使用贝叶斯、支持向量机、RNN、LSTM、PSO- LSTM进行比对实验,实验结果如表4所示。从表中可以看出RNN、LSTM、PSO- LSTM对微博情感分类的Precision、Recall、F1-score相对于传统的机器学习算法贝叶斯、支持向量机都有所提升。说明基于深度学习的微博情感分类更能有效提取微博样本的特征,从而提高模型的性能。从F值上看,PSO- LSTM算法因采用粒子群算对LSTM的参数进行了调优达到了89%,较 RNN和LSTM算法分别提高了5%和4%,达到上述5种算法中最好效果。

表4 模型情感分类对比实验结果统计

(2)LSTM和PSO- LSTM的ROC曲线如图6(a)所示,从ROC曲线来看,两种模型都远离基准线,曲线的面积分别为0.929和0.958,说明LSTM和PSO- LSTM对于微博情感分类的性能都较优,但整体而言PSO- LSTM的效果更好。从P- R曲线来看,随着查全率R的增加,LSTM模型的查全率下降速度明显快于PSO- LSTM模型,预测的总正确率0.853也低于PSO- LSTM模型的总正确率0.888,进一步说明了PSO- LSTM模型较LSTM在微博情感分类有更好的表现。

图6 PSO- LSTM、LSTM的ROC和P- R曲线

4 结语

基于深度学习的微博情感分类是网络舆情监控的重要方法,其中LSTM因具有记忆能力,在文本情感分类中取得了不错的效果。本文首先将收集的涉新冠肺炎疫情的微博数据集进行数据清洗、切词分词、去除停用词等预处理操作,并利用词嵌入技术将微博样本从高维向量化嵌入到低维向量空间;然后采用TF*IDF提取微博样本的积极情感与消极情感的特征词,并进一步用词云分别展示其词语分布;最后采用粒子群算法优化LSTM网络参数,给出一种PSO- LSTM模型,并在数据集上进行了模型的比较实验。实验结果表明,PSO- LSTM能有效提高微博情感分类的性能。

猜你喜欢
粒子向量样本
向量的分解
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于Matlab GUI的云粒子图像回放及特征值提取
聚焦“向量与三角”创新题
规划·样本
人大专题询问之“方城样本”
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
随机微分方程的样本Lyapunov二次型估计
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线