CN103942308B - 大规模社交网络社区的检测方法及装置 - Google Patents
大规模社交网络社区的检测方法及装置 Download PDFInfo
- Publication number
- CN103942308B CN103942308B CN201410158112.XA CN201410158112A CN103942308B CN 103942308 B CN103942308 B CN 103942308B CN 201410158112 A CN201410158112 A CN 201410158112A CN 103942308 B CN103942308 B CN 103942308B
- Authority
- CN
- China
- Prior art keywords
- node
- roughening
- subgraph
- extensive
- degree
- 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
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/903—Querying
Abstract
本发明涉及一种大规模社交网络社区的检测方法及装置。方法包括:将输入的大规模社交网络建模成图G=(V,E);通过并行排序算法将图G上的所有节点依节点度的大小关系作降序排列,并计算图G上所有节点的有效度之和DSum;以DSum/P为等分基准参考值,依负载均衡法将图G等分为P个子图;将P个子图通过MapReduce并行计算模型遍历寻找图G上的三角形,基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’;采用基于遗传学的社区发现算法,对最简粗化归约图G’做初始社区发现,生成社区发现结果;将社区发现结果逐层反粗化还原到图G并伴随作微调优处理,获得图G的社区结构。本发明能够精准而高效地实现大规模社交网络的社区发现和数据分析。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种大规模社交网络社区的检测方法及装置。
背景技术
所谓方法论改变世界观,互联网高新技术的出现已经将人们传统意义上的空间网络社交关系推向以Internet(因特网)为基础的虚拟关系社交网络,像新闻组、BBS(Bulletin Board System,电子公告板)、Blog(Web Log,中文意思是“网络日志)、邮件网络等都是典型的即时通信系统。随着Web2.0技术的出现,社交网络的表现形式开始向多样化、交互式、开放性模式转变,这种灵活而主动的交互平台极大地丰富了人们参与Internet的方式,其强大的吸引力促使很多社交网络如Facebook、Twitter、LinkedIn、人人网、新浪微博等其规模迅速增长,呈现出空前大规模的综合信息数据网。全面的分析这些大规模社交网络数据,不仅可以为用户作个性化推荐服务、搜索其感兴趣的学术研讨区或者娱乐社交圈,而且可以为商户提取有价值的数据信息并指导创建高经济效益的商业网,甚至还可以通过挖掘潜在的安全隐患信息群为网络安全分析提供数据支持。
社交网络同属于复杂网络范畴,具有小世界、无标度幂律分布和社区结构特性,而社区发现正是利用社区结构这一特性从中观角度全面而有效地分析社交网络,其本质是聚类算法在社交网络上的建设性应用。从经典的K-L二分法、图二分法、k-means、分层聚类到G-N分割法、模块度聚类、谱聚类、统计学算法及其改良,以及一些其他领域技术学科概念如信息论、电导率、随机游走等引入使得社区发现算法的计算精度和执行效率都取得了很大进展。但是,基于上述社区发现算法分析大规模社交网络时又面临一个全新的挑战,即处理器物理内存容量的限制。算法都是基于主存的,而海量网络图数据却不能同时被一个处理器单元内存所接收,如果采用数据分块外存储的办法,其执行效率会因频繁的I/O交互占用大系统资源而增加算法的时间复杂度;而如果采取抽样近似或者并行化算法,其信息的不完整性或者分割、负载的不均衡性会导致社区发现效果骤然下降,甚至背离了社区结构存在的本然意义。
发明内容
本发明所要解决的技术问题是提供一种大规模社交网络社区的检测方法及装置,能够精准而高效地实现大规模社交网络的社区发现。
为解决上述技术问题,本发明提出了一种大规模社交网络社区的检测方法,包括:
步骤一,将输入的大规模社交网络建模成图G=(V,E),其中,V为节点集合,E为边集合;图G上任一节点v表示大规模社交网络中的个人或组织,v∈V,度d(v)表示与节点v相邻的节点数目,集合N(v)表示与节点v相邻的节点集合,边e表示节点之间的特定属性关系,e∈E;
步骤二,通过并行排序算法将图G上的所有节点依节点度的大小关系作降序排列,并计算图G上所有节点的有效度之和DSum,其中,节点v的有效度是指其相邻节点集合N(v)中度大于d(v)的所有节点数目;
步骤三,以DSum/P为等分基准参考值,将图G上的所有节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图,P为自然数;
步骤四,将所述P个子图通过所述MapReduce并行计算模型遍历寻找图G上的三角形,然后基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’;
步骤五,采用基于遗传学的社区发现算法,对所述最简粗化归约图G’做初始社区发现,生成社区发现结果,其中,对所述最简粗化归约图G’做初始社区发现是指将图G’上的节点依链接关系聚合生成一个个的簇,使得簇内节点联系紧密,簇间节点联系稀疏;
步骤六,将所述社区发现结果逐层反粗化还原到所述图G并伴随作微调优处理,从而获得图G的社区结构,也即所述输入大规模社交网络的社区结构。
进一步地,上述大规模社交网络社区的检测方法还可具有以下特点,所述步骤四中,基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’包括:
将所述P个子图通过MapReduce并行计算模型,在每个子图部分以节点度升序的方式遍历寻找该子图上的三角形拓扑结构,每当遇到一个三角形,将该三角形内部三个顶点向其中度最大的节点收缩融合形成一个复合节点,连边融合,而垂悬点向内点融合,直至整个图G遍历完成形成第一粗化归约图G1,然后在第一粗化归约图G1的基础上继续执行步骤三和步骤四进行下一层粗化归约,如此循环迭代直至最终生成的粗化归约图规模小于或等于预设的规模阈值,则终止粗化。
进一步地,上述大规模社交网络社区的检测方法还可具有以下特点,所述步骤二中,所述并行排序算法可以为Shell排序算法、快速排序算法或归并排序算法。
进一步地,上述大规模社交网络社区的检测方法还可具有以下特点,所述步骤一中,所述图G采用邻接表的方式表示,图G中每个节点的数据结构包含节点的标号、节点的度以及节点的有效度。
进一步地,上述大规模社交网络社区的检测方法还可具有以下特点,所述步骤三中,在以DSum/P为等分基准参考值,将图G上的节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图的过程中,若一个节点的邻接链表被子图Pi和子图Pj从中间分开,则将该邻接链表完整的归属于子图Pi中,其中,子图Pi为子图Pj的相邻划分子图。
为解决上述技术问题,本发明还提出了一种大规模社交网络社区的检测装置,包括顺次相连的建模模块、排序模块、分配模块、粗化模块、社区发现模块和反粗化模块,其中:
建模模块,用于将输入的大规模社交网络建模成图G=(V,E),其中,V为节点集合,E为边集合;图G上任一节点v表示大规模社交网络中的个人或组织,v∈V,度d(v)表示与节点v相邻的节点数目,集合N(v)表示与节点v相邻的节点集合,边e表示节点之间的特定属性关系,e∈E;
排序模块,用于通过并行排序算法将图G上的所有节点依节点度的大小关系作降序排列,并计算图G上所有节点的有效度之和DSum,其中,节点v的有效度是指其相邻节点集合N(v)中度大于d(v)的所有节点数目;
分配模块,用于以DSum/P为等分基准参考值,将图G上的所有节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图,P为自然数;
粗化模块,用于将所述P个子图通过所述MapReduce并行计算模型遍历寻找图G上的三角形,然后基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’;
社区发现模块,用于采用基于遗传学的社区发现算法,对所述最简粗化归约图G’做初始社区发现,生成社区发现结果,其中,对所述最简粗化归约图G’做初始社区发现是指将图G’上的节点依链接关系聚合生成一个个的簇,使得簇内节点联系紧密,簇间节点联系稀疏;
反粗化模块,用于将所述社区发现结果逐层反粗化还原到所述图G并伴随作微调优处理,从而获得图G的社区结构,也即所述输入大规模社交网络的社区结构。
进一步地,上述大规模社交网络社区的检测装置还可具有以下特点,所述粗化模块包括粗化单元,所述粗化单元用于将所述P个子图通过MapReduce并行计算模型,在每个子图部分以节点度升序的方式遍历寻找该子图上的三角形拓扑结构,每当遇到一个三角形,将该三角形内部三个顶点向其中度最大的节点收缩融合形成一个复合节点,连边融合,而垂悬点向内点融合,直至整个图G遍历完成形成第一粗化归约图G1,然后在第一粗化归约图G1的基础上继续调用上一级分配模块和本级模块进行下一层粗化归约,如此循环迭代直至最终生成的粗化归约图规模小于或等于预设的规模阈值,则终止粗化。
进一步地,上述大规模社交网络社区的检测装置还可具有以下特点,所述排序模块可以为Shell排序单元、快速排序单元或归并排序单元,其中:
Shell排序单元,用于通过采用Shell排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum;
快速排序单元,用于通过采用快速排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum;
归并排序单元,用于通过采用归并排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum。
进一步地,上述大规模社交网络社区的检测装置还可具有以下特点,所述图G采用邻接表的方式表示,图G中每个节点的数据结构包含节点的标号、节点的度以及节点的有效度。
进一步地,上述大规模社交网络社区的检测装置还可具有以下特点,所述分配模块在以DSum/P为等分基准参考值,将图G上的所有节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图的过程中,若一个节点的邻接链表被子图Pi和子图Pj从中间分开,则将该邻接链表完整的归属于子图Pi中,其中,子图Pi为子图Pj的相邻划分子图。
本发明的大规模社交网络社区的检测方法及装置,充分利用了三角形这一拓扑特征对大规模社交网络图进行并行化多层粗化处理,不仅以较高的粗化率快速而有效的缩减大规模社交网络图,而且在粗化过程中充分保留了大规模社交网络图的自然社区属性结构,为后续最简归约图上的社区发现、反粗化还原和微调优奠定了基础,能够精准而高效地实现大规模社交网络的社区发现和数据分析。
附图说明
图1为本发明实施例中大规模社交网络社区的检测方法的流程图;
图2为本发明实施例中大规模社交网络社区的检测装置的结构框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
首先说明一下社区的概念。社区是一个网络中的成员(或者个体)趋于形成紧密联系的簇(或者集团),即簇内(或者集团内)成员(或者个体)联系紧密,簇间(或者集团间)成员(或者个体)联系稀疏。社区发现就是寻找网络中存在的这些内聚的簇(或者集团)。N-Clique(即N阶完全子图)是一个理想的内聚簇,而三角形是N-Clique族中结构最简单的完全子图,因而构成一个最简单的社区结构,本发明亦将三角形称为基本社区单元。
图1为本发明实施例中大规模社交网络社区的检测方法的流程图。如图1所示,本实施例中,大规模社交网络社区的检测方法可以包括如下步骤:
步骤S101,将输入的大规模社交网络建模成图G=(V,E),其中,V为节点集合,E为边集合;图G上任一节点v表示大规模社交网络中的个人或组织,v∈V,度d(v)表示与节点v相邻的节点数目,集合N(v)表示与节点v相邻的节点集合,边e表示节点之间的特定属性关系,e∈E;
其中,特定属性关系可以是好友关系、合作关系等。
本步骤是对输入大规模社交网络数据所作的预处理,并将大规模社交网络图G以邻接表的形式存储于外部文件中。
本步骤中,大规模社交网络图G采用邻接表的形式表示,每个节点的数据结构不仅要包含节点的标号,还要包含节点的度(节点的度即该节点的相邻节点的数目)以及节点的有效度(节点的有效度即度大于该节点度的所有相邻节点的数目)。
步骤S102,通过并行排序算法将图G上的所有节点依节点度的大小关系作降序排列,并计算图G上所有节点的有效度之和DSum,其中,节点v的有效度是指其相邻节点集合N(v)中度大于d(v)的所有节点数目;
本步骤中,可以利用MapReduce并行计算模型实现节点度排序算法(指上述的并行排序算法)。利用MapReduce并行计算模型实现的节点度排序算法可以采用任何高效的可并行化的排序算法。本步骤中的并行排序算法可以是Shell排序算法、快速排序算法、归并排序算法等。
输入大规模社交网络的节点度排序采用MapReduce并行计算模型实现,可以有效降低排序对整个系统性能的影响;在并行排序的同时遍历每个节点的有效度,并累加求得图G上所有节点有效度值之和DSum。
步骤S103,以DSum/P为等分基准参考值,将图G上的所有节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图,P为自然数;
MapReduce是一个并行计算模型,如果其包含P个Map任务单元,那么按照节点度降序的轮转分配法则,以DSum/P为等分基准参考值,可将图G划分形成P个等分子图,并且保留每个子图上节点度的排序关系。
本步骤中,以DSum/P为等分基准参考值的P划分方法是后续基于MapReduce遍历全图G上三角形拓扑结构的一种并行化负载均衡策略;轮转划分完成后,每个子图内部各节点间度的排序关系仍然保留。
步骤S104,将P个子图通过所述MapReduce并行计算模型遍历寻找图G上的三角形,然后基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’;
P个划分经过Map处理,将有强关联的节点映射到同一个Reduce上,这里同样需要DSum/P作均衡规划,其间如果一个节点的邻接链表被子图Pi和Pj从中间分开,则将该邻接链表完整的归属于相邻划分子图Pi中,从而减少计算任务单元之间的频繁通信。
本步骤中,基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’包括:将所述P个子图通过MapReduce并行计算模型,在每个子图部分以节点度升序的方式遍历寻找该子图上的三角形拓扑结构,每当遇到一个三角形,将该三角形内部三个顶点向其中度最大的节点收缩融合形成一个复合节点,连边融合,而垂悬点向内点融合,直至整个图G遍历完成形成第一粗化归约图G1,然后在第一粗化归约图G1的基础上继续执行步骤S103和步骤S104进行下一层粗化归约,如此循环迭代直至最终生成的粗化归约图规模小于或等于预设的规模阈值,则终止粗化。
每当一个三角形聚合形成一个复合节点都会导致与其相邻的拓扑结构收缩聚合,特别是高阶多边形会逐渐向低阶多边形甚至三角形演化,使得图G上的社区结构在经过一步步的粗化向图G1、G2乃至Gm转变过程中越来越趋明显化。例如,假设在上一层图Gi中存在一个局部拓扑结构——六边形,因为与之邻边三角形的在图Gi中的融合粗化,其上的某条边或者某几条边会收缩为一个点,在生成的下一层粗化归约图Gj上该六边形逐渐演变成五边形、四边形甚至三角形;这些本属于同一社区内的多边形拓扑结构(高阶多边形的社区效应相对较弱)在逐层粗化过程逐渐突显出来的强社区性是完全符合网络的本然结构特征的。当粗化过程结束后,在最简粗化归约图Gm上做社区发现,其结果的精度不会受到任何粗化过程的影响,而且会因这种强社区结构而有所提高。
本步骤中,需要预先设定一个规模阈值,如果当前粗化归约图Gi的规模小于或等于阈值,则粗化终止,否则基于当前粗化归约图Gi迭代继续进行下一层粗化归约过程。这里,规模阈值是一个处理器单元的物理内存可作社区发现计算的最大数据容量规模,在这样一个内存可容规模上,任何高质量的社区发现算法都可以用来挖掘大规模社交网络的社区结构,有效的将经典社区发现算法拓展到大规模或者超大规模社交网络的分析和研究中。
步骤S105,采用基于遗传学的社区发现算法,对所述最简粗化归约图G’做初始社区发现,生成社区发现结果,其中,对所述最简粗化归约图G’做初始社区发现是指将图G’上的节点依链接关系聚合生成一个个的簇,使得簇内节点联系紧密,簇间节点联系稀疏;
本步骤中,可以采用基于遗传学机制的社区发现算法,该算法的优势是不受未定社区结构形状的限制,通过搜索占优解空间而高效的发现社区及其自然社区数目,并利用遗传学中的变异理论拓展解空间搜索范围,从而有效地解决了由局部最优解导致的算法提前终止问题。
步骤S106,将社区发现结果逐层反粗化还原到所述图G并伴随作微调优处理,从而获得图G的社区结构,也即所述输入的大规模社交网络的社区结构。
本步骤中,逐层反粗化就是一层接一层的反粗化,是粗化的逆过程。由于复合节点是一个三角形三内点的聚合收缩,本属于一个基本社区范畴,因此在反粗化过程中,可以将由该复合结点展开的多个节点都归属到该复合结点所属社区内,而不会破坏社区结构特征,既保留了社区结构拓扑性,又大大简化了边界调优工作。
与现有技术相比,本发明大规模社交网络社区的检测方法具有如下优点:
(1)采用基于三角形拓扑结构的多层并行化粗化方法,可以快速的将大规模社交网络缩减到内存可容纳范畴,为大规模数据网络的分析和研究找到切实可行的办法;对于经典的数据挖掘算法,特别是社区发现算法,可以完全迁移应用于大规模社交网络分析,而不需要另外专门设计只针对于大规模社交网络的分析算法。
(2)本发明的核心点即聚焦于网络中的三角形拓扑结构。基于三角形拓扑结构的粗化方法,如果被分析网络本身社区结构很强,那么其粗化率可以近乎达到2/3(一个三角形内部三个顶点聚合形成一个复合节点),其高效的归约速度极大地扩展了大规模网络数据分析的可行性。
(3)无论是粗化还是反粗化,都是基于三角形拓扑结构(即同一基本社区单元范畴),粗化融合本来属于同一社区的节点,反粗化也无需过多的边界调优,这些步骤的自然省略进一步提升了算法的执行效率,加强了粗化方法的可扩展性,使其适合于大规模甚至超大规模社交网络的数据分析。
综上所述,本发明的大规模社交网络社区的检测方法,充分利用了三角形这一拓扑特征对大规模社交网络图进行并行化多层粗化处理,不仅以较高的粗化率快速而有效的缩减大规模社交网络图,而且在粗化过程中充分保留了大规模社交网络图的自然社区属性结构,为后续最简归约图上的社区发现、反粗化还原和微调优奠定了基础,能够精准而高效地实现大规模社交网络的社区发现和数据分析。
本发明还提出了一种大规模社交网络社区的检测装置,用以执行上述的大规模社交网络社区的检测方法。以上对大规模社交网络社区的检测方法的说明均适用于本发明的大规模社交网络社区的检测装置。
图2为本发明实施例中大规模社交网络社区的检测装置的结构框图。如图2所示,本实施例中,大规模社交网络社区的检测装置包括顺次相连的建模模块210、排序模块220、分配模块230、粗化模块240、社区发现模块250和反粗化模块260。其中,建模模块210用于将输入的大规模社交网络建模成图G=(V,E),其中,V为节点集合,E为边集合;图G上任一节点v表示大规模社交网络中的个人或组织,v∈V,度d(v)表示与节点v相邻的节点数目,集合N(v)表示与节点v相邻的节点集合,边e表示节点之间的特定属性关系,e∈E;。排序模块220用于通过并行排序算法将图G上的所有节点依节点度的大小关系作降序排列,并计算图G上所有节点的有效度之和DSum,其中,节点v的有效度是指其相邻节点集合N(v)中度大于d(v)的所有节点数目。分配模块230用于以DSum/P为等分基准参考值,将图G上的节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图,P为自然数。粗化模块240用于将所述P个子图通过所述MapReduce并行计算模型遍历寻找图G上的三角形,然后基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’。社区发现模块250用于采用基于遗传学的社区发现算法,对所述最简粗化归约图G’做初始社区发现,生成社区发现结果,其中,对所述最简粗化归约图G’做初始社区发现是指将图G’上的节点依链接关系聚合生成一个个的簇,使得簇内节点联系紧密,簇间节点联系稀疏。反粗化模块260用于将所述社区发现结果逐层反粗化还原到所述图G并伴随作微调优处理,从而获得图G的社区结构,也即所述输入的大规模社交网络的社区结构。
其中,图G可以采用邻接表的方式表示,图G中每个节点的数据结构包含节点的标号、节点的度以及节点的有效度。
在本发明实施例中,粗化模块240可以包括粗化单元,该粗化单元用于将所述P个子图通过MapReduce并行计算模型,在每个子图部分以节点度升序的方式遍历寻找该子图上的三角形拓扑结构,每当遇到一个三角形,将该三角形内部三个顶点向其中度最大的节点收缩融合形成一个复合节点,连边融合,而垂悬点向内点融合,直至整个图G遍历完成形成第一粗化归约图G1,然后在第一粗化归约图G1的基础上继续调用分配模块230和本模块进行下一层粗化归约,如此循环迭代直至最终生成的粗化归约图规模小于或等于预设的规模阈值,则终止粗化。
在本发明实施例中,排序模块220可以是Shell排序单元、快速排序单元或归并排序单元。其中,Shell排序单元用于通过采用Shell排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum。快速排序单元用于通过采用快速排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum。归并排序单元用于通过采用归并排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum。
在本发明实施例中,分配模块230在以DSum/P为等分基准参考值,将图G上的节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图的过程中,若一个节点的邻接链表被子图Pi和子图Pj从中间分开,则将该邻接链表完整的归属于子图Pi中,其中,子图Pi为子图Pj的相邻划分子图。
本发明的大规模社交网络社区的检测装置,充分利用了三角形这一拓扑特征对大规模社交网络图进行并行化多层粗化处理,不仅以较高的粗化率快速而有效的缩减大规模社交网络图,而且在粗化过程中充分保留了大规模社交网络图的自然社区属性结构,为后续最简归约图上的社区发现、反粗化还原和微调优奠定了基础,能够精准而高效地实现大规模社交网络的社区发现和数据分析。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种大规模社交网络社区的检测方法,其特征在于,包括:
步骤一,将输入的大规模社交网络建模成图G=(V,E),其中,V为节点集合,E为边集合;图G上任一节点v表示大规模社交网络中的个人或组织,v∈V,度d(v)表示与节点v相邻的节点数目,集合N(v)表示与节点v相邻的节点集合,边e表示节点之间的特定属性关系,e∈E;
步骤二,通过并行排序算法将图G上的所有节点依节点度的大小关系作降序排列,并计算图G上所有节点的有效度之和DSum,其中,节点v的有效度是指其相邻节点集合N(v)中度大于d(v)的所有节点数目;
步骤三,以DSum/P为等分基准参考值,将图G上的所有节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图,P为自然数;
步骤四,将所述P个子图通过所述MapReduce并行计算模型遍历寻找图G上的三角形,然后基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’;将所述P个子图通过MapReduce并行计算模型,在每个子图部分以节点度升序的方式遍历寻找该子图上的三角形拓扑结构,每当遇到一个三角形,将该三角形内部三个顶点向其中度最大的节点收缩融合形成一个复合节点,连边融合,而垂悬点向内点融合,直至整个图G遍历完成形成第一粗化归约图G1,然后在第一粗化归约图G1的基础上继续执行步骤三和步骤四进行下一层粗化归约,如此循环迭代直至最终生成的粗化归约图规模小于或等于预设的规模阈值,则终止粗化;
步骤五,采用基于遗传学的社区发现算法,对所述最简粗化归约图G’做初始社区发现,生成社区发现结果,其中,对所述最简粗化归约图G’做初始社区发现是指将图G’上的节点依链接关系聚合生成一个个的簇,使得簇内节点联系紧密,簇间节点联系稀疏;
步骤六,将所述社区发现结果逐层反粗化还原到所述图G并伴随作微调优处理,从而获得图G的社区结构,也即所述输入大规模社交网络的社区结构。
2.根据权利要求1所述的大规模社交网络社区的检测方法,其特征在于,所述步骤二中,所述并行排序算法可以为Shell排序算法、快速排序算法或归并排序算法。
3.根据权利要求1所述的大规模社交网络社区的检测方法,其特征在于,所述步骤一中,所述图G采用邻接表的方式表示,图G中每个节点的数据结构包含节点的标号、节点的度以及节点的有效度。
4.根据权利要求1所述的大规模社交网络社区的检测方法,其特征在于,所述步骤三中,在以DSum/P为等分基准参考值,将图G上的节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图的过程中,若一个节点的邻接链表被子图Pi和子图Pj从中间分开,则将该邻接链表完整的归属于子图Pi中,其中,子图Pi为子图Pj的相邻划分子图。
5.一种大规模社交网络社区的检测装置,其特征在于,包括顺次相连的建模模块、排序模块、分配模块、粗化模块、社区发现模块和反粗化模块,其中:
建模模块,用于将输入的大规模社交网络建模成图G=(V,E),其中,V为节点集合,E为边集合;图G上任一节点v表示大规模社交网络中的个人或组织,v∈V,度d(v)表示与节点v相邻的节点数目,集合N(v)表示与节点v相邻的节点集合,边e表示节点之间的特定属性关系,e∈E;
排序模块,用于通过并行排序算法将图G上的所有节点依节点度的大小关系作降序排列,并计算图G上所有节点的有效度之和DSum,其中,节点v的有效度是指其相邻节点集合N(v)中度大于d(v)的所有节点数目;
分配模块,用于以DSum/P为等分基准参考值,将图G上的所有节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图,P为自然数;
粗化模块,用于将所述P个子图通过所述MapReduce并行计算模型遍历寻找图G上的三角形,然后基于三角形拓扑结构对图G进行并行化多层粗化,获得最简粗化归约图G’;所述粗化模块包括粗化单元,所述粗化单元用于将所述P个子图通过MapReduce并行计算模型,在每个子图部分以节点度升序的方式遍历寻找该子图上的三角形拓扑结构,每当遇到一个三角形,将该三角形内部三个顶点向其中度最大的节点收缩融合形成一个复合节点,连边融合,而垂悬点向内点融合,直至整个图G遍历完成形成第一粗化归约图G1,然后在第一粗化归约图G1的基础上继续调用上一级分配模块和本级模块进行下一层粗化归约,如此循环迭代直至最终生成的粗化归约图规模小于或等于预设的规模阈值,则终止粗化;
社区发现模块,用于采用基于遗传学的社区发现算法,对所述最简粗化归约图G’做初始社区发现,生成社区发现结果,其中,对所述最简粗化归约图G’做初始社区发现是指将图G’上的节点依链接关系聚合生成一个个的簇,使得簇内节点联系紧密,簇间节点联系稀疏;
反粗化模块,用于将所述社区发现结果逐层反粗化还原到所述图G并伴随作微调优处理,从而获得图G的社区结构,也即所述输入大规模社交网络的社区结构。
6.根据权利要求权利要求5所述的大规模社交网络社区的检测装置,其特征在于,所述排序模块可以为Shell排序单元、快速排序单元或归并排序单元,其中:
Shell排序单元,用于通过采用Shell排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum;
快速排序单元,用于通过采用快速排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum;
归并排序单元,用于通过采用归并排序算法的MapReduce并行计算模型,求得图G上的所有节点依照节点度的大小关系所作的降序排列,以及图G上所有节点的有效度之和DSum。
7.根据权利要求权利要求5所述的大规模社交网络社区的检测装置,其特征在于,所述图G采用邻接表的方式表示,图G中每个节点的数据结构包含节点的标号、节点的度以及节点的有效度。
8.根据权利要求权利要求5所述的大规模社交网络社区的检测装置,其特征在于,所述分配模块在以DSum/P为等分基准参考值,将图G上的所有节点按照节点度降序的轮转分配法则循环分配到MapReduce并行计算模型中P个Map任务上,即依负载均衡法将图G等分为P个子图的过程中,若一个节点的邻接链表被子图Pi和子图Pj从中间分开,则将该邻接链表完整的归属于子图Pi中,其中,子图Pi为子图Pj的相邻划分子图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410158112.XA CN103942308B (zh) | 2014-04-18 | 2014-04-18 | 大规模社交网络社区的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410158112.XA CN103942308B (zh) | 2014-04-18 | 2014-04-18 | 大规模社交网络社区的检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942308A CN103942308A (zh) | 2014-07-23 |
CN103942308B true CN103942308B (zh) | 2017-04-05 |
Family
ID=51189976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410158112.XA Active CN103942308B (zh) | 2014-04-18 | 2014-04-18 | 大规模社交网络社区的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942308B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978705A (zh) * | 2019-02-26 | 2019-07-05 | 华中科技大学 | 一种基于极大团枚举的社交网络中社团发现方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268270A (zh) * | 2014-10-13 | 2015-01-07 | 北京建筑大学 | 基于MapReduce挖掘海量社交网络数据中三角形的方法 |
CN104462374B (zh) * | 2014-12-09 | 2018-06-05 | 深圳大学 | 一种广义最大度随机游走图抽样方法 |
CN104933103A (zh) * | 2015-05-29 | 2015-09-23 | 上海交通大学 | 整合结构聚类和属性分类的多目标社区发现方法 |
CN105095403A (zh) * | 2015-07-08 | 2015-11-25 | 福州大学 | 基于混合近邻消息传播的并行社区发现算法 |
CN106506183B (zh) * | 2015-09-06 | 2019-08-30 | 国家计算机网络与信息安全管理中心 | 网络社区的发现方法及装置 |
CN106685893B (zh) * | 2015-11-06 | 2019-11-12 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于社交网络群的权限控制方法 |
CN105426764A (zh) * | 2015-11-16 | 2016-03-23 | 北京航空航天大学 | 一种基于子模优化的并行异常子图检测方法与系统 |
CN106789285B (zh) * | 2016-12-28 | 2020-08-14 | 西安交通大学 | 一种在线社会网络多尺度社区发现方法 |
CN107257356B (zh) * | 2017-04-19 | 2020-08-04 | 苏州大学 | 一种基于超图分割的社交用户数据优化放置方法 |
CN109558518A (zh) * | 2018-10-30 | 2019-04-02 | 深圳先进技术研究院 | 一种确定社交网络中社区发现的方法、装置及存储介质 |
CN109408722B (zh) * | 2018-11-06 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 社区划分方法、装置、计算设备及存储介质 |
US20200234220A1 (en) | 2019-01-18 | 2020-07-23 | Johnson Controls Technology Company | Smart building automation system with employee productivity features |
CN110442800B (zh) * | 2019-07-22 | 2022-05-20 | 哈尔滨工程大学 | 一种融合节点属性和图结构的半监督社区发现方法 |
CN111698743B (zh) * | 2020-06-09 | 2022-09-13 | 嘉兴学院 | 一种融合节点分析与边分析的复杂网络社区识别方法 |
CN111754199B (zh) * | 2020-06-29 | 2022-02-22 | 金电联行(北京)信息技术有限公司 | 一种业务本体驱动的企业信用关系图粗化方法 |
CN115438272A (zh) * | 2021-01-29 | 2022-12-06 | 中国计量大学 | 一种属性网络的群体发现系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313251A1 (en) * | 2007-06-15 | 2008-12-18 | Li Ma | System and method for graph coarsening |
CN103325061A (zh) * | 2012-11-02 | 2013-09-25 | 中国人民解放军国防科学技术大学 | 一种社区发现方法和系统 |
CN103605793A (zh) * | 2013-12-04 | 2014-02-26 | 西安电子科技大学 | 基于遗传算法的异构社会网络社区检测方法 |
-
2014
- 2014-04-18 CN CN201410158112.XA patent/CN103942308B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313251A1 (en) * | 2007-06-15 | 2008-12-18 | Li Ma | System and method for graph coarsening |
CN103325061A (zh) * | 2012-11-02 | 2013-09-25 | 中国人民解放军国防科学技术大学 | 一种社区发现方法和系统 |
CN103605793A (zh) * | 2013-12-04 | 2014-02-26 | 西安电子科技大学 | 基于遗传算法的异构社会网络社区检测方法 |
Non-Patent Citations (2)
Title |
---|
A scalable multilevel algorithm for graph clustering and community structure detection;Hristo N. Djidjev;《Algorithms and Models for the Web-Graph》;20081231;第4936卷;117-128 * |
Community Detection in Large-Scale Social Networks;Nan Du 等;《Webkdd & Sna-kdd Workshop on Web Mining & Social Network Analysis》;20071231;16-25 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978705A (zh) * | 2019-02-26 | 2019-07-05 | 华中科技大学 | 一种基于极大团枚举的社交网络中社团发现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103942308A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942308B (zh) | 大规模社交网络社区的检测方法及装置 | |
Lim et al. | LinkSCAN*: Overlapping community detection using the link-space transformation | |
CN103678672B (zh) | 一种信息推荐方法 | |
Cao et al. | Mashup service clustering based on an integration of service content and network via exploiting a two-level topic model | |
Jiang et al. | Particle swarm optimization with age-group topology for multimodal functions and data clustering | |
Orman et al. | Towards realistic artificial benchmark for community detection algorithms evaluation | |
Zhang et al. | A social community detection algorithm based on parallel grey label propagation | |
Erlandsson et al. | Crawling online social networks | |
CN104735138A (zh) | 一种面向用户生成内容的分布式采集方法与系统 | |
CN106372101B (zh) | 一种视频推荐方法和装置 | |
CN109408811A (zh) | 一种数据处理方法及服务器 | |
CN102651030B (zh) | 一种基于gpu多序列比对算法的社交网络关联搜索方法 | |
CN104077723A (zh) | 一种社交网络推荐系统及方法 | |
CN109933331A (zh) | 一种客户端服务器间数据转换方法及相关组件 | |
Kianian et al. | FuSeO: fuzzy semantic overlapping community detection | |
Leung et al. | Management of distributed big data for social networks | |
CN111026866B (zh) | 一种面向领域的文本信息抽取聚类方法、设备和存储介质 | |
Yao et al. | An interactive propagation model of multiple information in complex networks | |
CN108027824B (zh) | 未来脚本生成装置和方法、以及计算机可读存储介质 | |
CN108876644A (zh) | 一种基于社交网络的相似账号计算方法及装置 | |
CN105843809A (zh) | 数据处理方法和装置 | |
CN107609982A (zh) | 考虑社区结构稳定度和增量相关节点进行社区发现的方法 | |
Blenn et al. | Crawling and detecting community structure in online social networks using local information | |
Msallam et al. | Improved intelligent water drops algorithm using adaptive schema | |
Tang et al. | $\mathcal {K} $-Lowest-Influence Overlapping Nodes Based Community Detection in Complex Networks |
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 |