分享

Twitter的用户推荐算法

levycui 发表于 2016-2-16 15:18:06 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 2 19997
问题导读:
1、Twitter的用户推荐算法是什么?
2、新浪微博的用户推荐类型有什么?
3、Twitter的算法主要关注哪些方面?




关于Twitter的用户推荐算法,Quora上的文章有一个说明。算法基本分4步:
[mw_shl_code=applescript,true]
        First and foremost, we looked at who your friends follow, who they talk to, who they RT as gauges of your interest.
        Then we applied either positive/negative biases towards individual factors like location, popularity, tweet volume, ratio, conversational likelihood, etc
        We then further personalized based on who you tended to follow or skip. For example, if you follow a lot of Mark Suster's friends, we will boost up your "affinity score" to him
        There is also the concept of exploration, which meant that we will throw in random people just for the heck of it  [/mw_shl_code]
1. 遍历你关注的用户,找出他们关注、回复、转发的所有用户,作为候选;
2. 根据位置、热度、微博数目、微博内容相似度等为每一个候选计算一个权值;
3. 再根据你倾向于关注或无视哪些人的好友,对权值进行调整。例如你关注了很多张三的朋友,那么张三的朋友的权值可以调高;
4. 也需要考虑结果的扩展,甚至可以加入一些随机的用户说不定就给你惊喜了。


这个算法还有个理论基础:三元闭包理论(Triadic Closure)。三元闭包理论指的是,在社交网络中,如果A和B有一个共同的朋友C,那么A和B也很可能成为朋友。关于三元闭包理论,这里以《围城》中的人物关系举了个例子。

相比之下,新浪微博的用户推荐类型要丰富的多。粗略看了一下,起码有以下几种:


  • N个共同好友:好友是指互相关注
  • N个间接关注:你关注的人也关注了TA
  • 你可能喜欢:跟你同样关注XXX的人也关注TA
  • XXX也关注:XXX是你关注的某个微博大号
  • 你们是同学:就读学校相同
  • 你们是同事:供职公司相同
  • 可能兴趣相投:你们打上了同样的兴趣标签
  • 热门话题人物:
  • 微博会员推荐:

另外还有一篇文章讨论了一下Twitter的推荐效果,不过文章比较老,是2010年的。
文章链接:Twitter's "Who to Follow" Is Bad English, But Works Very Well

以下是译文:

大约一个月前,我听朋友说Twitter对新的个性化用户推荐列表进行了A/B测试,过去的一周我亲身体验了一下。用下来感觉非常好,在这篇博客里我想阐述一下,为什么这项技术对Twitter的后续发展十分关键。
twitter-who-to-follow.jpg
Twitter已经把好友推荐功能放到了Twitter.com的首页上,模块叫做“Who to follow”,为你推荐2个用户来加关注。不追究过多的细节,但真心觉得这个模块该叫做“whom to follow”。(按这个思路推敲,新浪微博的“可能感兴趣的人”该改为“可能被感兴趣的人”)当然模块叫啥不重要,反正我对推荐列表非常满意。

在某些方面,Twitter相比Facebook有不小的优势,就是因为Twitter采用了不对称好友模型。我可以关注上百个不认识我的人,并从他们发布的消息中受益。与只能从出版物中得到这些明星的包装过的消息相比,这种感觉真实多了。我关注了Steve Case、Bill Gates和Marc Cuban,虽然他们没人认得我。在对称的好友模型中,他们只能选择与我互相关注或者拒绝我的请求,但在Twitter,我们却可以建立单方面的关注关系。

有意思的是,虽然我没有回粉某个粉丝,但他仍然可以@我,所以Twitter变成了一个开放的交流平台,你可以很方便地与不在你社交圈里的人建立沟通。我没有时间对每个@我的消息进行回复,但我每条都看,并且尽量回复一些。

但是Twitter最大的问题就是让合适的人来关注你。可能你关注了一个很熟的人,但他并没有回粉你,他甚至没有意识到这一点。当你只关注50-100个人时,很容易查看你都关注了谁,但如果你关注了上万人时,这是不可能的。我每周都会检查谁关注了我,并回粉那些我认识的人,或者好玩的人,以及曾经为我提供过不错的链接的人。

但我确定,我漏过了一些本该关注的朋友。更确定的是,有一票我很熟的人还没有关注我。要获取别人的关注,一种方法就是取消对TA的关注,然后重新关注TA,这样TA就可以收到通知并注意到你的存在。这种做法有点傻,所以我很少这样。但是如果直接对别人说“我注意到你还没关注我”,那就太自恋了,更傻。

twitter-who-to-follow1.jpg
好友推荐列表是让该关注你的人关注你的完美解决方案。Twitter的算法是基于找出你关注的人又关注谁最多。这样你的朋友的关注列表会比较接近,他们也会出现在彼此的推荐列表里。

为什么我觉得这很有效?我注意到,我关注的用户有七八个人我是认识的,他们有很长的关注名单。因为我经常与他们交流,所以我觉得他们应该是觉得自己关注了我的,但实际上他们没有意识到自己没有关注。在过去的一周,他们突然开始关注我了,我觉得这不可能是巧合。

同样的,我又增加了很多新的关注。有些是我认识的,有些是系统推荐给我的,对我来说这是认识一些新朋友的机会。如果我们能通过Twitter关注并结识更多的合适的人,Twitter也将得到持续的发展。

我喜爱Twitter。 希望大家能原谅我在 “I don’t care what you ate for lunch” 中的观点,现在我认为Twitter确实改变了人们沟通的方法。

这个算法效果确实不错,很伟大。不过我仍旧认为,正确的英语表达应该是  Whom should you be following?

来源:http://blog.csdn.net/lzt1983/article/details/8755149


已有(2)人评论

跳转到指定楼层
Pengjx2015 发表于 2016-2-17 15:55:44
这个算法效果确实不错
回复

使用道具 举报

ljlinux2012 发表于 2017-3-1 23:05:48
顶顶顶顶顶顶顶顶顶顶顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条