基于符号网络社团检测的舆情情报分析方法研究*
2022-05-12章金楠朱梦丽王佳桐穆荣健
余 韦 章金楠 朱梦丽 王佳桐 穆荣健
(1. 浙江越秀外国语学院国际商学院 绍兴 312069;2.绍兴市智慧社会智能监测防控重点实验室 绍兴 312069;3.天津大学智能与计算学部 天津 300350)
0 引 言
舆情是公众舆论情况的一种体现,反映了一定时间内公众对于某些社会热点事件的态度、情绪和意见等的总和。网络舆情能够反映人们对于社会政治的一定态度,研究网络舆情的趋势预测与评价,在事件发生时及时做出舆情情报分析,可以帮助管理者做出更有利的决策。
目前,面对海量数据中的舆情情报分析问题,研究者们提出了一系列舆情情报分析方法。例如,利用文本挖掘方法进行语义理解,实现舆情情报挖掘与追踪[1];利用信息传播模型,研究舆情传播的路径与传播趋势,定量分析舆情传播过程中的决定因素[2];利用舆情实体间的复杂关系构建复杂网络,然后基于复杂网络分析方法挖掘隐藏结构,预测可能关系或演化趋势[3-4]。
其中,符号网络本质上是其边具有正负属性的复杂网络。其中的正负属性信息代表了节点之间的某种对应关系,因此能比普通的复杂网络更加全面细致地描述现实世界中的系统。在线社会网络的涌现提供了许多详细的符号网络案例,分析这些真实网络的拓扑特征和演化过程,不仅能对传统社会学理论进行验证,同时还有可能发现新的规律。相较于普通复杂网络,符号网络可以更全面地表达网络中节点间的正负情感。通过挖掘网络中的社团结构,可以发现舆情系统中的群体对于某些热点事件的不同态度划分。
据此,本文从符号网络特性入手,在半非负分解过程中引入深度学习的框架,构建深度半非负矩阵分解模型(Deep semi-non-negative matrix decomposition, DSNMF),通过对符号网络多层属性的表征学习以检测社团结构。在此基础上,将舆情情报分析及复杂网络科学有机结合,基于舆情数据构建符号网络。并结合实际社交网络中的应用场景,应用DSNMF符号网络社团检测模型进行微博舆情情报分析的实证实验,创新舆情情报分析方法。
1 深度半非负矩阵分解模型的构建
如表1所示,给定一个符号网络G,它的邻接矩阵A±中的元素包含了+1,-1和0三种类型,分别代表了节点间的正关系,负关系和无关系。基于符号网络连边属性的复杂性,引入深度学习机制,扩展半非负矩阵分解模型(Semi-NMF)[5],构建DSNMF模型,有效提升模型的精度以及大规模应用的适用性。
表1 符号说明
根据Semi-NMF的思路,邻接矩阵A±可分解为低维社团指示矩阵和基矩阵的乘积,表示如下:
A±≈W1±W2±…Wm±Hm+
(1)
因此,DNSMF模型的目标就是要尽可能使等式(1)左右两边相等。针对DNSMF模型的优化过程,引入自适应矩估计(adaptive moment estimation,Adam)[6]优化算法,使其具有很高的计算效率和较低的内存需求。Adam是一种在深度学习模型中用来替代随机梯度下降的优化算法,其结合了适应性梯度算法(AdaGrad)和均方根传播(RMSProp)算法最优的性能,解决 稀疏梯度和噪声问题。具体来说,Adam优化算法计算了梯度的指数移动均值(exponential moving average),同时超参β1和β2控制了这些移动均值的衰减率,使得优化过程中自适应控制梯度下降。具体地,在求解最终属性特征向量过程中,利用栈式自编码神经网络的训练方法,分为逐层预训练和整体微调两个阶段。
预训练阶段:
第一层:A=W1H1
第二层:H1 =W2H2
⋮
(2)
为了挖掘符号网络的多层隐藏属性,预训练阶段,将符号网络G的邻接矩阵A自上而下应用非负矩阵分解算法得到每层属性特征Hi的基矩阵Wi和社团指示向量矩阵Hm。
整体微调阶段:模型引入深度学习机制后的目标函数为:
(3)
通过引入深度学习机制,本节利用Adam算法,在确定了参数α、β1、β2和随机目标函数L之后,需要初始化参数向量Wi、一阶矩向量m0、二阶矩向量v0和迭代次数t。当目标函数L没有收敛时,循环迭代地更新各个部分。即迭代次数t加1、更新目标函数在该次迭代中对参数Wi所求的梯度gt、更新偏差的一阶矩估计mt和二阶原始矩估计vt,再计算偏差修正的一阶矩估计mt和偏差修正的二阶矩估计vt,然后再用以上计算出来的值更新目标函数Lt,如算法1所示。
算法1:深度半非负矩阵分解(DNSMF)模型算法
输入:
符号网络G的邻接矩阵A;
每层神经元个数[l1,l2, …,lm] ;
学习率α= 0.001;
一阶矩估计的指数衰减率β1= 0.9;
二阶矩估计的指数衰减率β2= 0.999;
epsilon值(防止除零)ε= 10E-8;
输出:
社团指示矩阵Hm ;
初始化:Wi,Hi← SEMINMF (Wi-1, layers (i)),
m0← 0,v0← 0, t ← 0
1:whileLtnot converged do
2:t←t+ 1
3:gt←∇wLt-1(w)
4:mt←β1·mt-1+ (1 -β1)·gt
5:vt←β2·vt-1+ (1 -β2)·g2t
9:end while
10: returnH
2 社团检测模型测试实验
2.1实验数据集为了检测提出的深度半非负矩阵分解算法(DSNMF)在真实大规模数据集中的准确性和适用性,分别基于人工生产数据和真实数据进行了模型测试实验。人工生成的符号网络数据集是通过符号随机生成模型(signed stochastic block model, SSBM)生成的四种不同类型的符号网络数据集BN、UN-I、UN-II和UN-III[7]。另外,选取了以下四组来自真实的社交媒体平台的公开大规模符号网络数据集进行测试实验:Slashdot[8]、Bitcoin OTC[9]、Epinions[8]以及Wiki[10]。其中,在现实世界的社交网络中,一个人平均有40位线下朋友和338位在线朋友。因此检测具有高节点度的网络更具现实意义[11]。在大规模真实网络中社团检测的对比实验中,在每个数据集中筛选出度≥50的节点,设置后的网络统计信息如表2所示,其中使用“数据集名称@度阈值”来表示特定的数据集,例如Epinions@50表示Epinions网站中节点度≥50的用户所构建的符号网络数据集。表2描述了上述四种公开符号网络数据集的基本统计信息。
表2 大规模符号网络数据集描述
2.2评价指标在具有真实分区的人工生成数据集上的对比实验,利用常用的社团检测指标:归一化互信息(Normalized mutual information,NMI)[7],可以评定出真实分区与算法得到的社团划分的差异大小。 另外,在大规模的符号网络数据集中,通常没有已知的真实分区,所以利用另外一种评价指标模块度来评定社团检测算法的准确性。 传统的模块度Q被设计用于评价普通复杂网络的社团划分质量,它被定义为在同一社团内边的概率减去对这些边进行随机分配所得到的期望概率。模块度的范围从0到1,越接近1表示网络社团划分的结果越好。但是传统的模块度Q不处理负边,不适用于符号网络,Gomez等[12]发展了符号模块度如下:
2.3实验结果分析本文提出的DSNMF算法在人工生成的四类符号网络数据集上的实验结果如图1所示。在社团内部无负连边,社团间无正连边的弱平衡符号网络BN中,当社团内部正连边和社团间负连边都比较稀疏的情况下,算法的性能较差,但随着连边变得密集,算法社团划分的结果变得准确且大部分情况下与真实网络划分相同。在UN-I网络即社团内部连边密集、社团间连边稀疏的符号网络中,社团间连边的状态对算法网络划分的影响较大。当社团间的正连边比例与负连边比例趋于相同时,算法社团划分的结果变得糟糕,其它情况社团划分结果较为准确。在UN-II网络即社团内部连边稀疏,社团间连边密集的符号网络中,社团内部的连边情况对算法网络划分的影响较大。当社团内的正连边比例与负连边比例趋于相同时,算法社团划分的结果变得糟糕,其它情况下社团划分结果较为准确。
图1 DSNMF算法在人工生成的四类符号
在UN-III网络即社团内外连边都密集的符号网络中,当网络在噪声水平即社团内部负连边和社团间正连边同时较小或较大的时候,算法社团划分结果准确且与真实分区一致;当社团内部负连边比例与社团间正连边比例呈反比的状态下,算法的社团划分结果较差。
另外,在上述四个真实的大规模符号网络数据集上与其它算法进行了对比实验,选择符号网络社团检测算法:SSL[13]和SISN[14]。为在真实的大规模数据上缺少真实的社团划分,为了确定社团个数,使用符号模块度指标来衡量社团划分结果。如表3结果所示,发现Epinions@50符号网络数据集中的社团个数为21时几个算法的符号模块度指标最高,且提出的DSNMF算法社团划分得到的符号模块度指标最高,表示提出的DSNMF算法社团划分结果最为准确;Slashdot@50符号网络数据集在社团个数设定为23时几种社团检测算法得到的模块度较高,SISN算法社团划分得到的模块度最高,提出的DSNMF算法较之略差一点但优于其它算法;Wiki@50符号网络数据集在社团个数为47时几种社团检测算法得到的符号模块度指标最高,且的算法优于其它算法的划分结果;Bitcoins@50符号网络数据集在社团个数设定为6时几种社团检测算法得到的符号模块度指标最高,SSL算法得到的符号模块度指标最高,提出的DSNMF算法略差但优于其它算法。综上所述,提出的DSNMF在大规模符号网络数据集上社团检测的性能要优于其它几种算法。
表3 真实大规模符号网络数据集社团检测算法对比结果
3 舆情情报分析实证实验与讨论
本节利用疫情期间“‘司马3忌’举报韩红爱心慈善基金会”热点事件所产生的微博舆情数据构建舆情情感符号网络,以微博用户为节点、微博用户间正向情感评论为正边、负向情感评论为负边。利用DSNMF算法对此符号网络进行社团检测,分了群体在该舆情网络中的社团结构。通过算法社团划分结果及真实事件的脉络走向的对比验证提出的DSNMF算法的准确性。
3.1实证背景描述为了介绍本文实证研究的事件背景,本节针对本文所研究的真实事件展开了详细调查,具体描述如下:2020年02月,网名为 “司马3忌”(真名:杨宏伟)的大V在新浪微博上公开举报韩红慈善基金会存在私自接收民众善款的行为,在网上引起热议。截止2月19日,“司马3忌”一共写了《明人不做暗事》等16篇文章,炮轰韩红基金会“完全不透明”,声称“在韩红的基金会信息公开层面,别说你找不到一包方便面,就是捐进去一头大象,你也别想找到”。对此,网民们也众说纷纭,很多举报支持者与反对者,在网上掀起了舆论的热潮。
对此,结合微博数据集,利用深度半非负矩阵分解算法模型(DSNMF)分析了疫情期间司马3忌举报韩红基金会事件中微博用户的社团结构及随时间社团结构的演化。首先通过每日微博帖子及评论转发点赞数据构建每日情感符号网络,其中节点为用户,转发及点赞为正连边关系,利用Python语言的SnowNLP库存储评论数据以便于提取文本的情感系数作为符号网络中边正负属性的依据。然后通过每日的用户连边数据构建符号网络,分析推算用户情感网络社团结构及随时间的演化过程。并且通过分析此次热点事件,验证提出的深度半非负矩阵算法在真实大规模数据集上的实用性及准确性。
3.2实证数据描述针对以上真实事件的实证研究需要,收集整理成了对应事件的数据集,并构建了相应的符号网络。具体实证使用的数据集来自于2020年疫情期间微博关于司马3忌举报韩红基金会所引发的一系列微博数据。其中在2020年1月23日 18:13:12至2020年2月28日 18:13:12时间段内所查询的关键词全部包含“韩红、司马3忌”。通过微博手机客户端API爬取了11 414条微博数据的相关评论、回帖、转发及点赞数据共计16 3145条数据记录,其中主要包括微博用户ID、微博内容、评论用户ID、评论内容等字段(如表4所示)。本节对于该事件的数据采集主要聚焦于从2020年2月13日司马3忌向北京民政局递交韩红基金会举报材料到2020年2月21日北京市民政局发布调查公告这段时间。
表4 帖子数据集字段说明
3.3实证过程描述在实证中,预设社团个数为3,代表此次热点事件中的支持方、反对方和中立方。挖掘每日的社团结构并分析三方势力随时间演化的过程。具体步骤如下:
步骤1:读取所爬取的每个文件,每个文件包含了一条微博的全部信息,文件格式为json。爬取的某些微博因为被删除或权限问题无法读取微博具体信息,在后续的数据处理中也将剔除这些微博。
步骤2:遍历每一条正常的微博json数据,读取相关评论、点赞、转发数据,利用python数据处理库pandas形成字段为源微博用户、目标微博用户、评论内容、时间戳的csv文件。且针对特殊的评论进行相应处理,使每条评论都对应到正确的微博用户对上。
步骤3:通过自然语言处理库SnowNLP中的情感系数评估每条评论数据的情感指数,其中“转发微博”和“点赞”代表了源微博用户认同目标微博用户的言论,即正向情感,默认情感系数为1。其它文本评论数据根据自然语言处理工具分别得到相应的情感系数从0到1,设置阈值为0.6,即≥0.6的评论文本相信其代表了一种正向情感,否则则表示为负向情感。且在此样例中可以发现微博爬取到的数据中存在两种不同的时间格式,为了后续进一步对数据划分,统一时间格式为“月-天”。通过对时间字段的聚合可以分别得到每一天的微博用户间的情感,从而构建出每一天的情感符号网络。其中符号网络具体可以形式化描述为G=(V,E),其中V={V1,V2,…,Vn}代表符号网络G中的n个节点的集合,E={Eij}(i,j∈[1,N])代表符号网络G中边的集合。边的权重为Wij,方向为从Vi到Vj。可以使用邻接矩阵A来表示数据:当Aij=0时,代表节点Vi到Vj没有连边;当等于+1或-1时分别代表正边或负边。
步骤4:利用基于深度双非负矩阵分解算法模型的符号网络社团检测算法对已构建的每一天的情感符号网络进行深度分析计算,最终得出相关的公众舆情分析结果。
3.4实证结果与讨论在实验结果分析中,为了验证算法的准确性和实用性,梳理了司马3忌举报韩红爱心慈善基金会整个事件始末,其时间如下所示:
a.2020年2月13日,司马3忌向北京民政局递交对北京市韩红爱心慈善基金会的举报材料;b.2020年2月16日,司马3忌举报韩红基金会事件的议论达到高潮,该天参与讨论的微博用户人数最多;c.2020年2月20日,北京市民政局发布对举报北京韩红爱心慈善基金会有关问题调查结果的通报;d.2020年2月21日,司马3忌向北京民政局递交《行政复议申请意见》。
按照该事件时间表中的线索,图2重点展示了2月13日、2月16日、2月20日和2月21日的深度双非负矩阵分解算法(DSNMF)对情感倾向符号网络G的社团划分结果。
图2 符号网络的社团划分结果
具体地以图2(a)、2(d)为例来说明基于DSNMF算法的情感符号网络社团划分结果。从图2(a)可以看出,社团被划分为以“司马3忌”“师伟微博”为代表的一派、以“MyTtZz”“雷雨评测”等为代表的一派和以“刺萼龙逵152”为代表的一派。然后通过分析2月13日前后这些代表人物所发的微博,可以发现以“司马3忌”“师伟微博”为代表的一派支持司马3忌举报韩红爱心慈善基金会;以“MyTtZz”“雷雨评测”等为代表的一派支持韩红,反对司马3忌;而以“刺萼龙逵152”为代表的一派对其他两方的态度摇摆不定,发表的言论既支持司马3忌,又支持韩红。据此可分析图2(b)、2(c)。根据图2(b)的社团划分结果可以看到支持司马3忌和支持韩红的两方争斗逐渐进入白热化阶段,保持中立的比例较几日内最小。随着事件的进一步发展,图2(c)中的社团又被划分为三派。从图2(d)可以看到经过前一天2月20日官方发布公告后,司马3忌再次递交《行政复议申请意见》并没有引起网友的很大关注。司马3忌阵营中的微博大V消失,且与之对立的反对阵营中“中国新闻周刊”“北京青年报”和“搜狐新闻”等新闻媒体成为主力军,分析这些微博账号2月21日近期所发的微博,发现他们都转发了前一日北京民政局发布的调查报告表达了对此次热点事件的态度。且保持中立的阵营中没有再出现微博大V。在某种程度上代表此次热点事件经过官方调查而定性,走向尾声。
本节基于爬取的疫情期间微博社交网络上关于舆情话题的帖子、回帖、评论等数据,构建了疫情期间舆情话题的情感符号网络。应用上述符号网络社团检测算法对舆情传播进行了实证分析,有效检测出舆情事件中的隐藏派系,并通过社团语义解析挖掘出隐藏的舆情情报信息。
4 总结与展望
本文从符号网络特性入手,在半非负分解过程中引入了深度学习机制,构建了深度半非负矩阵分解(DSNMF)模型,通过对符号网络多层属性的表示学习有效提升了符号网络社团检测精度。在此基础上,以“‘司马3忌’举报韩红基金会”的舆情事件为例,爬取了相关微博数据并构建了相应的舆情情感符号网络。应用DSNMF符号网络社团检测模型对舆情情感符号网络进行了微博舆情情报分析的实证实验,有效检测出舆情事件中的隐藏派系,并通过社团语义解析挖掘出隐藏的舆情情报信息,实验结果证明了提出的DSNMF在舆情情报分析工作中的实用性及有效性。
然而,本文只是重点研究了如何对社交网络媒体中的舆情信息构建符号网络,并结合符号网络社团检测算法来挖掘网络中的社团结构。目前研究仅停留在拥有正负关系的符号网络社团结构上,如何将符号网络进行细分,将边的标签信息进一步扩展,融合更全面的信息,构建一个多层符号网络,进一步提升社团检测的效果?如何通过这一时间状态下的连边状态预测下一时间状态的连边状态,以得到有用的舆情情报信息,为用户接下来使用网络时进行个性化推荐奠定基础?这些问题都具有重大的应用价值,也是将来进行进一步研究的重要内容。