微博舆情社会网络关键节点识别与应用研究,本文主要内容关键词为:舆情论文,节点论文,关键论文,社会论文,网络论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言 在以网络平台与新媒体为数据源的研究中,将社会网络分析方法导入分析信息传播的特点与规律等渐成一种主要的研究趋势。例如:在国外研究方面,Akshay Java等[1]以Twitter为研究对象,借用社会网络分析对用户使用Twitter的目的进行了总结分类;Teutle[2]构建了基于Twitter的社会网络,并利用密度、介数、出入度等特征指标的演化来描述Twitter社会网络的演化特征;Haewoon Kwak等[3]通过对Twitter样本网络的分析探讨了微博社会网络的结构与特点,并与传统的在线社区进行比较;Krishnamurthy等[4]从粉丝和关注数的角度分析了Twitter用户的特征;Huberman和Ping Liang等[5-6]分别以Twitter微博和新浪微博为研究对象,并分析其微博社会网络结构的中心性;Karen Stepanyan等[7]基于社会网络分析方法,对学生在Twitter中的交互行为进行研究,发现水平相当的学生更容易实现互动。在国内研究方面,平亮、宗利永[8]以新浪微博为研究对象,运用社会网络分析中的点度中心性、中间中心性和接近中心性测度方法对微博社会网络进行分析,发现微博中拥有“被关注数”的节点在舆情发展中发挥着更大的作用;金鑫[9]以真实的舆情事件为研究案例,构建其在微博平台中形成的舆情社会网络,并研究了社会网络拓扑结构对舆情传播演化的影响;邱均平、李威[10]以“科学网博客”为研究对象,构建博主与评论者的2-模网络关系网络,并对2-模网络关系网络中节点中心度和小团体特征进行了分析。王学东等[11]用社会网络分析方法,对学术博客的知识交流网络进行了分析;通过在网络上实时采集的数据,对之前的分析进行了验证,得到了可以表征该学术博客知识交流网络的分析数据。 在上述研究中,无论是国外的基于在线社会网络的分析还是国内的对微博或者博客社会网络结构与关系的研究,都需要以社会网络的关键节点识别与特征指标描述为基础。因此,识别出社会网络的关键节点并根据社会网络指标加以描述,是基于社会网络分析方法对数据进行挖掘的前提条件。那么,在舆情的社会网络分析中,如何抓取数据、获取关系并识别出关键节点,是值得深入研究的。 2 国内外社会网络的关键节点识别研究现状 社会网络分析需要两个基本要素,一是节点,二是节点之间的连线(关系)。在舆情研究中,拉扎斯菲尔德(Lazarsfeld)最早提出“意见领袖”这一概念,并将其定义为:在将媒介信息传给社会群体的过程中,那些扮演某种有影响力的中介角色[12]。在网络平台与新媒体下的社会网络中,意见领袖往往承担着重要的信息转达者和信息把关者的工作,并能够对周边用户产生重要的影响。由于意见领袖与社会网络中关键节点的概念相对应,两者代表的含义及意义在本文中完全一致,因此,下文将统一以“关键节点”的概念进行论述。 传统环境下的关键节点识别方法主要包括特征识别方法和调查量表方法[13]。但由于评价方法的过于主观性,不再适合网络环境下的关键节点识别研究。近几年研究中,国内外关于社会网络中的关键节点识别方法主要有层次分析法、聚类分析法、社会网络分析法、HITS算法及PageRank算法等。 层次分析法的关键节点识别是通过对节点的多属性特征分析来实现的,即依据意见领袖的特征和定义分析,构建关键节点的影响力指标体系,将综合影响力较高的节点识别为网络中的关键节点。如Darus等[14]利用AHP方法研究选择团队领袖的团队构建模型;刘志明等[15]利用层次分析法,基于用户影响力和用户活跃度两个维度,对微博意见领袖的评价指标进行量化,从数据结果上证明意见领袖是主题依赖的;管飘[16]基于AHP模型识别高校BBS中的意见领袖,并通过分析意见领袖的构成,提出切实可行的校园舆论引导策略。 聚类分析法的关键节点识别是将网络结构中相似度较大的节点进行归类,并依据以往经验中提取的意见领袖特征,从各子类中挑选出最符合关键节点特征的子类作为识别出的关键节点结果。如王珏等[17]识别出网络论坛用户的特征值向量,并在此基础上设计基于EM算法的用户聚类算法,并在其中筛选出最符合意见领袖特征的子类作为论坛中的关键节点;夏霖[18]在对话题聚合的基础上,识别出BBS中较为热门的话题事件,在此基础上,识别出对不同话题事件感兴趣的“兴趣团体”,并通过实验证明了聚类分析方法应用于意见领袖挖掘的可行性。 社会网络分析法来源于图论的理论,图论中众多描述节点属性的特征成为关键节点识别的重要依据。如Hon Wai Lam等[19]以在线拍卖网站eBay为研究对象,构建基于社会网络分析的BuyerRank模型识别商家所有购买者中的关键用户;丁雪峰等[20]赋予相对点度中心度、相对CPN级数、CPN点度中心势等各SNA参数不同的权重,构造识别网络舆论意见领袖综合指数及其算法;朱义生[21]根据意见领袖的特点,针对特定主题利用社会网络分析方法中的点度中心度、中间中心度和接近中心度以及网民的活跃性、支持度和传染性构建意见领袖指标体系。 HITS算法及PageRank算法是目前非常重要的意见领袖识别算法,这两种算法均基于网络超链接结构分析实现,部分学者同样将上述两种算法归类于社会网络分析。如Jun Zhang等[22]运用HITS等多种算法对Jave论坛中用户的权威度进行评价;Zhou Hengmin等[12]在PageRank算法基础上,提出改进的算法,并利用实验数据证明在PageRank算法基础上考虑情感因素,可以得到更准确的意见领袖识别结果;宁连举等[23]构建基于改进PageRank的网络意见领袖识别模型,并以北邮人论坛团购版块数据为样本进行实证研究;肖宇等[24]在传统PageRank算法基础上,利用用户回帖倾向性对用户间链接的权重重新赋值,构建新的基于倾向性分析的LeaderRank意见领袖发现算法,并利用实验分析验证模型的准确性和合理性。 为了支持社会网络分析研究,需要构建全面可靠的社会关系网络,使得基于该网络的分析结果可靠并且符合实际。但是,由于意见领袖大都具有话题依赖性,只有很少用户可以在不同主题内都成为意见领袖[25],有效地获取某个话题的数据与关系,然后根据数据所反映的关系构建相应的社会关系网络,再根据社会网络分析方法识别出关键节点,是目前常用的关键节点识别方法,也是研究过程中需要解决较多问题并加以实际应用的方法之一。 基于现有的研究与需求,本研究选取新浪微博作为数据来源,首先编写可靠的网络爬虫工具并抓取某个话题的相关微博数据,然后根据这些微博数据所反映的用户之间的关系构建社会网络,并对PageRank算法进行改进以识别出微博关键节点,以达到支撑微博数据进一步深化分析的目的。 3 微博舆情数据爬取与社会网络构建 微博(MicroBlog)是Web2.0时代新兴起的互联网社交应用,一条微博可以包含文本、图片、表情、话题标签、视频、音频等多种形式的信息内容,字数一般限制在170字以内,若用户想发布更多字数的微博,则可以使用长微博工具,最多可支持10000字的文章。微博用户之间通过关注、转发、评论、回复、点赞、私信、搜索和@提醒等行为来交流并建立联系。任何用户都可以对某一条微博进行转发,转发后会生成一条新的微博,并推送给转发者的粉丝,因此微博有原创微博和转发微博之分(为方便描述,本文把原创微博统称为“微博”,把转发微博统称为“转发”),每一条微博的转发量与转发内容都可以在该微博的主页上显示出来。同样,微博的评论也可以在微博的主页上看到,不过微博用户对某一条微博进行评论时,并不会像转发那样会产生一条新的微博,并推送给自己的粉丝。所以,在分析用户之间通过转发建立起来的关系往往比通过评论建立起来的关系更加牢靠,更加能说明转发者确实受到了被转发者发布微博的影响。因此,本文拟在爬去相关数据基础上通过转发关系来建立微博用户之间的社会网络。 3.1 微博舆情数据爬取研究 本研究需要某一事件从发生到结束或到当前时间的尽可能多的相关微博和这些微博的转发、评论信息,以及微博、转发和评论的发布者的基本信息。鉴于新浪微博平台的开放性与社会影响力,研究中常采用从该平台获取的数据,但是,新浪微博对搜索接口有着严苛的限制,不能进行关键词全文匹配,一次搜索只能返回最新的200条微博,不能满足大规模研究的需求。因此,需要通过开发系统利用爬虫技术来获取某主题相关的微博数据。而想要使用爬虫获取包含微博信息的网页源代码,必须在爬虫程序中执行JavaScript脚本,这给爬虫程序的编写带来很大的难度,同时还降低了爬虫程序的抓取效率。本研究借助Selenium WebDriver[26]执行JavaScript脚本,并获取脚本执行过后的网页源代码,通过使用解析网页源代码获取网页中包含的微博数据,包含微博的发布者编号、微博转发数、微博评论数、微博获赞次数、微博内容、微博URL、微博mid,其中mid为该条微博或转发或评论或私信在web系统中的id值[27]。通过微博mid可以得到该微博的转发和评论信息,同时利用微博发布者编号或昵称可以调用非开放平台的JSON API获取该微博用户的基本信息。 在具体设计时,主要考虑设计的需求、原则、功能与运行效果四个方面,并从需求分析、概念设计、数据库设计、技术选型、系统详细设计和实现五个环节入手。其中,在需求分析基础上的系统设计原则是为保证抓取数据的可用性与全面性,系统的功能需要考虑在逐页抓取微博、评论和转发时,能实时记录当前的抓取状态(抓取到第几页和当前的抓取时间等),使该系统在抓取微博、转发和评论时具有断点保存以及断点恢复的能力。在运行时需要考虑到网络中往往存在各种不稳定因素可能导致的各种异常,如不能连接服务器、连接服务器时间太长、请求失败以及服务器拒绝访问等,因此要求在系统运行时具有很完善的异常处理机制。在概念设计时,在以微博高级搜索功能为基础之上定义了抓取任务与搜索任务,一个抓取任务可以拆分为多个搜索任务,搜索任务的开始时间为抓取任务的开始时间,搜索任务的结束时间为抓取任务的当前时间,抓取任务由用户来设置,而搜索任务则由爬虫程序根据当前抓取状态动态生成,用户不必干预,若根据当前抓取状态生成的搜索任务执行时,搜索结果只有一页,则说明搜索已基本结束,抓取任务完成;在数据库设计时,根据需求抽象出微博数据、微博用户关系数据和系统运行日志数据三种类型的数据,其中:微博数据包括微博、转发、评论和微博用户等,微博用户关系类数据用于存储转发关系、评论关系和@提醒等用户之间的各种关系等,系统运行日志类数据用于存储系统过去和现在的运行状态以保证系统能够稳定地运行以及数据能够全面抓取;在技术选型上,本研究采用HttpClinet的最新版本4.3来发送HTTP请求,调用JSON API,并获取数据,而后选取Fastjson解析JSON数据,选用jsoup工具包解析HTML文本,借助Selenium WebDrive实现浏览器自动化操作。另外,选择MySQL数据库存储数据,使用Spring JDBC工具包来简化JDBC操作,同时使用c3p0数据库连接池;在系统详细设计与实现上,将功能设计为抓取模块、解析模块、数据存储模块和任务调度模块四个部分。抓取模块主要负责从新浪微博服务器抓取数据,包括微博、转发、评论、用户基本信息等,解析模块负责从HTML文本中和JSON格式数据中解析出需要的信息,存储模块负责保存数据到数据库中。任务调度模块为系统总调度模块,是系统的“大脑”,封装所有的业务流程操作。 3.2 社会网络的构建研究与特征指标描述 社会网络这一概念本身包括两层含义:一是本体论含义,表征现实存在的社会关系网络结构;二是方法论含义,表征为社会网络中涉及的主要研究方法。从本体论角度来说,所有满足有社会关系或社会结构的网状结构都可以称为社会网络。从方法论角度来说,社会网络是对社会关系结构及其属性加以分析的一套规范和方法[28]。在社会网络中,最基本的元素是节点和连线,其中节点代表社会行为者或用户,连线代表社会行为者之间的关系或者联系[29]。社会网络的构建首先需要确定节点node(社会行动者)及节点间的连线link(社会行动者间的关系)。 在微博舆情社会网络构建中,目前最主要的方式包括:(1)以舆情事件中的热点词汇为节点,以共现频次为连线。基于文本主题词共现来构建社会网络,可以获取整个舆论事件的核心主题词、主题词之间的关联,同时可以发现被边缘及解构化的主题词。(2)以舆情平台用户为节点,以关注和被关注为连线。关注和被关注情况可以分析表征微博网络的结构,但是无法表征特定舆情事件传播过程中的连接关系。(3)以舆情平台用户为节点,以评论或转发为连线。转发和评论关系是微博平台中用户交互的最重要途径,并且具有明确的事件性和主题性。部分学者在转发评论频次的基础上,综合考虑回复及评论文本本身,在节点关联中增加权重,构建更能表征舆情传播的社会网络。 社会网络的特征指标从描述对象区分,可分为描述网络指标和描述节点指标两类。在综述的基础上,本研究汇总目前较为常用的社会网络指标,如表1所示。 在社会网络构建时,考虑到转发相比评论更能表征舆情事件中信息的传播方式,本研究选取2014年2月“官员夫妇殴打护士”这一特定案例为研究对象,利用上述自行开发的微博舆情数据爬取系统抓取该事件的数据,在进行处理的基础上构建以微博平台用户为节点、以转发关系为连线的舆情社会网络。 由于“官员夫妇殴打护士”舆情事件属于近年来非常普遍的“医患关系”和“仇官”类舆情事件,选取案例对象具有普遍性和合理性。 具体地,本研究利用新浪微博,以“护士被打”、“口腔医院打人”、“官员殴打护士”、“袁亚平”、“陈星羽”、“董安庆”等作为关键词,限定微博发布时间跨度为2月15日至4月15日,最后共获取360 549名微博用户,33 079条原创微博信息及424 898条转发微博信息。由于新浪微博目前提供的接口中无法直接获取转发路径中涉及的所有用户,需要进行预处理操作,从爬取的微博数据中分离出转发路径上的中间用户[30]。微博信息中涉及的字符串包括“//”“@”及“回复@”等,其中“/@”字符表征微博用户之间的转发关系。由于转发信息中往往存在多个用户的传递转发关系,为防止转发关系的重复累加,设定单条转发微博信息只提取最近层的转发传递关系。从抓取的转发微博信息中,共获取410 418条转发关系,构建出以微博用户为节点,以转发关系为连接的微博转发社会网络。网络基本拓扑指标如表2所示。其中|V|表示节点数,|E|为边关系数,d为整体网络密度,为网络平均最短距离,C为网络聚类系数(Clustering Coefficient),kmax为最大节点度,为平均节点度。 4 微博舆情关键节点识别及评价 社会网络G是由非空的节点(或顶点)V和有限的边集E构成,在图论中的表征方式为G=(V,E)。社会网络不仅研究边集E的特征变化,同时关注点集V中重要的行动者及其在社会网络中的等级和优势[28]。本研究在构建舆情社会网络构建的基础上,基于改进的PageRank算法实现微博平台的关键节点识别,以为进一步研究关键节点在舆情社会网络演化过程中的作用提供研究基础。 4.1 改进的PageRank微博关键节点识别算法 微博用户转发网络与网络链接网络存在着类似的拓扑结构,转发行为同样存在链接的指向,可以利用PageRank算法对微博用户的权威PR值进行计算排序,其中PR值可以作为微博用户是否为有影响力的关键节点的重要指标。用户的PR值大小不仅取决于其被转发和被评论的简单出入度频次,同时取决于对该用户微博进行转发的用户重要性程度(即PR值)。 上式中N表征参与微博交互的用户总数。最终基于微博转发网络改进的PageRank算法(为与PageRank区分,以下称为WeiboRank算法)表示如下: 4.2 微博关键节点识别结果评价 本研究利用改进的PageRank算法对上文构建的“官员夫妇殴打护士”舆情社会网络中的关键节点进行识别。为验证关键节点识别结果的正确性和合理性,首先利用目前常用的关键节点识别算法评价指标——黄金准则(Golden Standard)及节点核心率(Coverage Ratio,公式表征如下)[18]对关键节点识别结果进行评价。 黄金准则计算中,本研究选取目前基于社会网络的关键节点识别中最常用的节点中心度Degree(以下简称DE)为黄金指标,以DE的用户排序为基准,并以用户粉丝数Fans_num(以下简称FN)及用户出现频次Occurrence Frequency(以下简称OF)指标作为相关对比衡量指标,获取WeiboRank、FN及OF得到用户排序与黄金指标排序的Kendall's tau-b相关性指标,具体如图1所示;节点核心率计算中,仍以DE、FN及OF为对比衡量指标,计算各评价指标下的前n%关键节点团体所覆盖的数值总比例,具体结果如图2所示。 由图1可知,WeiboRank及OF与DE的Kendall's tau-b相关性指标明显高于FN的相关性指标系数;WeiboRank相关性指标稳定波动在0.6~0.7之间,与DE指标相关性较高且保持稳定;OF在10%以内关键节点识别中与DE保持着高度的相关性,但随着关键节点比例的增加相关性指标不断下降。由图2可知,FN算法关键节点覆盖率最高,前1%的关键节点已经近乎完全覆盖全体用户数据;WeiboRank及DE算法关键节点覆盖率相近,分别是由前20%及前30%的关键节点近乎覆盖全体用户数据;OF无法实现关键节点的有效覆盖,Coverage Ratio指标过低。总结来看,本研究构建的WeiboRank算法能够达到近乎DE指标的意见领袖节点核心率,并且能够规避FN识别意见领袖主题无关性及OF无法有效覆盖关键节点的缺陷,故本文的微博关键节点识别结果具有正确性和合理性。 4.3 微博关键节点识别结果分析 本研究进一步对关键节点的身份区分为政府、媒体及草根三种类别。由于总体用户数量巨大,下面首先对识别Top10、Top20、Top50及Top100关键节点身份及认证类型分布情况进行统计,具体如表3所示。 由表3可知,微博平台“官员夫妇殴打护士”事件中,Top10、Top20及Top50关键节点以媒体类节点为主。媒体类关键节点在整体舆情事件中承担着重要的传播作用。Top100关键节点中草根类关键节点的比例达到57%,草根类关键节点的出现频次较高,但平均影响力WR值偏低。Top100关键节点中政府类关键节点数量仅为四个(南京鼓楼医院、南京发布、南京玄武警方在线和江宁公安),且影响力WR偏低,在微博平台中对舆情演化影响力非常有限。 为准确表征舆情事件中各类别关键节点在舆情社会网络演化过程中的作用,本文依次选取TOP5政府类、媒体类及草根类代表身份的核心关键节点作为研究对象(政府类仅4个),具体如表4所示。 5 结语 本文在对相关研究背景分析与国内外研究归纳总结基础上,提炼出如何抓取数据、获取关系并识别关键节点的三个研究问题,并借助于现有的理论与方法提出具体的研究方案。 在微博数据爬取研究中,按照需求分析、概念设计、数据库设计、技术选型、系统详细设计和实现五个环节,设计开发了包含抓取模块、解析模块、数据存储模块和任务调度模块四个部分的爬取系统。 在舆情社会网络构建中,本文以舆情事件“官员夫妇殴打护士”为实证案例,以参与舆情讨论的微博用户为节点,以用户之间的转发关系为连线构建舆情社会网络。针对现有研究对舆情网络中的节点特征关注度不足的局限,将微博舆情网络的特征指标分为网络测度指标和节点测度指标两个部分,进一步扩充了现有社会网络特征演化的研究内容。 在网络关键节点识别研究中,本文利用基于微博改进的PagerRank算法实现了“官员夫妇殴打护士”舆情事件中的关键节点识别与验证,并具体得到如下的识别结果:(1)政府类关键节点的数量和平均WR值均偏低,在微博平台中对舆情演化影响力非常有限;(2)媒体类关键节点的平均WR值最高,且排序最为靠前,在整体舆情事件中承担着重要的传播作用;(3)草根类关键节点的平均WR值偏低,但出现频次较高,其在舆情事件中传播作用不可小觑。标签:舆情论文; 社会网络论文; 舆情分析论文; 网络节点论文; 用户研究论文; 社会关系论文; 用户分析论文; pagerank算法论文;