CN104021233B - 一种基于社区发现的社交网络好友推荐方法 - Google Patents
一种基于社区发现的社交网络好友推荐方法 Download PDFInfo
- Publication number
- CN104021233B CN104021233B CN201410305704.XA CN201410305704A CN104021233B CN 104021233 B CN104021233 B CN 104021233B CN 201410305704 A CN201410305704 A CN 201410305704A CN 104021233 B CN104021233 B CN 104021233B
- Authority
- CN
- China
- Prior art keywords
- user
- community
- hobby
- preference vector
- friendss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 239000013598 vector Substances 0.000 claims abstract description 75
- 238000001914 filtration Methods 0.000 claims abstract description 17
- 101100044618 Tetrahymena thermophila ILSA gene Proteins 0.000 claims description 9
- 235000002492 Rungia klossii Nutrition 0.000 claims description 7
- 244000117054 Rungia klossii Species 0.000 claims description 7
- 239000013256 coordination polymer Substances 0.000 claims description 7
- 238000009833 condensation Methods 0.000 claims description 6
- 238000007418 data mining Methods 0.000 abstract description 4
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 210000000582 semen Anatomy 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005494 condensation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 244000097202 Rathbunia alamosensis Species 0.000 description 2
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 230000003997 social interaction Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 206010008190 Cerebrovascular accident Diseases 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 208000006011 Stroke Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000009123 feedback regulation Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于社区发现的社交网络好友推荐方法,属于数据挖掘、社交网络、等领域,解决现有个性化推荐中没有考虑社交网络特性的问题。本发明采集社交网络中用户历史数据,对用户的兴趣爱好建模,得到所有用户的偏好向量集合;根据用户偏好向量集合中表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量对用户聚类,找出社交网络中用户所在的兴趣爱好和朋友关系重叠社区;根据用户的兴趣爱好和用户的朋友关系重叠社区,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序,得到最终的待推荐好友列表。本发明利用了用户的兴趣爱好和朋友关系进行好友推荐,更加适合社交网络。
Description
技术领域
一种基于社区发现的社交网络好友推荐方法,利用社交网络具有的典型复杂网络特性,找到社交网络中用户的兴趣爱好社区,利用用户的兴趣爱好和朋友关系进行好友推荐,提高个性化推荐的准确度和社交服务的用户体验,涉及数据挖掘、社交网络、个性化推荐等领域。
背景技术
社交网络是典型的复杂网络,具有复杂网络的小世界特性(small-world)、无标度(scale-free)特性和社团结构特性。
小世界特性指的是在网络规模很大的情况下,任意两个网络节点之间可以通过相对较小的步骤建立联系。社交网络不仅完全符合“六度分离”理论,而且具有较小的特征路径长度,符合复杂网络的小世界特性。
无标度特性是指网络中的少数节点拥有大量的连接,而大部分节点只与很少的节点连接,无标度特性反应了用户聚集的集中性。在社交网络中新加入的用户更倾向于和活跃用户建立连接,比如用户加入Twitter时,首先关注自己喜欢的明星,随着网络规模的增加,类似明星这样的节点得到的连接越来越多。
社团结构是指网络中所有的节点的联系是有规律的,一些节点的边连接非常紧密,成为规模网络中的一个密集子网。在社团内部,节点之间的联系非常紧密,而社团与社团之间的节点联系非常稀疏。
个性化推荐技术主要包括:协同过滤、基于内容的过滤、基于知识的过滤和混合推荐。其中,应用最广泛的协同过滤又分为基于用户的协同过滤、基于项目的协同过滤,基于隐语义模型的协同过滤和基于图模型的协同过滤等。
协同过滤的基本思想是通过用户的历史行为来预测目标用户最可能喜欢哪些物品或对哪些物品感兴趣。通过分析得到用户的兴趣爱好,在所有用户中找到与目标用户有相似兴趣的用户,综合这些相似用户对某一物品的行为(点击、评分等),预测目标用户对物品的喜好程度。不同的推荐算法根据不同的推荐策略进行推荐,每种算法都有自己的优势和缺点,适用于不同的应用场景。
好友推荐是SNS社交网络的基础服务,现有的好友推荐大致可以分为两类:一类是基于用户的社交关系,包括“朋友的朋友”和共同好友的数量来进行推荐,比如Facebook上“People you may know”,就是通过推荐和自己没有朋友关系但是和自己的朋友有朋友关系的用户;还有基于共同朋友的数量,共同朋友越多,说明用户在现实生活中也可能认识,比如国内社交网站人人网,在推荐朋友时把共同好友数量越多的用户认为可能是同学。另外一类是基于用户的兴趣爱好,比如在Twitter上,会根据你关注的人找到和这些用户类型相同的用户,当登陆首页时,页面上的“Who to Follow”就会出现用户推荐列表,认为用户也会对他们感兴趣。
现有的社区发现算法通常仅仅利用社交网络的用户朋友关系网络拓扑图,而且找到的社区是非重叠社区。另外,现有的好友推荐方法常常只利用了用户的朋友关系,没有考虑用户的兴趣爱好或者没有考虑用户兴趣爱好的动态变化。
发明内容
本发明针对现有技术的不足之处提供一种基于社区发现的社交网络好友推荐方法,结合社交网络的社团结构特性,基于用户的兴趣爱好和用户的朋友关系寻找社交网络中的重叠社区,提高个性化推荐的准确度和社交服务的用户体验。
为实现上述目的,本发明采用的技术方案为:
一种基于社区发现的社交网络好友推荐方法,其特征在于,如下步骤:
(1)采集社交网络中用户历史数据,对用户的兴趣爱好建模,得到每个用户的偏好向量集合,从而得到所有用户的偏好向量集合;
(2)根据每个用户的偏好向量集合中表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量对用户聚类,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区;
(3)根据每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序,得到最终的待推荐好友列表。
作为优选,所述步骤(1)中,对用户的兴趣爱好建模的具体步骤如下:
(11)对用户历史数据去噪,将不能明确表示用户的兴趣爱好的数据过滤掉,即删除用户共同行为量最大的数据部分;
(12)对过滤后的数据进行归一化处理,并用布尔类型表示;
(13)通过布尔类型量化用户对项目的喜欢程度,获得社交网络中每个用户的偏好向量集合。
作为优选,所述步骤(2)中,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区的具体步骤如下:
(21)生成第一个社区,加入社区集合,从用户集合中随机选取一个用户,将选取的用户加入第一个社区,并删除用户集合中的该用户;
(22)从用户集合中选择一个用户u,与社区集合C={c1,L,cm}中的每个社区进行计算,得到u和已存在的社区ci的凝聚度co,计算公式如下:
其中,u为待判定用户,v为已存在社区中的用户,v∈ci,ci∈C,x为社区ci的用户数量,Tani(u,v)为用户u和用户v的Tanimoto相似度,Tani(u,v)计算公式如下:
其中,pu代表用户u的兴趣爱好偏好向量或朋友关系偏好向量,pv代表用户v的兴趣爱好偏好向量或朋友关系偏好向量,pu∩pv、pu∪pv为用户u的偏好向量(兴趣爱好偏好向量或朋友关系偏好向量)和用户v的偏好向量(兴趣爱好偏好向量或朋友关系偏好向量)的与、或运算;
(23)如果满足(为预先设定的阈值),则加入社区ci,即可以加入满足条件的多个社区,并从用户集合U中删除ui,如果不能加入任何一个已存在的社区,则生成新的社区Cm+1,C={c1,c2,L,cm,cm+1},并且u∈Cm+1,同时从用户集合U中删除u;
(24)重复(22)、(23),直到用户集合为空时结束,得到最终的每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区。
作为优选,所述步骤(3)中,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序的步骤如下:
(31)根据CUPC算法,利用表示用户的兴趣爱好偏好向量找到社交网络中的用户的兴趣爱好社区CP,如果用户的兴趣爱好为重叠社区,则
(32)根据CUPC算法,利用表示用户的朋友关系偏好向量找到社交网络中的朋友关系社区CF,如果用户的朋友关系为重叠社区,则
(33)求目标用户v的待推荐好友列表,计算公式如下:
Nv=CP(v)∩CF(v);
(34)对待推荐好友列表中的用户排序,计算Nv中所有用户和目标用户v的距离。
与现有技术相比,本发明的优点在于:
A.在用户的兴趣爱好建模方法中,能够把社交网络中不同对象(音乐、文章、微博、用户等)的操作抽象为用户的兴趣爱好向量,不管是具体数值(电影评分),还是隐式的喜好程度(听歌次数),通过归一化都转化为布尔值来表示,能够适应不同操作对象和多样的数据类型。
B.社交网络具有非常明显的社团结构特性,不管是用户的社交关系,还是用户的兴趣爱好,都呈现出高聚集性,基于用户的兴趣爱好的社区发现算法可以找到用户的朋友关系社区和兴趣爱好社区,考虑了用户的朋友关系社区和兴趣爱好社区为重叠社区。
基于用户的兴趣爱好的社区发现算法中,阈值可以根据本领域人员的经验值,也可以通过模拟实验中的最优经验值设定初始值,然后根据得到的社区结果反馈调节,对零散的社区重新设定阈值,从而可将它们重新聚合。
C.获得待推荐好友列表时,将同时属于朋友关系社区和兴趣爱好社区里的节点作为待选集,同时考虑了目标用户的好友关系和兴趣爱好,更加个性化。
D.对待推荐好友进行排序的方法中,计算他们和目标用户的最短距离,即和目标用户距离越近,提高了他们认识的可能性。
附图说明
图1为本发明个性化推荐系统整体流程图;
图2为本发明基于社区发现的个性化推荐整体流程图;
图3为本发明用户的兴趣爱好建模流程图;
图4为本发明基于用户的兴趣爱好的社区发现算法流程图;
图5为本发明基于社区发现的好友推荐流程图。
具体实施方式
下面将结合附图及具体实施例对本发明作进一步说明。
一种基于社区发现的社交网络好友推荐方法,如下步骤:
(1)采集社交网络中用户历史数据,对用户的兴趣爱好建模,得到每个用户的多个偏好向量集合,每个用户的多个偏好向量包括该用户的兴趣爱好偏好向量和朋友关系偏好向量,从而得到所有用户的偏好向量集合,对用户的兴趣爱好建模的具体步骤如下:
(11)对用户历史数据去噪,将不能明确表示用户的兴趣爱好的数据过滤掉,即删除用户共同行为量最大的数据部分,如对明星的关注、对热门电影的观看等;
(12)对过滤后的数据进行归一化处理,并用布尔类型表示;
(13)通过布尔类型量化用户对项目的喜欢程度,获得社交网络中每个用户的偏好向量集合,每个用户的偏好向量集合包括该用户的兴趣爱好偏好向量和朋友关系偏好向量,当项目为社交网络中具体物品,如电影、书籍、文章等时,偏好向量代表用户的具体兴趣爱好,当项目为用户时,偏好向量代表用户的朋友关系。
(2)根据每个用户的偏好向量集合中表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量对用户聚类,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系的重叠社区的具体步骤如下:
(21)生成第一个社区,加入社区集合,从用户集合中随机选取一个用户,将选取的用户加入第一个社区,并删除用户集合中的该用户;
(22)从用户集合中选择一个用户u,与社区集合C={c1,L,cm}中的每个社区进行计算,得到u和已存在的社区ci的凝聚度co,计算公式如下:
其中,u为待判定用户,v为已存在社区中的用户,v∈ci,ci∈C,x为社区ci的用户数量,Tani(u,v)为用户u和用户v的Tanimoto相似度,Tani(u,v)计算公式如下:
其中,pu代表用户u的兴趣爱好偏好向量或朋友关系偏好向量,pv代表用户v的兴趣爱好偏好向量或朋友关系偏好向量,pu∩pv、pu∪pv为用户u的偏好向量(兴趣爱好偏好向量或朋友关系偏好向量)和用户v的偏好向量(兴趣爱好偏好向量或朋友关系偏好向量)的与、或运算;
(23)如果满足(为预先设定的阈值),则加入社区ci,即可以加入满足条件的多个社区,并从用户集合U中删除ui,如果不能加入任何一个已存在的社区,则生成新的社区Cm+1,C={c1,c2,L,cm,cm+1},并且u∈Cm+1,同时从用户集合U中删除u;
(24)重复(22)、(23),直到用户集合为空时结束,得到最终的每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区。
(3)根据每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序,得到最终的待推荐好友列表,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序的步骤如下:
(31)根据CUPC算法,利用表示用户的兴趣爱好偏好向量找到社交网络中的用户的兴趣爱好社区CP,如果用户的兴趣爱好为重叠社区,则
(32)根据CUPC算法,利用表示用户的朋友关系偏好向量找到社交网络中的朋友关系社区CF,如果用户的朋友关系为重叠社区,则
(33)求目标用户v的待推荐好友列表,计算公式如下:
Nv=CP(v)∩CF(v);
(34)对待推荐好友列表中的用户排序,计算Nv中所有用户和目标用户v的距离。
参见图1,一种基于社区发现的社交网络好友推荐方法,首先从社交网络中提取用户历史数据,包括用户历史行为数据和项目特征属性;用户历史行为数据是指用户的行为数据,比如在豆瓣网站上对文章的“喜欢”,在新浪微博的转发等;项目特征属性是指社交网络中操作对象的属性,比如豆瓣音乐上歌曲的类型、时长、歌手,电影的导演、地区、语言等。从这些数据中提取出用户的兴趣爱好,建立用户-项目的用户爱好矩阵。对于不同类型的社交网络,选择与之符合的相似性计算方式和推荐算法,得到初始待推荐好友列表。再对初始待推荐好友列表进行过滤,删除不符合朋友关系条件的部分。最好通过相应的排序策略进行排序,得到最终的好友推荐列表。
参阅图2,一种基于社区发现的社交网络好友推荐方法,整个流程分为三个步,一、首先从社交网络采集用户历史行为数据提取能表示用户兴趣爱好的数据,然后进行去噪和归一化等预处理,对用户的兴趣爱好建模,得到每个用户的偏好向量集合(表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量),从而得到所有用户的偏好向量集合;二、通过基于用户偏好的社区发现算法,找出社交网络的社团结构,对于目标用户,找出他所在的重叠社区,作为初始待推荐列表;三、通过过滤、删除和目标用户有朋友关系的节点,求待推荐集合中用户和目标用户的排序最短距离,作为最终的待推荐好友列表。
参阅图3,描述对用户的兴趣爱好建模的具体流程。提取用户的兴趣爱好的历史数据大致分为两种方式:一、用户的显示信息(explicit info),显示信息包括社交网络中用户在注册时提供的人口统计信息、对项目的评分等显示操作,比如对Netflix网站上的电影的评分,对新浪微博的点赞和转发等;二、用户的隐式操作(implicit behavior),隐式操作包括对豆瓣网站上文章的阅读、对音乐电台Pandora的听歌次数等隐式行为记录。在各种不同类型的社交网络中,都可以通过这样的显示信息或隐式操作数据来提取用户的行为爱好。通过社交网站开放平台提供的API接口或网络爬虫等技术,可以收集和提取用户的行为数据。
在获得用户历史数据后对其进行去噪和归一化处理。去噪是指获得的用户历史数据中可能存在着用户的误操作,或者不能代表用户兴趣爱好的项目。比如用户在豆瓣网上查看关于“数据挖掘”的文章和查看关于“英语四级”的文章,后者则更能表明用户的兴趣爱好,因为大多数大学生必须参加英语四级考试,而少部分人因为对数据挖掘感兴趣才查看相关文章。在计算用户的不同兴趣爱好时,也需要对不同的行为数据进行处理。比如用户在在线音乐网站上的听歌记录,不同的用户会选择不同的歌手,对非常喜欢的歌手的歌曲的重复次数比一般喜欢的歌手多,但仅仅使用听歌次数来说明不同用户对歌手的喜好程度存在偏差,还需要考虑每个用户听歌的总次数和对每首歌曲的听歌次数。如何将这些行为数据统一在一个相同的取值范围中,从而使得加权求和得到的总体喜好更加精确,就需要进行归一化处理。最简单的归一化处理,就是将各类数据除以此类中的最大值,以保证归一化后的数据取值在{0,1}范围内。
通过去噪和归一化处理后,类似用户的兴趣,用户对电影评分、用户对微博的点赞和转发、对用户的关注等都可以用具体的数值来表示用户的喜好程度。比如在豆瓣电台上,对一首歌可以选择“喜好”、“不喜欢”和“跳过”等操作,则可以用布尔类型表示,比如对文章的浏览、对微博的转发等,直接用0和1表示;对于由具体数值表示的数据,比如对电影的评分、音乐社交网站上的听歌次数等,首先进行归一化,然后再转化为用-1、0和1表示。可用1表示“喜好”、0表示“跳过”,-1表示“不喜欢”。通过量化用户对项目的喜欢程度,从而获得动态的用户的偏好向量,得到每个用户的偏好向量集合(表示的用户兴趣爱好偏好向量和表示用户的朋友关系偏好向量),从而得到所有用户的偏好向量集合。
参阅图4,是基于用户偏好的社区发现算法流程。初始化社交网络社区集用户集合U={u1,u2,u3,L,un},每个用户的兴趣爱好p={1,1,0,L,1},用户之间的兴趣爱好向量维数可以相同也可以不同。首先从用户集合U中随机选取一个用户u1,生成一个社区c1,将c1加入社区集合C,然后再从用户集合U中选取下一个用户,通过计算判断它是加入已经存在的社区,还是成为新社区里的用户,当选取的用户已加入社区或成为新社区的用户,都需要删除用户集合中的用户。重复以上过程,直到每个用户都加入了对应的社区,即用户集合为空时,社区集合C={c1,c2,c3,L,cm}就是CUPC算法得到的社区结果。在判断用户是否能够加入一个社区时,定义用户的社区凝聚度为co,计算公式如下:
而判断用户能否加入一个社区的条件是他的凝聚度是否大于预先设置的阈值,即满足:
其中,u为待判定用户,v为已存在社区中的用户,v∈ci,ci∈C,x为社区ci的用户数量,Tani(u,v)为用户u和用户v的Tanimoto相似度,为判断一个用户能否加入一个社区的阈值,在这个步骤中,目标用户需要和社区里的每一个用户计算相似度,再求得它与这个社区所有用户相似度的平均值(凝聚度),通过与比较来判断是否可以加入这个社区。
具体步骤为:
步骤1:初始化,生成一个社区c1,从用户集合U中随机选取u1,使u1∈c1,并将c1加入社区集合C,并删除用户集合中的该用户,此时U={u2,u3,L,un},C={c1},c1={u1};
步骤2:从用户集合U中选择下一个用户ui,与社区集合C={c1,L,cm}中的每个社区的用户进行比较,判断能否加入与用户ui进行比较的社区,如果能够加入某个社区cx,则ui∈cx,并从用户集合U中删除ui,进入步骤4,否则直接进入步骤3;
步骤3:生成新的社区Cm+1,ui∈Cm+1,C={c1,c2,L,cm+1},并从用户集合U中删除ui,进入步骤4;
步骤4:如果则算法结束,否则进入步骤2。
当一个节点加入某个社区,并从用户集合中删除此用户节点后,按流程图进入下一步判断用户集合是否为空,这样得到的社区没有重叠部分。但是在社交网络中,用户很可能属于多个社区,比如当用户的偏好向量代表用户的兴趣时,把拥有多个相同兴趣的用户聚类时,用户很可能属于多个社区,要得到社交网络的重叠社区结构,必需在删除后,继续判断是否能加入社区集合中还没有进行判断的社区。按照此方法,则CUPC最后得到的社区将是重叠社区。在判断一个用户是否能够加入一个社区时,需要和这个社区的所有用户进行相似度计算,对它和每个用户的相似度累加求平均,这样得到的聚类的凝聚性高。阈值的设置将会影响CUPC(社区发现算法)的最终结果,如果阈值设置得较小,那么得到的社区数量会相对较少,而社区内的用户数量相对较多,这样得到的社区区分度不高,而如果阈值设置得较大,那么得到的社区数量会相对教多,而社区内的用户数量相对较少,还可能产生很多只有几个用户的社区,阈值的设置需要考虑到上述情况。
一种基于社区发现的社交网络好友推荐方法,具体的实施过程是通过基于用户的兴趣爱好的社区发现算法,找到用户所在的朋友关系社区和兴趣爱好社区,选择同时属于这两个社区的节点作为初始待推荐好友列表,再通过过滤和排序,得到最终推荐列表。
图5为基于社区发现的好友推荐流程,具体步骤为:
①初始化社交网络G=(U,E,P),U是用户集合,U=(u1,u2,L,un),E是用户的朋友关系集合,P为用户的兴趣爱好集合。
②根据用户兴趣爱好对用户聚类,利用用户的兴趣爱好向量,比如对视频的观看、对文章的浏览或对歌曲的收听等,找出社交网络中的用户的兴趣爱好社区CP(v),如果用户属于重叠社区,这些兴趣社区里的用户都和目标用户有相同的兴趣爱好,需要将这些社区并起来,结果为
③根据用户的朋友关系,基于共同好友数量对用户进行聚类,找出社交网络中用户朋友关系社区CF(v),如Facebook中的朋友关系(双向关系)、Twitter中的关注关系(单向关系)等,如果用户属于重叠社区,这些朋友社区里的用户都和目标用户有相当数量的共同好友,需要将这些社区并起来,结果为
④根据②和③得到兴趣爱好社区和朋友关系社区,将同时属于两个社区的用户作为初始待推荐好友集合Nv=CP(v)∩CF(v),这些用户和目标用户不仅有相同的兴趣爱好,在现实生活中认识的可能性也比较大,成为朋友的可能性也比不属于初始待推荐好友集合的用户可能性大。
⑤对④中得到初始待推荐好友列表进行排序,计算和目标用户没有边连接的节点到目标用户的距离,距离越近,权重越高,最终得到待推荐好友列表。
根据用户历史数据提取用户的兴趣爱好向量,既可以表示用户朋友关系(社交网络拓扑图),也可以表示用户的兴趣爱好。通过基于用户偏好的社区发现算法得到的是重叠社区,更适合于社交网络,并同时考虑用户的兴趣爱好和朋友关系进行好友推荐,提高了用户体验和个性化推荐的准确度。
本发明已经通过上述实施例进行了说明,但应当理解的是,上述实施例只是用于举例和说明的目的,而非意在将本发明限制于所描述的实施例范围内。此外本领域技术人员可以理解的是,本发明并不局限于上述实施例,根据本发明的教导还可以做出更多种的变型和修改,这些变型和修改均落在本发明所要求保护的范围以内。本发明的保护范围由附属的权利要求书及其等效范围所界定。
Claims (3)
1.一种基于社区发现的社交网络好友推荐方法,其特征在于,如下步骤:
(1)采集社交网络中用户历史数据,对用户的兴趣爱好建模,得到每个用户的偏好向量集合,从而得到所有用户的偏好向量集合;
(2)根据每个用户的偏好向量集合中表示用户的兴趣爱好偏好向量和表示用户的朋友关系偏好向量对用户聚类,找出社交网络中每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区;具体步骤如下:
(21)生成第一个社区,加入社区集合,从用户集合中随机选取一个用户,将选取的用户加入第一个社区,并删除用户集合中的该用户;
(22)从用户集合中选择一个用户u,与社区集合C={c1,…,cm}中的每个社区进行计算,得到u和已存在的社区ci的凝聚度co,计算公式如下:
其中,u为待判定用户,v为已存在社区中的用户,v∈ci,ci∈C,x为社区ci的用户数量,Tani(u,v)为用户u和用户v的Tanimoto相似度,Tani(u,v)计算公式如下:
其中,pu代表用户u的兴趣爱好偏好向量或朋友关系偏好向量,pv代表用户v的兴趣爱好偏好向量或朋友关系偏好向量,pu∩pv、pu∪pv为用户u的偏好向量和用户v的偏好向量的与、或运算;
(23)如果满足则加入社区ci,即可以加入满足条件的多个社区,并从用户集合U中删除ui,如果不能加入任何一个已存在的社区,则生成新的社区Cm+1,C={c1,c2,…,cm,cm+1},并且u∈Cm+1,同时从用户集合U中删除u;
(24)重复(22)、(23),直到用户集合为空时结束,得到最终的每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区;
(3)根据每个用户所在的兴趣爱好重叠社区和朋友关系重叠社区,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序,得到最终的待推荐好友列表。
2.根据权利要求1所述的一种基于社区发现的社交网络好友推荐方法,其特征在于:所述步骤(1)中,对用户的兴趣爱好建模的具体步骤如下:
(11)对用户历史数据去噪,将不能明确表示用户的兴趣爱好的数据过滤掉,即删除用户共同行为量最大的数据部分;
(12)对过滤后的数据进行归一化处理,并用布尔类型表示;
(13)通过布尔类型量化用户对项目的喜欢程度,获得社交网络中每个用户的偏好向量集合。
3.根据权利要求1所述的一种基于社区发现的社交网络好友推荐方法,其特征在于,所述步骤(3)中,得到目标用户的初始待推荐好友列表,并对得到的初始待推荐好友列表进行过滤和排序的步骤如下:
(31)根据CUPC算法,利用表示用户的兴趣爱好偏好向量找到社交网络中的用户的兴趣爱好社区CP,如果用户的兴趣爱好为重叠社区,则
(32)根据CUPC算法,利用表示用户的朋友关系偏好向量找到社交网络中的朋友关系社区CF,如果用户的朋友关系为重叠社区,则
(33)求目标用户v的待推荐好友列表,计算公式如下:
Nv=CP(v)∩CF(v);
(34)对待推荐好友列表中的用户排序,计算Nv中所有用户和目标用户v的距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305704.XA CN104021233B (zh) | 2014-06-30 | 2014-06-30 | 一种基于社区发现的社交网络好友推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305704.XA CN104021233B (zh) | 2014-06-30 | 2014-06-30 | 一种基于社区发现的社交网络好友推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021233A CN104021233A (zh) | 2014-09-03 |
CN104021233B true CN104021233B (zh) | 2017-02-15 |
Family
ID=51437987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410305704.XA Active CN104021233B (zh) | 2014-06-30 | 2014-06-30 | 一种基于社区发现的社交网络好友推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021233B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217009A (zh) * | 2014-09-18 | 2014-12-17 | 酷派软件技术(深圳)有限公司 | 一种聚类方法、装置和终端 |
CN104199964B (zh) * | 2014-09-19 | 2017-12-12 | 大连民族学院 | 信息处理方法及装置 |
CN104281718B (zh) * | 2014-11-04 | 2018-03-02 | 深圳市英威诺科技有限公司 | 一种基于用户群体行为数据挖掘智能推荐的方法 |
CN104462308A (zh) * | 2014-11-27 | 2015-03-25 | 广东小天才科技有限公司 | 社交网络好友推荐的方法及系统 |
CN104615775B (zh) * | 2015-02-26 | 2018-08-07 | 北京奇艺世纪科技有限公司 | 一种用户推荐方法及装置 |
CN106055568B (zh) * | 2016-05-18 | 2019-06-28 | 安徽大学 | 一种基于单步添加团的社交网络的朋友自动分组方法 |
CN107608986A (zh) * | 2016-07-12 | 2018-01-19 | 上海视畅信息科技有限公司 | 一种基于社交关系的个性化推荐方法 |
CN106339483B (zh) * | 2016-08-30 | 2020-04-21 | 电子科技大学 | 一种移动社交网络中的社交活动推荐方法 |
WO2018040068A1 (zh) * | 2016-09-02 | 2018-03-08 | 浙江核新同花顺网络信息股份有限公司 | 基于知识图谱的语意分析系统及方法 |
CN106570082B (zh) * | 2016-10-19 | 2019-11-05 | 浙江工业大学 | 一种结合网络拓扑特征和用户行为特征的朋友关系挖掘方法 |
WO2018081966A1 (zh) * | 2016-11-03 | 2018-05-11 | 华为技术有限公司 | 一种关联用户的方法、终端和服务器 |
CN108205551B (zh) * | 2016-12-16 | 2020-09-29 | 北京酷我科技有限公司 | 一种歌曲推荐方法和歌曲推荐系统 |
CN107240029B (zh) * | 2017-05-11 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN109118379B (zh) * | 2017-06-22 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 基于社交网络的推荐方法和装置 |
CN107451255B (zh) * | 2017-07-31 | 2020-05-19 | 陕西识代运筹信息科技股份有限公司 | 一种基于关注关系的用户兴趣处理方法和装置 |
CN108304441B (zh) * | 2017-11-14 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 网络资源推荐方法、装置、电子设备、服务器及存储介质 |
CN108257035A (zh) * | 2017-12-30 | 2018-07-06 | 黄敬易 | 用户相似度计算方法、装置、服务器及可读存储介质 |
CN108399189A (zh) * | 2018-01-23 | 2018-08-14 | 重庆邮电大学 | 基于社团发现的好友推荐系统及其方法 |
CN108427715A (zh) * | 2018-01-30 | 2018-08-21 | 重庆邮电大学 | 一种融合信任度的社交网络好友推荐方法 |
CN108536726A (zh) * | 2018-02-25 | 2018-09-14 | 心触动(武汉)科技有限公司 | 一种校内社交好友智能推荐方法及系统 |
CN108920641B (zh) * | 2018-07-02 | 2021-05-11 | 北京理工大学 | 一种信息融合个性化推荐方法 |
CN109003623A (zh) * | 2018-08-08 | 2018-12-14 | 爱驰汽车有限公司 | 车载唱歌评分系统、方法、设备及存储介质 |
CN109344326B (zh) * | 2018-09-11 | 2021-09-24 | 创新先进技术有限公司 | 一种社交圈的挖掘方法和装置 |
CN109408733A (zh) * | 2018-09-26 | 2019-03-01 | 西安理工大学 | 一种基于vr环境的多样化兴趣社区建立方法 |
CN109299379B (zh) * | 2018-10-30 | 2021-02-05 | 东软集团股份有限公司 | 文章推荐方法、装置、存储介质和电子设备 |
CN110312222B (zh) * | 2019-06-01 | 2022-01-04 | 上海盛业信息科技有限公司 | 一种基于WiFi位置指纹的商场好友推荐方法 |
CN110866180B (zh) * | 2019-10-12 | 2022-07-29 | 平安国际智慧城市科技股份有限公司 | 资源推荐方法、服务器及存储介质 |
CN111143704B (zh) * | 2019-12-20 | 2023-10-20 | 北京理工大学 | 一种融合用户影响关系的在线社区好友推荐方法及系统 |
CN111368217A (zh) * | 2020-03-19 | 2020-07-03 | 淄博聚德网络科技有限公司 | 一种促进从陌生人发展到朋友的社交方法及系统 |
CN113538073A (zh) * | 2020-03-31 | 2021-10-22 | 中移系统集成有限公司 | 基于社区发现的学习资源推荐方法、装置以及设备 |
CN111523048B (zh) * | 2020-04-15 | 2024-04-12 | 达观数据有限公司 | 社交网络中好友的推荐方法、装置、存储介质及终端 |
CN112948711A (zh) * | 2021-03-24 | 2021-06-11 | 深圳人工智能与数据科学研究院(龙华) | 一种基于地理位置分享轨迹的社交网络好友推荐系统 |
CN112886589B (zh) * | 2021-04-09 | 2022-09-20 | 华中科技大学 | 基于社区挖掘的供电分区方法、系统、终端、介质及配电网 |
CN113420229B (zh) * | 2021-08-19 | 2021-11-12 | 国际关系学院 | 一种基于大数据的社交媒体信息推送方法和系统 |
CN114169418B (zh) * | 2021-11-30 | 2023-12-01 | 北京百度网讯科技有限公司 | 标签推荐模型训练方法及装置、标签获取方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379158A (zh) * | 2012-04-24 | 2013-10-30 | 中国移动通信集团公司 | 一种社交网络中推荐好友信息的方法及系统 |
CN103617289A (zh) * | 2013-12-12 | 2014-03-05 | 北京交通大学长三角研究院 | 基于用户特征及网络关系的微博推荐方法 |
CN103678618A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种基于社交网络平台的Web服务推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8204878B2 (en) * | 2010-01-15 | 2012-06-19 | Yahoo! Inc. | System and method for finding unexpected, but relevant content in an information retrieval system |
-
2014
- 2014-06-30 CN CN201410305704.XA patent/CN104021233B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379158A (zh) * | 2012-04-24 | 2013-10-30 | 中国移动通信集团公司 | 一种社交网络中推荐好友信息的方法及系统 |
CN103617289A (zh) * | 2013-12-12 | 2014-03-05 | 北京交通大学长三角研究院 | 基于用户特征及网络关系的微博推荐方法 |
CN103678618A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种基于社交网络平台的Web服务推荐方法 |
Non-Patent Citations (1)
Title |
---|
社交网络个性化推荐方法研究;刑星;《中国优秀硕士学位论文全文数据库》;20131015(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104021233A (zh) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104021233B (zh) | 一种基于社区发现的社交网络好友推荐方法 | |
Yang et al. | A survey of collaborative filtering based social recommender systems | |
Ma et al. | Social network and tag sources based augmenting collaborative recommender system | |
Qian et al. | Personalized recommendation combining user interest and social circle | |
Nettleton | Data mining of social networks represented as graphs | |
US11409825B2 (en) | Methods and systems for identifying markers of coordinated activity in social media movements | |
US20140040370A1 (en) | Content feed for facilitating topic discovery in social networking environments | |
Rohani et al. | An effective recommender algorithm for cold-start problem in academic social networks | |
Guy | People recommendation on social media | |
Lu et al. | HBGG: A hierarchical Bayesian geographical model for group recommendation | |
CN109190033A (zh) | 一种用户好友推荐方法及系统 | |
Xia et al. | Design of reciprocal recommendation systems for online dating | |
Terán et al. | A literature review for recommender systems techniques used in microblogs | |
Modani et al. | Like-minded communities: bringing the familiarity and similarity together | |
Xia et al. | Predicting user replying behavior on a large online dating site | |
Liu et al. | Location type classification using tweet content | |
Ovelgönne et al. | Randomized greedy modularity optimization for group detection in huge social networks | |
Liu et al. | A hybrid book recommendation algorithm based on context awareness and social network | |
Kim et al. | Topic-Driven SocialRank: Personalized search result ranking by identifying similar, credible users in a social network | |
Ebrahimi et al. | Personalized recommender system based on social relations | |
CN105590234A (zh) | 一种向目标用户推荐商品的方法和系统 | |
Parvathy et al. | Friend recommendation system for online social networks: A survey | |
Duan et al. | Discovering unknown but interesting items on personal social network | |
del Castillo-Carrero et al. | Prototype of content-based recommender system in an educational social network | |
KR20200051171A (ko) | 딥러닝 기반의 sns 활동 분석을 통한 사용자 맞춤 뉴스 서비스 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |