基于集成算法的微博评论情感分析

王德广, 黄丹婷

(大连交通大学, 软件学院, 辽宁, 大连 116028)

如今微博作为国内主流的社交媒体产品,凭借迅速获取实时资讯、简洁方便的操作等优势,其用户量从2009年成立至今增长迅速。用户们在实时热点下面发表自己的意见和建议,在自己的空间分享对某些事务的看法。随着这些评论文本越来越多,分析用户评论中带有的情感色彩,不仅可以帮助各类企业分析出用户的消费心理,也可以及时地帮助政府了解大众对社会热点和舆情的情感倾向,进而快速准确地制定出解决问题的有效方法,以免造成社会恐慌。

情感分析(sentiment analysis)是人们对想了解的商品、社会提供的服务、自身所处的环境及其关系属性的各种情绪、评价和一系列心理态度等综合计算分析的一种研究。该研究的快速发展与社交传播媒体的迅猛发展有着相辅相成的关系,如论坛、博客、微博等平台的发展,让人们的情感和体会能够有机会表达。现有研究表明,情感分析和多项工作的技术中监督方法和无监督的方法被广泛应用。在监督方法中,早期论文使用所有监督机器学习方法(如支持向量机、最大熵、朴素贝叶斯等)和特征组合。无监督方法包括使用情感词典、语法分析和句法模式的不同方法。现有多本综述书籍和论文,广泛地涵盖了早期的方法和应用。大约10年前,深度学习成为强大的机器学习技术,在很多应用领域产生了当前最优的结果,包括计算机视觉、语音识别、NLP 等。近期将深度学习应用到情感分析也逐渐变得流行[1]。

2.1 逻辑回归(logistic regression)

Logistic模型回归数据模型分析又称之为Logistic模型回归数据分析,是一种基于广义的二维线性模型回归数据分析模型,常被广泛应用于对数据挖掘、文本数据分类、社会经济学数据预测等基础研究应用领域。通过对Logistic的各个回归输出进行取值分析,可以帮助计算和得出一个逻辑上的回归给出输入中各个元素自变量的取值权重,从而可以使我们理解有哪些因素对回归输出值有所影响。

2.2 决策树

决策树是(decision tree)是机器学习领域中具备易实现、易解释、应用广泛的一种算法,以数据的属性为判断依据来得到分类或回归的结果。

2.3 朴素贝叶斯

朴素贝叶斯(naive bayes, NB)具有扎实的数学基础、低时长的分类条件、较简单的操作等优点,NB分类器对结果的说明很清晰并且表现强度和数据健壮性都比较高。当数据集属性之间的关系相对比较独立时,朴素贝叶斯分类算法会有较好的效果[2-3]。

给定B1,B2,…,Bn表示数据点,那么该类型的数据点被表示为来自类别Ai的概率分解公式为

(1)

2.4 支持向量机

支持向量机(support vector machine, SVM)的一个基础精度模型就是通过它来寻找在一个特征精度空间上同样能够将精度达到最好的一种分离超平面。SVM被广泛用于处理二分类模型问题。

2.5 随机森林

随机森林(random forest)是一种集成算法(integrated algorithm),简单来说是将多个决策树捆绑在一起就得到了一个随机森林。将数据分出不同的结果,进行投票得出平均值作为最终结果输出。随机森林的工作原理如图1所示。

图1 随机森林原理

2.6 卷积神经网络模型

卷积神经网络(convolutional neural network,CNN)是一种使用多个卷积核进行计算操作的前馈神经网络[4]。CNN将神经网络的模型划分为多个层级,主要由输入层、卷积管理层、池化管理层、全连接管理层和输出管理层等5个部分共同完成。

2.7 循环神经网络

循环神经网络(recurrent neural network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)[5]。

2.8 长短期记忆网络

RNN对于短期记忆效果很好,但是结构较为简单,难以胜任长期记忆任务,运算效率低下。长短期记忆网络(long short-term memory, LSTM)[6]是RNN模型的改进,通过对“循环体”进行刻意设计来克服RNN的缺陷。LSTM是一组特殊的分层记忆处理模块,将单元直接自动替换为基于递归记忆神经网络的多个隐藏和分层记忆神经元,这些记忆模块单元能够直接用来自动记忆整个隐藏层任何一个层的时间和梯度状态,从而有效解决时间梯度信息消失等复杂问题。

2.9 循环卷积神经网络

循环卷积神经网络(recurrent convolutional neural network, RCNN)将卷积神经网络的卷积层替换为内部具有递归结构的循环卷积层(recurrent convolutional layer, RCL),并按前馈连接建立深度结构[7]。RCNN在文本表示上与RNN有所区别,不是直接使用最后时间进一步的隐状态作为文本表示,而是用max-pooling层进行特征选择。

数据来源于新浪微博网友对热点事件的评论,用到的算法分别为机器学习算法和深度学习算法。机器学习算法包括:Logistic、Decision Tree、NB、SVM、Random Forest和集成模型,深度学习算法包括:CNN、RNN和RCNN算法。传统机器学习模型准确率低但效率高,深度学习模型可以有效提高准确率等指标但用时很久。为了将二者的性能取长补短得到最优的算法,将机器学习算法与深度学习算法分别进行集成后得到各项指标结果的对比,找出机器学习中准确率最高的模型作为输入,将深度学习效果最好的集成模型RCCR与之结合,得到的最优分类器与其他分类器进行各项指标评估对比,以此实现对算法性能的改进。模型设计如图2所示。

图2 模型设计图

3.1 数据采集

八爪鱼网页采集器是网络爬虫的一种。用户可以设置从哪个网站爬取数据,爬取哪些数据,爬取什么范围的数据,什么时候去爬取数据,爬取的数据如何保存,等等。八爪鱼采集系统是一款免费网络爬虫软件,系统采用分布式云构架,联合客户要求,整个系统部署在腾讯云平台之上[8]。

采集的数据主要来源于热点事件微博用户评论,其中包括正向评论、中性评论和负向评论。情感倾向和语料分布见表1、表2。

表1 部分评论展示及情感倾向

表2 语料库分布概况

接下来,把所有的数据按顺序进行打乱和重排,并将所有的数据划分训练集、验证集和测试集,比例为0.7∶0.2∶0.1。

3.1.1 数据清洗

用户在微博评论时内容会存在重复、繁体字、特殊字体等情况。在进行实验之前,需要对数据进行处理。

(1) 数据去重,重复的评论只保留1条。

(2) 将繁体字用简体字替换,使用开源库opencc来进行繁简转化。

(3) 正确标注每个词语的词性,即确定每个词是名词、动词、形容词或其他词性。

(4) 去除停用词,删掉那些对情感分析没有帮助的冗余词汇。

3.1.2 分词、词性标注及词频统计

主要使用jieba进行中文分词标注,具有高性能、准确率、可扩展性等特点。针对词频的统计与分析,可以看出微博用户对热点事件评论时最常使用的话语。部分词频统计结果如图3、图4所示。

图3 动词词频统计

图4 形容词词频统计

从图3、图4可以看出,用户们对不同事件会发表不同的看法。积极的、中性的和消极的情绪可能会存在于同一热点问题上。

3.2 机器学习模型设计

用gridsearch遍历模型参数,分别选择最优的Logistic、Decision Tree、NB、SVM、Random Forest模型。模型参数如表3所示。

表3 机器学习模型参数

3.3 深度学习模型设计

分别训练CNN模型、RNN模型和RCNN模型进行文本的情感分析。

CNN的卷积核大小分别为2、3和4,即CNN可以提取到bi-gram、tri-gram和four-gram的信息,卷积核数量为32。模型结构如图5所示。

图5 CNN模型结构

RNN中双向LSTM的隐藏层大小为32,隐藏层层数为2层。将正向LSTM的输出和反向LSTM的输出拼在一起,经过全连接层和softmax层后输出结果。模型结构如图6所示。

图6 RNN模型结构

RCNN模型与经典结构有所不同。本项目采用LSTM隐藏层神经元的个数为32,隐藏层数为2层,并将词向量与LSTM输出链接在一起,经过max-pooling层提取特征后输出分类结果。模型结构如图7所示。

图7 RCNN模型结构

三者都采用Adam优化算法进行优化,学习率设置为1e-4,epoch设置为20。

3.3.1 分类算法评价指标

为明确不同分类器的优缺点,应先了解怎样计算评价指标。TP 代表将正类样本判断为正类的数量,FN代表将正类样本判断为负类的数量,FP 代表将负类样本判断为正类的数量,TN 代表将负类样本判断为负类的数量。通过计算得到相对应的精确率、准确率、召回率和f1值,计算公式分别如下:

(3)

(4)

(5)

(6)

4.1 机器学习模型结果

为了验证本文提出的传统机器学习模型与深度学习模型准确率对比的结果,将单一的机器学习模型(逻辑回归、决策树、朴素贝叶斯、支持向量机和随机森林)与集成模型1(决策树+朴素贝叶斯+逻辑回归)、集成模型2(支持向量机+逻辑回归+决策树)和集成模型3(支持向量机+逻辑回归+决策树+朴素贝叶斯)进行测试结果比对,结果见表4。

表4 机器学习模型和其集成模型测试结果

由表4可知,集成模型1的accuraty最高,朴素贝叶斯的precision最高,集成模型1和支持向量机的recall最高,决策树f1的 score最高,基于准确率高的前提下集成模型1的用时最短。

4.2 深度学习模型结果及分析

基于RNN和CNN单一分类器、RCNN分类器以及RCCR分类器进行了4组实验,分析深度学习模型各项指标,得到实验结果如表5所示。

表5 深度学习模型和集成模型测试结果

由表5可知,集成模型RCCR因为综合了RNN、CNN和RCNN的优点,准确率有了明显的提升,缺点是用时随着准确率的提升也明显增加了。

4.3 最优模型结合结果及分析

选取机器模型中准确率最高,用时最少的集成模型1与深度学习模型中准确率最高,但用时最多的集成模型RCCR进行结合,得到各项性能最优的模型best1,结果见表6。

表6 best1测试结果

通过表6可以看出,将集成模型1和RCCR相结合之后的算法best1,不仅中和了机器学习和深度学习模型的缺点,而且提高了准确率并且有效地缩短了用时,新的模型相对机器学习算法准确率提高了近20%,所用时长相对于深度学习集成模型也缩短了近二分之一。

从评估结果的对比可以看出,深度学习的评估值均优于传统机器学习模型,但是在效率性能方面深度学习模型却远远不如传统机器学习模型。在进行了一系列的实验后,最终将深度学习模型与机器学习模型相整合,得到的best1模型不但有效提升了文本分类的准确率而且可以中和深度学习耗时久的缺点,这样得出的分类器才可以更好地被应用。

本文对数据的大小和复杂性没有做出较为深入的研究,会存在其他因素影响到文本划分的准确度。利用机器学习和深度学习算法及模型集成,可以对微博评论做出情感分析,判断该条评论整体是呈现消极还是积极的情感态度,并且经过反复对比优化后得到准确率高的分类器可以保存并运用在其他微博评论中,达到智能、高效的舆情管控及情绪引导效果。

猜你喜欢 分类器准确率卷积 学贯中西(6):阐述ML分类器的工作流程电子产品世界(2022年4期)2022-04-21基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析健康之家(2021年19期)2021-05-23不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨医学食疗与健康(2021年27期)2021-05-132015—2017 年宁夏各天气预报参考产品质量检验分析农业科技与信息(2021年2期)2021-03-27基于朴素Bayes组合的简易集成分类器①计算机系统应用(2021年2期)2021-02-23颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察健康体检与管理(2021年10期)2021-01-03卷积神经网络的分析与设计电子制作(2019年13期)2020-01-14从滤波器理解卷积电子制作(2019年11期)2019-07-04一种自适应子融合集成多分类器方法计算机测量与控制(2019年4期)2019-05-08

推荐访问:算法 集成 情感