pagerank做围脖局部影响力计算example
接着上一篇的文章继续写。看了大家在resys china 和 新浪围脖上的评论,启发蛮多的。首先谢谢大家。
这次的example中,只用了转发这一种信息作为权重的衡量标准。一共采集不到1w的用户量,平均每个用户1k的围脖信息。
类似于google 的pagerank一样,用户A转发用户B的一条围脖,则相当于给用户B投了一票,但每个用户所投票的重要性不同,排名高的用户用户投票更有说服力。
通过几次迭代计算,用户的rank 值收敛了。结果如下:
http://expertise.sinaapp.com/pagerank/show.php
对比spear算法(一种参考HITS算法的rank算法,具体见http://somemory.com/myblog/?post=48)的结果如下:
http://expertise.sinaapp.com/show.php
取top10列表如下:
rank | pagerank | spear |
1 | ||
2 | ||
3 | ||
4 | ||
5 | ||
6 | ||
7 | ||
8 | ||
9 | ||
10 |
从这个表格里可以看出其实排名前10的结果差异不大,除过采集数据的时间差异,可以认为两种算法效果其实差不多的。
几点思考:
(1)在pagerank算法中由于采集的数据不能覆盖到所有的面,总会出现这种情况:一些不是特别牛的号排名比一些看起来牛的号排名靠前很多。原 因是,大号总会转发一些所谓小号的围脖,尤其是薛蛮子老爷子,转发的面儿很广,涉及的人很多,会造成这些小号在局部范围中有“一定的影响力”,即排名靠前 于一些大号。
(2)上面的问题可以用加入一个新的信息维度“是否关注”来减弱。因为即使大号转发了小号的围脖,但也只是偶然现象,大号们并不会关注这些小号,所以加入“是否关注”可以改变图中的权重,从而缓解(1)中的问题。
(3)由于不可能采集太过量的数据,一方面采集速度一定会远远慢于数据的产生速度,另一方面太过量的数据处理起来会涉及到很多非算法方面的问题。所 以做得这些分析只能算作某个“圈子”里的用户影响力rank,并不能代表太宽泛的范围。当然,我们可以采集一些类似于微群这样的group的数据来做分 析,会得到一些比较有意义的结论。
(4)关于pagerank和spear(类似hits)的对比:
- pagerank基本原则是只向前看,从一个链接到另一个链接(从一个user到另一个user)
- spear则要从一个权威(authority)网页向后看,看哪些网页指向了它。
相关的经典paper(点我下载):
1、topic sensitive pagerank ,Haveliwala,Stanford