1.一种多源异构关系网络的群体发现方法,其特征在于,包括以下步骤:
s1:获取多源异构关系网络内任意两个用户间的交互行为数据;
s2:根据任意两个用户间的交互行为数据,得到任意两个用户间的边权值;其中,边权值用于表示两个用户间的联系紧密程度;
s3:根据任意两个用户间的边权值构建图结构,得到多源异构关系图;并将多源异构关系图进行子图划分,得到若干极大连通子图;
s4:将若干极大连通子图分别进行社区划分,得到若干极大连通子图的群体发现结果并组合,得到多源异构关系网络的群体发现结果。
2.根据权利要求1所述的多源异构关系网络的群体发现方法,其特征在于,所述s1的具体方法为:
通过爬虫技术获取多源异构关系网络内各用户的用户信息,对所有用户信息进行统计分析,获取多源异构关系网络内任意两个用户间的交互行为数据。
3.根据权利要求1所述的多源异构关系网络的群体发现方法,其特征在于,所述交互行为数据包括关注数据、点赞数据和转发数据中的一种或几种。
4.根据权利要求1所述的多源异构关系网络的群体发现方法,其特征在于,所述s2的具体方法为:
将任意两个用户间的交互行为数据内的各交互数据按照类型划分,基于各类型的交互数据的交互次数,确定各类型的交互数据的边权重函数;基于各类型的交互数据的边权重函数及交互次数,得到各类型的交互数据的边权重,叠加各类型的交互数据的边权重,得到任意两个用户间的边权值。
5.根据权利要求1所述的多源异构关系网络的群体发现方法,其特征在于,所述s3中将多源异构关系图进行子图划分的具体方法为:采用深度优先搜索算法将多源异构关系图进行子图划分。
6.根据权利要求1所述的多源异构关系网络的群体发现方法,其特征在于,所述s4中将若干极大连通子图分别进行社区划分时,任一极大连通子图均采用如下的社区划分方法进行社区划分:
s401:通过式(1)得到当前极大连通子图的模块度矩阵b={bij}:
bij=aij-pij(1)
其中,aij表示用户i和用户j之间的边权重;pij表示用户i和用户j之间的边期望,pij的值为
s402:根据模块度矩阵b的特征向量β={βi},通过式(2)将当前极大连通子图分为两个社区:
s403:逐个将第一社区中的用户移动至第二社区,然后逐个将第二社区中的用户移动至第一社区;其中,每次移动均通过式(3)计算当前极大连通子图的模块度q,当模块度q增加时,执行当前移动;否则,撤销当前移动:其中,每个用户只移动一次;
其中,m为当前极大连通子图中所有边权重的总和,
s404:将s403中的第一社区和第二社区作为极大连通子图,重复s401~s403;
s405:迭代s404,且每次迭代均计算当前极大连通子图的模块度q,当当前迭代的模块度q与上一次迭代的模块度q的增量不为正时,或当当前极大连通子图内仅有一个用户时,停止迭代,得到极大连通子图的群体发现结果。
7.根据权利要求1所述的多源异构关系网络的群体发现方法,其特征在于,还包括:
s5:以用户作为节点,将属于同一群体的节点采用同一标号或同一颜色表示,并根据两个节点之间边权重确定两个节点之间连线的粗细,可视化多源异构关系网络的群体发现结果。
8.一种多源异构关系网络的群体发现系统,其特征在于,包括:
交互行为数据获取模块,用于获取多源异构关系网络内任意两个用户间的交互行为数据;
边权值确定模块,用于根据任意两个用户间的交互行为数据,得到任意两个用户间的边权值;其中,边权值用于表示两个用户间的联系紧密程度;
子图划分模块,用于根据任意两个用户间的边权值构建图结构,得到多源异构关系图;并将多源异构关系图进行子图划分,得到若干极大连通子图;以及
群体发现模块,用于将若干极大连通子图分别进行社区划分,得到若干极大连通子图的群体发现结果并组合,得到多源异构关系网络的群体发现结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述多源异构关系网络的群体发现方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述多源异构关系网络的群体发现方法的步骤。