基于社区森林模型的分布式重叠社区发现算法
2022-06-14张妍刘滨梅卫许云峰谷利东于彭帅石钰魏西峰
张妍 刘滨 梅卫 许云峰 谷利东 于彭帅 石钰 魏西峰
摘 要:重疊社区发现是复杂网络挖掘中的重要基础工作,可以应用于社交网络、通讯网络、蛋白质相互作用网络、代谢路径网络、交通网络等多种网络的数据分析,从而服务智慧交通、传染病防治、舆情分析、新药研制和人力资源管理等领域。传统的单机运算架构已经难以满足各类大规模复杂网络的分析和计算要求。人工智能领域的研究人员提出将社区发现应用到网络表示学习领域,以丰富网络中节点和边的特征,但传统的重叠社区发现算法在设计时未能考虑来自网络表示学习任务的相关要求,只重点关注节点的社区划分,缺乏对社区内部结构和外部边界的考虑,例如没有涉及节点在社区内部的权重和属于多个社区的归属度排序等,因而不能提供网络中节点和社区更丰富的特征信息,导致对网络表示学习任务支持不足。
针对传统单机重叠社区发现算法已经不适用于大规模复杂网络挖掘,以及不能满足网络表示学习任务的相关要求等问题,提出一种基于社区森林模型的分布式重叠社区发现算法(distributed community forest model,简称DCFM算法)。首先,将网络数据集存储到分布式文件系统,将数据分块,使用分布式计算框架在每个数据分块上执行CFM算法;然后,执行社区合并;最后,汇总社区划分结果,使用真实的DBLP数据集将算法运行于Spark集群上,采用F均值和运行时间对算法进行评估。结果表明,DCFM算法的F均值稍逊于CFM算法,但其运算时间随着节点的增加接近线性下降,在牺牲小部分F均值的同时,DCFM算法具备处理大规模网络数据的能力;分割份数对计算时间的影响很大,在com-dblp.ungraph.txt数据集上,CFM算法处理数据需要192 min,而DCFM算法在将数据分成6份时,需要约91 min,分成100份后仅需要约13 min。因此,在大数据平台上采用分布式计算骨干度,从而进行社区划分、合并的DCFM算法是一种可行的大规模复杂网络挖掘方法,通过分割网络,可以大幅加快社区划分速度,提高社区发现效率。
关键词:分布式处理系统;社交网络;重叠社区;社区森林模型;社区发现
中图分类号:TP311.13 文献标识码:A
Abstract:Overlapping community discovery is an important basic work in complex network mining.It can be applied to the data analysis of social networks,communication networks,protein interaction networks,metabolic path networks,transportation networks and other networks,so as to serve the fields of intelligent transportation,infectious disease prevention and control,public opinion analysis,new drug development and human resource management.The traditional stand-alone computing architecture has been difficult to meet the analysis and computing requirements of various large-scale complex networks.Researchers in the field of artificial intelligence propose to apply community discovery to the field of network representation learning to enrich the characteristics of nodes and edges in the network.However,the traditional overlapping community discovery algorithm fails to consider the relevant requirements from the network representation learning task in its design,only focuses on the community division of nodes,and lacks consideration of the internal structure and external boundary of the community.For example,it does not involve the weight of nodes within the community and the attribution ranking belonging to multiple communities,so it cannot provide richer characteristic information of nodes and communities in the network,resulting in insufficient support for network representation learning tasks.Aiming at the problem that the traditional single machine overlapping community discovery algorithm is not suitable for large-scale complex network mining and cannot support the relevant requirements of network representation learning tasks,a distributed overlapping community discovery algorithm based on community forest model (DCFM algorithm) was proposed.Firstly,the network dataset was stored in the distributed file system,the data were divided into blocks,and the distributed computing framework was used to execute the CFM algorithm on each data block;then,the community consolidation was performed;Finally,the community division results were summarized,and the algorithm was run on the spark cluster by using the real DBLP dataset and was evaluated by F Value and running time.The results show that the f-means of DCFM algorithm is slightly inferior to that of CFM algorithm,but its operation time decreases linearly with the increase of nodes.While sacrificing a small part of f-means,DCFM algorithm has the ability to process large-scale network data;the number of split copies has a great impact on the calculation time,which can be found in com DBLP ungraph.Txt data set,CFM algorithm needs 192 min to process data,while DCFM algorithm needs about 91 min to divide the data into 6 parts,and only about 13 min after dividing into 100 parts.Therefore,on the big data platform,DCFM algorithm uses distributed computing backbone to divide and merge communities,which is a feasible large-scale complex network mining method.By dividing the network,it can greatly improve the speed of community division and the efficiency of community discovery.
Keywords:distributed processing system;social networks;overlapping communities;community forest model;commu-nity discovery
复杂网络是理解和建模复杂系统的基本工具,这些复杂系统广泛存在于物理、生物、神经科学、工程和社会科学等领域中[1]。重叠社区发现是复杂网络挖掘中的重要基础工作,可以应用于社交网络、通讯网络、蛋白质相互作用网络、代谢路径网络、交通网络等各种网络的数据分析中,服务于人力资源管理、新药研制、交通规划、传染病防治、舆情控制和表示学习[2]等领域。
近几年,重叠社区发现算法领域又涌现出很多基于经典社区发现算法的新研究,有些学者并行化了一些经典社区发现算法,如PageRank。吴卫江等[3]针对大型网络中社区发现优化方法的效率问题,提出了基于限制性随机游走局部谱近似社区发现算法;陈界全等[4]提出基于SLPA优化的重叠社区发现算法;王得翊等[5]针对复杂网络研究面临的网络规模过大、难以获取全局信息的困境,提出基于多阶局部度数峰值点的局部社区发现算法;JALALI等[6]为改善协同过滤的可伸缩性、稀疏性和冷启动问题,提出一种基于局部动态重叠社区检测的社会协同过滤算法;BAHADORI等[7]针对现有动态社区检测工作大多假设社区之间连接稀疏的问题,提出了一种概率重叠动态社区发现算法;GAO等[8]提出了基于约束个性化PageRank的重叠社区发现算法;ASMI等[9]提出了一种基于贪婪耦合种子展开法的重叠社区发现算法;ATTAL等[10]提出了一种使用核心标签传播算法和隶属函数的重叠社区发现算法;BENNCIR等[11]针对现有重叠社区检测方法通常会在社区之间建立比预期更大的重叠,并且不允许用户与系统交互调节大小的问题,提出一种通过控制社区之间的重合程度进行重叠和非重叠社区发现的算法;NADERIPOUR等[12]针对目前大多数社区检测方法主要集中在拓扑结构、忽略了顶点异质性的问题,提出一种大规模社交网络中基于结构或属性相似性的模糊社区发现算法;BAHADORI等[13]针对基于随机游走方法需要整个网络信息且很难获得的的问题,提出一种基于改进的有限随机游走方法的重叠社区发现算法;WAN等[14]针对现有研究只考虑动态或重叠某一特征来评估社区检测的问题,提出一种基于分解多目标进化的动态重叠社区发现算法;GAO等[15]提出了基于隶属度传播的重叠社区发现算法。一些学者还实现了经典社区发现算法的并行化。例如:刘强等[16]对当前主流并行社区发现方法Louvain 算法和标签传播算法在超大规模数据集上的可扩展性进行了研究;ROGHANI等[17]提出了一种基于Spark的并行标签扩散和标签选择社区发现算法;叶小榕等[18]利用Page-Rank算法和Z-Score算法计算用户排名,应用并优化LPA算法,将特征相近、联系较密切的用户快速划分到同一社区中。这些研究工作出色解决了并行运算环境下的社区发现问题。
当前在网络表示学习领域,越来越多的学者将社区结构和网络Motifs结构等高阶组织结构特征融合到网络嵌入中。骨干度[19]是一种和Motifs类似的高阶网络组织结构。胡旭飞等[20]提出了一种基于骨干度与网络嵌入的链路预测模型(BDLINE),在网络表示学习算法LINE的基础上融入骨干度特征,结果表明,在链路预测方面BDLINE均比其他网络表示学习算法的性能有所提升,预测效果也更好;LI等[21]提出一种基于社区嵌入的社区发现算法。这些研究表明,重叠社区发现算法对大规模复杂网络结构刻画得越清晰、越细致,网络表示学习算法就越能学习到更好的网络表示。基于社区森林模型的重叠社区发现算法(community forest model,简称CFM算法)是XU等[22]提出的一种基于社会学和生物学的自然启发式社区发现方法,该算法基于骨干度和扩张度对重叠社区进行清晰定义,对社区内部结构和外部边界进行清晰刻画,并将该算法在分布式Spark计算平台上得以实现,以应对来自大规模复杂网络数据的挑战。研究表明,在大规模社交网络中,其比CPM,Louvin和MMSB等相关算法具有更好的性能。
但是以上这些工作仍无法应对如下2个挑战。第一,研究者在各领域中构建复杂网络的规模急剧增大,传统的单机算法已经不能适应当前大规模复杂网络挖掘的需求;第二,由于大数据和人工智能的快速发展,传统的重叠社区发现算法在开发时尚未面对来自网络表示学习任务的迫切需求,都只是重点关注节点的社区划分,没有关注社区的内部结构和外部边界,因此不能提供网络中节点和社区更丰富的特征信息,导致对下游网络表示学习任务支持不足。并行重叠社区发现领域中的很多研究虽然解决了对大规模复杂网络进行挖掘的问题,但是无法应对网络表示学习任务对网络丰富特征的迫切需求;而CFM算法虽然能够应对网络表示学习任务对网络丰富特征的迫切需求,却无法应对来自大规模复杂网络的挑战。因此,本文提出基于社区森林模型的分布式重叠社区发现算法,将社区发现应用到网络表示学习领域,以此丰富网络中节点和边的特征,将分布式计算应用于重叠社区发现,提升社区发现算法的效率。
1 问题描述和形式化
CFM算法社区发现流程的特点,不需要复杂的迭代和采样,因而更易于被扩展到主流大数据计算框架如Hadoop和Spark中。本文提出的DCFM算法,通过对社交网络中边的关系进行分析,挖掘社交网络数据中节点之间以及社区之间的关系,为机器学习工作提供更丰富的表示学习特征。
1.1 问题描述
如何高效挖掘大规模网络中節点、边和社区等结构更丰富的特征是本研究要解决的问题。借助分布式计算引擎的并行运算能力,利用社区森林模型深入挖掘详细的网络结构,包括社区内部结构和外部边界、社区之间的关系、节点和边在网络中所处的位置等,结合分布式计算引擎和社区森林模型,能够高效挖掘网络的丰富特征,为表示学习提供更多的支持。如果对大规模网络进行并行运算,先要对其进行拆分,借助分布式文件系统对大文件分块后,进行分布式冗余存储。大规模网络文件存储的是节点之间的关系,这种文件被存储到分布式文件系统后,网络被随机划分成多个子网络。在分布式计算平台上的MapReduce计算架构中,对子网络使用CFM算法进行详细网络挖掘,再将各个子网络中的社区进行合并,如果合并策略处理得当,这种方式的结果应该近似于整个网络进行社区划分的结果。合并结果的好坏取决于合并的标准。本文提出社区重叠率定义,根据社区之间的重叠率确定合并标准。基于重叠社区森林模型的社区发现算法设计思路可以概括如下:首先,将网络进行分布式存储;然后,将子网络在分布式计算引擎上的MapReduce计算架构中用CFM算法进行详细社区划分;最后,基于社区重叠率定义进行社区合并。
2 算法描述
DCFM可以描述为先将网络数据集存储到分布式文件系统上,分布式文件系统将数据分块,在每个数据分块中执行CFM算法,然后执行社区合并,最后汇总社区划分结果。该算法的伪代码如下。
步骤1:Input G(V,E),then put them on HDFS.//将G(V,E)存储到分布式文件系统上,在分布式文件系统上将数据分块;
步骤2:Graphx′s graphloader.edgelistfile method reads G(V,E) and generates a graph.//用GraphX图处理工具生成图;
步骤3:Caculate the backbone degree of E,then output backbone list.//进行骨干度计算;
步骤4:Put backbone list in distributed HDFS.//将骨干度列表上传到分布式文件系统(如HDFS)上;
步骤5:Perform CFM algorithm in Map.//在Map中进行社区划分;
步骤6:Make Community Merger in Reduce based on Coverage.//在Reduce中进行社区合并;
步骤7:Output the final results of community detection.//输出合并后的社区划分结果。
DCFM详细流程图如图1所示。整个算法包括2个MapReduce流程。第1个MapReduce流程在步骤3中,使用分布式的MapReduce架构计算图中每条边的骨干度;第2个MapReduce流程在步骤5和步骤6中。为了更直观显示,将步骤5和步骤6的MapReduce流程在图1中展示,将步骤3计算骨干度在图2中展示。图1所示的步骤5中,首先在每个带有骨干度列表信息的子图中执行CFM算法,获得子社区的社区划分结果,然后在步骤6中根据Coverage的阈值合并社区。
图2中计算骨干度采用了GraphX的消息机制,该机制采用分布式图运算架构的底层运算逻辑,来源于经典的标签传播算法。DCFM算法在各个子图上进行分布式消息传递,然后在Reduce阶段进行消息合并,从而巧妙地对图中所有节点的邻居信息进行统计,通过计算每个节点邻居信息的交并比,获得图中每条边的骨干度,最后获得骨干度列表。
3 实验内容及结果讨论
3.1 实验环境
在3台Dell R410服务器上搭建Spark集群,包括1台Master节点和2台Slave节点,其中Master节点16 G内存,Slave节点8 G内存,Yarn内存总共21 G,提供jar包运行方式,使用Spark-Submit命令提交Spark应用。Spark版本:Spark2.2.0;Scala版本:Scala2.11;MySQL版本:MySQL5.7;CentOS版本:CentOS6.5;Hadoop版本:Hadoop2.7。每台服务器内存8 G。
CFM,Louvain,CFM和MMSB等算法的实验环境如下。
服务器配置:Dell PowerEdge R720;CPU:Xeon E5-2603 * 2;内存:384 G(DDR3 1 600 16 G * 24);硬盘:300 G * 2。
操作系统:Windows server 2008,Ubuntu12.0 64 bit。
软件:CFinder 2.0.6,SVINET 0.9-beta,CFM 0.1-beta,Louvin方法。
3.2 数据集
为了验证分布式算法对计算效率的提升效果,采用学术界常用的2个大规模数据集:com-dblp.ungraph数据集和dblp20161201数据集。com-dblp.ungraph数据集是斯坦福大学SNAP研究组整理提供的DBLP學术协作网络数据,dblp20161201数据集是从DBLP网站下载进行数据解析后生成的。这2个数据集的详细描述见表1。为了验证DCFM算法的有效性,从com-dblp.ungraph数据集中采样出5个数据样本,这5个数据样本具有真实的社区划分结果,因此可以采用F均值进行测评。
3.3 结果讨论
先在具有真实社区划分结果的5个社交网络采样上进行F均值评测,与CFM算法进行纵向对比;然后在大规模LFR数据集上进行F均值评测,并与CPM,Louvain,MMSB和CFM算法进行横向对比,证明DCFM算法的有效性,通过对大规模数据集上的运行时间进行对比,验证DCFM算法对社区划分效率的提升程度,调整DCFM算法中的3个关键参数对算法进行优化。
3.3.1 F均值
首先采用5个样本作为DBLP的标准数据,均有真实的社区划分结果,运算完成后可以进行F均值评估。通过对比DCF算法和MCFM算法的F均值,评估DCFM算法是否可以在准确率和召回率方面与CFM算法相当,对比结果如表2所示。由表2可以看出,在DBLP样本1—样本3上,DCFM算法的F均值和CFM算法的F均值相差不大,在DBLP样本4和样本5上,DCFM算法的F均值不稳定,考虑到运算速度的提升,其在F均值上的损失是可以均衡补偿的。
LFR是对社区划分结果进行评测的工具,可以产生具有重叠顶点的网络。采用LFR生成数据集,命令如下:“/ benchmark -N n -k 15 -maxk 50 -mu 0.2 -minc 20 -maxc 50 -on 0.1 n -om 4”,产生从1 000到100万节点的数据集,其中n是节点数,平均度为15,最大度为50,混合参数为0.2,社区大小的最小值为20,社区大小的最大值为50,重叠节点数为0.1 * n,重叠顶点的成员数为4。在该数据集上分别评测CPM,Louvain,MMSB,CFM和DCFM算法的F均值,对比结果如图3所示。
图3结果表明:CPM和MMSB两者的F均值不稳定,其中MMSB在PowerEdge R720上运行20 d以上无法获得社区划分结果,因此曲线不完整;Louvain的F均值曲线随顶点数的增加而迅速下降;CFM在从1 000到1 000 000的LFR数据集中,性能非常稳定,F均值保持在60%左右,大多高于DCFM,CPM,Louvain和MMSB算法,仅当CPM算法 k=3且顶点数> 10 000时F均值才低于CPM;DCFM算法的F均值虽稍低于CFM算法,但在多数LFR数据集中略好于Louvain和MMSB,也略好于当k>4时的CPM算法,但是低于当k=3和k=4时的CPM算法。综合来说,由于DCFM可以在当前主流大数据框架Spark上运行,即使F均值略有不足,相对于其在实际海量复杂网络挖掘中的作用来说,该算法也是一个不错的选择。
通过F均值实验可知,虽然DCFM算法的F均值稍逊于CFM算法,但是由于DCFM算法对大规模网络的处理能力要远胜于CFM算法,因此DCFM算法在以牺牲小部分F均值作为代价的前提下,具备了大规模网络数据处理能力,而这种分布式处理能力是当前工业界大规模网络分析应用迫切需要的。
3.3.2 运行时间
为了验证分布式算法对计算速度的提升,采用2个较大的数据集(com-dblp.ungraph数据集,包含317 080个节点和1 049 866条边;dblp20161201数据集,包含1 072 373个节点和4 222 019条边),通过调整参数partitionNum,评估DCMF算法的运行时间。分别计算2个不同大小的数据集在不同分割份数下的运行时间,使用Hash方式将图分割成不同份数,结果如表3所示。在com-dblp.ungraph.txt数据集上,CFM算法处理该数据需要192 min,而DCFM算法在将数据分成6份时,需要约91 min,而分成100份后仅需要约13 min。在dblp20161201.txt数据集上,CFM算法处理该数据需要798 min,而DCFM算法在将数据分成100份时需要约303 min,而分成1 000份后仅需要约42 min。结果表明,分割份数对计算时间的影响很大,DCFM算法通过将网络进行分割,可以大幅度提高社区划分的速度。
运行时间与分割份数之间的关系如图4所示,可以更清晰地展示分割分数和运行时间的负相关关系,即分割分数越多,运行时间越短。
通过调节分割份数来获得最佳运算时间是可行的。目前,工业界要处理的大规模网络包含数亿节点和几十亿条边,在这种需求背景下,单机社区发现算法已无法满足网络分析的时效性要求。例如基于图的推荐任务中,国内互联网用户节点数量过亿,单机社区发现算法已很难满足时效性的要求。DCFM算法将大规模网络进行分块,通过分布式运行CFM算法,再根据重合率进行合并,充分利用分布式集群的算力,提高了重叠社区发现算法的处理速度。
3.3.3 参数
DCFM算法中包含3个可调参数:partitionNum,Threshold和Coverage,通过对这3个参数进行配合调整,可以得到运算最快、效率最高、F均值最高的模型。通过调整partitionNum参数,可以使全部数据分成partitonNum份,对于并行计算来说,并不是partitonNum的值越大越好,该值越大task越多,反而会增加系统调度任务的时间。通过调整Threshold参数,可以控制社区划分精度。社区划分是取最大骨干度中2个节点作为初始社区,然后逐个加入其他节点,Threshold参数为最小可以被取出当做初始社区的骨干度。通过调整Coverage参数,可以在社区合并时控制社区相似度为多少时可以合并,参数Coverage代表可以合并社区相似度的最小值。参数Coverage不是越小越好,也不是越大越好,需要进行优化。
1)Threshold参数
观察数据集DBLP样本1的计算结果。其骨干度为0.03~1.169,固定参数Threshold為0.01,将所有边的2个节点都当作潜在初始社区;Coverage为0.0~1.0,固定参数Coverage为0.01时,除了社区之间Coverage为0时不会合并,其他都将进行社区合并操作。固定参数Coverage为0.01时,调整参数Threshold的大小,查看不同参数Threshold对算法F均值的影响,结果如表4所示,其中Threshold为阈值,Coverage为最大的重叠率,F均值为评估社区发现效果的值。由表4数据可以发现,Threshold越小,F均值相对越大,计算效果越好。
2)Coverage参数
固定参数Threshold为0.01,调整参数Coverage的大小,查看不同参数Coverage对算法F均值的影响,结果如表5所示,其中Threshold为阈值,Coverage为最大的重叠率,F均值为评估社区发现效果的值。由表5可知,Coverage越小,F均值越大,计算效果越好。
将表4和表5的参数调优数据进行可视化,结果如图5所示。由图5可以看出,Coverage和Threshhold参数对F均值有直接影响,它们与F均值呈负相关的关系,即二者值越大,F均值越小。因此要使DCFM具有最佳性能,必须将这2个参数设置得越小越好,经验值是将二者都设置成0.01。
通过参数调优实验可知,调节参数Threshold和参数Coverage,可以显著提高算法的F均值。但是算法需要兼顾速度和F均值,所以对于大规模社交网络而言,有时需要牺牲部分F均值来换取计算速度。
4 结 语
1)本文针对传统单机重叠社区发现算法已经不能适应当前大规模复杂网络挖掘需求,以及不能支持来自网络表示学习任务的迫切需求这2个问题,提出了基于社区森林模型的分布式重叠社区发现算法(简称DCFM算法):将网络数据集存储到分布式HDFS上,由HDFS系统将数据分块,在每个数据分块中执行CFM算法,然后执行社区合并,最后对社区划分结果进行汇总。
2)将DCFM算法运用于5个真实的DBLP采样数据集,结果表明,其F均值稍逊于CFM算法,但是CFM算法对大规模网络的处理能力要遠逊色于DCFM算法。此外,通过与CFM,CPM,Louvain和MMSB等算法进行横向对比可知,DCFM算法具有竞争力。因此,DCFM算法在牺牲小部分F均值的同时,具备了大规模网络数据处理能力,这种分布式处理能力是当前工业界大规模网络分析应用迫切需要的。
3)工业界目前要处理的大规模网络包含数亿个节点和几十亿条边。在这种需求背景下,单机社区发现算法无法满足其对网络分析的时效性要求,但通过调节分割份数来获得最佳运算时间是可行的。
4)调节Threshold参数和Coverage参数可以提升算法的F均值。用户通过调节这2个参数,可使二者之间达到动态平衡,获得更为满意的社区划分结果。
5)结合Spark和Hadoop等分布式计算架构,对大规模复杂网络数据进行分布式处理,可以有效提升社区发现算法的处理速度;同时,采用该算法对社交网络中的边关系进行计算分析,挖掘社交网络数据中节点之间以及社区之间的关系,还可为机器学习工作提供更为丰富的表示学习特征。
6)DCFM算法目前在F均值方面与CFM算法仍有一定的差距,需要加以改进。未来工作中,如果想进一步提升算法的性能,还需要更换其他方法进行社区合并。如果突破了这个瓶颈,那么本算法将会获得更好的性能。
参考文献/References:
[1] ZHANG Y,XU H,XU Y F,et al.Finding structural hole spanners based on community forest model and diminishing marginal utility in large scale social networks[J].Knowledge-Based Systems,2020,199:105916.
[2] PHAM P,NGUYEN L T T,VO B,et al.Bot2Vec:A general approach of intra-community oriented representation learning for bot detection in different types of social networks[J].Information Systems,2022,103:101771.
[3] 吴卫江,桑睿彤,郑艺峰.基于限制性随机游走局部谱近似社区发现算法[J].计算机工程与设计,2021,42(9):2472-2477.
WU Weijiang,SANG Ruitong,ZHENG Yifeng.Local spectrum approximation algorithm with limited random walk for community detection[J].Computer Engineering and Design,2021,42(9):2472-2477.
[4] 陈界全,王占全,李真,等.基于SLPA优化的重叠社区发现算法[J].计算机应用与软件,2021,38(1):297-302.
CHEN Jiequan,WANG Zhanquan,LI Zhen,et al.An improved overlapping community detection algorithm based on slpa[J].Computer Applications and Software,2021,38(1):297-302.
[5] 王得翊,焦澳琛,陈音拿,等.基于多阶局部度数峰值点的局部社区发现算法[J].微型电脑应用,2021,37(6):1-4.
WANG Deyi,JIAO Aochen,CHEN Yinna,et al.Local community detection based on n-order local degree central nodes[J].Microcomputer Applications,2021,37(6):1-4.
[6] JALALI S,HOSSEINI M.Social collaborative filtering using local dynamic overlapping community detection[J].The Journal of Supercomputing,2021,77(10):11786-11806.
[7] BAHADORI S,ZARE H,MORADI P.PODCD:Probabilistic overlapping dynamic community detection[J].Expert Systems with Applications,2021,174:114650.
[8] GAO Y,YU X Z,ZHANG H L.Overlapping community detection by constrained personalized PageRank[J].Expert Systems With Applications,2021,173:114682.
[9] ASMI K,LOTFI D,ABARDA A.The greedy coupled-seeds expansion method for the overlapping community detection in social networks[J].Computing,2022,104(2):295-313.
[10]ATTAL J P,MALEK M,ZOLGHADRI M.Overlapping community detection using core label propagation algorithm and belonging functions[J].Applied Intelligence,2021,51(11):8067-8087.
[11]BENNCIR C E,MAIZA I,BOUAGUEL W,et al.Disjoint and non-disjoint community detection with control of overlaps between communities[J].SN Computer Science,2021,2(1):15.
[12]NADERIPOUR M,FAZEL ZARANDI M H,BASTANI S.Fuzzy community detection on the basis of similarities in structural/attribute in large-scale social networks[J].Artificial Intelligence Review,2022,55(2):1373-1407.
[13]BAHADORI S,MORADI P,ZARE H.An improved limited random walk approach for identification of overlapping communities in complex networks[J].Applied Intelligence,2021,51(6):3561-3580.
[14]WAN X,ZUO X Q,SONG F.Solving dynamic overlapping community detection problem by a multiobjective evolutionary algorithm based on decomposition[J].Swarm and Evolutionary Computation,2020,54:100668.
[15]GAO R,LI S F,SHI X H,et al.Overlapping community detection based on membership degree propagation[J].Entropy,2020,23(1):15.
[16]劉强,贾焰,方滨兴,等.并行社区发现算法的可扩展性研究[J].通信学报,2018,39(4):13-20.
LIU Qiang,JIA Yan,FANG Binxing,et al.Research on the scalability of parallel community detection algorithms[J].Journal on Communications,2018,39(4):13-20.
[17]ROGHANI H,BOUYER A,NOURANI E.PLDLS:A novel parallel label diffusion and label selection:Based community detection algorithm based on Spark in social networks[J].Expert Systems with Applications,2021,183:115377.
[18]叶小榕,邵晴.基于Spark的大规模社交网络社区发现原型系统[J].科技导报,2018,36(23):93-101.
YE Xiaorong,SHAO Qing.A large scale social networking community detection prototype system based on Spark[J].Science & Techno-logy Review,2018,36(23):93-101.
[19]XU Y F,XU H,ZHANG D W.A novel disjoint community detection algorithm for social networks based on backbone degree and expansion[J].Expert Systems with Applications,2015,42(21):8349-8360.
[20]胡旭飞,许云峰.基于骨干度与网络编码的链路预测模型研究[J].河北工业科技,2019,36(5):310-313.
HU Xufei,XU Yunfeng.Research on link prediction model based on backbone degree and network coding[J].Hebei Journal of Industrial Science & Technology,2019,36(5):310-313.
[21]LI M Z,LU S Y,ZHANG L L,et al.A community detection method for social network based on community embedding[J].IEEE Transactions on Computational Social Systems,2021,8(2):308-318.
[22]XU Y F,XU H,ZHANG D W,et al.Finding overlapping community from social networks based on community forest model[J].Know-ledgeBased Systems,2016,109:238-255.