一、社会化推荐的优点
1、好友推荐可以增加推荐的信任度
用户不一定会相信计算机的智能,但会相信好朋友的推荐,比如基于物品的协同过滤算法,会因为用户之前看过《射雕英雄传》而给用户推荐《神雕侠侣》,而好友推荐会说你有八个好友都非常喜欢看《神雕侠侣》,显然第二种解释更让顾客心动,从而购买《神雕侠侣》。
2、社交网络可以解决冷启动问题
当新用户登陆网站或使用产品时,可以从社交网络中获取好友列表,从而给用户推荐好友喜欢的东西,在没有用户行为记录的情况下为用户提供较高质量的推荐结果。
二、基于邻域的社会化推荐算法
如果给定一个社交网络和用户行为的数据集,其中社交网络定义了用户的好友关系,用户行为数据集定义了不同用户的历史行为和兴趣数据,那么最简单的算法就是给用户推荐好友喜欢的物品集合。
用户u对物品i的兴趣pui可以通过如下公式计算:
out(u) : 用户u的好友集合
rvi: 如果用户v喜欢物品i则rvi=1,否则rvi=0
不同的好友与用户u之间的熟悉程度和兴趣相似度也是不同的,在推荐算法中应该考虑好友和用户的熟悉程度和兴趣相似度:
wuv: 用户u与用户v的之间的 熟悉程度 + 兴趣相似度
熟悉程度:一般来说,用户更信任自己熟悉的朋友的推荐,熟悉程度可以通过用户之间共同好友 比例来衡量,也就是说u和v很熟悉的话,他两应该有很多共同好友
familiarity(u,v) =
兴趣程度:除了考虑熟悉程度还要考虑兴趣相似度,比如哦哦们和父母的熟悉程度很高,但是兴趣却有很大不同,兴趣相似度可以通过与userCF类似的方法度量,也就说两个人兴趣相似度高的话,那么他们喜欢的物品的重合度应该很高
similarity(u,v) =
N(u) 指用户u喜欢的物品集合
社会化推荐的逻辑代码如下: