基于改进LDA-CNN-BiLSTM模型的社交媒体情感分析研究
2022-04-14杨秀璋刘建义任天舒宋籍文姜婧怡陈登建周既松
杨秀璋,刘建义,任天舒,宋籍文,武 帅,3,姜婧怡,陈登建,周既松,李 娜
(1.贵州财经大学信息学院,贵阳 550025;2.贵州高速公路集团有限公司,贵阳 550027;3.涟水县财政局,淮安 223400;4.中国船舶工业系统工程研究院,北京 100094)
0 引言
随着Web2.0和社交媒体的迅速发展,互联网产生了海量的评论信息,它们包含了用户对舆情事件、人物观点和风景事物等所产生的价值倾向和情感色彩信息,表达了大众对万事万物的情感色彩和立场态度,包括喜悦、愤怒、哀伤、赞同、批评等。如何自动化快速地从非结构化评论中挖掘出用户的情感倾向,动态监测舆情事件的情感态势变得至关重要,情感分析(sentiment analysis)技术应运而生。情感分析又称为意见挖掘、倾向性分析,旨在对带有情感色彩的主观性文本进行分析、处理和推理及预测的过程,重点关注文本中的不同情感色彩的特征,比如积极或消极。文本情感分析被广泛应用于舆情分析、内容推荐、文本挖掘等领域,已经成为了近年的研究热点。
社交媒体的发展,便捷了用户信息的往来,用户对事件抒发个人真实感受和亲身体验,对于政府、企业来说都是重要的信息。然而社交媒体由于用户量庞大,产生的意见信息层次不齐,大多信息简短而紧凑,夹杂大量个人感受和评论,存在较为严重的文本噪声,一定程度增加了文本挖掘研究的难度。传统情感分析方法仅从文本信息特进行征提取实现情感分类,并未有效考虑上下文间的语义关联,不能较好反应社交媒体真实的情感,结果存在一定的片面性。
1 相关研究
1.1 社交媒体情感分析
依托社交媒体的存在,用户对舆情事件、人物观点和风景事物等产生了大量意见,为理解、深层次挖掘用户信息行为提供了可能。其核心研究为分析用户在社交媒体平台上表达的情感,即情感分析(sentiment analysis)。情感分析主要包括:倾向性分类、情绪分析、情感时序分析、主观检测、意见摘要、意见检索、意见持有者提取、讽刺和反语检测、跨领域情感分析以及多模态情感分析。最为常见的情感分析为情感分类和情绪分析。
情感分类基于假定一个实体或实体的方面和属性能够简单划分在两个相反情感极性的一个,分为积极、消极和中立。情绪分析是在情感分析的基础上结合心理学的情绪状态量表(profile of mood states)进行六维度划分。
1.2 基于机器学习的情感分析
基于机器学习的情感分析方法可分为两类:监督学习技术和非监督学习技术,都依赖于特征集。基于监督机器学习方法以支持向量机(SVM)、朴素贝叶斯、决策树算法等,需要充足的语料库作支撑。基于非监督学习方法以无监督学习和半监督学习为主,一定程度能够解决缺乏完整标注的语料库带来的分析局限性。
针对机器学习算法的局限性,学者在算法基础上进行一定程度优化,提升其识别效果。马捷等人在现有情感极性值的基础上,融入方差加权信息熵,计算不同话题解读倾向所映射出的信息娇虎毒,一定程度量化了热点话题的信息价值。车思琪等在传统机器学习算法基础上融入情感词典,提升识别效果。王珠美等在传统LDA模型基础上结合直觉模糊TOPSIS方法对农产品在线评论进行综合评价值计算,有效发现综合评价值与积极情感值之间的正相关性。
由于社交媒体的语料内容存在大量个人情感,语料信息噪声大,机器学习方法进行情感特征提取时,无法进行准确预测。
1.3 基于深度学习的情感分析
相比于机器学习方法,深度学习模型不再依赖于特征提取,而是进行自主学习。随着深度学习的研究深度加深,基于深度学习的情感分析方法的准确率逐步超过传统方法。虽然深度学习模型进行情感分析能够有效解决语料标注问题,且准确率较高,但模型训练花费时间较大,无法解释最终语义。
针对深度学习模型现阶段的局限性,学者在框架模型上进行一定程度改进。杨秀璋等人在传统TextCNN模型基础之上融入Attention机制组合,有效完成微博舆情事件的情感分类。夏辉丽等人针对推文情感分类复杂且准确率低的问题,提出一种利用自注意力双向分层语义模型进行网络文档情感分析,提高了深度学习模型的求解速度和准确度。张卫等人针对古诗文本采用“冷启动”自动标引进行语料学习,并运用深度学习模型BERT-BiLSTM-CRF进行长篇幅诗文情感分析,有效提升准确率,拓宽了对非遗文本的语义解析。
由于社交媒体的信息文本简短而紧凑,前后文语义关联度大,深度学习方法在进行语料学习后,应考虑前后文本语义关联性,再进行情感分析。
针对社交媒体情感分析忽略情感特征的长距离语义关系,无法精准捕获文本信息中带有情感色彩的特征词,需要进行大量人工标注提升实验结果的问题。本文提出一种改进LDACNN-BiLSTM的深度学习模型,有效感知舆情事件的情感态势,一定程度上实现对微博舆情事件的情感分析,具有一定的研究意义。
2 本文工作
为更好地对社交媒体舆情事件的评论实现情感分析,本文提出一种改进LDA-CNNBiLSTM模型,通过融合LDA模型和情感词典实现特征提取,再构建CNN-BiLSTM模型完成情感分类,预测舆情事件的情感态势。
2.1 模型总体框架
本文提出一种改进LDA和CNN-BiLSTM的情感分类模型,其总体框架如图1所示。具体实现过程如下:
图1 改进LDA-CNN-BiLSTM模型框架
(1)通过Python和Xpath技术自定义网络爬虫,采集微博社交媒体舆情事件的评论信息,包括“喜悦”“愤怒”和“哀伤”三种类别的情感,并存储至本地CSV文件中。
(2)对评论文本进行数据预处理,包括Jieba中文分词、停用词过滤、特殊字符删除、重复评论删除、评论标注等。
(3)构建融合LDA模型、情感词典和人工标注的模型并用于情感特征词提取,使用Word2Vec将经过特征提取后的情感文本转换为词向量,并用作后续深度学习模型的输入层。
(4)构建CNN-BiLSTM模型,利用卷积神经网络提取文本的关键特征,长短时记忆网络捕获长距离语义特征,最终经过Softmax分类器计算社交媒体舆情事件评论的情感倾向,完成情感分类任务。输出结果分别对应“喜悦”“愤怒”和“哀伤”三种情感。
2.2 特征提取
本文提出一种融合LDA模型和情感词典的特征提取方法。其具体的实现过程如下:
(1)通过LDA模型提取不同评论文本的情感特征词。LDA模型是2003年由Blei等提出的主题模型,常用于文本分类和文本挖掘任务,它可以将文档集的主题以概率分布的形式给出,从而抽取出不同主题的分布情况,更好地完成融合主题的分类或聚类任务。本文将微博社交媒体不同舆情事件的评论划分为三类主题,分别对应“喜悦”“愤怒”和“哀伤”三个类别,并利用LDA模型提取对应的主题特征词。
(2)利用大连理工大学情感词汇本体库进行特征提取,将其划分为7个大类和21个小类,即“乐”“好”“怒”“惧”“哀”“恶”“惊”。同时,结合情感特征词的词频统计和人工标注构建针对微博社交媒体的情感词库。
(3)由该情感词库完成特征提取任务。该操作能抽取出不同评论带有情感色彩的高质量特征词,为后续深度学习模型实现情感分类任务提供支撑。
2.3 CNN模型
卷积神经网络(Convolutional Neural Network,CNN)主要由卷积层和池化层组成,本文构建三层卷积神经网络提取舆情事件评论文本的关键特征。其中,卷积层将接收n×d的情感特征词矩阵,卷积过程如公式(1)所示。
式中,f表示激活函数,通常采用ReLu(rectified linear units)函数加快训练收敛速度;hi表示微博社交媒体评论词向量卷积处理后的特征;w表示大小为d的卷积核;V表示输入层的词向量;b表示偏置项。通过该卷积操作能有效生成局部特征集合,如公式(2)所示。
池化层可以压缩文本特征向量和模型参数的大小,并且最大化保留情感特征特性,其计算公式如(3)所示。
本文通过构建卷积核分别为2、3、4的过滤器来提取微博评论文本的关键特征,接着将其输出向量输入至BiLSTM模型。
2.4 Bi LSTM模型
双向长短时记忆网络(Bi-directional long short-term memory,BiLSTM)模型是循环神经网络的变体,它从前后两个方向提取特征,从而捕获长距离依赖关系及上下文语义特征,本文用来提取舆情事件评论的情感特征。
BiLSTM模型的网络结构如图2所示,通过状态的传递来增强主体信息,从而有效捕获如“喜欢”与“哈哈”、“难受”与“祈祷”等情感特征词,其计算公式如(4)—(6)所示。
图2 BiLSTM模型网络结构
3 实验分析
本文实验在Windows环境下完成,利用Python和Xpath技术采集微博社交媒体评论数据集,并按照“喜悦”“愤怒”和“哀伤”三种情感进行标注。接着通过TensorFlow和Keras构建深度学习模型,其GPU为GTX 1080Ti,处理器为Inter(R)Core i7-8700K,编程环境为Anaconda,编程语言为Python 3.6。
3.1 实验数据和评价指标
本文实验数据是通过Python和Xpath技术构建网络爬虫采集微博各舆情事件的评论数据,经过数据清洗和预处理后形成20万条带有情感色彩的数据集,数据集包括“喜悦”“愤怒”和“哀伤”三种情感,并随机划分为训练集、测试集和验证集,其数据分布情况如表1所示。
表1 社交媒体评论数据集
针对微博社交媒体评论的情感分析,本文采用精确率(Precision)、召回率(Recall)、F值(F-score)和准确率(Accuracy)进行实验评价,其计算过程如公式(7)—(10)所示。
其中,精确率用于评估情感分类被正确预测为指定类别占所预测类别评论数量的百分比,召回率用于评估情感分类被正确预测占该类别情感评论数量的百分比,F值综合了精确率和召回率,是两者的加权调和平均值,常与准确率用于评估模型的质量。
3.2 基于LDA模型和情感词典的特征提取实验
本文利用LDA模型和情感词典对微博社交媒体的舆情事件评论进行特征提取,其LDA主题模型的n_topic设置为3,分别对应“喜悦”“愤怒”和“哀伤”三类情感,情感词典选择大连理工大学情感词汇本体库。通过该操作能有效过滤不必要的噪声特征词干扰,同时经过处理后特征词将更具有情感色彩,为后续CNNBiLSTM模型的情感分类提供良好的支撑。具体过程如下:
(1)通过中文分词和数据清洗(含停用词过滤和特殊字符清洗)提取只保留具有语义价值信息的特征词。
(2)利用LDA模型提取“喜悦”“愤怒”和“哀伤”三类主题的情感特征词,并结合大连理工大学情感词汇本体库和人工标注将不同评论的情感特征词进行权重加成。
(3)经过上述步骤生成对应的微博社交媒体情感词库,其中“喜悦”情感特征词的词云分布如图3所示,“愤怒”情感特征词的词云分布如图4所示,“哀伤”情感特征词的词云分布如图5所示。
图3 经特征提取的“喜悦”类别情感特征词
图4 经特征提取的“愤怒”类别情感特征词
图5 经特征提取的“哀伤”类别情感特征词
(4)经过情感特征提取,将其输入CNNBiLSTM模型,并完成最终的情感分类实验。
本文通过构建改进的LDA-CNN-BiLSTM模型,完成社交媒体情感分析任务。其中,图3显示了“喜悦”类别的关键情感特征词,包括“哈哈”“喜欢”“可爱”“快乐”“开心”“完美”等。
图4显示了“愤怒”类别的关键情感特征词,包括“没有”“问题”“死亡”“真实”“可怜”“严重”“愤怒”等,同时包括网络术语,比如“TMD”“呵呵”“受不了”等,这些特征词有效体现了大众对舆情事件的愤怒情绪,并且经过基于LDA模型和情感词典的特征提取能有效增强情感分类的结果。
图5显示了“哀伤”类别的关键情感特征词,包括“可怜”“祈祷”“遇难”“默哀”“祝福”“可惜”等。
3.3 社交媒体情感分析实验分析
经过基于LDA模型和情感词典的特征提取后,本文构建CNN-BiLSTM模型并实现社交媒体情感分析实验。该模型的超参数如表2所示,并且增加Dropout层防止出现过拟合现象。为避免某次异常实验结果的影响,整个实验结果为十次实验结果的平均值。
表2 模型超参数设置
本文提出一种改进LDA-CNN-BiLSTM的方法,并进行了详细的对比实验,其实验结果如表3所示,分别与经典的机器学习模型(包括逻辑回归、SVM、随机森林、KNN、朴素贝叶斯、AdaBoost)和深度学习模型(包括LSTM、BiLSTM、GRU、BiGRU、CNN、TextCNN)进行对比。
由表3可知,本文方法的精确率为0.8946,召回率为0.8841,F1值为0.8893,准确率为0.8778,整个实验结果均优于现有的机器学习和深度学习模型。通过对比本文方法与其他方法的F值(F-score)变化趋势,可以发现本文方法比逻辑回归、SVM、随机森林、KNN、朴素贝叶 斯、AdaBoost分 别 提 高0.1878、0.1939、0.1902、0.2671、0.1419和0.2194,比LSTM、BiLSTM、GRU、BiGRU、CNN、TextCNN分 别 提 高0.0795、0.0489、0.0858、0.0572、0.0491和0.0394。通过对比本文方法与其他方法的准确率(Accuracy)变化趋势,可以看到本文的方法比逻辑回归、SVM、随机森林、KNN、朴素贝叶斯、AdaBoost分 别 提 高0.1747、0.1789、0.1937、0.2597、0.1477和0.2092,比LSTM、BiLSTM、GRU、Bi-GRU、CNN、TextCNN分别提高0.0769、0.0382、0.0855、0.0564、0.0530和0.0459。
表3 各模型情感分类实验结果对比
同时,本文对三种情感进行了对比分析,得出如表4所示的实验结果。
表4 三大类别情感分析实验结果
由表4可知,“喜悦”情感的精确率、召回率和F值最高,分别为0.9102、0.9023和0.9062,接着是“哀伤”情感和“愤怒”情感。这一方面是因为“喜悦”类型的样本数量较多,另一方面是“愤怒”和“哀伤”情感特征词存在部分融合的现象,但该实验结果仍然有效证明了本文方法的有效性,能高质量对社交媒体的评论信息进行情感趋势分析,自动化区分出“喜悦”“愤怒”和“哀伤”不同类型的情感。
最后,本文分别对比了不同方法是否使用LDA模型和情感词典融合的F1值,其机器学习实验结果如图6所示,深度学习实验结果如图7所示。
图6 机器学习使用LDA和情感词典前后的F1值对比
图7 深度学习使用LDA和情感词典前后的F1值对比
由图6和图7可知,融合改进LDA模型和情感词典后的方法在社交媒体评论情感分析实验中的效果更好,六种机器学习模型的F值平均提升3.66%,七种深度学习模型的F值平均提升1.84%。通过该部分实验充分说明情感特征词的有效提取能在一定程度上提升分类模型的效果,并能够充分实现对微博等社交媒体舆情事件的评论进行情感分析,较好地感知大众情绪,预测情感趋势。
4 结语
本文针对社交媒体情感分析忽略情感特征的长距离语义关系,无法精确捕获带有情感色彩的特征词,过度依赖人工标注等问题,本文提出一种改进LDA-CNN-BiLSTM模型,旨在实现对微博舆情事件的情感分析研究。实验通过对微博舆情事件评论文本进行数据采集和数据预处理,获取“喜悦”“愤怒”和“哀伤”三种类别情感文本。其次,构建融合LDA模型、情感词典和人工标注的算法并用于情感特征词提取,使用Word2Vec将经过特征提取后的情感文本转换为词向量。最后,构建CNN-BiLSTM模型,利用卷积神经网络提取文本的关键特征,长短时记忆网络捕获长距离语义特征,从而完成情感分类任务。
实验结果表明,本文方法的精确率、召回率、F1值和准确率分别为0.8946、0.8841、0.8893和0.8778,整体实验结果均优于现有的机器学习和深度学习模型,并且融合LDA模型和情感词典的实验结果均有明显提升,其F1值比实验中的六种机器学习模型平均提升3.66%,比七种深度学习模型平均提升1.84%。综上,本文方法能够应用于社交媒体的情感分析任务,并有效感知舆情事件的情感态势,具有一定的研究价值。