利用社交网络数据
A.哪些渠道
1.电子邮件:冷启动时导入邮件好友;
2.用户注册信息:来自哪个公司,哪个学校;
3.用户位置信息:同一座公司/宿舍的人,可以假设有好友关系;
4.同一个小组或论坛:豆瓣小组(具有相同的兴趣)
5.聊天工具;
6.社交网站:微博(兴趣相似,不一定认识),微信(社会化关系,不一定兴趣相投);
B. 推荐好友们喜欢的物品
1. 增加信任度:用户往往不信任人工智能,往往更信任好友;
2. 解决冷启动:用微博或微信账号登陆时,自带好友圈子;
1. 基于邻域的社会化推荐算法:用户u对物品i的兴趣度 = u的所有好友v之和{u和v的熟悉程度 * v是否对i有过喜欢行为0/1}; u和v的熟悉程度可以综合考虑: a. u的好友集合和v的好友集合的Jaccard距离(共同好友占各自好友之和的比例), b. u喜欢过的物品集合和v喜欢过的物品集合的Jaccard距离(共同喜欢的物品占各自喜欢物品之和的比例);u的所有好友v集合,可以把以上两种人都包括进来;前一种是熟人关系,后一种是志同道合关系;
2. 基于图:用户都在左,物品都在右,用户和用户之间的边是彼此熟悉程度(熟人关系+志同道合关系),用户和物品之间的边是行为表示的喜欢程度;用PersonalRank算法即可;
好友很可能只是熟人,但不是志同道合有共同兴趣的;
C. 给用户推荐好友
1. 基于内容:a.人口统计学信息;b.用户行为(喜欢的物品和发表过的言论等);c.用户的位置信息(住址,IP,邮编等)
2. 基于共同的兴趣:a. UserCF(通过共同喜欢的物品,共同点赞或转发过的微博等); b.用户兴趣标签相似度(从用户发表过的言论或点赞转发过的微博朋友圈等提取兴趣标签)
3. 基于社交网络:其实也是UserCF,只是通过共同认识的好友来关联的;共同认识的好友个数/(A认识的好友个数*B认识的好友个数);根据出度/入度,划分为4种算法:Out-Out, In-In, Out-In, In-Out;其中Out-Out和Out-In评测效果最好;
基于内容的,往往会推荐熟人(比如统统发表过的wiki,共同在同一个部门),新颖度最差,靠谱度最高;
基于共同兴趣的,往往会推荐生人,新颖度最好,靠谱度最低;