CN111506620A - 局部社区的挖掘与合并方法及其装置、芯片、存储介质 - Google Patents
局部社区的挖掘与合并方法及其装置、芯片、存储介质 Download PDFInfo
- Publication number
- CN111506620A CN111506620A CN202010242946.4A CN202010242946A CN111506620A CN 111506620 A CN111506620 A CN 111506620A CN 202010242946 A CN202010242946 A CN 202010242946A CN 111506620 A CN111506620 A CN 111506620A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- community
- local
- communities
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种局部社区的挖掘与合并方法及其装置、芯片、存储介质,方法包括:S1、单种子节点局部社区挖掘;从一个种子节点出发,依次执行的马尔可夫随机游走分布评分算法、节点排序算法、最小连通性分割算法,得到一个局部社区;S2、种子节点合并与多种节点局部社区挖掘;对于高相似度的局部社区,将种子节点合并,并从合并后的多个种子节点出发,通过多种子节点局部社区挖掘,得到新的局部社区;S3、重合局部社区消解;对于残余的相似度低但仍有重合节点的局部社区,将重合的节点归至其中一个社区。本发明能够满足大规模关系数据分析的特定需求,利用种子节点所带来的信息,挖掘出相对精确的局部社区,得到互不重叠的若干个局部社区。
Description
技术领域
本发明涉及社区挖掘技术领域,具体涉及一种在关系网络中,通过计算机程序,寻找、归纳局部社区的方法及实现这种方法的装置、芯片、存储介质。
背景技术
对于大规模的关系数据(例如:银行转账关系、电信通话关系、社交网站好友关系等),组建关系网络并进行局部社区挖掘是一种实用的数据处理方式。(例如:在已知一个银行账户A涉及非法资金转移的情况下,若账户B、C与账户A有较多直接或间接资金往来,则账户B、C涉及非法资金转移的可能性会显著地高于一般账户,且A、B、C有较大可能属于同一个非法资金转移团伙。以账户A为种子节点,进行局部社区挖掘,可以用于寻找B、C这类账户,并将A、B、C识别为一个同局部社区。)
现有的社区挖掘技术,主要基于网络分割或标签传播这两类方法。网络分割类的方法,即是通过去除关系网络中较不紧密的部分关系,使网络分裂成若干个互不相连的网络。这类方法可以较好地利用关系网络的全局结构信息,但无法有效利用种子节点的信息,只能将所有节点一视同仁地归入各个社区,因此往往难以得到较小、较精确的局部社区。而标签传播类的方法,则是给种子节点贴上特定的标签,然后根据节点间的关系,预测与之连接的节点的标签。这类方法可以较为精确地判断一个节点是否应该被纳入局部社区,但其得到的局部社区只与标签有关,无法解决多个种子节点是否应属于同一个局部社区的问题。
发明内容
针对现有技术中存在的问题,本发明提供一种局部社区的挖掘与合并方法,本发明能够克服现有局部社区挖掘技术的缺点,满足大规模关系数据分析的特定需求。此外,本发明还要提供一种局部社区的挖掘与合并装置、芯片及存储介质。
为实现上述目的,本发明采用以下技术方案:
本发明的第一方面,提供一种局部社区的挖掘与合并方法,包括以下步骤:
S1、单种子节点局部社区挖掘;从一个种子节点出发,通过改进的 Andersen-Chung-Lang算法,得到一个由多个节点组成的局部社区,改进的 Andersen-Chung-Lang算法包括依次执行的马尔可夫随机游走分布评分算法、节点排序算法、最小连通性分割算法;
S2、种子节点合并与多种子节点局部社区挖掘;对于由不同的种子节点得到的具有高相似度的局部社区,将种子节点合并,并从合并后的多个种子节点出发,通过多种子节点局部社区挖掘,得到新的局部社区;
S3、重合局部社区消解;在经过种子节点合并后,对于残余的、相似度低但仍有重合节点的社区,将重合的节点归至其中一个局部社区,以消除重合。
其中,所述S1之前的步骤为数据的输入,即从数据源读取要处理的关系网络数据,以节点表和边表的形式载入,对数据的组织形式进行预处理,将节点和边的信息转化为密集存储的邻接表。
其中,所述S3之后的步骤为数据的输出,即将计算后得到的各个局部社区,以节点表的形式依次输出。
其中,所述马尔可夫随机游走分布评分算法的步骤如下:
(a)对于每个节点,设定remain值和rank值,种子节点的remain初始值为 1,rank初始值为0,其它节点的remain初始值为0,rank初始值为0;
(b)建立一个先进先出的节点队列,将种子节点加入队列;
(c)取出队首节点P;
(d)从节点P的remain值中扣除一个衰减值,该衰减值是节点P出发的边的权重之和乘以一个固定的全局参数;
(e)将节点P扣除衰减值后的remain值取出并清零,将取出的值按照固定比例分成两部分x和y,该比例是节点P的一个参数;
(f)将x加至节点P的rank值;
(g)遍历从节点P出发的所有边E1-En,将y按照边的权重之比分配为y1-yn;
(h)令E1-En到达的节点为Q1-Qn,将y1-yn分别加至节点Q1-Qn的remain 值;
(i)在节点Q1-Qn中,若节点的remain值从小于衰减值变为了大于等于衰减值,则将该节点加入步骤(b)节点队列;
(j)若步骤(b)中节点队列不为空,回到步骤(c),否则结束算法。
其中,所述节点排序算法即将步骤(i)中的节点按照rank值由大至小进行排序;
其中,所述最小连通性分割算法,用于在节点排序后的节点中,包括以下步骤:
(A)计算节点之间所有边的权重之和为t weight;
(B)记录已访问节点出发的边的权重为v weight,记录已访问的节点出发前往已访问节点出发的边的权重为c weight,v weight与c weight的初始值均置为 0;
(C)按照rank值从大到小,遍历每个节点,令当前遍历到的节点为Q;
(D)将节点Q出发的边的权重,按前述约束,加入v weight及c weight;
(E)令连通性值phi为(v weight-c weight)/min(v weight,t weight– vweight),记录遍历过程中最小的phi值,及其对应的已访问的节点范围;
(F)对遍历循环次数取一固定窗口大小,该窗口大小为全局参数,若当前phi 的最小值出现在窗口内,回到步骤(C),否则结束算法。
其中,所述步骤S2具体如下:
(1)对每一对互相重叠的社区,执行社区重叠评分算法,按社区重叠评分从大到小排列;
(2)建立一个基于堆的社区合并优先队列,队列中的每个元素是一对社区,将社区重叠评分大于固定阈值的社区对加入队列,该阈值为全局参数;
(3)从队列中,取出重叠度最高的社区C1和C2;
(4)将C1和C2对应的所有种子节点合并为新的种子组;
(5)对新的种子组,执行多种子节点的马尔可夫随机游走分布评分算法;
(6)执行节点排序算法;
(7)执行最小连通性分割算法,得到新社区C3;
(8)对于与C3重叠的社区,执行社区重叠评分算法,将社区重叠评分大于固定阈值的社区对加入队列;
(9)若队列不为空,回到步骤(3),否则结束算法。
其中,社区重叠评分算法具体如下:若两个社区C1和C2对应的种子节点均不在对方社区内,则社区重叠评分为0;若C1和C2的节点数之和n1+n2大于阈值,则社区重叠评分为0;否则,分别计算C1和C2所有节点的rank值之和t1和t2,并分别计算C1和C2与对方重合的节点的rank值之和o1和o2,社区重叠评分为 max(o1/t1,o2/t2)/(n1+n2)。
其中,所述S3具体为:对仍然有部分重叠的社区,即同一个节点出现在多个社区内,取其中节点有较高rank值的社区,令该节点处于该社区中。
另一方面,本发明提供一种局部社区的挖掘与合并装置,包括:
至少一个处理器;
与所述至少一个处理器耦合的存储器,所述存储器存储有可执行指令,其中,所述可执行指令在被所述至少一个处理器执行时使得实现根据上述第一方面所述的方法。
另一方面,本发明提供一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行上述第一方面所述的方法。
另一方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明能够满足大规模关系数据分析的特定需求,利用种子节点所带来的信息,挖掘出相对精确的局部社区,通过局部社区合并的方法,解决多个种子节点产生相近或相同局部社区的情形,通过局部社区的合并与重叠消解,得到互不重叠的若干个局部社区。在典型的服务器使用本发明的计算机算法,可在10分钟的运行时间内,在一亿以上节点的、典型的关系网络中,挖掘一万个以上的非重叠、相对精确的局部社区。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本发明局部社区的挖掘与合并方法的整体流程图。
图2为本发明单种子节点局部社区挖掘的方法流程图。
图3为本发明马尔可夫随机游走分布评分算法的方法流程图。
图4为本发明最小连通性分割算法的方法流程图。
图5为本发明种子节点合并与多种子节点局部社区挖掘的方法流程图。
图6为本发明社区重叠评分算法的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本实施例提供一种局部社区的挖掘与合并方法,包以下步骤:
S1、数据的输入;从数据源读取要处理的关系网络数据,以节点表和边表的形式载入,并对数据的组织形式进行预处理,将节点和边的信息转换为密集存储的邻接表,以适应算法使用。
S2、单种子节点局部社区挖掘;从一个种子节点出发,通过改进的 Andersen-Chung-Lang算法,得到一个由多个节点组成的局部社区。如图2所示,改进的Andersen-Chung-Lang算法包括依次执行的马尔可夫随机游走分布评分算法、节点排序算法、最小连通性分割算法。
S3、种子节点合并与多种子节点局部社区挖掘;对于由不同的种子节点得到的具有高相似度的局部社区,将种子节点合并,并从合并后的多个种子节点出发,通过多种子节点局部社区挖掘,得到新的局部社区。
S4、重合局部社区消解;在经过种子节点合并后,对于残余的、相似度低但仍有重合节点的社区,将重合的节点归至其中一个局部社区,以消除重合。
S5、数据的输出,即将计算后得到的各个局部社区,以节点表的形式依次输出。
如图3所示,马尔可夫随机游走分布评分算法的步骤如下:
(a)对于每个节点,设定remain值和rank值,种子节点的remain初始值为 1,rank初始值为0,其它节点的remain初始值为0,rank初始值为0。
(b)建立一个先进先出的节点队列,将种子节点加入队列。此步骤中,对于单种子节点局部社区挖掘,将一个种子节点加入节点队列中,对于多种子局部社区挖掘,将一个种子节点组加入节点队列中。
(c)取出队首节点P。算法最开始时,节点p即为种子节点。
(d)从节点P的remain值中扣除一个衰减值,衰减值的大小根据算法的实际应用对象进行选取,衰减值的大小远远小于remain值,设置衰减值得目的是避免算法无限继续下去,对最终得到的局部社区的大小具有影响。该衰减值是节点P出发的边的权重之和乘以一个固定的全局参数,这个全局参数通常取一个很小的值,如 1*10^-5,值越小,计算越精确,计算开销越大。
(e)将节点P扣除衰减值后的remain值取出并清零,将取出的值按照固定比例分成两部分x和y,该比例是节点P的一个参数,y的比例越高,得到的局部社区越大。例如,可以将所有的节点使用同一比例x:y=0.15:0.85,可以全局调整,也可以对每个节点分别调整,x的比例越高,rank值越集中于这个节点,x的比例越低,rank值越不集中于这个节点,若将某个节点的比例置为x:y=0:1,则x节点将在计算rank时被忽略。
(f)将x加至节点P的rank值。
(g)遍历从节点P出发的所有边E1-En,将y按照边的权重之比分配为y1-yn。本实施例中,两个节点之间只对应一条边,边的权重根据节点之间联系的紧密度进行度量。例如,根据账户与账户之间的资金往来衡量节点与节点之间的紧密度,边的权重大小即通过资金流量来进行计算,资金流量越大,对应边的权重越大。
(h)令E1-En到达的节点为Q1-Qn,将y1-yn分别加至节点Q1-Qn的remain 值。
(i)在节点Q1-Qn中,若节点的remain值从小于衰减值变为了大于等于衰减值,则将该节点加入步骤(b)节点队列。
(j)若步骤(b)中节点队列不为空,回到步骤(c),否则结束算法。
该算法通过C++程序代码,以一个函数的形式实现。函数的参数为节点的信息,以及边的信息,返回值为广度优先搜索所到达的各节点的rank值。
节点排序算法即将步骤(i)中的节点按照rank值由大至小进行排序;节点排序算法即使用常规的排序算法,将前述算法返回的各节点,按rank值从大到小排序。该算法通过C++程序代码,以一个函数的形式实现。函数的参数是排序前的节点的信息,包括rank值,返回值是排序后的节点的信息。
如图4所示,最小连通性分割算法,用于在节点排序后的节点中,选择前k个节点,组成局部社区。包括以下步骤:
(A)计算节点之间所有边的权重之和为t weight。
(B)记录已访问节点出发的边的权重为v weight,记录已访问的节点出发前往已访问节点出发的边的权重为c weight,v weight与c weight的初始值均置为 0;
(C)按照rank值从大到小,遍历每个节点,令当前遍历到的节点为Q。
(D)将节点Q出发的边的权重,按前述约束,加入v weight及c weight。
(E)令连通性值phi为(v weight-c weight)/min(v weight,t weight– vweight),记录遍历过程中最小的phi值,及其对应的已访问的节点范围。
(F)对遍历循环次数取一固定窗口大小,该窗口大小为全局参数,若当前phi 的最小值出现在窗口内,回到步骤(C),否则结束算法。本实施例中,全局参数设置为10,若连续10个节点的phi值都不是当前已经计算的所有phi的最小值,则定义连续10个节点之前的最后一个节点为最小phi值对应的节点,作为局部社区分割位置,定义该节点为第k个节点,前k个节点组成的社区即为局部社区。该窗口大小所对应的全局参数根据业务上需要的社区大小来设置,需要越大的社区,则应该设置越大的窗口大小。该算法通过C++程序代码,以一个函数的形式实现。函数的参数为排序后的节点的信息,以及边的信息,返回值是最小的phi出现时,遍历过程已访问的节点范围。该范围内的节点即为所求的局部社区中所有的节点。
种子节点合并,用于合并多个能产生较为相似的社区的种子节点,得到若干个种子组。多种字节点局部社区挖掘,用于在种子节点合并完成后,以由多个种子节点组成的种子组为基础,进行局部社区挖掘。如图5所示,种子节点合并与多种子节点局部社区挖掘具体包括以下步骤:
(1)对每一对互相重叠的社区,执行社区重叠评分算法,按社区重叠评分从大到小排列;
(2)建立一个基于堆的社区合并优先队列,队列中的每个元素是一对社区,将社区重叠评分大于固定阈值的社区对加入队列,该阈值为全局参数,根据应用对象确定该阈值的大小。该阈值通常取希望得到的最大社区尺寸(节点个数)的2倍的倒数,默认1/200,可以调整。阈值越小,则算法会合并出越大的社区,反之,则算法越倾向于结束,而不合并出大社区。
(3)从队列中,取出重叠度最高的社区C1和C2;
(4)将C1和C2对应的所有种子节点合并为新的种子组;
(5)对新的种子组,执行多种子节点的马尔可夫随机游走分布评分算法;
(6)执行节点排序算法;
(7)执行最小连通性分割算法,得到新社区C3;
(8)对于与C3重叠的社区,执行社区重叠评分算法,将社区重叠评分大于固定阈值的社区对加入队列;
(9)若队列不为空,回到步骤(3),否则结束算法。
该算法以Python程序代码实现,其中调用Python和C++编写的函数库。
如图6所示,社区重叠评分算法用于评判局部社区之间的相似度,具体如下:若两个社区C1和C2对应的种子节点均不在对方社区内,则社区重叠评分为0;若 C1和C2的节点数之和n1+n2大于阈值(该阈值通常取希望得到的最大社区尺寸即节点个数,默认100,n1+n2大于这个阈值时,社区合并一定不会发生,但小于这个阈值时,该阈值不对算法产生任何影响),则社区重叠评分为0,为低相似度局部社区;否则为高相似度局部社区,分别计算C1和C2所有节点的rank值之和t1 和t2,并分别计算C1和C2与对方重合的节点的rank值之和o1和o2,社区重叠评分为max(o1/t1,o2/t2)/(n1+n2)。
该算法以Python程序代码,以一个函数的形式实现,函数的参数为两个社区的节点信息,包括rank值,返回值是社区重叠评分。
多种子节点的马尔可夫随机游走分布评分算法与多种子节点的马尔可夫随机游走分布评分算法相同,区别点在于步骤(b)中,将一个种子节点组加入节点队列中,种子节点组中的每个种子节点的remain值均设置为1,且加入搜索队列。
重合局部社区消解具体为:对仍然有部分重叠的低相似度局部社区,即同一个节点出现在多个社区内,取其中节点有较高rank值的社区,令该节点处于该社区中。若节点P出现在两个社区C1和C2中,则只取其中节点有较高rank值的社区,即,若P在C1中的rank高于P在C2中的rank,则令P属于C1。该算法以Python程序代码实现。
本发明还提供一种局部社区的挖掘与合并装置,包括:
至少一个处理器;
与所述至少一个处理器耦合的存储器,所述存储器存储有可执行指令,其中,所述可执行指令在被所述至少一个处理器执行时使得实现根据上述第一方面所述的方法。
本发明还提供一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行上述第一方面所述的方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法的步骤。
尽管上述实施例已对本发明作出具体描述,但是对于本领域的普通技术人员来说,应该理解为可以在不脱离本发明的精神以及范围之内基于本发明公开的内容进行修改或改进,这些修改和改进都在本发明的精神以及范围之内。
Claims (12)
1.一种局部社区的挖掘与合并方法,其特征在于,包括以下步骤:
S1、单种子节点局部社区挖掘;从一个种子节点出发,通过改进的Andersen-Chung-Lang算法,得到一个由多个节点组成的局部社区,改进的Andersen-Chung-Lang算法包括依次执行的马尔可夫随机游走分布评分算法、节点排序算法、最小连通性分割算法;
S2、种子节点合并与多种子节点局部社区挖掘;对于由不同的种子节点得到的具有高相似度的局部社区,将种子节点合并,并从合并后的多个种子节点出发,通过多种子节点局部社区挖掘,得到新的局部社区;
S3、重合局部社区消解;在经过种子节点合并后,对于残余的、相似度低但仍有重合节点的局部社区,将重合的节点归至其中一个社区,以消除重合。
2.如权利要求1所述的一种局部社区的挖掘与合并方法,其特征在于:所述S1之前的步骤为数据的输入,即从数据源读取要处理的关系网络数据,以节点表和边表的形式载入,对数据的组织形式进行预处理,将节点和边的信息转化为密集存储的邻接表。
3.如权利要求1所述的一种局部社区的挖掘与合并方法,其特征在于:所述S3之后的步骤为数据的输出,即将计算后得到的各个局部社区,以节点表的形式依次输出。
4.如权利要求1所述的一种局部社区的挖掘与合并方法,其特征在于:所述马尔可夫随机游走分布评分算法的步骤如下:
(a)对于每个节点,设定remain值和rank值,种子节点的remain初始值为1,rank初始值为0,其它节点的remain初始值为0,rank初始值为0;
(b)建立一个先进先出的节点队列,将一个种子节点加入队列;
(c)取出队首节点P;
(d)从节点P的remain值中扣除一个衰减值,该衰减值是节点P出发的边的权重之和乘以一个固定的全局参数;
(e)将节点P扣除衰减值后的remain值取出并清零,将取出的值按照固定比例分成两部分x和y,该比例是节点P的一个参数;
(f)将x加至节点P的rank值;
(g)遍历从节点P出发的所有边E1-En,将y按照边的权重之比分配为y1-yn;
(h)令E1-En到达的节点为Q1-Qn,将y1-yn分别加至节点Q1-Qn的remain值;
(i)在节点Q1-Qn中,若节点的remain值从小于衰减值变为了大于等于衰减值,则将该节点加入步骤(b)节点队列;
(j)若步骤(b)中节点队列不为空,回到步骤(c),否则结束算法。
5.如权利要求4所述的一种局部社区的挖掘与合并方法,其特征在于,所述节点排序算法即将步骤(i)中的节点按照rank值由大至小进行排序。
6.如权利要求5所述的一种局部社区的挖掘与合并方法,其特征在于,所述最小连通性分割算法,用于在节点排序后的节点中,包括以下步骤:
(A)计算节点之间所有边的权重之和为t weight;
(B)记录已访问节点出发的边的权重为v weight,记录已访问的节点出发前往已访问节点出发的边的权重为c weight,v weight与c weight的初始值均置为0;
(C)按照rank值从大到小,遍历每个节点,令当前遍历到的节点为Q;
(D)将节点Q出发的边的权重,按前述约束,加入v weight及c weight;
(E)令连通性值phi为(v weight-c weight)/min(v weight,t weight–v weight),记录遍历过程中最小的phi值,及其对应的已访问的节点范围;
(F)对遍历循环次数取一固定窗口大小,该窗口大小为全局参数,若当前phi的最小值出现在窗口内,回到步骤(C),否则结束算法。
7.如权利要求1-6任一项所述的一种局部社区的挖掘与合并方法,其特征在于,所述步骤S2具体如下:
(1)对每一对互相重叠的社区,执行社区重叠评分算法,按社区重叠评分从大到小排列;
(2)建立一个基于堆的社区合并优先队列,队列中的每个元素是一对社区,将社区重叠评分大于固定阈值的社区对加入队列,该阈值为全局参数;
(3)从队列中,取出重叠度最高的社区C1和C2;
(4)将C1和C2对应的所有种子节点合并为新的种子组;
(5)对新的种子组,执行多种子节点的马尔可夫随机游走分布评分算法;
(6)执行节点排序算法;
(7)执行最小连通性分割算法,得到新社区C3;
(8)对于与C3重叠的社区,执行社区重叠评分算法,将社区重叠评分大于固定阈值的社区对加入队列;
(9)若队列不为空,回到步骤(3),否则结束算法。
8.如权利要求7所述的一种局部社区的挖掘与合并方法,其特征在于,社区重叠评分算法具体如下:若两个社区C1和C2对应的种子节点均不在对方社区内,则社区重叠评分为0;若C1和C2的节点数之和n1+n2大于阈值,则社区重叠评分为0;否则,分别计算C1和C2所有节点的rank值之和t1和t2,并分别计算C1和C2与对方重合的节点的rank值之和o1和o2,社区重叠评分为max(o1/t1,o2/t2)/(n1+n2)。
9.如权利要求1所述的一种局部社区的挖掘与合并方法,其特征在于,所述S3具体为:对仍然有部分重叠的社区,即同一个节点出现在多个社区内,取其中节点有较高rank值的社区,令该节点处于该社区中。
10.一种局部社区的挖掘与合并装置,其特征在于,包括:
至少一个处理器;
与所述至少一个处理器耦合的存储器,所述存储器存储有可执行指令,其中,所述可执行指令在被所述至少一个处理器执行时使得实现根据权利要求1至9中任一项所述的方法。
11.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行:如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242946.4A CN111506620B (zh) | 2020-03-31 | 2020-03-31 | 局部社区的挖掘与合并方法及其装置、芯片、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242946.4A CN111506620B (zh) | 2020-03-31 | 2020-03-31 | 局部社区的挖掘与合并方法及其装置、芯片、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506620A true CN111506620A (zh) | 2020-08-07 |
CN111506620B CN111506620B (zh) | 2023-04-25 |
Family
ID=71873018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010242946.4A Active CN111506620B (zh) | 2020-03-31 | 2020-03-31 | 局部社区的挖掘与合并方法及其装置、芯片、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506620B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107578136A (zh) * | 2017-09-14 | 2018-01-12 | 福州大学 | 基于随机游走与种子扩展的重叠社区发现方法 |
WO2018077039A1 (zh) * | 2016-10-27 | 2018-05-03 | 腾讯科技(深圳)有限公司 | 社区发现方法、装置、服务器及计算机存储介质 |
CN108765180A (zh) * | 2018-05-29 | 2018-11-06 | 福州大学 | 基于影响力与种子扩展的重叠社区发现方法 |
CN110232638A (zh) * | 2019-06-17 | 2019-09-13 | 重庆邮电大学 | 一种基于节点重要性与局部扩展的重叠社区发现方法 |
-
2020
- 2020-03-31 CN CN202010242946.4A patent/CN111506620B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018077039A1 (zh) * | 2016-10-27 | 2018-05-03 | 腾讯科技(深圳)有限公司 | 社区发现方法、装置、服务器及计算机存储介质 |
CN107578136A (zh) * | 2017-09-14 | 2018-01-12 | 福州大学 | 基于随机游走与种子扩展的重叠社区发现方法 |
CN108765180A (zh) * | 2018-05-29 | 2018-11-06 | 福州大学 | 基于影响力与种子扩展的重叠社区发现方法 |
CN110232638A (zh) * | 2019-06-17 | 2019-09-13 | 重庆邮电大学 | 一种基于节点重要性与局部扩展的重叠社区发现方法 |
Non-Patent Citations (1)
Title |
---|
潘磊;金杰;王崇骏;谢俊元;: "社会网络中基于局部信息的边社区挖掘" * |
Also Published As
Publication number | Publication date |
---|---|
CN111506620B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021017679A1 (zh) | 地址信息解析方法、装置、系统及数据获取方法 | |
US10157239B2 (en) | Finding common neighbors between two nodes in a graph | |
CN108897842A (zh) | 计算机可读存储介质及计算机系统 | |
CN111222976A (zh) | 一种基于双方网络图数据的风险预测方法、装置和电子设备 | |
CN109344263A (zh) | 一种地址匹配方法 | |
CN110310114A (zh) | 对象分类方法、装置、服务器及存储介质 | |
US20220374733A1 (en) | Data packet classification method and system based on convolutional neural network | |
CN106716420A (zh) | 消息匹配方法、消息匹配装置及计算机程序产品、电子设备 | |
US9361403B2 (en) | Efficiently counting triangles in a graph | |
CN112650833A (zh) | Api匹配模型建立方法及跨城市政务api匹配方法 | |
CN113626812A (zh) | 基于结构特征筛选及负载扩展的机器学习木马检测方法 | |
CN116401345A (zh) | 智能问答方法、装置、存储介质和设备 | |
CN115688779A (zh) | 一种基于自监督深度学习的地址识别方法 | |
CN107133321B (zh) | 页面的搜索特性的分析方法和分析装置 | |
CN113821630A (zh) | 一种数据聚类的方法和装置 | |
CN111506620A (zh) | 局部社区的挖掘与合并方法及其装置、芯片、存储介质 | |
CN116743474A (zh) | 决策树生成方法、装置、电子设备及存储介质 | |
CN110941638B (zh) | 应用分类规则库构建方法、应用分类方法及装置 | |
CN116578646A (zh) | 一种时序数据同步方法、装置、设备及存储介质 | |
CN115292962A (zh) | 基于轨迹抽稀的路径相似度匹配方法、设备及存储介质 | |
CN110795425B (zh) | 一种海关数据清洗合并的方法、装置、设备及介质 | |
CN114443493A (zh) | 一种测试案例生成方法、装置、电子设备和存储介质 | |
CN117828382B (zh) | 基于url的网络接口聚类方法及装置 | |
US7565337B2 (en) | Batch validation method, apparatus, and computer-readable medium for rule processing | |
US20200364659A1 (en) | System and method of geocoding |
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 |