推荐系统实战(四)——利用社交网络数据
学习自《推荐系统实战》项亮
利用社交网络数据
社交网络数据简介
此外,对图G中的用户顶点u,定义out(u)为顶点u指向的顶点集合(如果套用微博中的术语,
out(u)就是用户u关注的用户集合),定义in(u)为指向顶点u的顶点集合(也就是关注用户u的用户
集合)。那么,在Facebook这种无向社交网络中显然有out(u)=in(u)。
一般来说,有3种不同的社交网络数据。
- 双向确认的社交网络数据 在以Facebook和人人网为代表的社交网络中,用户A和B之间形成好友关系需要通过双方的确认。因此,这种社交网络一般可以通过无向图表示。
- 单向关注的社交网络数据 在以Twitter和新浪微博为代表的社交网络中,用户A可以关注用户B而不需要得到用户B的允许,因此这种社交网络中的用户关系是单向的,可以通过有向图表示。
- 基于社区的社交网络数据 还有一种社交网络数据,用户之间并没有明确的关系,但是这种数据包含了用户属于不同社区的数据。比如豆瓣小组,属于同一个小组可能代表了用户兴趣的相似性。或者在论文数据集中,同一篇文章的不同作者也存在着一定的社交关系。或者是在同一家公司工作的人,或是同一个学校毕业的人等
基于社交网络的推荐
社会化推荐之所以受到很多网站的重视,是缘于如下优点。
- 好友推荐可以增加推荐的信任度 好友往往是用户最信任的。用户往往不一定信任计算机的智能,但会信任好朋友的推荐。同样是给用户推荐《天龙八部》,前面提到的基于物品的协同过