浅谈新浪微博的用户管理与大数据利用经验
发布时间:2023-10-23 13:02:38 所属栏目:大数据 来源:
导读:微博是一种广受欢迎的社交应用。每天使用它的人都执行一些基本操作,如发布原创内容、转发帖子、回复评论以及浏览其他人的帖子等等。这些功能主要适用于较短的博客文章,而最后两个功能——关注和 @ &mdas
微博是一种广受欢迎的社交应用。每天使用它的人都执行一些基本操作,如发布原创内容、转发帖子、回复评论以及浏览其他人的帖子等等。这些功能主要适用于较短的博客文章,而最后两个功能——关注和 @ ——则是用于建立用户之间的互动关系。当你关注某人时,你将自动成为该人的粉丝,而该人也会成为你的朋友。如果你想要让某个特定的人看到你发布的微博信息,你可以使用 @符号来向他发送私信。 微博被人们认为是“自媒体”,即普通大众分享与本身相关的“新闻”的途径。最近,有些人使用自己在自媒体上的影响力而盈利的报道屡见不鲜。那微博上个人影响力是怎样计算的呢?微博上还有哪些算法作为看不见的手在管理着我们?我们的每一个行为怎样影响着算法呢? 直观上看,微博其实是人类社会的一个简单的缩影,微博网络的一些特点,也许可以启发我们得到真实的社会网络上的规律。得益于社交网络的爆发式发展,“社会计算”尤其是社交网络分析成为数据挖掘的新宠儿。下面我们就针对微博网络分析的一些算法进行简单的介绍,其中的有些算法对于其他的社交应用可能也适用。 1.标签传播 微博用户量浩大,不同的人有不同的兴趣。挖掘每个用户的兴趣有助于更加精准的广告投放、内容推荐。为了得到每个用户的兴趣,可以为用户打上标签,每个标签代表用户的一个兴趣,用户可以拥有一个或多个标签。为了得到最终的用户标签,先做第一个假设: 每个用户的好友(或粉丝)中与该用户具有相同兴趣的人占多数。 这就引出了本文介绍的第一个算法,即标签传播算法。在这个算法中,每个用户的标签取其好友或粉丝中标签最多的一个或多个。当然,可以将好友和粉丝的标签都考虑进来,整合的时候可以考虑赋予好友的标签和粉丝的标签不同的权重。标签传播算法的过程如下: 1)对一部分用户给出初始标签; 2)对每一个用户,统计其好友和粉丝的标签数目,赋予该用户出现次数最多的一个或者多个标签。 3)循环进行第2步,直到用户的标签不再发生大的变化为止。 2.用户相似度计算 这种标签消息的传播推理算法虽然实现起来相对来说比较简单,其缺点在于当所做的假设不符合事实时,比如为了社交上的礼貌,我们一般会把自己的亲友添加关注,这些人不一定和我们拥有同样的标签;该算法的结果就会变得很差。解决的办法就是通过计算用户之间的相似度来衡量好友或粉丝的标签对用户标签的贡献率。因而得到第二个假设: 与用户越相似的好友或粉丝,其标签越可能是用户的标签。 那么,如何衡量用户之间的相似度呢?这就需要考虑到用户发表的微博信息了,包括转发的和原创的。这里是要考虑用户之间的相似度而不是用户微博之间的相似度,因而在实际计算时,将某个用户的所有微博信息聚集到一起进行计算。一个可选的方法是使用词袋法将微博信息表示成词语向量,然后直接使用余弦方法等计算其相似度。但这个方法太过简单,不容易达到好的结果,这里介绍一种基于LDA(隐含狄利克雷分布)的相似度计算方法。 LDA仍然使用词袋法表示文本,但是在中间添加了一个主题层,形成了“文档-主题-词语”三层概率模型,即每篇文档看成是主题的一种概率分布,主题又被看成是单词的概率分布。在LDA模型下,文档可以被看成按照如下方式生成: 1)对于每篇文档: 2)从主题分布中抽取一个主题; 3)从该主题的词语分布中抽取一个词语; 4)重复第2步和第3步,直到该文档的所有词语都生成。 LDA模型参数的估计算法不在本文的讨论范围之内。这里只需要知道,通过LDA可以得到每个用户的微博信息的主题分布。然后使用余弦方法、KL距离等计算相似度的方法来得到用户间主题分布的相似度,以此作为用户之间的相似度。而后使用该相似度对标签传播进行加权。 3.影响力计算 在社区发现中,使用微博中的关系网络可以提高相似度计算的精确度。但关系网络能做的事情还有很多,影响力计算便是其中比较重要的应用。 说到影响力的计算,这里借鉴了网页排名中的算法。网页排名中广为人知的算法当属PageRank了,该算法由google创始人拉里·佩奇和谢尔盖·布林发明,随着google在商业上的成功而声名鹊起。该算法根据网页之间的连接来确定网页的排名,其核心在于一个假设,质量高的网页所指向的网页的质量必定也高。 根据PageRank的思想,可以得到微博上影响力的假设,称之为假设七: 影响力高的用户关注的用户的影响力必定也高。 将用户看成是PageRank中的网页,将关注关系看做是网页中的连接关系。从而,可以根据PageRank的算法流程得到在微博关注网络上的影响力计算算法: 1)赋予所有用户相同的影响力权重; 2)将每个用户的影响力权重按照其关注的人数等量分配; 3)对每个用户来说,其影响力等于其粉丝分配给他的权重之和; 4)第2步和第3步迭代,直到权重不再发生大的变化为止。 在网页排名中,基于网络关系的算法还有HITS、HillTop算法等,这些算法也可以借鉴到影响力计算中来。 上面的算法有什么缺点呢? 如果只是基于关系网络的话,那么很容易就造成,粉丝数目多的人影响力必然会很高。这样就导致有些用户去购买一些僵尸粉就可以达到很高的影响力了。这样的算法显然是不能应对实际情况的,因为还有太多的信息没有用到。 用户的影响力除了他的微博关系之外,还与他的个人属性有很大的关系,比如用户的活跃度、微博的质量等。用户的活跃度可以使用其发表微博的频度来衡量,微博的质量可以采用其被转发的数目、被回复的数目来得到。通过对这些值进行衡量,再加上上面算法的结果,就可以得到更加精确的影响力结果。 当然,也可以这样考虑,用户之间的回复关系、转发关系、@关系均可以构成网络,它们也有相应的假设,分别为假设八、假设九、假设十: 影响力越高的用户回复的微博的影响力越高,从而使该微博主人的影响力变高。 影响力越高的用户转发的微博的影响力越高,从而使该微博原创作者的影响力变高。 影响力高的用户倾向于在其微博中@影响力高的用户。 这样就又得到了转发网络、回复网络、@网络三种网络,借鉴PageRank算法,可以得到另外的三种影响力结果。将它们与关系网络的影响力结果进行融合,就可以最终的影响力结果了。这里的融合可以简单的考虑成结果的加权和,复杂的融合方法不在本文的范围之内。 4.话题因素和领域因素 得到了影响力的计算方法之后,可以做些什么呢? 可以对当前的热点话题进行影响力分析,得到谁在微博上成为当前热点话题的意见领袖。具体做法是这样,找到和当前热点话题相关的微文,从而找到参与当前热点话题的用户。如何找到和当前热点话题相关的微文呢?有话题标签的微文自不必说,对于没有话题标签的微文来说,可以使用上文中介绍的LDA算法,它可以在用户的所有微文中找到用户的主题分布,也可以对一条微文找到主题分布,一般来说,由于微文的字数限制在140以内,比较短,因而一条微文包含的主题数目不会太多,取该微文的主题分布中概率最高的主题当做其主题即可。 找到话题对应的微文与用户之后,运行影响力计算算法,就可以得到该话题中影响力较大的用户了。这也是舆情监测、社会热点监控的一个方面。 对于标签传播算法得到的结果,对同一标签下的用户运行影响力计算法,可以得到该标签下的影响力排名,即领域内影响力排名。比如,李开复在全部领域内的影响力或许不是最高的,但在IT领域,其影响力绝对是数一数二的。这样的影响力排名,可以帮助企业更好地进行品牌塑造,提升品牌价值。因此,在进行品牌塑造时,企业可以考虑通过这样的方式来实现。 (编辑:马鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐