李肇明,李 旸,孙 敏,张恩宝,李倩倩
(1.安徽国际商务职业学院,安徽 合肥 230031;2.安徽农业大学信息与计算机学院,安徽 合肥 230036)
随着移动互联网的快速发展,越来越多的用户通过电脑、手机访问互联网产生了大量的用户行为数据,其中在线社交网络吸引和聚集了大量的用户。如:新浪微博、微信、Twitter、FaceBook等国内外知名的社交网络平台。在这些社交网络平台中每天有大量用户在其中活跃,会产生体量十分庞大的社交网络数据。以新浪微博为例,到2019年6月微博月活跃用户达到4.86亿,日活跃用户已达到2亿,每天会产生数十亿条微博信息,可见新浪微博已经成为了国内最重要的社交网络平台。在网络中的社交,用户的行为模式复杂多样。交互行为使得信息在网络中快速传播,其中对用户行为的预测与分析已经成为当下最热门的研究课题。
在社交网络中,各类推荐算法应用十分广泛,国内外学者在这方面做了很多工作。在理想的情况下,精准地推荐需要与用户的实时兴趣喜好相配对,用户的实时喜好又决定了用户实时的行为。在实际应用中,用户的偏好变化受多个因素的影响,其中情感因素是用户偏好的核心因素,情感强度的强弱又可以直接反映出用户偏好的态度。本文通过文本挖掘来研究情感强度的强弱进而预测对用户行为的影响。
在信息化高度发达的时代,微博已成为信息传播最主要的社交网络之一。分析微博用户的行为习惯一方面不仅能够更好地把握用户的行为趋向,而且为推荐系统等研究提供理论基础;另一方面能够预测微博信息的传播途径,对事件预警和舆情监控起到重要的参考价值。目前国内外学者对社交网络行为的研究侧重于用户的浏览和转发行为进行预测,但是经常会忽略用户自身情感的作用。心理学认为,用户的行为举止会直接受到情感的影响。情感分析在社交网络中的应用也越来越普遍,一般来说,广义的情感分析是指针对文本的观点、情绪和态度的一种计算研究[1]。主要涵盖情绪分析、态度分析以及emoji表情挖掘等一系列研究。本文围绕着情感强度,从微博文本中提取用户的情感信息建模研究,挖掘用户的情感强度,分析用户情感强度对用户转发行为的影响。
文本情感分析是指对带有情感色彩的主观性文本采用分析、概括和推理的过程。最开始的情感解析只是针对于感情色彩的词语来进行分析。如:“喜欢”是带有褒义色彩的词语;“讨厌”是带有贬义色彩的词语。但随着社交网络的发展,程度副词以及emoji表情更能够直观地表达使用者的情感。国内外专家在这个方向也开展许多的研究。李吉等[2]利用同义词词林扩展版和大连理工情感词汇本体构建情感词典。使用PAD三维情感模型来计算情感强度,以此对商品评论所蕴含的情感状态加以分析研究,并对网络口碑舆情进行监测评估。夏梦婷等[3]提出从语义角度分析网络舆情评价事件中情感词、短语、句子和篇章的情感强度。利用HowNet中文词语相似度计算词语的权值,并对网络舆情中的多个对象采用计算情感强度的方法,最后计算出网络舆情情感强度。Thelwall M等[4]使用SentiStrength算法从非正式英文文本中提取情感强度,挖掘网络空间中的事实语法和拼写风格,将sentistrength应用于myspace的评论,并使用机器学习优化术语情感强度查找表。实验表明sentistrength能够以60.6%的准确率预测积极情绪;以72.8%的准确率预测消极情绪。Yangsen Zhang等[5]提出一种协调的CNN-LSTM-Attention(CCLA)模型。用CCLA单元学习句子的向量表示,句子的语义和情感信息及其关系被自适应地编码为文档的矢量表示。使用softmax回归分类器来识别文本中的情绪倾向,与其他方法相比,CCLA模型可以很好地捕获局部和长距离的语义和情感信息。
在线社交网络的内容中包含很多情感信息,这些信息表达了用户对事物的情绪和态度,对用户行为的预测有着重要的影响。秦锋等[6]从用户属性、用户兴趣和用户情绪三个方向,对影响微博用户行为的原因进行深度解析,提取对用户有影响的特征建立预测模型,实验结果表明对用户行为的预测准确率大大提高。Yanbing Liu等[7]针对用户转发的行为提出一种基于模糊理论和神经网络算法的用户转发热点话题预测方法。该方法不仅能够充分表达模糊性和随机性,对非线性关系也有很好的逼近能力,还可以准确预测用户行为,同时能够动态感知热点话题的变化。
综上所述,目前学术界针对用户转发行为的预测很少考虑文本的情感强度,已有的研究多倾向于情绪和兴趣上,涉及情感强度值的方面研究较少。因此提出基于文本情感强度的用户转发预测模型。该模型利用新浪微博真实文本数据通过情感词典进行细粒度提取情感强度,实验验证了情感强度对用户转发行为的有效性。
提出基于文本情感强度的用户转发预测模型,该模型主要包括2个模块:文本情感强度分析模块和用户转发预测模块。
参考大连理工大学情感词汇本体库[8],根据徐琳宏等[9]论文《情感词汇本体的构造》所述,将情感分为7大类和21小类。7大类分别对应:好、恶、乐、怒、哀、惧、欲。其中情感强度分为五档,分别是1、3、5、7、9。强度最大的为9,强度最小的为1。考虑到情感强度具有模糊性,将情感强度划分略作修改,由于用户的情感具有正面情感、中性情感和负面情感的特点,将情感强度按权值分为-5、-3、-1、0、1、3、5七档。其中,-5代表负面情感最大值;5代表正面情感最大值;0代表中立的情感强度,一般认为是中立的态度。如表1所示。
Tab.1 Classification of emotional intensity表1 情感强度级别划分
情感强度分析的难度是如何确定文本中基准词及它们的情感强度。引入情感词模糊性规则,在情感词权值的基础上设计一个量化计算情感词的方法。其主要思想为构造一个情感强度计算公式,训练出来的情感强度绝对值越大,所表示的情感就越剧烈,其情感倾向就越明确。具体方法如下:
提出模糊量化情感词。根据训练的语料库找出情感词,情感词的选取标准按照高频词汇和情感词强度权值来选取,其中情感强度权值采用人工标注的方式。设确定训练样本集为Dtraining={D,E}dj(j=1,2,…,m)-ei={o=1,2,…,k}_D_Dd__ei属于情感词类别文档dj的概率为:
其中,P(ei|dj)表示情感ei为情感词类别文档dj的概率。count(eij)_ei在dj类别文档的个数。
对于任意一个情感词ei在训练集的Dtraining情感强度为:
其中ID_Dd___
利用智能爬虫软件爬山虎采集器[11]收集新浪微博平台的数据。采集特定用户所有微博的内容,包括发布时间、内容、转发、评论、点赞的个数。然后对用户进行去重,过滤无效用户,最后得到有效的用户集合U。提取每个用户12小时内发布的微博内容,包括原创和转发的微博。对获取的数据集先随机选择100位用户,收集与他们相关联的用户,共有20000用户,通过计算每个用户平均有200个粉丝。然后根据转发情况进行人工标注,并过滤掉无用的属性,得到实验数据集,共包含250000条数据。每条数据记录属性的用户编号、微博内容、转发次数。
因为微博文本具有口语化,表达随意性的特征,所以在试验前需要进行相关的预处理:①分词:使用情感分析工具SnowNLP[12]来分词并提取关键词。SnowNLP是一个python写的类库,可以方便地处理中文文本内容。②词性标注:提取完关键词后,根据情感词的规则,标注正向负向情感词作为基准词。③情感分析:根据上面公式计算出情感词的强度。
为了评估用户转发行为的效果,采用准确率P(Precision)、召回率R(Recall)和F值(F-measure)作为评价指标,转发行为实验结果以表2的形式表示.
表2 实验结果统计
那么,P、R、F计算公式分别如下:
为了证明所提模型的有效性,采用了3种主流的方法进行对比验证:
方法1:使用KMeans算法对用户的微博数据进行聚类,获取用户偏好的主题词,再映射为用户的特征向量,使用SVM实现微博转发预测。
方法2:使用改进的TF-IDF结合用户的情绪和兴趣提取用户的关键词 ,映射为用户的兴趣特征向量,最后使用SVM实现微博转发预测。
方法3:使用LDA从抓取的微博文本中抽取主题特征,实现文本内容到主题向量的映射,使用SVM实现微博转发预测。
方法4(本文方法):使用SnowNLP提取文本的关键词,并计算情感强度,再映射为特征向量,最后使用LIBSVM软件包实现微博转发预测。
采用10次交叉验证方式验证各方法的有效性,即将数据集分成10份,轮流将其中9份作为训练数据,1份作为测试数据进行试验。采用P、R、F值作为检验模型效果的评价指标。不同方法的实验结果如表3所示。
表3 不同方法实验数据
不同方法的实验结果比较如图1所示。
图1 不同方法实验结果
本研究提出基于文本情感强度的微博转发预测模型。通过获取用户的情感关键词并使用情感强度权值公式判断情感强度更加的精确,同时降低了多维度分析情感差异的复杂性,提高情感分析对用户转发行为影响的准确性。在新浪微博真实数据集上进行对比实验,实验结果证明本方法在用户转发行为上的有效性。在未来研究中,将从以下二个方面进行改进:① 研究如何解决中性情感强度的判断过于死板问题;② 研究运用知识图谱和深度学习技术分析微博中图片和视频等信息如何加入到情感强度的模型中,从而进一步提高用户转发预测的准确率。