一种基于社区发现的社交网络好友推荐方法

文档序号:6551647阅读:805来源:国知局
一种基于社区发现的社交网络好友推荐方法
【专利摘要】本发明公开了一种基于社区发现的社交网络好友推荐方法,属于数据挖掘、社交网络、等领域,解决现有个性化推荐中没有考虑社交网络特性的问题。本发明采集社交网络中用户历史数据,对用户的兴趣爱好建模,得到所有用户的偏好向量集合;根据用户偏好向量集合中表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量对用户聚类,找出社交网络中用户所在的兴趣爱好和朋友关系重叠社区;根据用户的兴趣爱好和用户的朋友关系重叠社区,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序,得到最终的待推荐好友列表。本发明利用了用户的兴趣爱好和朋友关系进行好友推荐,更加适合社交网络。
【专利说明】—种基于社区发现的社交网络好友推荐方法
【技术领域】
[0001]一种基于社区发现的社交网络好友推荐方法,利用社交网络具有的典型复杂网络特性,找到社交网络中用户的兴趣爱好社区,利用用户的兴趣爱好和朋友关系进行好友推荐,提高个性化推荐的准确度和社交服务的用户体验,涉及数据挖掘、社交网络、个性化推荐等领域。
【背景技术】
[0002]社交网络是典型的复杂网络,具有复杂网络的小世界特性(small-world)、无标度(scale-free)特性和社团结构特性。
[0003]小世界特性指的是在网络规模很大的情况下,任意两个网络节点之间可以通过相对较小的步骤建立联系。社交网络不仅完全符合“六度分离”理论,而且具有较小的特征路径长度,符合复杂网络的小世界特性。
[0004]无标度特性是指网络中的少数节点拥有大量的连接,而大部分节点只与很少的节点连接,无标度特性反应了用户聚集的集中性。在社交网络中新加入的用户更倾向于和活跃用户建立连接,比如用户加入Twitter时,首先关注自己喜欢的明星,随着网络规模的增力口,类似明星这样的节点得到的连接越来越多。
[0005]社团结构是指网络中所有的节点的联系是有规律的,一些节点的边连接非常紧密,成为规模网络中的一个密集子网。在社团内部,节点之间的联系非常紧密,而社团与社团之间的节点联系非常稀疏。
[0006]个性化推荐技术主要包括:协同过滤、基于内容的过滤、基于知识的过滤和混合推荐。其中,应用最广泛的协同过滤又分为基于用户的协同过滤、基于项目的协同过滤,基于隐语义模型的协同过滤和基于图模型的协同过滤等。
[0007]协同过滤的基本思想是通过用户的历史行为来预测目标用户最可能喜欢哪些物品或对哪些物品感兴趣。通过分析得到用户的兴趣爱好,在所有用户中找到与目标用户有相似兴趣的用户,综合这些相似用户对某一物品的行为(点击、评分等),预测目标用户对物品的喜好程度。不同的推荐算法根据不同的推荐策略进行推荐,每种算法都有自己的优势和缺点,适用于不同的应用场景。
[0008]好友推荐是SNS社交网络的基础服务,现有的好友推荐大致可以分为两类:一类是基于用户的社交关系,包括“朋友的朋友”和共同好友的数量来进行推荐,比如Facebook上“People you may know”,就是通过推荐和自己没有朋友关系但是和自己的朋友有朋友关系的用户;还有基于共同朋友的数量,共同朋友越多,说明用户在现实生活中也可能认识,比如国内社交网站人人网,在推荐朋友时把共同好友数量越多的用户认为可能是同学。另外一类是基于用户的兴趣爱好,比如在Twitter上,会根据你关注的人找到和这些用户类型相同的用户,当登陆首页时,页面上的“Who to Follow”就会出现用户推荐列表,认为用户也会对他们感兴趣。
[0009]现有的社区发现算法通常仅仅利用社交网络的用户朋友关系网络拓扑图,而且找到的社区是非重叠社区。另外,现有的好友推荐方法常常只利用了用户的朋友关系,没有考虑用户的兴趣爱好或者没有考虑用户兴趣爱好的动态变化。

【发明内容】

[0010]本发明针对现有技术的不足之处提供一种基于社区发现的社交网络好友推荐方法,结合社交网络的社团结构特性,基于用户的兴趣爱好和用户的朋友关系寻找社交网络中的重叠社区,提高个性化推荐的准确度和社交服务的用户体验。
[0011]为实现上述目的,本发明采用的技术方案为:
[0012]一种基于社区发现的社交网络好友推荐方法,其特征在于,如下步骤:
[0013](I)采集社交网络中用户历史数据,对用户的兴趣爱好建模,得到每个用户的偏好向量集合,从而得到所有用户的偏好向量集合;
[0014](2)根据每个用户的偏好向量集合中表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量对用户聚类,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重置社区;
[0015](3)根据每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序,得到最终的待推荐好友列表。
[0016]作为优选,所述步骤(1)中,对用户的兴趣爱好建模的具体步骤如下:
[0017](11)对用户历史数据去噪,将不能明确表示用户的兴趣爱好的数据过滤掉,即删除用户共同行为量最大的数据部分;
[0018](12)对过滤后的数据进行归一化处理,并用布尔类型表示;
[0019](13)通过布尔类型量化用户对项目的喜欢程度,获得社交网络中每个用户的偏好
向量集合。
[0020]作为优选,所述步骤(2)中,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区的具体步骤如下:
[0021](21)生成第一个社区,加入社区集合,从用户集合中随机选取一个用户,将选取的用户加入第一个社区,并删除用户集合中的该用户;
[0022](22)从用户集合中选择一个用户U,与社区集合C= {Cl, L, cj中的每个社区进行计算,得到U和已存在的社区Ci的凝聚度CO,计算公式如下:
【权利要求】
1.一种基于社区发现的社交网络好友推荐方法,其特征在于,如下步骤: (1)采集社交网络中用户历史数据,对用户的兴趣爱好建模,得到每个用户的偏好向量集合,从而得到所有用户的偏好向量集合; (2)根据每个用户的偏好向量集合中表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量对用户聚类,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区; (3)根据每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序,得到最终的待推荐好友列表。
2.根据权利要求1所述的一种基于社区发现的社交网络好友推荐方法,其特征在于:所述步骤(1)中,对用户的兴趣爱好建模的具体步骤如下: (11)对用户历史数据去噪,将不能明确表示用户的兴趣爱好的数据过滤掉,即删除用户共同行为量最大的数据部分; (12)对过滤后的数据进行归一化处理,并用布尔类型表示; (13)通过布尔类型量化用户对项目的喜欢程度,获得社交网络中每个用户的偏好向量集合。
3.根据权利要求1所述的一种基于社区发现的社交网络好友推荐方法,其特征在于,所述步骤(2)中,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区的具体步骤如下: (21)生成第一个社区,加入社区集合,从用户集合中随机选取一个用户,将选取的用户加入第一个社区,并删除用户集合中的该用户; (22)从用户集合中选择一个用户U,与社区集合C={Cl, L, cj中的每个社区进行计算,得到u和已存在的社区Ci的凝聚度CO,计算公式如下:
4.根据权利要求1所述的一种基于社区发现的社交网络好友推荐方法,其特征在于,所述步骤(3)中,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序的步骤如下: (31)根据CUPC算法,利用表示用户的兴趣爱好偏好向量找到社交网络中的用户的兴趣爱好社区CP,如果用户的兴趣爱好为重叠社区,则
【文档编号】G06F17/30GK104021233SQ201410305704
【公开日】2014年9月3日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】屈鸿, 兰冰, 冯旻昱, 吴诗文, 刘金凤 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1