在微博上,你关注的人会是谁?微博网络中几亿用户,如何在里面找出你感兴趣的人推荐给你? 从系统层面上来看,这个是很有挑战性的工作,即涉及到好的推荐算法能把握用户的喜好和关注点,同时也要良好计算系统能够快速响应。这里主要谈论微博好友推荐算法部分(Twitter上的推荐算法)。
首先看下面的用户关注之间的二部图(1),左边是用户圈,就是用户的信任圈子,右边的是用户信任圈集合用户关注的所用用户,我们所要做的是从这些节点中找到最能吸引眼球的关注者。
如何构建用户的信任圈?给定一个用户,已知该用户的关注用户群,我们可以通过类似personalized PageRank 随机游走方法,设定随机游走步数和重启概率,忽视低概率节点,采样那些大度节点。从当前节点出发,进行随机游走过程,那些到达概率高的节点中取一定数量节点作为改节点信任圈。
完成节点信任圈的构造后,可以构建出图1的网络,通过SALSA算法迭代算出右边节点(我们称作:authorities)的得分,分数高的节点用户关注的概率越高。SALSA也是类似pagerank,HITS的随机游走系列的算法,它是两方向随机游走过程,它最早是出现在网页搜索排序算法中。
(1)