CN112948712B - 一种可重叠的社群发现方法 - Google Patents
一种可重叠的社群发现方法 Download PDFInfo
- Publication number
- CN112948712B CN112948712B CN202110326914.7A CN202110326914A CN112948712B CN 112948712 B CN112948712 B CN 112948712B CN 202110326914 A CN202110326914 A CN 202110326914A CN 112948712 B CN112948712 B CN 112948712B
- Authority
- CN
- China
- Prior art keywords
- clusters
- maximal
- huge
- cliques
- sub
- 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
Images
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/9536—Search customisation based on social or collaborative filtering
-
- 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/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可重叠的社群发现方法,步骤如下:S1分布式计算图G中的所有极大团,统计极大团的数量信息并将极大团的数量信息发送到所有计算节点中;S2对所有的极大团进行排序和编码,给每个极大团分配唯一的编码确定极大团;S3计算极大团中的子团,将子团发送到不同计算节点中;S4在每个计算节点内,构建反向索引;S5对每个极大团,利用反向索引,计算与每个极大团与其同一个计算节点内有k‑1个共享顶点的极大团,使用并查集将极大团的I D保存在同一个集合中;S6合并不同集群中的并查集,求出相应的派系。采用上述结构的一种可重叠的社群发现方法,增加了系统对大图的处理能力,横向扩展更加容易且成本更低。
Description
技术领域
本发明涉及图数据分析技术领域,尤其是涉及一种可重叠的社群发现方法。
背景技术
在真实世界中,图被广泛用于表示实体以及实体之间的关系。而真实世界中的图通常由稠密子图构成,即图中一小部分顶点具有紧密的联系。从图中挖掘稠密子图是一个非常基础的问题,在图数据库和数据挖掘领域已经得到的广泛的研究,并且针对社群也有若干种不同的定义。
派系过滤在社交网络中寻找紧密联系的群体中有重要应用。在社交网络中,寻找紧密联系的社群有着非常重要的意义,可以用于智能推荐,广告推送以及金融系统中的风风险控制。派系是一种基于团的结构,但是它对子图联系程度的要求比团更低,这有助于在图中发现更大的社区。现有技术多为单机单线程的方法,这些方法虽然效率高,但是可扩展性低。在实际使用中,提升计算机的单核心性能成本高,且提升不明显。由于互联网工业的发展,现实世界中的图数据无法使用单机进行处理。而现有的分布式算法基于MapReduce(一种用于大规模数据集的并行运算的编程模型)。然而,MapReduce的性质决定它更适和批处理计算,而不适应图算法中出现的大量迭代计算,故效率较低。
发明内容
本发明的目的是提供一种可重叠的社群发现方法,增加了系统对大图的处理能力,横向扩展更加容易且成本更低。
为实现上述目的,本发明提供了一种可重叠的社群发现方法,步骤如下:
S1、分布式计算图G中的所有极大团,统计极大团的数量信息并将极大团的数量信息发送到所有计算节点中,按照极大团编号顺序决定极大团的顺序;
S2、对所有的极大团按照数组排序的规则进行排序,按照排序结果,对所有的极大团进行编码,给每个极大团分配全局唯一编码,按照该编码顺序确定极大团;
S3、计算极大团中的子团,每个极大团的子团跟对应的极大团具有相同的编号,将计算出的极大团的子团按照子团的最小顶点将子团发送到不同的计算节点中;
S4、在每个计算节点内,构建反向索引;
S5、对每个极大团,利用反向索引,计算与每个极大团与其同一个计算节点内有k-1个共享顶点的极大团,利用共查集将这些极大团的ID保存在同一个集合中;
S6、合并不同集群中的并查集,求出相应的派系。
优选的,在步骤S1中,将每个极大团的最小顶点ID作为极大团的类别,统计所有极大团的类别和数量,将所有极大团从0开始连续编号,按照极大团中最小顶点的大小将所有的极大团连续、平均分配到所有计算节点中。
优选的,在步骤S3中,计算极大团中的子团步骤为,对所有极大团q,q的大小为|q|,对k=1到|q|-k,将q[k:|q-1|]分配给q[k]所在的节点,若q[k-1]和q[k]属于同一个计算节点,则可以跳过该分配,每个极大团的子团跟对应的极大团具有相同的编号,在分发时,连同其对应极大团的编号。
优选的,步骤S4具体为,顶点到包含该顶点且存在于该计算节点的极大团或部分极大团的ID。
优选的,在步骤S5中,若其中有极大团已经属于其他集合,则将本集合与其他集合合并,数据结构可以由并查集维护。
因此,本发明采用上述的一种可重叠的社群发现方法,具有以下有益效果:
(1)、算法的分布式特性避免了串行算法中单核心性能瓶颈,使得算法可以更加容易的进行横向扩展,在实际生产中,增加了系统对大图的处理能力。
(2)与纵向扩展相比,横向扩展更加容易且成本更低,符合实际生产的要求。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明原图结构示意图;
图2为本发明节点中团的分布结构示意图。
具体实施方式
实施例
一种可重叠的社群发现方法,步骤如下:
S1、图1为本发明原图结构示意图,如图1所示,计算出图G中的所有极大团,对图中的每个极大团按照顶点编号大小排序,将每个极大团的最小顶点ID作为极大团的类别,分布式统计所有极大团的编号,按照极大团编号顺序决定极大团的顺序,并将所有信息发送到计算节点中。
求得的极大团如下表:
编号 | 极大团中的顶点 | 子团 |
0 | 1,2,3,4 | (2,3,4),(3,4) |
1 | 3,4,5 | ╲ |
2 | 2,3,4,6,7 | (3,4,6,7),(4,6,7),(6,7) |
统计所有极大团的类别和数量,将所有极大团从0开始连续编号,按照极大团中最小顶点的大小将所有的极大团连续、平均分配到所有计算节点中。
S2、对所有的极大团按照数组排序的规则进行排序,按照排序结果,对所有的极大团进行编码,给每个极大团分配全局唯一编码,按照该编码顺序确定极大团。
S3、计算极大团中的子团,对所有极大团q,q的大小为|q|,对k=1到|q|-k,将q[k:|q-1|]分配给q[k]所在的节点,若q[k-1]和q[k]属于同一个计算节点,则可以跳过该分配,每个极大团的子团跟对应的极大团具有相同的编号。每个极大团的子团跟对应的极大团具有相同的编号,将计算出的极大团的子团按照子团的最小顶点将子团发送到不同的计算节点中。在分发时,连同其对应极大团的编号。
S4、在每个计算节点内,构建反向索引,顶点到包含该顶点且存在于该计算节点的极大团或部分极大团的ID。
S5、对每个极大团,利用反向索引,计算与每个极大团与其同一个计算节点内有k-1个共享顶点的极大团,利用共查集将这些极大团的ID保存在同一个集合中;若其中有极大团已经属于其他集合,则将本集合与其他集合合并,数据结构可以由并查集维护。
S6、合并不同集群中的并查集,求出相应的派系。
算法输出的结果为一系列的社群,每个社群为联系紧密的顶点的集合。这些顶点代表的个体通常具有某些相似的性质,这些相似的性质可用于智能推送,广告推荐以及金融行业中的风险控制。
本发明实现了一种可重叠的社群发现方法,该方法可以在多台计算上同时运行,克服了单台计算机的算力瓶颈。同时增加计算机的数量比增加单台计算机的计算性能更加符合经济效益。本发明可以用于社交网络等图数据中的数据挖掘。在一个特定的社群中,成员有很大概率分享某些特性,故可以用于智能推荐以及广告的精准推送,增加用户的点击率以及广告的盈利。社群中的成员练习较为紧密,可以用于金融系统中的风险控制,降低金融服务中的风险。
因此,本发明采用上述的一种可重叠的社群发现方法,增加了系统对大图的处理能力,横向扩展更加容易且成本更低。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (3)
1.一种可重叠的社群发现方法,其特征在于,步骤如下:
S1、分布式计算在社交网络的图数据中的图G中的所有极大团,统计极大团的数量信息并将极大团的数量信息发送到所有计算节点中,按照极大团编号顺序决定极大团的顺序,将每个极大团的最小顶点ID作为极大团的类别,统计所有极大团的类别和数量,对所有的极大团按照数组排序的规则进行排序,按照排序结果,将所有极大团从0开始连续编号,每个极大团分配全局唯一编号,按照极大团中最小顶点的大小将所有的极大团连续、平均分配到所有计算节点中;
S2、计算极大团中的子团,每个极大团的子团跟对应的极大团具有相同的编号,将计算出的极大团的子团按照子团的最小顶点的顺序将子团发送到不同的计算节点中;
S3、在每个计算节点内,构建反向索引,即,顶点到包含该顶点且存在于该计算节点的极大团或部分极大团的编号;
S4、对每个极大团,利用反向索引,计算与每个极大团在同一个计算节点内有k-1个共享顶点的极大团,利用共查集将这些极大团的ID编号保存在同一个集合中;
S5、合并不同计算节点中的并查集,求出相应的派系。
2.根据权利要求1所述的一种可重叠的社群发现方法,其特征在于:在步骤S2中,计算极大团中的子团步骤为,对所有极大团q,q的大小为|q|,对k=1到|q|-K,将q[k:|q|-1]分配给q[k]所在的节点,若q[k-1]和q[k]属于同一个计算节点,则可以跳过该分配,每个极大团的子团跟对应的极大团具有相同的编号,在分发时,连同其对应极大团的编号。
3.根据权利要求1所述的一种可重叠的社群发现方法,其特征在于:在步骤S4中,若其中有极大团已经属于其他集合,则将本集合与其他集合合并,数据结构由并查集维护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326914.7A CN112948712B (zh) | 2021-03-26 | 2021-03-26 | 一种可重叠的社群发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326914.7A CN112948712B (zh) | 2021-03-26 | 2021-03-26 | 一种可重叠的社群发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948712A CN112948712A (zh) | 2021-06-11 |
CN112948712B true CN112948712B (zh) | 2022-03-25 |
Family
ID=76226919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110326914.7A Active CN112948712B (zh) | 2021-03-26 | 2021-03-26 | 一种可重叠的社群发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948712B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866355A (zh) * | 2010-06-11 | 2010-10-20 | 北京邮电大学 | 基于云计算的社会网络划分方法及系统 |
CN103914493A (zh) * | 2013-01-09 | 2014-07-09 | 北大方正集团有限公司 | 一种微博用户群体结构发现分析方法及系统 |
CN109345239A (zh) * | 2018-09-10 | 2019-02-15 | 河海大学 | 一种层次重叠并行化社区发现方法 |
CN109978705A (zh) * | 2019-02-26 | 2019-07-05 | 华中科技大学 | 一种基于极大团枚举的社交网络中社团发现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130198191A1 (en) * | 2010-07-08 | 2013-08-01 | Rubén Lara Hernández | Method for detecting communities in massive social networks by means of an agglomerative approach |
-
2021
- 2021-03-26 CN CN202110326914.7A patent/CN112948712B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866355A (zh) * | 2010-06-11 | 2010-10-20 | 北京邮电大学 | 基于云计算的社会网络划分方法及系统 |
CN103914493A (zh) * | 2013-01-09 | 2014-07-09 | 北大方正集团有限公司 | 一种微博用户群体结构发现分析方法及系统 |
CN109345239A (zh) * | 2018-09-10 | 2019-02-15 | 河海大学 | 一种层次重叠并行化社区发现方法 |
CN109978705A (zh) * | 2019-02-26 | 2019-07-05 | 华中科技大学 | 一种基于极大团枚举的社交网络中社团发现方法 |
Non-Patent Citations (2)
Title |
---|
Exploring Hierarchies in Online Social Networks;Can Lu 等;《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》;20160831;第28卷(第8期);2086-2100 * |
以分散式运算实现动态重叠社群发现之研究;苏怡仁 等;《第十三届离岛资讯技术与应用研讨会论文集》;20141230;98-105 * |
Also Published As
Publication number | Publication date |
---|---|
CN112948712A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Arifuzzaman et al. | Patric: a parallel algorithm for counting triangles in massive networks | |
CN102521386B (zh) | 基于集群存储的空间元数据分组方法 | |
Du et al. | A parallel algorithm for enumerating all maximal cliques in complex network | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
CN103678671A (zh) | 一种社交网络中的动态社区检测方法 | |
US11630854B2 (en) | Segmenting users with sparse data utilizing hash partitions | |
CN111259933B (zh) | 基于分布式并行决策树的高维特征数据分类方法及系统 | |
Li et al. | Community detection using attribute homogenous motif | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
CN115293919B (zh) | 面向社交网络分布外泛化的图神经网络预测方法及系统 | |
Mao et al. | A MapReduce-based K-means clustering algorithm | |
Lin et al. | A K-means clustering with optimized initial center based on Hadoop platform | |
Barger et al. | k-means for streaming and distributed big sparse data | |
Sun et al. | LSEnet: Lorentz Structural Entropy Neural Network for Deep Graph Clustering | |
CN112948712B (zh) | 一种可重叠的社群发现方法 | |
Zhao et al. | I/O-efficient calculation of H-group closeness centrality over disk-resident graphs | |
CN108198084A (zh) | 一种复杂网络重叠社区发现方法 | |
CN111861772A (zh) | 一种基于局部结构的密度最大化重叠社团发现方法及系统 | |
He et al. | Multi-objective spatially constrained clustering for regionalization with particle swarm optimization | |
CN110941767A (zh) | 一种基于多相似度集成的网络社团检测对抗增强方法 | |
Arifuzzaman et al. | Distributed-memory parallel algorithms for counting and listing triangles in big graphs | |
Kashef | Cooperative clustering model and its applications | |
CN113010748A (zh) | 一种基于亲和聚类的分布式大图划分方法 | |
CN108846543B (zh) | 一种非重叠社区集合质量度量指标的计算方法及装置 | |
CN108011735A (zh) | 社区发现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |