当前位置: 首页 > 专利查询>福州大学专利>正文

基于影响力与种子扩展的重叠社区发现方法技术

技术编号:19345327 阅读:29 留言:0更新日期:2018-11-07 15:04
本发明专利技术涉及一种基于影响力与种子扩展的重叠社区发现方法,包括:1、读取网络数据集,生成网络结构图并获取节点信息;2、结合Jaccard系数和节点信息,计算节点的影响力分数;3、基于影响力分数,找到核心种子节点,建立核心种子社区集合;4、合并相似度高的社区,得到优化后的核心种子社区集合;5、根据社区邻居集中节点与相应社区的相似度,标记出候选节点;6、将满足模块度要求的候选节点加入相应社区中,得到重叠社区集合;7、将自由节点加入相似度高的重叠社区,更新重叠社区集合;8、合并相似度高的社区,得到优化后的重叠社区集合;9、输出最终的社区划分结果。该方法可以高效、准确地对复杂网络的重叠结构进行划分。

Overlapping community discovery method based on influence and Seed Extension

The invention relates to an overlapping community discovery method based on influence and seed expansion, which includes: 1. reading network data sets, generating network structure diagram and obtaining node information; 2. calculating the impact score of nodes by combining Jaccard coefficient and node information; 3. finding core seed nodes based on impact score and establishing them. Core seed community aggregation; 4. Merge high similarity communities to get optimized core seed community aggregation; 5. Mark candidate nodes according to the similarity between community neighbor centralized nodes and corresponding communities; 6. Add candidate nodes meeting modularity requirements into corresponding communities to get overlapping community aggregation; 7. The nodes join overlapping communities with high similarity to update the overlapping community set. 8. Merge the communities with high similarity to get the optimized overlapping community set. 9. Output the final result of community division. This method can efficiently and accurately divide the overlapping structure of complex networks.

【技术实现步骤摘要】
基于影响力与种子扩展的重叠社区发现方法
本专利技术涉及大规模网络上的重叠社区发现
,特别是一种基于影响力与种子扩展的重叠社区发现方法。
技术介绍
随着社会信息网络的快速发展,出现了很多复杂的网络结构,例如社交网络、科学家合作网络、文献引用网络、蛋白质互相协作网等。在复杂网络中,节点代表网络中的个体,而边代表个体间的联系,有的边还带有属性值。复杂网络中的社区结构通常表现为社区内的点连接紧密,而社区间的点连接稀疏。社区发现是研究复杂网络结构的关键技术之一。目前,社区发现的研究成果可以被应用于网络舆情监控、个性化兴趣推荐、蛋白质功能预测等诸多领域。为了高效准确的挖掘出复杂网络中重要的社区结构,近些年已经有很多研究人员对其展开深入研究。传统的社区发现算法包括层次聚类算法、谱方法、基于团的方法、边聚类、标签传播等。这些算法虽然可以较好的发现网络社区结构,但需要对整个网络结构信息进行整体认知,当在规模较大或者不完整的复杂网络中就受到了一些约束,所以就有研究员提出了大量基于种子扩展的局部社区发现算法。目前已有很多学者对基于种子扩展的重叠社区发现进行研究,也取得了很多成果,但仍然存在以下几个问题:首先算法的时间与空间复杂度相对较高,在处理较大规模网络时存在不足;其次,算法在选择种子节点时未能充分考虑节点间的紧密度,从而影响了社区扩展挖掘的精确度;最后,在社区扩展阶段未能综合考虑节点与社区的紧密度,对于参数的选择也不是很合理,所以社区发现的精度不高。
技术实现思路
本专利技术的目的在于提供一种基于影响力与种子扩展的重叠社区发现方法,该方法可以高效、准确地对复杂网络的重叠结构进行划分。为实现上述目的,本专利技术的技术方案是:一种基于影响力与种子扩展的重叠社区发现方法,包括以下步骤:步骤1:读取网络数据集,生成网络结构图并获取网络中节点的邻域信息;步骤2:结合网络中两两节点之间的Jaccard系数和节点的邻域信息,计算网络中每个节点的影响力分数;步骤3:基于节点的影响力分数,找到核心种子节点,进而建立核心种子社区集合coreSeeds;步骤4:计算核心种子社区之间的相似度,合并相似度高的社区,得到优化后的核心种子社区集合coreSeeds’;步骤5:根据各核心种子社区的社区邻居集中节点与相应核心种子社区的相似度,标记出候选节点;步骤6:根据各候选节点的模块度,将满足模块度要求的候选节点加入相应核心种子社区中,得到重叠社区集合Cset;步骤7:根据未属于任何社区的自由节点与各重叠社区的相似度,将自由节点加入相似度高的重叠社区,更新重叠社区集合Cset;步骤8:根据重叠社区之间的相似度,合并相似度高的社区,得到优化后的重叠社区集合Cset’;步骤9:输出最终的社区划分结果。进一步地,在步骤1中,读取网络数据集,生成用于社区结构划分的网络结构图G=(V,E),其中V表示节点集,E表示边集,并获取网络中节点的邻域信息:其中,Aij表示邻接矩阵,eij表示节点i和节点j之间的边。进一步地,在步骤2中,计算网络中每个节点的影响力分数,包括以下步骤:步骤2.1:统计每个节点的邻居集:Γ(v)={u:u∈V,(v,u)∈E}(2)其中,Γ(v)表示节点v的邻居集合,u表示节点v的邻居节点;步骤2.2:计算任意两个节点之间的Jaccard系数:Juv表示节点u与节点v的Jaccard系数,Juv用于衡量节点之间的亲密度,Juv值越大表示两个节点之间越相似;步骤2.3:根据Jaccard系数和节点的邻域信息,计算每个节点的影响力分数Iscore(v):其中,kv为节点v的度;Iscore(v)越大,表示节点v在网络中所具有的影响力越大,更有可能作为整个网络的核心种子节点。进一步地,在步骤3中,基于节点的影响力分数,找到核心种子节点,进而建立核心种子社区集合coreSeeds,包括以下步骤:步骤3.1:统计每个节点v的影响力分数大于其邻居节点影响力分数的个数lnum,若lnum与节点v邻居节点个数nnum的比值大于阈值ρ,则将节点v定义为核心种子节点,并把节点v作为初始种子社区;步骤3.2:遍历节点v的邻居节点集Γ(v),计算邻居节点u与初始种子社区的相似度Snc(u,C),找出相似度Snc(u,C)大于设定阈值ε的邻居节点,加入到初始种子社区中得到核心种子社区S,从而得到核心种子社区集合coreSeeds:Ns(C)=∪v∈CΓ(v)-C(6)其中,C表示初始种子社区,|Ns(C)∩Γ(v)|为社区邻居集Ns(C)与节点v的邻居节点集的交集拥有的节点数,|Ns(C)∪Γ(v)|为社区邻居集Ns(C)与节点v的邻居节点集的并集拥有的节点数;Snc(u,C)表示节点u与社区C的相似度,Snc(u,C)越大,表明节点u属于社区C的概率越大;∪v∈CΓ(v)表示对属于社区C的所有节点的邻居集合进行合并操作,Ns(C)表示与社区C有直接连边的节点集合。进一步地,在步骤4中,计算核心种子社区之间的相似度,合并相似度高的社区,包括以下步骤:步骤4.1:计算核心种子社区集合coreSeeds中两两核心种子社区之间的社区相似度Scc(Ci,Cj):其中,|Ci∩Cj|为社区Ci与社区Cj的交集拥有的节点数,|Ci|为社区Ci的节点数,|Cj|为社区Cj的节点数,min(|Ci|,|Cj|)返回的是两个社区中节点数的最小值;Scc(Ci,Cj)越大,表明社区Ci与社区Cj的结构越相近;步骤4.2:将社区相似度Scc(Ci,Cj)大于设定阈值ε的社区两两合并,得到优化后的核心种子社区集合coreSeeds’。进一步地,在步骤5中,根据各核心种子社区的社区邻居集中节点与相应核心种子社区的相似度,标记出候选节点,包括以下步骤:步骤5.1:遍历步骤4得到的核心种子社区集合coreSeeds’,对于其中的每一个核心种子社区Cs,生成其社区邻居集Ns(Cs);步骤5.2:遍历Ns(Cs),计算其中每个节点u与核心种子社区Cs的相似度Snc(u,Cs);步骤5.3:将相似度Snc(u,Cs)大于设定阈值ε的节点标记为候选节点。进一步地,在步骤6中,根据各候选节点的模块度,将满足模块度要求的候选节点加入相应核心种子社区中,包括以下步骤:步骤6.1:分别计算各候选节点加入社区前、后的模块度Q,如果加入社区后Q值较原先Q值变大,则将节点加入社区,否则置其为自由节点;模块度Q的计算公式如下:其中,m是网络中边的总数,nc是社区数目,lc是社区C中边的总数,dc是社区C中所有节点的度总和;步骤6.2:更新Ns(Cs),重复步骤5到步骤6,直到Ns(Cs)为空时停止;步骤6.3:得到网络结构的初始社区划分,记为重叠社区集合Cset。进一步地,在步骤7中,根据未属于任何社区的自由节点与各重叠社区的相似度,将自由节点加入相似度高的重叠社区,包括以下步骤:步骤7.1:找到网络中未属于任何社区的自由节点,形成自由节点集Vfree;步骤7.2:遍历自由节点集Vfree,计算其中各自由节点vf与重叠社区集合Cset中每个社区Ci的相似度Snc(vf,Ci),把自由节点vf加入到相似度最高的社区中;如果相似度相同,则该自由节点同时属于多个社区,并对重叠社区集合Cset进行更新。进一步地,在步骤8中本文档来自技高网...

【技术保护点】
1.一种基于影响力与种子扩展的重叠社区发现方法,其特征在于,包括以下步骤:步骤1:读取网络数据集,生成网络结构图并获取网络中节点的邻域信息;步骤2:结合网络中两两节点之间的Jaccard系数和节点的邻域信息,计算网络中每个节点的影响力分数;步骤3:基于节点的影响力分数,找到核心种子节点,进而建立核心种子社区集合coreSeeds;步骤4:计算核心种子社区之间的相似度,合并相似度高的社区,得到优化后的核心种子社区集合coreSeeds’;步骤5:根据各核心种子社区的社区邻居集中节点与相应核心种子社区的相似度,标记出候选节点;步骤6:根据各候选节点的模块度,将满足模块度要求的候选节点加入相应核心种子社区中,得到重叠社区集合Cset;步骤7:根据未属于任何社区的自由节点与各重叠社区的相似度,将自由节点加入相似度高的重叠社区,更新重叠社区集合Cset;步骤8:根据重叠社区之间的相似度,合并相似度高的社区,得到优化后的重叠社区集合Cset’;步骤9:输出最终的社区划分结果。

【技术特征摘要】
1.一种基于影响力与种子扩展的重叠社区发现方法,其特征在于,包括以下步骤:步骤1:读取网络数据集,生成网络结构图并获取网络中节点的邻域信息;步骤2:结合网络中两两节点之间的Jaccard系数和节点的邻域信息,计算网络中每个节点的影响力分数;步骤3:基于节点的影响力分数,找到核心种子节点,进而建立核心种子社区集合coreSeeds;步骤4:计算核心种子社区之间的相似度,合并相似度高的社区,得到优化后的核心种子社区集合coreSeeds’;步骤5:根据各核心种子社区的社区邻居集中节点与相应核心种子社区的相似度,标记出候选节点;步骤6:根据各候选节点的模块度,将满足模块度要求的候选节点加入相应核心种子社区中,得到重叠社区集合Cset;步骤7:根据未属于任何社区的自由节点与各重叠社区的相似度,将自由节点加入相似度高的重叠社区,更新重叠社区集合Cset;步骤8:根据重叠社区之间的相似度,合并相似度高的社区,得到优化后的重叠社区集合Cset’;步骤9:输出最终的社区划分结果。2.根据权利要求1所述的基于影响力与种子扩展的重叠社区发现方法,其特征在于,在步骤1中,读取网络数据集,生成用于社区结构划分的网络结构图G=(V,E),其中V表示节点集,E表示边集,并获取网络中节点的邻域信息:其中,Aij表示邻接矩阵,eij表示节点i和节点j之间的边。3.根据权利要求2所述的基于影响力与种子扩展的重叠社区发现方法,其特征在于,在步骤2中,计算网络中每个节点的影响力分数,包括以下步骤:步骤2.1:统计每个节点的邻居集:Γ(v)={u:u∈V,(v,u)∈E}(2)其中,Γ(v)表示节点v的邻居集合,u表示节点v的邻居节点;步骤2.2:计算任意两个节点之间的Jaccard系数:Juv表示节点u与节点v的Jaccard系数,Juv用于衡量节点之间的亲密度,Juv值越大表示两个节点之间越相似;步骤2.3:根据Jaccard系数和节点的邻域信息,计算每个节点的影响力分数Iscore(v):其中,kv为节点v的度;Iscore(v)越大,表示节点v在网络中所具有的影响力越大,更有可能作为整个网络的核心种子节点。4.根据权利要求3所述的基于影响力与种子扩展的重叠社区发现方法,其特征在于,在步骤3中,基于节点的影响力分数,找到核心种子节点,进而建立核心种子社区集合coreSeeds,包括以下步骤:步骤3.1:统计每个节点v的影响力分数大于其邻居节点影响力分数的个数lnum,若lnum与节点v邻居节点个数nnum的比值大于阈值ρ,则将节点v定义为核心种子节点,并把节点v作为初始种子社区;步骤3.2:遍历节点v的邻居节点集Γ(v),计算邻居节点u与初始种子社区的相似度Snc(u,C),找出相似度Snc(u,C)大于设定阈值ε的邻居节点,加入到初始种子社区中得到核心种子社区S,从而得到核心种子社区集合coreSeeds:Ns(C)=∪v∈CΓ(v)-C(6)其中,C表示初始种子社区,|Ns(C)∩Γ(v)|为社区邻居集Ns(C)与节点v的邻居节点集的交集拥有的节点数,|Ns(C)∪Γ(v)|为社区邻居集Ns(C)与节点v的邻居节点集的并集拥有的节点数;Snc(u,C)表示节点u与社区C的相似度,Snc(u,C)越大,表明节点u属于社区C的概率越大;∪v∈CΓ(v)表示对属于社区C的所有节点的邻居集合进行合并操作,Ns(C...

【专利技术属性】
技术研发人员:郭昆郭文忠陈羽中牛玉贞陈基杰
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1