6-利用社交网络数据进行推荐
时间:2023-03-13 22:16:02 | 来源:电子商务
时间:2023-03-13 22:16:02 来源:电子商务
本篇的思维导图如下:
1、社交网络数据自从搜索引擎谷歌诞生后,大家都在讨论互联网的下一个金矿是什么。现在,几乎所有的人都认为那就是社交网络。根据尼尔森2010年的报告,用户在互联网上22%的时间花费在社交网站 和社交媒体上1。Facebook和Twitter作为两种不同类型社交网络的代表,是目前互联网界的宠儿。谷歌公司也不甘落后,连续推出了很多社交网络产品(Buzz和Google Plus)。国内的互联网以新浪微博为代表,也吸引了很多人的眼球。
社交网络数据的来源有下面几个:
电子邮件用户注册信息:比如公司、学校等
用户的位置数据:IP地址或者GPS数据
论坛和讨论组即时聊天工具社交网站2、社交网络数据简介一般来说,有3种不同的社交网络数据:
双向确认的社交网络数据:一般通过无向图表示
单向关注的社交网络数据:用户关系是单向的,可以通过有向图表示
基于社区的社交网络数据:比如豆瓣小组
社交网络数据中也存在长尾分布,主要根据用户的入度和出度,用户的入度反映了用户的社会影响力,而用户的出度代表了一个用户关注的用户数。从下图可以看出,一个社交网络中影响力大的用户总是占少数,同时关注很多人的用户占少数,而绝大多数只关注很少的人。
用户入度分布
用户出度分布
3、基于社交网络的推荐社会化推荐之所以受到很多网站的重视,是源于如下的优点:
好友推荐可以增加推荐的信任度社交网络可以解决冷启动问题当然,社会化推荐有时候也有一定的缺点,主要是不一定提高推荐算法的离线精度,因为社交网络中好友关系不是基于共同兴趣产生的,所以用户好友的兴趣往往和用户的兴趣不一致。
3.1 基于邻域的社会化推荐算法如果给定一个社交网络和一份用户行为数据集。其中社交网络定义了用户之间的好友关系,而用 户行为数据集定义了不同用户的历史行为和兴趣数据。那么我们想到的最简单算法是给用户推荐好友喜欢的物品集合。即用户u对物品i的兴趣pui可以通过如下公式计算。
其中out(u)是用户u的好友集合,如果用户v喜欢物品i,则rvi=1,否则rvi=0。不过,即使都是 用户u的好友,不同的好友和用户u的熟悉程度和兴趣相似度也是不同的。因此,我们应该在推荐 算法中考虑好友和用户的熟悉程度以及兴趣相似度:
这里,wuv 由两部分相似度构成,一部分是用户u和用户v的熟悉程度,另一部分是用户u和用 户v的兴趣相似度。熟悉度可以用用户之间的共同好友比例来度量:
而兴趣相似度可以通过和UserCF类似的方法度量,即如果两个用户 喜欢的物品集合重合度很高,两个用户的兴趣相似度很高。
3.2 基于图的社会化推荐算法在社交网站中存在两种关系,一种是用户对物品的兴趣关系,一种是用户之间的社交网络关系。用户的社交网络可以表示为社交网络图,用户对物品的行为可以表示为用户物品二分图,而这两种图可以结合成一个图。如下图所示:
在定义完图中的顶点和边后,需要定义边的权重。其中用户和用户之间边的权重可以定义为用户之间相似度的a 倍(包括熟悉程度和兴趣相似度),而用户和物品之间的权重可以定义为用 户对物品喜欢程度的 b倍。a 和b 需要根据应用的需求确定。如果我们希望用户好友的行为对 推荐结果产生比较大的影响,那么就可以选择比较大的a 。相反,如果我们希望用户的历史行为 对推荐结果产生比较大的影响,就可以选择比较大的 b 。
在定义完图中的顶点、边和边的权重后,我们就可以利用基于随机游走的PersonalRank图排序算法给每个用户生成推荐结果。