CN104077723B - 一种社交网络推荐系统及方法 - Google Patents
一种社交网络推荐系统及方法 Download PDFInfo
- Publication number
- CN104077723B CN104077723B CN201310097930.9A CN201310097930A CN104077723B CN 104077723 B CN104077723 B CN 104077723B CN 201310097930 A CN201310097930 A CN 201310097930A CN 104077723 B CN104077723 B CN 104077723B
- Authority
- CN
- China
- Prior art keywords
- user
- users
- information
- community
- link strength
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种社交网络推荐系统及方法,涉及数据挖掘技术领域。本发明公开的系统包括:并行数据获取模块,并行获取必要的社交网络数据,实时获取用户间的交互信息;用户间链接强度计算模块,基于用户间的交互信息并行计算用户间的链接强度;并行化社区发现模块,根据用户间的链接强度,结合相应的聚类算法,实现并行化的社区发现;基于社区发现结果的潜在信息分析与推荐模块,在社区发现的基础上,分析用户潜在的信息,分析特定社区的成因结构特性、关键用户以及分析关键词在社区间的分布特性,对社交网络中的用户,综合其个体信息及所在社区信息进行推荐。本发明还公开了社交网络推荐方法。本申请技术方案提高了推荐系统的定向性和准确性。
Description
技术领域
本发明涉及数据挖掘和网络技术领域,尤其涉及一种社交网络推荐系统及方法。
背景技术
近年来,社交网络迅速崛起,极大的改变了人们的工作和生活。社交网络可以便捷的共享个人和专业信息,例如兴趣爱好,技术领域等,并且提供多样化的沟通方式,例如关注,评论,转发等。这些行为一方面使得网络数据的激增,这些规模巨大的数据背后隐藏着许多有价值的信息;另一方面在社交网络中构成了社区结构,社区内部的用户之间关系紧密,社区之间的关系则较为稀疏。
同时,推荐系统已经广泛的运用于各种领域,诸如电子商务,社交网络等都不同程度的使用了各种形式的推荐系统。其中,常用的协同过滤技术尤其适合应用在文化产品上,例如推荐音乐,电影等。但是协同过滤技术也同样存在着很多局限性:如冷启动问题,评分矩阵稀疏问题,可扩展性问题等等,这些都成为制约推荐系统实施的重要因素。提高推荐的及时性和准确性一直是推荐系统研究的热点和难点。
许多研究工作已经取得了一定的效果,但仍然没能很好的综合处理社交网络场景下的推荐问题。比如:社交网络中数据集的快速获取问题、合理的链接强度的计算问题、对大数据集的并行化处理问题、数据分析与推荐的及时性和准确性问题、流量和存储空间的有效利用问题等等。
发明内容
本发明所要解决的技术问题是,提供一种社交网络推荐系统及方法,保证对大规模数据集推荐的高效性、可靠性和及时性。
为了解决上述技术问题,本发明公开了一种社交网络推荐系统,其包括:
并行数据获取模块,并行获取必要的社交网络数据,实时获取用户间的交互信息,并存储所获取的数据集;
用户间链接强度计算模块,基于所述并行数据获取模块所获取的用户间的交互信息进行用户间的链接强度的并行计算;
并行化社区发现模块,根据所述用户间链接强度计算模块计算出的用户间的链接强度,结合相应的聚类算法,对并行数据获取模块所获取的数据集实现并行化的社区发现;
基于社区发现结果的潜在信息分析与推荐模块,在并行化社区发现模块社区发现结果的基础上,分析用户潜在的信息,分析特定社区的成因结构特性、关键用户以及分析关键词在社区间的分布特性,对社交网络中的用户,综合其个体信息及所在社区信息进行推荐。
较佳地,上述系统中,所述必要的社交网络数据包括如下任一种或几种:
用户信息、关注列表、粉丝列表、@信息、话题信息、标签信息、博文消息列表与评论列表。
较佳地,上述系统中,所述用户间链接强度计算模块进行用户间的链接强度的并行计算的过程如下:
对所述并行数据获取模块所获取的整个数据集中的用户ID进行取模运算,得到的模数为集群计算节点数;
根据计算得到的各用户对应的模值,将用户数据分割到对应的计算节点,并行计算用户间的链接强度。
较佳地,上述系统中,所述用户间链接强度计算模块按照如下公式计算用户间的链接强度wij:
其中,wij为用户i与用户j间的链接强度,rq(q=1,2,3)分别表示用户i与用户j之间的好友关系,用户i与用户j之间@的次数以及用户i与用户j之间评论的次数,kq表示用户i与用户j之间的各种交互信息的权重。
较佳地,上述系统中,所述并行化社区发现模块根据所述用户间链接强度计算模块计算出的用户间的链接强度,结合相应的聚类算法,对并行数据获取模块所获取的数据集实现并行化的社区发现指:
将并行计算的用户间的链接强度组成的邻接矩阵分割到各个计算节点上,并行计算其度矩阵和Laplacian矩阵;
对Laplacian矩阵进行特征值和特征向量的并行Lanczos数值求解,得到矩阵前K个最大特征值和对应的特征向量;
将得到的特征向量排成一行,构造出特征向量矩阵U,并对其行归一化,得到规范化特征向量矩阵Y;
再对规范化的特征向量矩阵Y进行特征提取,将每行看作一个点,代表原来的抽象个体的欧式空间映射,采用基于距离的聚类方法将其聚类成K类;
根据点的对应关系,将原来的社区中的个体等价地划为K类,完成社区的分类。
本发明还公开了一种社交网络推荐方法,包括:
并行获取必要的社交网络数据,实时获取用户间的交互信息,并存储所获取的数据集;
基于所获取的用户间的交互信息进行用户间的链接强度的并行计算;
根据所述用户间的链接强度,结合相应的聚类算法,对所获取的数据集实现并行化的社区发现;
在并行化的社区发现结果的基础上,分析用户潜在的信息,分析特定社区的成因结构特性、关键用户以及分析关键词在社区间的分布特性,对社交网络中的用户,综合其个体信息及所在社区信息进行推荐。
较佳地,上述方法中,所述必要的社交网络数据包括如下任一种或几种:
用户信息、关注列表、粉丝列表、@信息、话题信息、标签信息、博文消息列表与评论列表。
较佳地,上述方法中,用户间的链接强度的并行计算的过程如下:
对所获取的整个数据集中的用户ID进行取模运算,得到的模数为集群计算节点数;
根据计算得到的各用户对应的模值,将用户数据分割到对应的计算节点,并行计算用户间的链接强度。
较佳地,上述方法中,按照如下公式计算用户间的链接强度wij:
其中,wij为用户i与用户j间的链接强度,rq(q=1,2,3)分别表示用户i与用户j之间的好友关系,用户i与用户j之间@的次数以及用户i与用户j之间评论的次数,kq表示用户i与用户j之间的各种交互信息的权重。
较佳地,上述方法中,根据所述用户间的链接强度,结合相应的聚类算法,对所获取的数据集实现并行化的社区发现的过程如下:
将并行计算的用户间的链接强度组成的邻接矩阵分割到各个计算节点上,并行计算其度矩阵和Laplacian矩阵;
对Laplacian矩阵进行特征值和特征向量的并行Lanczos数值求解,得到矩阵前K个最大特征值和对应的特征向量;
将得到的特征向量排成一行,构造出特征向量矩阵U,并对其行归一化,得到规范化特征向量矩阵Y;
再对规范化的特征向量矩阵Y进行特征提取,将每行看作一个点,代表原来的抽象个体的欧式空间映射,采用基于距离的聚类方法将其聚类成K类;
根据点的对应关系,将原来的社区中的个体等价地划为K类,完成社区的分类。
本申请技术方案以并行化社区发现为基础,可以对大规模数据集进行更为精确的分析,挖掘其更多潜在的有价值的信息,提高了推荐系统的定向性和准确性,并节约了资源。
附图说明
图1是本发明的整体框架示意图;
图2是本发明的主体结构示意图;
图3是基于广度优先的社交网络数据并行获取流程图;
图4是图3中的任务管理模块的具体流程图;
图5是图3中的任务处理模块的具体流程图;
图6是获取的社交网络数据在数据库中的存储结构示意图;
图7是基于交互信息的用户间链接强度计算示意图;
图8是为实现链接强度的并行计算而对数据进行分割的示意图;
图9是基于聚类的大规模并行化社区发现示意图;
图10是图9的一种具体实现算法的示意图;
图11是图10中并行Laplacian矩阵构建的示意图;
图12是图10中并行Lanczos计算的示意图;
图13是图10中并行K-Means聚类的示意图;
图14是分析社区识别结果的数据库查询框架示意图;
图15是关键词分布分析流程示意图;
图16是图15中对某些特定关键词的分析结果示意图;
图17是对某个特定社区的组成特性的分析示意图;
图18是综合各种分析结果而进行推荐的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
实施例1
本案申请人发现针对社交网络,由于存在许多的社区结构,社区发现(CommunityDetection)可以作为其定向推荐系统的基础。即先快速并行的获取社交网络数据,通过综合各种因素的加权求和计算得到用户间的链接强度,并行化的进行社区发现;然后在社区发现结果的基础上,对获取的大规模的数据集进行更精确的分析;对社交网络中的用户,综合其个体信息及所在社区信息进行推荐,提高推荐的及时性、定向性和准确性。
基于上述思想,本实施例提供一种社交网络推荐系统,其架构如图1所示,至少包括如下各部分。
并行数据获取模块,并行获取基于广度优先的必要的社交网络数据、实时获取用户间的交互信息,并存储所获取的数据,该模块包括于服务器端和客户端侧。
服务器端的并行数据获取模块包括任务管理子模块和任务处理子模块,完成任务的管理和执行获取任务;客户端的并行数据获取模块包括任务处理子模块,执行获取任务。客户端可随时加入和退出,可扩展性强。
而并行数据获取模块获取的必要的社交网络数据至少包括用户信息(例如名称,城市,粉丝数,关注数,发表的博文数量等)、关注列表、粉丝列表、@信息、话题信息、标签信息、博文消息列表与评论列表,这些用户信息可存储在图1的HDFS中并构成相应的数据库。
用户间链接强度计算模块(simllarity computing),基于交互信息进行用户间链接强度的并行计算,该模块主要根据社交网络数据并行获取模块所获取的用户间的交互信息,加权求和计算其链接强度(也可称为相似度)。
由于综合各种因素的加权求和计算方案更能够真实的反映用户间的链接强度。因此,本实施例的用户间链接强度计算模块在计算时,根据用户ID分割用户数据集,分配到各个计算节点,每个计算节点只要负责计算分割出的部分数据,实现并行计算即可。而之所以计算时根据ID分割到各个节点分别进行计算,主要起到了负载均衡和并行计算的作用。
并行化社区发现模块(community detection),根据用户间链接强度计算模块所计算出的用户间的链接强度,结合相应的聚类算法,对并行数据获取模块所获取的大规模数据集(即获取的各种用户信息)实现并行化的社区发现,即将数据集合理分割成一定数量的社区,社区内部的用户之间关系紧密,社区之间的关系则较为稀疏。
此种并行化社区发现模块能够适应大规模的数据集,处理速度快,效率高。
基于社区发现结果的潜在信息分析(data mining)与推荐模块,在并行化社区发现模块社区发现结果的基础上,分析用户潜在的信息,分析特定社区的成因结构特性、关键用户等,以及分析关键词在社区间的分布特性,然后对社交网络中的用户,综合其个体信息及所在社区信息进行推荐,从而提高推荐系统的定向性和准确性。
具体地,上述社交网络推荐系统的主体结构如图2所示。
图3是基于广度优先的并行数据获取模块的框架示意图。其中,服务器端的并行数据获取中任务管理模块负责获取任务的管理(图4所示);任务处理模块负责具体的数据获取任务(图5所示);通信模块采用Socket API设计,负责服务器与客户端的交互,主要包括任务相关文件的传输以及任务管理模块任务调度指令的传输。
图4是图3中任务管理模块的具体流程图,用于任务的产生与分配。具体步骤如下:
初始化数据获取的任务列表;
监听任务处理模块是否有任务请求;若有请求,则执行步骤305和步骤308;
监听任务处理模块是否有结果文件返回;若有返回,则执行步骤306;
监听任务管理模块或任务处理模块是否有关闭;若有关闭,则执行步骤307;
分配新的数据获取任务,任务状态改为已分配(置1);
若待获取列表不足,从返回结果中找到不重复的待获取用户ID,加入到待获取文件末尾,执行步骤303;
若任务管理模块关闭,删除所有任务处理模块正在处理得任务,改变当前任务状态(置0);若任务处理模块关闭,结束当前任务,改变状态(置0),执行步骤304;
改变待获取列表指针位置,执行步骤302。
图5是图3中任务处理模块的具体流程图,用于处理网络数据的获取任务。具体步骤如下:
找到上次退出时的任务断点位置;
监听任务管理模块或该任务处理模块是否退出;若退出,则保存数据并退出;否则执行步骤403;
读取新用户ID;
监听是否成功获取与该用户相关的信息数据;若未成功,处理相应的错误;若成功,执行步骤405;
保存与用户相关的信息数据;
向任务管理模块返回该用户的好友ID列表,执行步骤402。
通过上述的基于广度优先的社交网络数据并行获取方法与模块完成快速的并行数据获取,这些数据存储在HDFS上。HDFS上的数据库结构如图6所示,主要存储用户的个人信息和用户间的交互信息,为图7的链接强度的计算和图9的潜在信息分析与推荐准备必要的数据集。
图7是基于交互信息的用户间链接强度计算示意图,用于说明链接强度计算综合考虑的交互信息类型。链接强度反映出用户间的相似程度。针对社交网络,体现用户间链接强度的信息主要为交互信息,包括好友关系,@次数和评论次数等等。设计下面公式计算用户i与用户j间的链接强度wij:
其中,rq(q=1,2,3)分别表示用户i与用户j的好友关系,用户i与用户j之间@的次数以及用户i与用户j之间评论的次数,kq表示用户间的各种交互信息的权重,其取值范围为0<kq<1。
实例:有下表所示的用户间的交互信息
那么,用户A与B的链接强度为:
WAB=0.6*(1-exp(-0))+0.3*(1-exp(-1))+0.1*(1-exp(-2))=0.2761
用户A与C的链接强度为:
WAC=0.6*(1-exp(-1))+0.3*(1-exp(-70))+0.1*(1-exp(-90))=0.7792
根据WAB<WAC可知:用户A与B之间的链接强度小于用户A与C之间的链接强度。
本实施例公开的用户间链接强度计算方式,综合了用户间的多种交互信息,并通过权重k体现不同交互信息的重要性程度。这样,对于一种交互信息而言,交互次数越多,贡献的强度越大。且此计算方式做了归一化处理,每种交互信息贡献的强度都限制在0到1之间,不会由于一种交互信息过大而淹没其他交互信息的贡献,且具有平滑作用。
而针对大数据集,进行链接强度的并行计算时,可基于数据分割来实现。具体地,基于数据分割进行的链接强度的计算过程如图8所示,具体步骤如下:
步骤501,读取整个数据集中的用户ID列表;
步骤502,监听该用户列表是否为空;若为空,结束并退出;
步骤503,对用户ID取模运算,模数即为集群计算节点数;
步骤504,根据模值将数据分割到对应的计算节点,并查看分割是否完成;若完成,则执行步骤505;否则,执行步骤503;
步骤505,并行计算用户间的链接强度。
通过执行上述步骤,将分割的数据分配到各个集群计算节点,每个计算节点负责根据上述链接强度计算公式计算分割出的部分数据,实现链接强度的并行计算。然后将计算的结果构成邻接矩阵,存储在HDFS上,为图9的并行社区发现准备数据集。
图9是并行化社区发现模块的实施示意图。其将适于大规模社区发现的聚类算法部署到并行化框架Hadoop上,实现并行化社区发现模块。具体地,并行化社区发现过程如图10、11、12和13所示,具体步骤为:
步骤601,将邻接矩阵分割到各个计算节点上,并行计算其度矩阵和Laplacian矩阵;
步骤602,对Laplacian矩阵进行特征值和特征向量的并行Lanczos数值求解,得到矩阵前K个最大特征值和对应的特征向量;
步骤603,将得到的特征向量排成一行,构造出特征向量矩阵U,并对其行归一化,得到规范化特征向量矩阵Y;
步骤604,再对规范化的特征向量进行特征提取,将每行看作一个点,代表原来的抽象个体的欧式空间映射,采用简单的基于距离的聚类方法如K-Means将其聚类成K类;
步骤605,根据点的对应关系,将原来的社区中的个体等价地划为K类,完成社区的分类。
运用该模块处理图7中链接强度计算结果构成的邻接矩阵,得到社区发现的结果,社区内部的用户之间关系紧密,社区之间的关系则较为稀疏。该结果将用户分布到不同社区。将该结果存储到HDFS上的数据库中,为潜在信息分析和推荐准备数据集。
通过图2至图13的描述,已经准备了用户详细信息数据集和社区发现结果数据集,并已经根据相应的形式存储在数据库中。根据这些数据库,可以分析用户潜在的信息(诸如兴趣爱好,从事的技术领域等),分析特定社区的成因结构特性、关键用户等,以及分析关键词在社区间的分布特性。
图14是分析这些信息的数据库查询框架。
对关键词分析的流程如图15所示,具体步骤为:
步骤701,获取图6中博文信息表里含有指定关键词的所有博文记录;
步骤702,根据获取的每条记录,获取该用户所在的社区ID;并根据ID,统计关键词在对应社区的分布情况;
步骤703,对统计得到的分布情况进行降序排列,得到排序好的分析结果,即可得到该关键词在这个社交网络中的整体分布情况。
图16是根据图15流程对某些关键词在社区间的分布情况的分析结果,分析了关键词“手机”和“护肤品”的分布情况。
对于特定社区的特性分析实例如图17所示,通过统计该社区用户的信息,分析了该社区的性别比例、用户影响力等等。
如图18所示,对于社交网络中的某个用户的推荐即建立在以上的分析结果之上,通过综合考虑该用户的个人信息和该用户所在社区的特性等,选择相关性高的商品或好友推荐给该用户。具体推荐方法可以且不局限于传统的协同过滤技术。经过社区识别,一方面减小了与该用户相关的用户集,缩小了传统推荐的计算时间和空间开销,另一方面提供了该用户所在社区的特性,为推荐提供了额外的帮助信息。
实例:用户A为女性,其所在社区的关键词为“化妆品”,且A为该社区的关键用户,那么向A推荐的商品应该为化妆品相关,这样可以获得比较高的推荐准确性;而且,因为A在社区内的关键作用,在向该社区推荐商品时,可以通过推荐给A而起到扩散传播的作用,既提高了准确性和定向性,又节省了产生推荐的计算时间和硬件空间,以及网络资源。
实施例2
本实施例介绍一种社交网络推荐方法,包括如下操作:
并行获取必要的社交网络数据,实时获取用户间的交互信息,并存储所获取的数据集;
基于所获取的用户间的交互信息进行用户间的链接强度的并行计算;
根据所述用户间的链接强度,结合相应的聚类算法,对所获取的数据集实现并行化的社区发现;
在并行化的社区发现结果的基础上,分析用户潜在的信息,分析特定社区的成因结构特性、关键用户以及分析关键词在社区间的分布特性,对社交网络中的用户,综合其个体信息及所在社区信息进行推荐。
上述方法中,必要的社交网络数据包括如下任一种或几种:
用户信息、关注列表、粉丝列表、@信息、话题信息、标签信息、博文消息列表与评论列表。
具体地,用户间的链接强度的并行计算的过程如下:
对所获取的整个数据集中的用户ID进行取模运算,得到的模数为集群计算节点数;
根据计算得到的各用户对应的模值,将用户数据分割到对应的计算节点,并行计算用户间的链接强度。
而对于各计算节点而言,可按照如下公式计算用户间的链接强度wij:
其中,wij为用户i与用户j间的链接强度,rq(q=1,2,3)分别表示用户i与用户j之间的好友关系,用户i与用户j之间@的次数以及用户i与用户j之间评论的次数,kq表示用户i与用户j之间的各种交互信息的权重。
按照上述方式计算用户间的链接强度后,将链接强度组成的邻接矩阵,再分割到各个计算节点上,并行计算其度矩阵和Laplacian矩阵;
对Laplacian矩阵进行特征值和特征向量的并行Lanczos数值求解,得到矩阵前K个最大特征值和对应的特征向量;
将得到的特征向量排成一行,构造出特征向量矩阵U,并对其行归一化,得到规范化特征向量矩阵Y;
再对规范化的特征向量矩阵Y进行特征提取,将每行看作一个点,代表原来的抽象个体的欧式空间映射,采用基于距离的聚类方法将其聚类成K类;
根据点的对应关系,将原来的社区中的个体等价地划为K类,完成社区的分类。
随后,针对已分类的各社区,可进行关键词分析,具体分析过程如图15所示,具体步骤为:
步骤701,获取图6中博文信息表里含有指定关键词的所有博文记录;
步骤702,根据获取的每条记录,获取该用户所在的社区ID;并根据ID,统计关键词在对应社区的分布情况;
步骤703,对统计得到的分布情况进行降序排列,得到排序好的分析结果,即可得到该关键词在这个社交网络中的整体分布情况。
有了关键词分析结果,再通过综合考虑用户的个人信息和该用户所在社区的特性等,选择相关性高的商品或好友推荐给该用户。具体推荐方法可以且不局限于传统的协同过滤技术。经过社区识别,一方面减小了与该用户相关的用户集,缩小了传统推荐的计算时间和空间开销,另一方面提供了该用户所在社区的特性,为推荐提供了额外的帮助信息。
实例:用户A为女性,其所在社区的关键词为“化妆品”,且A为该社区的关键用户,那么向A推荐的商品应该为化妆品相关,这样可以获得比较高的推荐准确性;而且,因为A在社区内的关键作用,在向该社区推荐商品时,可以通过推荐给A而起到扩散传播的作用,既提高了准确性和定向性,又节省了产生推荐的计算时间和硬件空间,以及网络资源。
从上述实施例可以看出,本申请技术方案以并行化社区发现为基础,对大规模数据集进行更为精确的分析,挖掘其更多潜在的有价值的信息,从而克服了现有技术中对大规模的数据集无法进行快速精确的分析、推荐的定向性和准确性差、资源浪费严重的缺陷。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种社交网络推荐系统,其特征在于,该系统包括:
并行数据获取模块,并行获取必要的社交网络数据,实时获取用户间的交互信息,并存储所获取的数据集;
用户间链接强度计算模块,基于所述并行数据获取模块所获取的用户间的交互信息进行用户间的链接强度的并行计算;
并行化社区发现模块,根据所述用户间链接强度计算模块计算出的用户间的链接强度,结合相应的聚类算法,对并行数据获取模块所获取的数据集实现并行化的社区发现;
基于社区发现结果的潜在信息分析与推荐模块,在并行化社区发现模块社区发现结果的基础上,分析用户潜在的信息,分析特定社区的成因结构特性、关键用户以及分析关键词在社区间的分布特性,对社交网络中的用户,综合其个体信息及所在社区信息进行推荐;
其中,
所述用户间链接强度计算模块按照如下公式计算用户间的链接强度wij:
<mrow>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>q</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mn>3</mn>
</munderover>
<msub>
<mi>k</mi>
<mi>q</mi>
</msub>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<mi>exp</mi>
<mo>(</mo>
<mrow>
<mo>-</mo>
<msub>
<mi>r</mi>
<mi>q</mi>
</msub>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,wij为用户i与用户j间的链接强度,rq,q=1,2,3分别表示用户i与用户j之间的好友关系,用户i与用户j之间@的次数以及用户i与用户j之间评论的次数,kq表示用户i与用户j之间的各种交互信息的权重;
所述并行化社区发现模块根据所述用户间链接强度计算模块计算出的用户间的链接强度,结合相应的聚类算法,对并行数据获取模块所获取的数据集实现并行化的社区发现指:
将并行计算的用户间的链接强度组成的邻接矩阵分割到各个计算节点上,并行计算其度矩阵和Laplacian矩阵;
对Laplacian矩阵进行特征值和特征向量的并行Lanczos数值求解,得到矩阵前K个最大特征值和对应的特征向量;
将得到的特征向量排成一行,构造出特征向量矩阵U,并对其进行归一化,得到规范化特征向量矩阵Y;
再对规范化的特征向量矩阵Y进行特征提取,将每行看作一个点,代表原来的抽象个体的欧式空间映射,采用基于距离的聚类方法将其聚类成K类;
根据点的对应关系,将原来的社区中的个体等价地划为K类,完成社区的分类。
2.如权利要求1所述的系统,其特征在于,所述必要的社交网络数据包括如下任一种或几种:
用户信息、关注列表、粉丝列表、@信息、话题信息、标签信息、博文消息列表与评论列表。
3.如权利要求1或2所述的系统,其特征在于,所述用户间链接强度计算模块进行用户间的链接强度的并行计算的过程如下:
对所述并行数据获取模块所获取的整个数据集中的用户ID进行取模运算,得到的模数为集群计算节点数;
根据计算得到的各用户对应的模值,将用户数据分割到对应的计算节点,并行计算用户间的链接强度。
4.一种社交网络推荐方法,其特征在于,该方法包括:
并行获取必要的社交网络数据,实时获取用户间的交互信息,并存储所获取的数据集;
基于所获取的用户间的交互信息进行用户间的链接强度的并行计算;
根据所述用户间的链接强度,结合相应的聚类算法,对所获取的数据集实现并行化的社区发现;
在并行化的社区发现结果的基础上,分析用户潜在的信息,分析特定社区的成因结构特性、关键用户以及分析关键词在社区间的分布特性,对社交网络中的用户,综合其个体信息及所在社区信息进行推荐;
其中,
按照如下公式计算用户间的链接强度wij:
<mrow>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>q</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mn>3</mn>
</munderover>
<msub>
<mi>k</mi>
<mi>q</mi>
</msub>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<mi>exp</mi>
<mo>(</mo>
<mrow>
<mo>-</mo>
<msub>
<mi>r</mi>
<mi>q</mi>
</msub>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,wij为用户i与用户j间的链接强度,rq,q=1,2,3分别表示用户i与用户j之间的好友关系,用户i与用户j之间@的次数以及用户i与用户j之间评论的次数,kq表示用户i与用户j之间的各种交互信息的权重;
根据所述用户间的链接强度,结合相应的聚类算法,对所获取的数据集实现并行化的社区发现的过程如下:
将并行计算的用户间的链接强度组成的邻接矩阵分割到各个计算节点上,并行计算其度矩阵和Laplacian矩阵;
对Laplacian矩阵进行特征值和特征向量的并行Lanczos数值求解,得到矩阵前K个最大特征值和对应的特征向量;
将得到的特征向量排成一行,构造出特征向量矩阵U,并对其进行归一化,得到规范化特征向量矩阵Y;
再对规范化的特征向量矩阵Y进行特征提取,将每行看作一个点,代表原来的抽象个体的欧式空间映射,采用基于距离的聚类方法将其聚类成K类;
根据点的对应关系,将原来的社区中的个体等价地划为K类,完成社区的分类。
5.如权利要求4所述的方法,其特征在于,所述必要的社交网络数据包括如下任一种或几种:
用户信息、关注列表、粉丝列表、@信息、话题信息、标签信息、博文消息列表与评论列表。
6.如权利要求4或5所述的方法,其特征在于,用户间的链接强度的并行计算的过程如下:
对所获取的整个数据集中的用户ID进行取模运算,得到的模数为集群计算节点数;
根据计算得到的各用户对应的模值,将用户数据分割到对应的计算节点,并行计算用户间的链接强度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310097930.9A CN104077723B (zh) | 2013-03-25 | 2013-03-25 | 一种社交网络推荐系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310097930.9A CN104077723B (zh) | 2013-03-25 | 2013-03-25 | 一种社交网络推荐系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104077723A CN104077723A (zh) | 2014-10-01 |
CN104077723B true CN104077723B (zh) | 2018-04-27 |
Family
ID=51598966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310097930.9A Active CN104077723B (zh) | 2013-03-25 | 2013-03-25 | 一种社交网络推荐系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104077723B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354343B (zh) * | 2015-12-24 | 2018-08-14 | 成都陌云科技有限公司 | 基于远程对话的用户特征挖掘方法 |
CN106874509B (zh) * | 2017-03-01 | 2020-02-07 | 广州大学 | 基于中粒度用户分组的资源推荐方法及装置 |
US20190295111A1 (en) * | 2017-04-22 | 2019-09-26 | Visva Inc. | Method and system for test-driven bilayer graph model |
CN108280533A (zh) * | 2017-11-24 | 2018-07-13 | 浙江理工大学 | 一种满足全局外部信任价值约束的城市车辆社会网络社区推荐的最优配置方法 |
CN108228833B (zh) * | 2018-01-04 | 2021-08-03 | 浙江大学 | 一种利用用户倾向性学习解决社区项目推荐任务的方法 |
CN110516709B (zh) * | 2019-07-24 | 2022-04-05 | 华数传媒网络有限公司 | 基于层级聚类的传媒客户价值模型建立方法 |
CN113538073A (zh) * | 2020-03-31 | 2021-10-22 | 中移系统集成有限公司 | 基于社区发现的学习资源推荐方法、装置以及设备 |
CN111581511A (zh) * | 2020-05-08 | 2020-08-25 | 深圳市万佳安人工智能数据技术有限公司 | 一种面向大规模社交网络的交友推荐方法和系统 |
CN111639251B (zh) * | 2020-06-16 | 2023-09-29 | 李忠耘 | 信息检索方法和装置 |
CN113407659A (zh) * | 2021-07-09 | 2021-09-17 | 上海明略人工智能(集团)有限公司 | 员工社区发现方法、系统、计算机和可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887573A (zh) * | 2010-06-11 | 2010-11-17 | 北京邮电大学 | 基于核心点的社会网络聚类关联分析方法及系统 |
GR1007342B (el) * | 2010-10-04 | 2011-07-05 | Εθνικο Κεντρο Ερευνας Και Τεχνολογικης Αναπτυξης/ Ινστιτουτο Πληροφορικης Και Τηλεματικης, | Ομαδοποιηση φωτογραφιων και βιντεο με χρηση μεθοδου ανιχνευσης κοινοτητων σε υβριδικους γραφους ομοιοτητας |
-
2013
- 2013-03-25 CN CN201310097930.9A patent/CN104077723B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887573A (zh) * | 2010-06-11 | 2010-11-17 | 北京邮电大学 | 基于核心点的社会网络聚类关联分析方法及系统 |
GR1007342B (el) * | 2010-10-04 | 2011-07-05 | Εθνικο Κεντρο Ερευνας Και Τεχνολογικης Αναπτυξης/ Ινστιτουτο Πληροφορικης Και Τηλεματικης, | Ομαδοποιηση φωτογραφιων και βιντεο με χρηση μεθοδου ανιχνευσης κοινοτητων σε υβριδικους γραφους ομοιοτητας |
Non-Patent Citations (1)
Title |
---|
基于社交网络的个性化推荐服务研究;朱琳可;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130115;I138-1896 * |
Also Published As
Publication number | Publication date |
---|---|
CN104077723A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104077723B (zh) | 一种社交网络推荐系统及方法 | |
US11593894B2 (en) | Interest recommendation method, computer device, and storage medium | |
Qi et al. | Spatial-temporal data-driven service recommendation with privacy-preservation | |
Yu et al. | Friend recommendation with content spread enhancement in social networks | |
CN110543586B (zh) | 多重用户身份融合方法、装置、设备及存储介质 | |
Nettleton | Data mining of social networks represented as graphs | |
CN106355506B (zh) | 一种在线社会网络中影响力最大化初始节点选取方法 | |
CN111046237B (zh) | 用户行为数据处理方法、装置、电子设备及可读介质 | |
Xu et al. | Integrated collaborative filtering recommendation in social cyber-physical systems | |
CN104820708B (zh) | 一种基于云计算平台的大数据聚类方法和装置 | |
Cho et al. | Latent space model for multi-modal social data | |
WO2021175021A1 (zh) | 产品推送方法、装置、计算机设备和存储介质 | |
Arun et al. | Big data: review, classification and analysis survey | |
Zhan et al. | Identification of top-K influential communities in big networks | |
CN110909222A (zh) | 基于聚类的用户画像建立方法、装置、介质及电子设备 | |
US20130325861A1 (en) | Data Clustering for Multi-Layer Social Link Analysis | |
Huang et al. | Information fusion oriented heterogeneous social network for friend recommendation via community detection | |
WO2016106944A1 (zh) | MapReduce平台上的虚拟人建立方法 | |
Liu et al. | Digger: Detect similar groups in heterogeneous social networks | |
US8738628B2 (en) | Community profiling for social media | |
Zhang et al. | Logistics service supply chain order allocation mixed K-Means and Qos matching | |
KR101910424B1 (ko) | 태그의 감성 분석을 이용한 영화 평점 예측 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
Ying et al. | FrauDetector+ An Incremental Graph-Mining Approach for Efficient Fraudulent Phone Call Detection | |
Liu et al. | Social network analysis using big data | |
Stankova et al. | Classification over bipartite graphs through projection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |