技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 算法 --> 微博Karma和其算法的一些简单介绍

微博Karma和其算法的一些简单介绍

浏览:2597次  出处信息

   太久不做coding需要放松一下。于是就做了一个玩具。其实一直就想做一个类似PageRank的东西来鉴别一个微博博主的“能量”。经常看到有些微博博主有50-100万左右的粉丝,但发出来的微博几乎无人问津(零转发、零评论),于是就动手做了这个。

   首先,明确一点,这个玩意只是一个玩具,优点和缺点都很明显。别指望JavaScript能获取和判断太多信息。但仅作为玩具来看,也能看到一些有趣的现象。所以如果是想获得专业和客观的“微博粉丝互动频度”、“微博僵尸粉丝数量”数据,不要盲目参考。举个简单例子,方舟子(只是我做数据分析的客观结果,舟子老师的粉丝不要怪我)的微博后面很多人是在骂他,而这一部分数据JavaScript是无法辨别的,因此都计算到方舟子这个微博的Karma里了。

   同样,由于采用了一个简单的平均数的算法,因此突然爆红的微博也会导致Karma过高。比如某人说“梁博赢了我就切jj”,然后转发了30000多条,而他的粉丝只有几百人。这种情况也暂时没有过滤。于是我把评论的最大值给remove了。这样当然会导致所有人的Karma下降,但是不会出现一个普通博友超过韩寒的不正常现象了。

   目前最新的计算方法是:

  • 取得这个用户第一页的所有微博的评论和转发数

  • 按照原创微博和二次转发(即转发别人的)分组

  • 如果原创微博多于等于3条,则记录其转发数和评论数

  • 如果原创微博少于3条,则将转发微博分组中的评论数和转发数纳入记录范围

  • 对于二次转发超过15、50的分别给予3倍和5倍的加权,因为大号转发很多时候会把功劳记入原博主,但客观上都是自己的粉丝在出动。根据我的观察,基本上二次转发数在15和50以上就很牛了,所以予以加权

  • 对于记录的评论数和转发数求平均值,然后,加上这个博主的粉丝数做一个运算,得到最终数字:


       

        Karma = (转发*10 + 评论*5) / sqrt(粉丝数)

       

        至于为什么选择10、5还有sqrt这些参数。这纯粹是个人灵感。没有任何逻辑,毕竟不像计量经济学那样可以找到大量数据来做参考。


  • 几个常见问题:
    • 为什么我的偶像Karma只有0?


         

      因为你用的Karma插件版本太老啦,去下个最新的吧:

          https://chrome.google.com/webstore/detail/weibo-karma/bgdpegifffbkpfinfkikcioljnjajoih/


    • 为什么我的偶像Karma太低了?


         

      因为你的偶像有太多粉丝不说话不互动了。我只能帮你帮到这了。

         


    • 为什么我讨厌的人Karma还那么高?


         

      你应该这么思考:因为去他微博骂他的人太多了。恭喜你!


    • 是不是只支持Google Chrome?


         

      是的,因为Firefox和IE插件太难写。另外,因为我是Chrome的粉丝。

         


    • 是不是只支持新版微博?


         

      是的,因为老微博的DOM结构太复杂了,分析起来有点头大


    • 你是来骗粉的、你低估了我的偶像,我很讨厌这个,如何卸载?


          chrome://chrome/extensions/ 只能帮你帮到这了:)


QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
  • 作者:aw    来源: aw's blog
  • 标签: Karma
  • 发布时间:2012-10-22 13:19:38
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1