技术开发 频道

社交网络:数据科学家眼中的金矿

  【IT168 评论】随着Facebook的上市,社交网络再次成为人们关注的焦点。与传统的论坛、博客相比,社交网络是虚拟世界与现实世界的桥梁,在互联网上将现实生活中人与人之间的关系建立起来。从社交网络的分类来看,Facebook、Twitter、LinkedIn分别代表三种不同的社交网络。Facebook是基于朋友之间强关系的社交网络,有助于朋友之间关系的维系和改善;Twitter是基于单向关注的弱关系的社交网络,这样的网络有利于塑造意见领袖和消息的传播;LinkedIn是面向商务人士的职业社交网络,帮助用户利用社交关系进行商务交流以及求职招聘。

  三种社交网络每天都会产生大量的用户数据(UGC,User Generated Content),并且具有空前的规模性和群体性,吸引着无数研究者从无序的数据中发掘有价值的信息。这就像概率统计中经常举的投硬币算其正反面概率的例子,从几次的投掷结果中很难看到规律,但通过几万次的大量投掷实验,便很容易看出正反面的出现次数几乎相等的规律。社交网络上产生了大量的规模化、群体化的数据,吸引了包括计算机科学、心理学、社会学、新闻传播学等领域专家和学者对其进行研究和探索,希望能够借助更强的社交网络的分析和处理能力发现更多人类尚未探索出的规律。

  对于社交网络的分析和研究范围很广,也存在着许多有意思的研究课题。例如,在社交网络中社区圈子的识别(Community Detection)、 社交网络中人物影响力的计算、信息在社交网络上的传播模型、虚假信息和机器人账号的识别、基于社交网络信息对股市、大选以及传染病的预测等。社交网络的分析和研究是一个交叉领域的学科,所以在研究过程中,我们通常会利用社会学、心理学甚至是医学上的基本结论和原理作为指导,通过人工智能领域中使用的机器学习、图论等算法对社交网络中的行为和未来的趋势进行模拟和预测。

  社交圈子的识别

  与一般的以内容为导向的论坛等社区不同,社交网络最核心的就是人与人的关系,以及所形成的社交圈子(社区),然而每个人根据自己的关系不同及兴趣不同可以属于多个社交圈子。在社交网络中我们发布的所有信息流,都是通过我们的关系圈,逐层向外传播的;我们收到的消息也直接来自我们所关心的人,更外围的消息也必须逐层传播才能接触到终端用户。因此,如何发现社交圈子是社会关系网络分析中一个很重要的基础性的研究。社交圈子示例如图1所示。

图1 基于OSLOM算法的社区发现效果图

  利用计算机来处理社交网络往往会将整个社交网络看作是一个图的结构,每个用户就是图中的节点,人与人之间的关系就是节点之间的边,根据不同类型的社交网络,所构成的图可以是有向图也可以是无向图,关系的强弱也可以利用边上不同的权重来体现。对于社交圈子的发现算法来说,社交圈子的质量依赖于圈子内成员的关系的紧致度以及不同圈子间的分离度。但对于数以亿计的节点来说,目前的圈子发现算法还很难处理特大规模的数据,因此很多研究者提出了启发式的方法去减少程序处理的复杂性,对最终结果进行近似的求解。

  然而实际的社交圈子是一个更为复杂的网络,因为用户会具有多种兴趣,可以属于多个社交圈,发现这种圈子的研究也被称为重叠社区的发现。一种比较简单的启发式方法是,以网络中度很大的节点作为初始的圈子,然后把对圈子贡献最大的邻接节点依次加入到圈子中,直到全局贡献度达到极值,并形成一个圈子。如果存在对多个圈子贡献度都很大的边界节点,则将其加入到多个圈子中。近期也有人提出了使用标签传播(Label Propagation)算法以及粒子群算法来解决重叠社区的发现算法。

  社交圈子发现算法并不仅局限在用户主动建立起的关系上,其更重要的价值在于对用户非显性的潜在关系发现。从社交圈子发现的结果中,我们能够更加清楚地看出属于一个圈子的人群。当然,社交圈子也有多种划分方式,例如关系型社交圈子、兴趣型社交圈子等。在算法中以亲密度为首要指标和以兴趣为首要指标,也会得到不同的社交圈子划分。

  由此引申出的一个问题是,线上的圈子与线下的真实社交圈子是否是一致的?当两个人在社交网络中互动很频繁时,他们在线下是否也是真实的好友?从算法的角度来说,这是个很难解决的问题,但如果我们换一个角度来思考这个问题,想想我们的线下联系方式,如果A跟B互相拥有对方的手机号,那他们是线下真实好友的可能性就非常大了。包括飞信、米聊、微信等产品,如果真的能够做成基于手机通讯录的社交网络,我们就可以通过异构的社交网络对社交圈子进行综合性的判断,其价值不可估量。

  影响力的计算

  在社交网络中,意见领袖因为其在网络上强大的影响力会对信息的传播,以及普通用户的行为造成巨大的影响。以新浪微博为例,最直观的影响力表现之一就是加V认证的名人,发一条正在吃饭的微博,也能得到数百次的转发,然而对于一般用户,一条微博的转发次数能上两位数,便足以为之欢呼雀跃了。

  因此,与现实社会一样,社交网络中的人也存在不同的阶级和不同的影响力。然而影响力应该如何来衡量和计算呢?我们前面已经提到,计算机在处理社交网络时,往往使用图的结构,这与搜索引擎中的结构相一致,如表1所示。因为在搜索引擎中,图的节点是网页,边是链接,然而搜索引擎中的PageRank算法是对网页进行排序的算法。如果我们将PageRank使用在社交网络上,就可以对人的影响力进行迭代的计算了。除了PageRank算法外,还有W-entropy等算法也被应用在社交网络的影响力计算当中。

表1 社交网络与搜索引擎对图结构的不同定义

  然而对于每个人来说,其在不同领域的影响力也是不一样的。例如,李开复的影响力主要在科技领域,黄健翔的影响力在体育领域,薛蛮子的影响力主要在投资和公益的领域。因此如何评价一个人在不同领域的影响力也是一个很重要的问题,有学者提出了基于主题级别(Topic Level)的影响力评价模型TAP(Topic Affinity Propagation)来尝试解决这个问题,该算法应用在大规模社交网络数据中显现出了较好的效果。

  在国外,Famecount、Klout等公司设计了算法对社交网络中每一个人的影响力进行打分。有些公司甚至出现了根据个人网络影响力的不同,在现实生活中提供差异化服务的模式,例如,香港国泰航空对Klout打分不低于40分的用户,可以享受机场贵宾休息室。虽然该行为也遭到不少人质疑,认为这是“势利”的做法,不过也可以将其看作是对网络影响力应用在商业模式上的一种新型探索。在国内,新浪的微数据和Miu+也在微博的影响力计算中做出了一些探索,目前国内在该领域还有较大的发展空间。

${PageNumber}

  信息传播的建模

  在社交网络上,每个人都是个自媒体。与传统媒体依靠内容作为传播主题的形式有所不同,社交网络上的信息传播,更加依赖于发布者的影响力以及社会关系,通过好友或粉丝的关系将信息扩散到社交网络中。这种信息在社交网络中会被好友及粉丝看到,并以一定的概率被分享和转发,从而进行传播。图2对一条微博的传播过程进行了可视化的显示。

图2 单条微博信息的传播图(来自www.doodod.com)

  部分学者用传染病在人群中的传播、谣言在社会中的传播等现象来类比并刻画社交网络中信息的传播,进而利用传染病动力学及复杂网络理论来对社交网络的传播行为进行建模和预测。更直观地说,如果将整个社交网络看作一个图的结构,把社交网络中的用户看成图中的节点,并将用户之间的关系看为图的边,那么信息的传播的过程就是从起点用户的节点开始,沿着相邻边进行信息的传播,相邻的节点用户会根据时间及主题不同,会以一定概率传播或者终止该信息。对于传染病动力学模型来说,通常将网络中的节点定义为三类:传播节点、未感染节点和免疫节点。传播节点的特点是接受并有能力传播邻居节点信息;未感染节点没有接受过来自邻居节点的信息,但有机会接受信息,即有概率会被感染;免疫节点表示该节点已接受邻居节点的信息,但不具有传播能力,由此可以定义一些传播规则:

  如果一个传播节点与一个未感染节点接触,则未感染节点会以概率成为传播节点;

  如果一个传播节点与一个免疫节点接触,则传播节点会以概率成为免疫节点;

  传播节点不会无休止地传播,会以一定速度停止传播,变为免疫节点,无需与其他节点接触。

  由此便可以通过传染病动力学中的方法对信息的传播过程建立状态转移方程。在确立传播模型后,我们可以通过检验起点传播者节点的度(也就是好友或粉丝的数量)、关系强弱(边的权值),对信息传播造成的影响程度,从而发现信息在社交网络传播中的规律。

  虚假用户的识别

  虚假信息和虚假用户的识别在社交网络的深入研究及实际应用中是一项基础性的工作,并具有重要的意义。信息在社交网络上的传播过程中,不免会遇到虚假内容或虚假的水军用户进行干扰。如果能够识别出虚假用户和虚假内容可以更好地还原出舆论的真实想法和状态,为企业的市场营销以及政府了解民意提供更加真实有效的数据。一般来说,识别社交网络的虚假用户要比匿名论坛相对容易,因为可以从更多的维度进行考察。在社交网络上,虚假账号一般不会有真实的社交互动,关系网络中大部分链接也都是虚假账号,此外通过账号的转发行为及内容的识别判断来有效地辨别虚假用户。我们在新浪微博上对虚假用户的判断采用了以下8种用户行为特征。

  `博主的创建时间的一致性

  `博主的头像和名字

  `关注与粉丝比例

  `博主的粉丝质量

  `发布微博数量

  `最近200次转发的对象分布

  `转发同一条微博的频率

  `转发时所写的内容

  针对以上8种特征,利用机器学习的分类算法训练模型,并利用模型进行后续虚假用户的预测,可以有效地发现虚假用户,在舆情分析中将其剔除,还原出真实的信息传播情况及舆情(公众发表在网络上的言论)状态。

  用数据预测未来

  社交网络数据最吸引人的研究工作就是对未来的预测。社交网络每天吸引数亿人在网络上发布自己的数据、状态、心情,这种规模化并具有群体性的海量数据给了数据科学家从海量数据中发现人类未知规律的机会。

  美国科学家通过监控Twitter中公众的情绪数据,发现公众的情绪数据与很多社会现象及事件具有很强的相关性。例如,有些研究者发现无论是“希望”的正面情绪,还是“害怕”的负面情绪的体现都预示着美国股市指数的下跌。有研究者认为,只要有公众在社交网络的情绪突然改变,都会反映出对股市的不确定性,因此可以利用这种信号来预测股市未来的走向。

  在流行病预测方面,英国的科学家根据Twitter的数据来跟踪流感的爆发。他们主要基于用户发布信息中的关键词,例如“我头痛(I am having a headache)”等,并结合用户的发布地点,按区域与英国卫生部的官方数据进行了比较,最终建立起一个预测模型。创业团队“SickWeather”甚至以预测疾病为主题开展了自己的创业项目。

  还有很多研究者也利用数据挖掘的方法对电影票房、美国大选的趋势和结果进行预测,并取得了令人惊喜的成果。

  然而,我们对于利用社交网络数据的预测能力的态度也不能过于乐观,因为社交网络的预测是基于海量数据的,但目前对于海量文本数据的分析算法尚未达到理想的准确率。尤其对于从文本信息来进行情绪判断这个看似简单的问题,其本质是自然语言处理与情绪心理学的交叉问题。但目前的自然语言处理方法主要利用概率统计的方法,以及词法和句法的分析进行解读。对文本情绪的判断也以基于词库及语法结构的判断和基于机器学习的方法为主。然而这些方法对于稍显复杂的、尤其是带有反讽和隐含意的语言很难进行有效的判断。此外,对于社交网络的使用群体不能完全代表有效的人群,因为使用社交网络的人群与年龄、地域、种族等方面都有很大差异,因此仅利用社交网络产生的数据进行预测很可能会与最终结果产生偏差,所以从人群角度进行科学有效的取样方法对于社交网络预测也是尤为重要的一个环节。

  总结

  人们对社交网络数据的认识和挖掘还处于相对初级的阶段,对这种大规模、高维度数据的挖掘方法还在不断地演化。目前来看,文本语言的情感分析、社交网络的传播预测等很多基础性问题还不能得到有效解决,对深入研究社交网络造成了一些限制。但随着人工智能研究水平的不断提高,尤其是认知神经科学与人工智能技术相结合的研究,让我们看到了人工智能的新希望。当我们真正有能力解决这些问题以后,社交网络将会成为帮助我们预测未来趋势的有利工具。然而,充分使用社交网络数据也意味着暴露用户越来越多的隐私,因此,如何能够在用户隐私和数据完整中找到一个平衡点,也是今后数据工作者所要面临的问题。

  作者张文浩,独到科技(Doodod)创始人,清华大学计算机系博士,主要关注社会关系网络分析、文本情感挖掘等领域的研究和发展。

0
相关文章