CN109656898A - 基于节点度的分布式大规模复杂社团探测方法及装置 - Google Patents
基于节点度的分布式大规模复杂社团探测方法及装置 Download PDFInfo
- Publication number
- CN109656898A CN109656898A CN201811534844.9A CN201811534844A CN109656898A CN 109656898 A CN109656898 A CN 109656898A CN 201811534844 A CN201811534844 A CN 201811534844A CN 109656898 A CN109656898 A CN 109656898A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- function
- community
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 32
- 230000004927 fusion Effects 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000011218 segmentation Effects 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 95
- 238000013441 quality evaluation Methods 0.000 claims description 7
- 238000006116 polymerization reaction Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 6
- 238000011161 development Methods 0.000 abstract description 4
- 230000018109 developmental process Effects 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009412 basement excavation Methods 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005325 percolation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于节点度的分布式大规模复杂社团探测方法及装置,本发明的实施步骤包括:准备关系网络数据;将关系网络数据加载到分布式文件系统进行网络分割,基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数,然后将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统;配置分布式文件系统的运行参数;调用分布式文件系统执行社团探测并输出社团探测结果。本发明适用于大规模复杂网络的社团探测,具有准确率高稳定性好、并行计算能力强、社团探测的通用性与适应性好、开发过程简单高效的优点。
Description
技术领域
本发明涉及大规模复杂网络数据挖掘处理领域,具体涉及一种基于节点度的分布式大规模复杂社团探测方法及装置。
背景技术
复杂网络是对复杂系统抽象表示,现实社会中很多复杂系统可以抽象为网络的形式,如社交网络,交通网络、分子网络等。随着对复杂网络的大量研究,社团结构是这些网络的共有特征,探究复杂网络中社团的特性有助于更好的对复杂系统的功能与结构进行理解与掌握。
社团结构是指网络中的顶点可以分成组,组内顶点间的连接比较稠密,组间顶点的连接比较稀疏。目前的社团探测方法可分为基于优化的方法和基于启发式的方法两种。在基于优化的方法中,典型的有谱平分算法,GA(Guimera-Amaral)算法,FN(Fast Newman)算法等,它们都是将复杂网络的问题转化为优化目标函数来计算复杂网络的社区结构。基于启发式方法有基于启发式方法有GN(Girvan-Newman)算法、CPM(Cluster Percolationmethod)算法等。这类在优化目标不明确的前提下,设计和运用合理的启发式规则来识别网络社区。
Raghavan等人提出了一种启发式的标签传播算法(Label PropagationAlgorithm)。LPA算法具有接近线性的复杂度,且无需社区数量等先验知识,适合在大规模网络中进行社区发现。然而,该算法也存在一些缺点:(1)节点更新顺序具有随机性,并且当邻接节点中出现次数最多的标签(最大值标签)有多个时,会随机选择一个标签;(2)存在不必要的标签更新过程;(3)更新标签时仅仅考虑邻接节点中标签出现的次数,忽略邻接节点的局部结构信息。这些缺点会导致算法延迟收敛,社区发现的结果准确率低且稳定性差的问题。因此很多研究基于标签传播算法进行了优化和改进,以达到更好地社区检测效果。
Barber等人避免LPA中所有顶点都分配到同一社区,提出了一种基于模块度目标函数的标签传播算法(LPAm),该目标函数的最大值对应着社区划分。Liu等人在LPAm算法的基础上,结合多步贪婪凝聚方法(MSG)提出了将LPAm与MSG相结合的基于模块度最大化的标签传播算法LPAm+,该算法通过同时合并多个相似社区的方法,避免了陷入局部最大值,达到更加准确地检测网络社区的目的。Xie等人改进了LPA的更新准则和迭代规则,避免算法不必要的迭代,优化探测速度。Cordasco等人提出了一种半同步的LPA,改善利用LPA进行社区发现的速度。然而随着互联网技术的发展和互联网的普及,网络社交产生的数据显示爆炸性增长。对于社交网络来说,节点数目动辄上千万而且节点结构形式错综复杂,传统社团发现算法已无法有效地挖掘社团结构。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于节点度的分布式大规模复杂社团探测方法及装置,本发明适用于大规模复杂网络的社团探测,具有准确率高稳定性好、并行计算能力强、社团探测的通用性与适应性好、开发过程简单高效的优点。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于节点度的分布式大规模复杂社团探测方法,实施步骤包括:
1)准备关系网络数据;
2)将关系网络数据加载到分布式文件系统进行网络分割,将关系网络划分为多个分区,每一个分区包含一部分顶点以及以其为起点的边;
3)基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数,其中消息传递函数用于每一个节点向其所有的邻居节点发送自己的节点度和标签值且消息发送方向为目的节点;消息融合函数用于每个节点接受到其邻居节点发送的消息后需要按标签值进行聚合等待下一步计算;消息处理函数用于当一个节点处理完接收到的信息后对节点的属性进行更新,如果当前节点的度大于其所有邻居节点的度,保持其节点的标签值不变,否则选择数量最多的标签值为当前节点的属性;将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统;
4)配置分布式文件系统的运行参数;
5)调用分布式文件系统执行社团探测并输出社团探测结果。
优选地,步骤1)的详细步骤包括:
1.1)采集关系网络数据;
1.2)对采集得到的关系网络数据进行数据清洗得到实证网络;
1.3)针对实证网络,提取其中的节点集合和边集合,其中节点集合表示被研究的实体对象,边集合表示实体对象之间的关系;
1.4)针对提取的节点集合中的网络节点进行编码;
1.5)将边集合、编码后的节点集合存储到分布式文件系统。
优选地,步骤2)将关系网络划分为多个分区时,具体是指通过分布式文件系统的图并行计算组件将关系网络数据加载到分布式文件系统进行网络分割划分为多个分区。
优选地,所述分割划分为多个分区时,针对关系网络每一个顶点,根据函数hash(ID)mod N确定其对应的分区的编号,其中hash表示哈希函数,ID为顶点对应节点的唯一身份标识符,hash(ID)为顶点对应节点的唯一身份标识符的哈希函数值,mod为模运算符,N为所有分区总数。
优选地,步骤3)中基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数的详细步骤包括:
3.1)将完成网络分割后的多个分区作为初始化网络图,同时初始化消息;
3.2)设置消息传递函数,消息传递函数用于每一个节点向其所有的邻居节点发送自己的节点度和标签值且消息发送方向为目的节点;
3.3)设置消息融合函数,消息融合函数用于每个节点接受到其邻居节点发送的消息后需要按标签值进行聚合等待下一步计算;
3.4)设置消息处理函数,消息处理函数用于当一个节点处理完接收到的信息后对节点的属性进行更新,如果当前节点的度大于其所有邻居节点的度,保持其节点的标签值不变,否则选择数量最多的标签值为当前节点的属性;将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统;
3.5)判断迭代次数或者每个节点的标签值不再发生改变是否满足,如果满足则结束;否则,跳转执行步骤3.2)重复迭代操作。
优选地,步骤4)中配置分布式文件系统的运行参数包括:运行模式、驱动程序内存、执行器CPU数量、执行器内存以及执行器数量。
优选地,步骤5)中还包括输出社团探测方法的检测质量评价指标。
优选地,所述检测质量评价指标的计算函数表达式如式(1)所示;
式(1)中,Q表示评价指标,M表示网络社区数目,Is表示边两端都在社区s中的边数,E表示网络中边总数,Os表示边一端在社区s中的边数。
此外,本发明还提供一种基于节点度的分布式大规模复杂社团探测装置,包括计算机设备,所述计算机设备被编程以执行本发明前述基于节点度的分布式大规模复杂社团探测方法的步骤。
和现有技术相比,本发明具有下述优点:本发明通过准备关系网络数据,将关系网络数据加载到分布式文件系统进行网络分割,,基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数,将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统,配置分布式文件系统的运行参数,调用分布式文件系统执行社团探测并输出社团探测结果,适用于大规模复杂网络的社团探测,具有准确率高稳定性好、并行计算能力强、社团探测的通用性与适应性好、开发过程简单高效的优点。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中准备关系网络数据的流程图。
图3为本发明实施例中关系网络数据加载和分割流程示意图。
图4为本发明实施例方法中基于节点度的标签传播算法流程示意图。
图5为本发明实施例方法中平台设置的详细流程示意图。
具体实施方式
下文以微信的页面的浏览转发数据为例,对本发明基于节点度的分布式社区探测算法的实施方式做详细说明。需要说明的是,本实施例还可以应用到其它各种通用复杂网络的社团探测中去,在此不再赘述。
如图1所示,本实施例基于节点度的分布式大规模复杂社团探测方法的实施步骤包括:
1)准备关系网络数据;
2)将关系网络数据加载到分布式文件系统进行网络分割,将关系网络划分为多个分区,每一个分区包含一部分顶点以及以其为起点的边;
3)基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数,其中消息传递函数用于每一个节点向其所有的邻居节点发送自己的节点度和标签值且消息发送方向为目的节点;消息融合函数用于每个节点接受到其邻居节点发送的消息后需要按标签值进行聚合等待下一步计算;消息处理函数用于当一个节点处理完接收到的信息后对节点的属性进行更新,如果当前节点的度大于其所有邻居节点的度,保持其节点的标签值不变,否则选择数量最多的标签值为当前节点的属性;将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统;
4)配置分布式文件系统的运行参数;
5)调用分布式文件系统执行社团探测并输出社团探测结果。
如图2所示,步骤1)的详细步骤包括:
1.1)采集关系网络数据;关系网络数据可以根据社团探测的目的以购买、网页爬取等方式获取数据。本实施例以微信中用户对网页链接的查看转发关系为例进行详细说明,其字段主要包括:网页ID号、访问设备的IP地址、用户所在省份、访问用户ID与源用户ID、访问的类型和访问时间等信息,时间范围从7月1日至7月7日。
1.2)对采集得到的关系网络数据进行数据清洗得到实证网络;数据清洗是保证数据质量的操作,获取到的数据中往往会存在信息丢失的情况,这就需要将这些记录清洗掉,数据清洗是进行数据挖掘的常规操作,在此不再赘述。
1.3)针对实证网络,提取其中的节点集合和边集合,其中节点集合表示被研究的实体对象,边集合表示实体对象之间的关系;数据清洗后进行关系网络提取,主要目的是建立一个描述用户之间关系的边列表,主要方法是根据数据记录的用户对于一个网页链接的浏览、转发关系,建立用户网络的边列表。
1.4)针对提取的节点集合中的网络节点进行编码;为了满足Spark平台的网络输入要求以及后续操作的需要,需要对关系网络中的节点进行整数编码。网络节点在现实中代表着实体对象,有着实际意义,但在Spark平台中要求网络节点为整数型,因此要为网络节点进行编码,并保证编码与原节点一一对应。
1.5)将边集合、编码后的节点集合存储到分布式文件系统HDFS。分布式文件系统HDFS是一分布式文件系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。本实施例中,分布式文件系统具体采用Spark分布式平台,Spark分布式平台支持对分布式文件系统HDFS的读写功能。Spark分布式平台是一个开源框架,继承了MapReduce的线性扩展性和容错性,同时对它做了一些非常重要的拓展。Spark分布式平台同样支持分布式文件系统HDFS中数据的存取。将关系网络数据的边列表形式存储到HDFS中有利于分布式数据操作。
通常网络可以用一个图来表示,图中包含了节点集合和边集合。节点集合表示研究实体,如网络中用户,边集合表示实体间的关系,如好友关系、合作关系。关系网络数据准备包括关系网络数据采集,数据清洗,关系网络提取,网络节点编码和数据分布式存储。一般得到的关系网络数据是一种边列表的形式,而且会存在诸多噪声,首先要对其清洗得到比较干净的数据。为了使本发明能够适用于大规模复杂网络的社团探测,本实施例中采用了分布式文件系统来支持分布式大规模复杂社团探测。
加载关系网络就是要将存储在HDFS中的数据加载到内存中,为后续提供数据支撑。为了对大规模网络数据进行图计算,要对网络进行分布式计算,因此要进行网络分割操作。本实施例中,步骤2)将关系网络划分为多个分区时,具体是指通过分布式文件系统的图并行计算组件将关系网络数据加载到分布式文件系统进行网络分割划分为多个分区。本实施例中,图并行计算组件具体是指Spark分布式平台中的GraphX框架,GraphX框架是Spark中的图并行计算组件,在进行以超大规模的网络为中心的分析计算时是非常方便的。特别是GraphX框架点切的图划分方法和策略,提高了图计算的运行效率。在GraphX框架中,一个大型图会被划分成许多个分区,每个分区都包含了一部分顶点以及以其为起点的边。如图3所示,输入图即为进行数据清洗后的关系网络,GraphX框架通过主服务器和各个工作服务器进行网络分割划分为多个分区,每一个工作服务器得到一个分区(子图)。
本实施例中,分割划分为多个分区时,针对关系网络每一个顶点,根据函数hash(ID)mod N确定其对应的分区的编号,其中hash表示哈希函数,ID为顶点对应节点的唯一身份标识符,hash(ID)为顶点对应节点的唯一身份标识符的哈希函数值,mod为模运算符,N为所有分区总数。毫无疑问,此外也可以根据需要自己定义这个函数。这样,无论在哪台机器上,都可以简单根据顶点ID判断出该顶点属于哪个分区。
虽然标签传播算法具有接近线性的复杂度,且无需社区数量等先验知识,适合在大规模网络中进行社区发现,但由于标签传播算法稳定性低、稳定性差的问题,往往不能得到很好的结果。因此我们提出了基于节点度的标签传播算法。在社交网络中的节点度可以理解为一个节点活跃性的体现,度越高活跃性越高,反之亦然。在一个社团结构中,这种度比较大的节点的重要性往往比其余节点要高,因此基于节点度的标签传播算法可以提高社团探测的准确度,避免算法不收敛的问题。本实施例中,根据基于节点度的标签传播算法定制了消息传递函数、消息融合函数和消息处理函数。这三个函数是GraphX组件中用于图计算的Pregel提供的接口函数。消息发送函数(接受一个edge triplet参数,创建发送给边起点或终点的消息.),消息聚合函数(对每个顶点接收到的消息进行合并),节点属性更新程序(对从上一轮迭代所有接收到消息的顶点更新它们的属性)。通过设计这三个函数可以实现基于节点度的分布式标签传播算法。如图4所示,基于节点度的标签传播算法的步骤包括:
步骤1,加载关系网络数据;
步骤2,为每个节点赋予标签值;
步骤3,判断是否满足结束循环的预设条件,如果满足则输出结果;否则执行下一步;
步骤4,获取当前节点的邻居节点的标签值和节点度;
步骤5,统计最大次数的标签值;
步骤6,判断当前节点是否为中心节点,如果为中心节点则执行步骤3;否则执行下一步;
步骤7,判断当前节点是否为唯一节点,如果是则将该标签值赋予给当前节点;否则,随机选择一个最大标签值,将该标签值赋予给当前节点;执行步骤3。
基于节点度的标签传播算法与经典的标签传播算法不同之处在于该算法可以很好地体现出网络中的重要节点并且提高了算法的稳定性。之后将根据这一算法定制消息传递函数、消息融合函数、消息处理函数以满足大规模网络社团探测的需求。
本实施例中,步骤3)中基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数的详细步骤包括:
3.1)将完成网络分割后的多个分区作为初始化网络图Graph,同时初始化消息Message;
3.2)设置消息传递函数,消息传递函数用于每一个节点向其所有的邻居节点发送自己的节点度和标签值且消息发送方向为目的节点;
3.3)设置消息融合函数,消息融合函数用于每个节点接受到其邻居节点发送的消息后需要按标签值进行聚合等待下一步计算;
3.4)设置消息处理函数,消息处理函数用于当一个节点处理完接收到的信息后对节点的属性进行更新,如果当前节点的度大于其所有邻居节点的度,保持其节点的标签值不变,否则选择数量最多的标签值为当前节点的属性;将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统;
3.5)判断迭代次数或者每个节点的标签值不再发生改变是否满足,如果满足则结束;否则,跳转执行步骤3.2)重复迭代操作。
如图5所示,步骤4)中配置分布式文件系统的运行参数包括:运行模式,驱动程序内存(driver-memory),执行器CPU数量(executor-cores),执行器内存(executor-memory)和执行器数量(num-executors)。
运行模式:本地运行模式、本地伪集群运行模式、群管理器(cluster manager)的独立集群(standalone cluster)模式,基于YARN集群的资源管理器(Resource Manager)的客户端模式,基于YARN集群的资源管理器(Resource Manager)的集群模式等。本实施例中具体采用基于YARN集群的资源管理器(Resource Manager)的客户端模式。
驱动程序内存:运行Spark分布式平台的入口接口程序sparkContext的驱动(Driver)所在所占用的内存,通常不必设置,设置的话1G就足够了,除非是需要使用collect之类算子经常需要将数据提取到驱动(Drive中的情况。
执行器CPU数量:设置每个执行器的CPU核数,其决定了每个执行器并行执行task的能力。执行器的CPU数量设置为2-4个即可,执行处理器数量num-executor、处理器内核数量executor-cores两者的乘积(num-executor*executor-cores)也不能超过分配队列中CPU核数的大小,具体的核数的设置还需要根据分配队列中资源统筹考虑,使得执行器任务数,核数及任务数的平衡。
执行器内存:设置每个执行器的内存,对Spark作业运行的性能影响很大。一般为4-8G,但还要考虑资源队列的情况。执行处理器数量num-executor、处理器内存数量executor-memory两者的乘积(num-executor*executor-memory)的大小绝不能超过队列的内存总大小。
执行器数量:该参数主要用于设置总共需要多少执行器来执行任务,驱动在向集群资源管理器申请资源时需要根据此参数决定分配的执行器个数,并尽量满足所需。
本实施例中,步骤5)中还包括输出社团探测方法的检测质量评价指标。本实施例中,检测质量评价指标采用模块度这一指标对结果进行评价,模块度是用来评价一个复杂网络社团的划分结果优劣的指标。检测质量评价指标的计算函数表达式如式(1)所示;
式(1)中,Q表示评价指标,M表示网络社区数目,Is表示边两端都在社区s中的边数,E表示网络中边总数,Os表示边一端在社区s中的边数。当一个社团划分结果为每一个社团内部节点之间连边的数目较多并且社团之间边的数目会较少时,可以说社团划分的结果比较好。通过多次实验并与经典标签传播算法对比,从结果发现基于节点度的分布式标签传播算法适用于大规模网络的社区发现,并且得到的社团更优于经典的标签传播算法。
此外,本实施例还提供一种基于节点度的分布式大规模复杂社团探测装置,包括计算机设备,计算机设备被编程以执行本实施例前述基于节点度的分布式大规模复杂社团探测方法的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于节点度的分布式大规模复杂社团探测方法,其特征在于实施步骤包括:
1)准备关系网络数据;
2)将关系网络数据加载到分布式文件系统进行网络分割,将关系网络划分为多个分区,每一个分区包含一部分顶点以及以其为起点的边;
3)基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数,其中消息传递函数用于每一个节点向其所有的邻居节点发送自己的节点度和标签值且消息发送方向为目的节点;消息融合函数用于每个节点接受到其邻居节点发送的消息后需要按标签值进行聚合等待下一步计算;消息处理函数用于当一个节点处理完接收到的信息后对节点的属性进行更新,如果当前节点的度大于其所有邻居节点的度,保持其节点的标签值不变,否则选择数量最多的标签值为当前节点的属性;将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统;
4)配置分布式文件系统的运行参数;
5)调用分布式文件系统执行社团探测并输出社团探测结果。
2.根据权利要求1所述的基于节点度的分布式大规模复杂社团探测方法,其特征在于,步骤1)的详细步骤包括:
1.1)采集关系网络数据;
1.2)对采集得到的关系网络数据进行数据清洗得到实证网络;
1.3)针对实证网络,提取其中的节点集合和边集合,其中节点集合表示被研究的实体对象,边集合表示实体对象之间的关系;
1.4)针对提取的节点集合中的网络节点进行编码;
1.5)将边集合、编码后的节点集合存储到分布式文件系统。
3.根据权利要求1所述的基于节点度的分布式大规模复杂社团探测方法,其特征在于,步骤2)将关系网络划分为多个分区时,具体是指通过分布式文件系统的图并行计算组件将关系网络数据加载到分布式文件系统进行网络分割划分为多个分区。
4.根据权利要求3所述的基于节点度的分布式大规模复杂社团探测方法,其特征在于,所述分割划分为多个分区时,针对关系网络每一个顶点,根据函数hash(ID)mod N确定其对应的分区的编号,其中hash表示哈希函数,ID为顶点对应节点的唯一身份标识符,hash(ID)为顶点对应节点的唯一身份标识符的哈希函数值,mod为模运算符,N为所有分区总数。
5.根据权利要求1所述的基于节点度的分布式大规模复杂社团探测方法,其特征在于,步骤3)中基于节点度的标签传播算法定制消息传递函数、消息融合函数和消息处理函数的详细步骤包括:
3.1)将完成网络分割后的多个分区作为初始化网络图,同时初始化消息;
3.2)设置消息传递函数,消息传递函数用于每一个节点向其所有的邻居节点发送自己的节点度和标签值且消息发送方向为目的节点;
3.3)设置消息融合函数,消息融合函数用于每个节点接受到其邻居节点发送的消息后需要按标签值进行聚合等待下一步计算;
3.4)设置消息处理函数,消息处理函数用于当一个节点处理完接收到的信息后对节点的属性进行更新,如果当前节点的度大于其所有邻居节点的度,保持其节点的标签值不变,否则选择数量最多的标签值为当前节点的属性;将消息传递函数、消息融合函数和消息处理函数载入分布式文件系统;
3.5)判断迭代次数或者每个节点的标签值不再发生改变是否满足,如果满足则结束;否则,跳转执行步骤3.2)重复迭代操作。
6.根据权利要求1所述的基于节点度的分布式大规模复杂社团探测方法,其特征在于,步骤4)中配置分布式文件系统的运行参数包括:运行模式、驱动程序内存、执行器CPU数量、执行器内存以及执行器数量。
7.根据权利要求1~6中任意一项所述的基于节点度的分布式大规模复杂社团探测方法,其特征在于,步骤5)中还包括输出社团探测方法的检测质量评价指标。
8.根据权利要求7所述的基于节点度的分布式大规模复杂社团探测方法,其特征在于,所述检测质量评价指标的计算函数表达式如式(1)所示;
式(1)中,Q表示评价指标,M表示网络社区数目,Is表示边两端都在社区s中的边数,E表示网络中边总数,Os表示边一端在社区s中的边数。
9.一种基于节点度的分布式大规模复杂社团探测装置,包括计算机设备,其特征在于:所述计算机设备被编程以执行权利要求1~8中任意一项所述基于节点度的分布式大规模复杂社团探测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534844.9A CN109656898B (zh) | 2018-12-14 | 2018-12-14 | 基于节点度的分布式大规模复杂社团探测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534844.9A CN109656898B (zh) | 2018-12-14 | 2018-12-14 | 基于节点度的分布式大规模复杂社团探测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109656898A true CN109656898A (zh) | 2019-04-19 |
CN109656898B CN109656898B (zh) | 2021-05-07 |
Family
ID=66113410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811534844.9A Active CN109656898B (zh) | 2018-12-14 | 2018-12-14 | 基于节点度的分布式大规模复杂社团探测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656898B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030854A (zh) * | 2019-12-04 | 2020-04-17 | 兰州交通大学 | 一种Spark云服务环境下面的复杂网络社团发现方法 |
CN111177486A (zh) * | 2019-12-19 | 2020-05-19 | 四川蜀天梦图数据科技有限公司 | 一种分布式图计算过程中的消息传递方法和装置 |
CN111601352A (zh) * | 2020-03-11 | 2020-08-28 | 首都师范大学 | 基于社交属性的车载自组织网络路由选择方法及系统 |
CN112765409A (zh) * | 2020-12-31 | 2021-05-07 | 中国科学院软件研究所 | 一种基于模块度的分布式社区发现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069039A (zh) * | 2015-07-22 | 2015-11-18 | 山东大学 | 一种基于spark平台的内存迭代的重叠社区并行发现方法 |
CN105938608A (zh) * | 2016-04-12 | 2016-09-14 | 福建师范大学 | 一种基于标签影响力的半同步社区发现方法 |
-
2018
- 2018-12-14 CN CN201811534844.9A patent/CN109656898B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069039A (zh) * | 2015-07-22 | 2015-11-18 | 山东大学 | 一种基于spark平台的内存迭代的重叠社区并行发现方法 |
CN105938608A (zh) * | 2016-04-12 | 2016-09-14 | 福建师范大学 | 一种基于标签影响力的半同步社区发现方法 |
Non-Patent Citations (1)
Title |
---|
艾川等: "基于Pregel 的大规模网络传播仿真算法设计及实现", 《中国科学:信息科学》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030854A (zh) * | 2019-12-04 | 2020-04-17 | 兰州交通大学 | 一种Spark云服务环境下面的复杂网络社团发现方法 |
CN111177486A (zh) * | 2019-12-19 | 2020-05-19 | 四川蜀天梦图数据科技有限公司 | 一种分布式图计算过程中的消息传递方法和装置 |
CN111601352A (zh) * | 2020-03-11 | 2020-08-28 | 首都师范大学 | 基于社交属性的车载自组织网络路由选择方法及系统 |
CN112765409A (zh) * | 2020-12-31 | 2021-05-07 | 中国科学院软件研究所 | 一种基于模块度的分布式社区发现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109656898B (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656898A (zh) | 基于节点度的分布式大规模复杂社团探测方法及装置 | |
Bedi et al. | Community detection in social networks | |
RU2607621C2 (ru) | Способ, система и машиночитаемый носитель данных для группирования в социальных сетях | |
Guo et al. | Community discovery by propagating local and global information based on the MapReduce model | |
Greene et al. | Tracking the evolution of communities in dynamic social networks | |
US8856047B2 (en) | Fast personalized page rank on map reduce | |
CN108764984A (zh) | 一种基于大数据的电力用户画像构建方法及系统 | |
Aridhi et al. | Distributed k-core decomposition and maintenance in large dynamic graphs | |
WO2014107988A1 (zh) | 微博用户群体结构发现分析方法及系统 | |
CN107391542A (zh) | 一种基于文件知识图谱的开源软件社区专家推荐方法 | |
Rees et al. | Overlapping community detection using a community optimized graph swarm | |
Han et al. | A comparative analysis on Weibo and Twitter | |
CN113767403B (zh) | 知识图中过指定和欠指定的自动解析 | |
Ashraf et al. | WeFreS: weighted frequent subgraph mining in a single large graph | |
Kanezashi et al. | Adaptive pattern matching with reinforcement learning for dynamic graphs | |
CN104965846B (zh) | MapReduce平台上的虚拟人建立方法 | |
Wang et al. | Incremental influence maximization for dynamic social networks | |
Mallick et al. | Incremental mining of sequential patterns: Progress and challenges | |
CN113761293A (zh) | 图数据强连通分量挖掘方法、装置、设备及存储介质 | |
Wu et al. | Trust-based service composition and optimization | |
US11782923B2 (en) | Optimizing breakeven points for enhancing system performance | |
CN115908036A (zh) | 基于局部拓扑信息的识别社交网络关键节点的方法及装置 | |
Bhat et al. | A density-based approach for mining overlapping communities from social network interactions | |
Cao et al. | A maximal common subgraph based method for process retrieval | |
Montemanni et al. | A constraint programming model for the b-coloring problem |
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 |