CN112214684A - 一种种子扩展的重叠社区发现方法及装置 - Google Patents
一种种子扩展的重叠社区发现方法及装置 Download PDFInfo
- Publication number
- CN112214684A CN112214684A CN202011016597.0A CN202011016597A CN112214684A CN 112214684 A CN112214684 A CN 112214684A CN 202011016597 A CN202011016597 A CN 202011016597A CN 112214684 A CN112214684 A CN 112214684A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- seed
- core
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000010586 diagram Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000016507 interphase Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 7
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Economics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种种子扩展的重叠社区发现方法,本方案中,将所有节点基于核心点和密度阈值进行聚类,再从剩余节点中确定新的密度阈值和新的核心点进行聚类,直到未作为核心点的节点对应的区域的节点个数小于个数阈值时停止,并将未作为核心点的节点合并到与自身距离最近的簇中。该方法能够根据节点集群密度的变化自适应地选择密度阈值的值,最后能够将所有的节点都归在簇中,由于不存在噪声点单独成为一簇,后续从获得的簇中选取影响力最大的种子节点的准确率高,进而提高重叠社区划分的精确度。本方案还公开了一种种子扩展的重叠社区发现装置,具有与上述种子扩展的重叠社区发现方法相同的有益效果。
Description
技术领域
本发明涉及复杂网络上的重叠社区发现技术领域领域,特别是涉及一种种子扩展的重叠社区发现方法及装置。
背景技术
随着社会信息网络的快速发展,出现了很多复杂网络,复杂网络是具有大量节点和边的网络,节点代表复杂网络中的个体,而边代表个体间的联系。社区是节点内部连接紧密而外部连接相对稀疏的一组节点集群,在非重叠社区结构中,网络里的每个节点只能属于一个社区,随着对复杂网络的深入研究,人们逐渐发现重叠社区更加符合个体在现实网络中存在的规律,因此,对重叠社区发现研究的关注度已经变得越来越高。
目前被广泛应用的重叠社区检测算法主要是基于种子扩展的全局重叠社区检测算法,该方法通常通过聚类算法对节点进行聚类,找到影响力最大的节点,将该节点作为种子节点,然后对种子节点进行扩展,从而完成社区划分。
现有技术中,重叠社区的发现方法首先通过人工设定的半径参数和密度阈值来对节点进行聚类并形成簇,具体地,计算每个节点在以自身为中心、以预设半径为半径的区域内节点的个数,将节点的个数大于或等于密度阈值的节点标记为核心点,在核心点以自身为中心、以预设半径为半径的区域内剩余的点则被标记为边界点,否则将被标记为噪声点;然后将以核心点为中心、以预设半径为半径的区域中发生重叠的区域的节点的并集作为一簇,单个噪声点为一簇,最后从每一簇中获取影响力最大的节点作为种子节点,然后对种子节点进行扩展,从而完成重叠社区的划分。但如果样本集的密度不均匀、不同区域的节点之间的间距差相差很大时,选择固定的密度阈值进行聚类会产生很多的噪声点,从噪声点所在的簇中选取影响力最大的节点即噪声点本身,会导致选取种子节点的准确率低,进而导致获得的重叠社区的精确度低。
发明内容
本发明的目的是提供一种种子扩展的重叠社区发现方法及装置,能够根据节点集群密度的变化自适应地选择密度阈值的值,使得后续从获得的簇中选取影响力最大的种子节点的准确率高,进而提高重叠社区划分的精确度。
为解决上述技术问题,本发明提供了一种种子扩展的重叠社区发现方法,包括:
S11:基于网络数据集确定目标节点,并获取各个目标节点在对应的区域内的节点的个数,其中,所述目标节点对应的区域为以自身为中心、以预设半径为半径的区域;
S12:将所有目标节点按照自身对应的区域内节点的个数从大到小且个数相同时获取目标节点的局部密度值并将所述局部密度值从大到小进行排序,将目标节点对应的区域内的节点的个数的最大值作为密度阈值;
S13:将排序最大的目标节点作为核心点;
S14:判断除所述核心点以外的节点在自身对应的区域内的节点的个数是否大于或等于所述密度阈值,若是,进入S15;否则,进入S16;
S15:将自身对应的区域内的节点的个数大于或等于所述密度阈值且自身对应的区域与所述核心点对应的区域发生重叠的节点归为一簇;
S16:在自身对应的区域内的节点的个数小于所述密度阈值的节点中将排序最大的目标节点作为新的核心点,以新的核心点对应的区域内的节点的个数作为新的密度阈值,返回S14,直到未作为核心点的节点对应的区域的节点个数小于个数阈值时停止,并将所述未作为核心点的节点合并到与自身距离最近的簇中;
S17:选取每簇中影响力最大的节点作为种子节点;
S18:对所述种子节点的邻域节点进行社区归类,并将所述节点重叠过多的所述社区进行合并。
优选地,获取目标节点的局部密度值,包括:
基于关系式计算每个对应的区域内节点的个数相同的目标节点的局部密度值;
优选地,基于网络数据集确定目标节点,包括:
读取网络数据集,生成网络结构图;
从所述网络结构图中提取出所述目标节点。
优选地,对所述种子节点的邻域节点进行社区归类,包括:
基于评分函数对所述种子节点的邻域节点进行打分,得到所述邻域节点中每个节点的得分向量;
按照所述节点的得分向量的分值以从高到低的顺序依次获取所述节点加入各个所述种子节点的所在社区时各个所述社区电导性的变化量;
将所述节点加入电导性响应变优的社区。
优选地,将所述节点重叠过多的所述社区进行合并,包括:
判断任意两个社区之间重叠节点是否超过重叠阈值;
若超过重叠阈值,将两个所述社区进行合并;
判断合并后的所有所述社区中的任意两个社区之间是否存在重叠节点;
若存在重叠节点,获取所述重叠节点加入各个所述种子节点的所在社区时各个所述社区电导性的变化量;
将所述重叠节点加入电导性响应最优的社区。
优选地,选取每簇中影响力最大的节点作为种子节点,包括:
基于K-shell对所述每簇进行层次划分,并确定每一层次的K-shell值;
选取K-shell值最大的层次作为所述簇的核心节点集;
将所述核心节点集中影响力最大的节点作为种子节点。
优选地,所述簇包括所述节点和相连的节点之间的边;
将所述核心节点集中影响力最大的节点作为种子节点,包括:
获取所述核心节点集中各个所述节点的度数;
基于Wij=di+dj计算所述节点i与所述节点j之间的边的边权,其中,Wij为所述节点i与所述节点j之间的边的边权,di为所述节点i的度数,dj为所述节点j的度数;
基于Ci=Si+Σj∈N(i)Sj计算所述节点i及与所述节点i直接相间的节点对邻域的影响力,其中,Ci为所述节点i及与所述节点i直接相间的节点对邻域的影响力值,N(i)是与节点i直接相连的节点的集合;
将所述核心节点集中MN最大的节点作为种子节点。
优选地,获取所述核心节点集中各个所述节点的度数之前,还包括:
判断所述核心节点集中是否只有一个节点;
若是,将所述核心节点集中的所述节点作为所述种子节点;
若否,进入获取所述核心节点集中各个所述节点的度数的步骤。
为解决上述计技术问题,本发明还提供了一种种子扩展的重叠社区发现装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的种子扩展的重叠社区发现方法的步骤。
本方案提供了一种种子扩展的重叠社区发现方法,本方案中,根据节点集群密度的变化自适应地选择密度阈值的值,具体地,首先,将目标节点对应的区域内的节点的个数的最大值作为密度阈值,将排序最大的目标节点确定核心点,基于核心点和密度阈值对节点进行聚类;在以当前密度阈值聚类完成之后,从剩余节点中确定新的密度阈值和新的核心点,基于新的核心点和新的密度阈值进行聚类,直到未作为核心点的节点对应的区域的节点个数小于个数阈值时停止,并将未作为核心点的节点合并到与自身距离最近的簇中,最终得到不同的簇。可见,该方法能够根据节点集群密度的变化自适应地选择密度阈值的值,最后能够将所有的节点都归在簇中,由于不存在噪声点单独成为一簇,后续从获得的簇中选取影响力最大的种子节点的准确率高,进而提高重叠社区划分的精确度。
本方案还提供了一种种子扩展的重叠社区发现装置,具有与上述种子扩展的重叠社区发现方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种种子扩展的重叠社区发现方法的过程流程图;
图2为本发明提供的现有技术中节点进行聚类的示意图;
图3为本发明提供的另一种种子扩展的重叠社区发现方法的整体流程图;
图4a为本发明提供的复杂网络的原始数据图;
图4b为本发明提供的复杂网络的网络结构图;
图5为本发明提供的对簇进行层次划分的示意图;
图6为本发明提供的一种种子扩展的重叠社区发现装置的结构示意图。
具体实施方式
本发明的核心是提供一种种子扩展的重叠社区发现方法及装置,能够根据节点集群密度的变化自适应地选择密度阈值的值,使得后续从获得的簇中选取影响力最大的种子节点的准确率高,进而提高重叠社区划分的精确度。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1和图2,图1为本发明提供的一种种子扩展的重叠社区发现方法的过程流程图,图2为本发明提供的现有技术中节点进行聚类的示意图。
该方法包括:
S11:基于网络数据集确定目标节点,并获取各个目标节点在对应的区域内的节点的个数,其中,目标节点对应的区域为以自身为中心、以预设半径为半径的区域;
S12:将所有目标节点按照自身对应的区域内节点的个数从大到小且个数相同时获取目标节点的局部密度值并将局部密度值从大到小进行排序,将目标节点对应的区域内的节点的个数的最大值作为密度阈值;
S13:将排序最大的目标节点作为核心点;
S14:判断除核心点以外的节点在自身对应的区域内的节点的个数是否大于或等于密度阈值,若是,进入S15;否则,进入S161;
S15:将自身对应的区域内的节点的个数大于或等于密度阈值且自身对应的区域与核心点对应的区域发生重叠的节点归为一簇;
S161:判断未作为核心点的节点对应的区域的节点个数是否小于个数阈值,若是,进入S163;否则,进入S162;
S162:在自身对应的区域内的节点的个数小于密度阈值的节点中将排序最大的目标节点作为新的核心点,以新的核心点对应的区域内的节点的个数作为新的密度阈值,返回S14;
S163:停止,将未作为核心点的节点合并到与自身距离最近的簇中;
S17:选取每簇中影响力最大的节点作为种子节点;
S18:对种子节点的邻域节点进行社区归类,并将节点重叠过多的社区进行合并。
目前被广泛应用的重叠社区检测算法主要是基于种子扩展的全局重叠社区检测算法,该方法通常通过聚类算法对节点进行聚类,找到影响力最大的节点,将该节点作为种子节点,然后对种子节点进行扩展,从而完成社区划分和社区检测。社区检测可用于评估一个网络结构中个体活动演化规律,广泛应用于个性化推荐、舆情分析、流行性疾病传播网络,广告投放等现实生活中的实际应用领域。
例如,社区检测应用于广告投放领域时,节点集群为广告投放的目标客户群体,节点之间的边代表目标客户之间的关系,如目标客户之间是朋友、情侣或亲人等,社区可以通过目标客户的喜好来划分,如倾向于购买化妆品、倾向于购买书籍、倾向于购买鲜花等,最终实现对目标客户按照喜好进行归类,实现定向广告投放。
申请人考虑到,现有技术中,如果样本集的密度不均匀、不同区域的节点之间的间距差相差很大时,选择固定的密度阈值进行聚类会产生很多的噪声点,从噪声点所在的簇中选取影响力最大的节点即噪声点本身,会导致选取种子节点的准确率低,进而导致获得的重叠社区的精确度低。
在本实施例中,根据节点集群密度的变化自适应地选择密度阈值的值,具体地,首先,基于网络数据集确定目标节点,并获取各个目标节点在对应的区域内的节点的个数,将所有目标节点按照自身对应的区域内节点的个数从大到小排序,对自身对应的区域内节点的个数相同的目标节点按照局部密度值从大到小进行排序,并将目标节点对应的区域内的节点的个数的最大值作为密度阈值、将排序最大的目标节点作为核心点。
例如,假设从网络数据集中获得的目标节点有6个,各个目标节点在对应的区域内的节点的个数分别为7、8、6、4、3、7个,将所有目标节点按照自身对应的区域内节点的个数从大到小排序,顺序为8、7、7、6、4、3个,通过计算对应的区域内节点的个数为7个的目标节点的局部密度值对对应的区域内节点的个数为7的两个目标节点从大到小进行排序,并将8个作为密度阈值,将排序最大的目标节点(即自身对应的区域内节点的个数为8个的目标节点)作为核心点。
判断除核心点以外的节点在自身对应的区域内的节点的个数是否大于或等于密度阈值,若是,将自身对应的区域内的节点的个数大于或等于密度阈值且自身对应的区域与核心点对应的区域发生重叠的节点归为一簇;若否,判断未作为核心点的节点对应的区域的节点个数是否小于个数阈值,若小于,则停止,并将未作为核心点的节点合并到与自身距离最近的簇中,若不小于,在自身对应的区域内的节点的个数小于密度阈值的节点中确定新的核心点,以新的核心点对应的区域内的节点的个数作为新的密度阈值,再次判断除核心点以外的节点在自身对应的区域内的节点的个数是否大于或等于密度阈值,直到未作为核心点的节点对应的区域的节点个数小于个数阈值时停止,并将未作为核心点的节点合并到与自身距离最近的簇中。最后,选取每簇中影响力最大的节点作为种子节点,对种子节点的邻域节点进行社区归类,并将节点重叠过多的社区进行合并。
需要说明的是,如果所有目标节点按照自身对应的区域内节点的个数从大到小进行排序时,排序最大的目标节点没有自身对应的区域内节点的个数相同的情况,也即自身对应的区域内节点的个数相同的目标节点只有一个时,不需再计算其局部密度值,直接选取该目标节点作为核心点。
还需要说明的是,在自身对应的区域内的节点的个数小于密度阈值的节点中将排序最大的目标节点作为新的核心点,以新的核心点对应的区域内的节点的个数作为新的密度阈值,再次判断除核心点以外的节点在自身对应的区域内的节点的个数是否大于或等于密度阈值,若是,将自身对应的区域内的节点的个数大于或等于密度阈值且自身对应的区域与新的核心点对应的区域发生重叠的节点归为一簇,若该簇与上一次经过判断得到的簇发生重叠,则归为一簇。
此外,判断除核心点以外的节点在自身对应的区域内的节点的个数是否大于或等于密度阈值时,可以按照目标节点自身对应的区域内节点的个数从大到小的顺序方式依次进行判断。
当然,这里也不仅限为按照目标节点自身对应的区域内节点的个数从大到小的顺序方式依次进行判断,本申请在此不做特别的限定。
此外,这里的个数阈值通常设为3个,也即直到未作为核心点的节点对应的区域的节点个数小于3个时停止,并将对应的区域的节点个数小于3个的节点合并到与自身距离最近的簇中。
当然,个数阈值也不仅限为3个,个数阈值具体为多少按照实际情况设定。
综上,该方法能够根据节点集群密度的变化自适应地选择密度阈值的值,最后能够将所有的节点都归在簇中,由于不存在噪声点单独成为一簇,后续从获得的簇中选取影响力最大的种子节点的准确率高,进而提高重叠社区划分的精确度。
请参照图3,图3为本发明提供的另一种种子扩展的重叠社区发现方法的整体流程图。
在上述实施例的基础上:
作为一种优选地实施例,获取目标节点的局部密度值,包括:
基于关系式计算每个对应的区域内节点的个数相同的目标节点的局部密度值;
考虑到将所有目标节点按照自身对应的区域内节点的个数从大到小进行排序时,会存在对应的区域内节点的个数相同的目标节点,为了将对应的区域内节点的个数相同的目标节点按照自身对应的区域内与所有其他节点的紧密程度来进行排序,从而提高聚类准确率。在本实施例中,通过关系式计算对应的区域内节点的个数相同的每个目标节点的局部密度值,dc为预设半径,dij为区域内的第j个节点到第i个目标节点的距离,Is表示区域内所有节点的集合。通过关系式计算局部密度值考虑到了目标节点在自身对应的区域内与所有其他节点的紧密程度,提高了聚类的准确率。
此外,这里对对应的区域内节点的个数相同的目标节点进行排序的方式不仅限通过计算局部密度值进行排序,本申请在此不做特别的限定。
请参考图4a和图4b,图4a为本发明提供的复杂网络的原始数据图,图4b为本发明提供的复杂网络的网络结构图。
作为一种优选地实施例,基于网络数据集确定目标节点,包括:
读取网络数据集,生成网络结构图;
从网络结构图中提取出目标节点。
考虑到复杂网络的原始数据图包括大量节点和边,为了便于对获取目标节点以及对所有节点进行聚类,在本实施例中,基于算法可以将复杂网络的原始数据图生成网络结构图,并从网络结构图中提取出目标节点。
需要说明的是,这里可以采用图嵌入算法DeepWalk,它是一种将随机游走(randomwalk)和word2vec两种算法相结合的图结构数据挖掘算法,通过该算法可以将节点表示为向量,之后根据节点在嵌入空间中的相互距离对它们进行聚类。
当然,这里获取网络结构图以及从网络结构图中提取出目标节点的方式不仅限为采用图嵌入算法DeepWalk将节点表示为向量的方式,本申请在此不做特别的限定。
作为一种优选地实施例,对种子节点的邻域节点进行社区归类,包括:
基于评分函数对种子节点的邻域节点进行打分,得到邻域节点中每个节点的得分向量;
按照节点的得分向量的分值以从高到低的顺序依次获取节点加入各个种子节点的所在社区时各个社区的电导性;
将节点加入电导性响应变优的社区。
在本实施例中,对种子节点的邻域节点进行社区归类,具体地,基于评分函数对种子节点的邻域节点进行打分,得到邻域节点中每个节点的得分向量,按照节点的得分向量的分值以从高到低的顺序依次获取节点加入各个种子节点的所在社区时各个社区的电导性,将节点加入电导性响应变优的社区。
需要说明的是,这里将节点加入社区,会存在一个或多个社区电导性响应变优的情况,当节点加入社区使多个社区电导性响应变优时,将该节点加入所有电导性响应变优的社区,也即该节点同时参与多个社区。
还需要说明的是,对种子节点的邻域节点进行打分通常通过PersonalizedPageRank评分函数进行打分,分值越高代表种子节点的邻域节点与种子节点的紧密程度更高,也即种子节点的邻域节点与种子节点的距离越近。
当然,这里对种子节点的邻域节点进行排序的方式不仅限为通过PersonalizedPageRank评分函数进行打分,本申请在此不做特别的限定。
此外,这里的种子节点的邻域节点通常指以种子节点为中心,向外扩展至第三层与种子节点直接相连的所有节点的集合,但不仅限为与种子节点相连的第三层节点内的所有节点,本申请在此不做特别的限定。
还有,这里对种子节点的邻域节点进行社区归类的方式不仅限为通过节点加入社区的电导性的变化量来归类,本申请在此不做特别的限定。
作为一种优选地实施例,将节点重叠过多的社区进行合并,包括:
判断任意两个社区之间重叠节点是否超过重叠阈值;
若超过重叠阈值,将两个社区进行合并;
判断合并后的所有社区中的任意两个社区之间是否存在重叠节点;
若存在重叠节点,获取重叠节点加入各个种子节点的所在社区时各个社区的电导性;
将重叠节点加入电导性响应最优的社区。
考虑到在复杂网络中,一个节点通常会同时参与多个社区,所以节点通过本方案加入的社区可能存在重叠现象。在本实施例中,如果两个社区之间重叠节点超过重叠阈值,则进行社区合并,如果合并后的所有社区中的任意两个社区之间仍存在重叠节点,根据该节点的加入和删除对各个种子节点所在社区的电导性的影响来判断该节点的归属,加入哪个社区的电导性最优,将节点归于该社区,直到所有节点都划分完成。可见,该方法能够将节点重叠过多的社区进行合并,并且避免了合并后的社区中仍存在重叠节点的情况。
此外,这里的重叠阈值通常为80%,也即任意两个社区之间重叠节点超过80%时,将两个社区进行合并。当然,这里的重叠阈值不仅限为80%,重叠阈值具体为多少根据实际情况设定,本申请在此不做特别的限定。
请参考图5,图5为本发明提供的对簇进行层次划分的示意图,其中,KS为K-shell值。
作为一种优选地实施例,选取每簇中影响力最大的节点作为种子节点,包括:
基于K-shell对每簇进行层次划分,并确定每一层次的K-shell值;
选取K-shell值最大的层次作为簇的核心节点集;
将核心节点集中影响力最大的节点作为种子节点。
申请人考虑到,现有技术中,判断网络中节点的重要性程度有很多种方法,如度中心性、介数中心性、接近中心性,K-shell分解算法等。但度中心性忽略了节点的邻居对节点影响力起到的间接作用,介数中心性和接近中心性未将节点的拓扑位置考虑进去来综合评判节点的重要性,而K-shell分解算法仅考虑节点的拓扑位置,仅可以根据节点的影响力得到较粗粒度的排序结果。
在本实施例中,基于K-shell对每簇进行层次划分,并确定每一层次的K-shell值,选取K-shell值最大的层次作为簇的核心节点集,然后,将核心节点集中影响力最大的节点作为种子节点。该方法判断节点影响力时考虑到了节点的拓扑位置,基于K-shell分解算法得到核心节点集,然后从核心节点集中获取影响力最大的节点作为种子节点。
例如,图5中,基于K-shell对每簇进行层次划分,共分为三层,K-shell值分别为1、2、3,K-shell值为3的层次作为簇的核心节点集。
此外,这里的选取每簇中影响力最大的节点作为种子节点的方式不仅限为通过K-shell获得核心节点集,然后从核心节点集中获取影响力最大的节点作为种子节点的方式,本申请在此不做特别的限定。
作为一种优选地实施例,簇包括节点和相连的节点之间的边;
将核心节点集中影响力最大的节点作为种子节点,包括:
获取核心节点集中各个节点的度数;
基于Wij=di+dj计算节点i与节点j之间的边的边权,其中,Wij为节点i与节点j之间的边的边权,di为节点i的度数,dj为节点j的度数;
基于Ci=Si+Σj∈N(i)Sj计算节点i及与节点i直接相间的节点对邻域的影响力,其中,Ci为节点i及与节点i直接相间的节点对邻域的影响力值,N(i)是与节点i直接相连的节点的集合;
将核心节点集中MN最大的节点作为种子节点。
考虑到节点的邻居会对节点的影响力起到间接作用,本实施例提出一种节点影响力评判标准,以得到核心节点集中影响力最大的节点。具体地,基于节点的点权、邻域聚类紧密程度值、节点及与节点直接相间的节点对邻域的影响力值以及计算核心节点集中的节点的影响力值,将计算得到的核心节点集中影响力值最大的节点作为种子节点。本申请判断节点的影响力时不仅借助K-shell分解算法考虑了节点的拓扑位置,得到了每簇的核心节点集,还考虑了节点的邻居对节点的影响力起到的间接作用,通过本申请提出的节点影响力评判标准能够得到核心节点集中影响力最大的节点。
此外,这里获取核心节点集中的影响力最大的节点的方式不仅限为通过上述节点影响力评判标准进行获取,,本申请在此不做特别的限定。
作为一种优选地实施例,获取核心节点集中各个节点的度数之前,还包括:
判断核心节点集中是否只有一个节点;
若是,将核心节点集中的节点作为种子节点;
若否,进入获取核心节点集中各个节点的度数的步骤。
考虑到对每簇进行层次划分后,核心节点集中会有包括一个或多个节点的情况。本实施例中,首先判断核心节点集中是否只有一个节点,若核心节点集中只有一个节点,将直接将核心节点集中的节点作为种子节点;若核心节点集中有多个节点,根据本申请提出的节点影响力评判标准对核心节点集中的多个节点进行计算,得到核心节点集中每个节点的影响力值,将核心节点集中影响力值最大的节点作为种子节点。
请参照图6,图6为本发明提供的一种种子扩展的重叠社区发现装置的结构示意图。
该装置包括:
存储器61,用于存储计算机程序;
处理器62,用于执行计算机程序时实现如上述种子扩展的重叠社区发现方法的步骤。
对于本发明提供的一种种子扩展的重叠社区发现装置的介绍请参照上述发明实施例,本发明在此不再赘述。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明/实用新型的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种种子扩展的重叠社区发现方法,其特征在于,包括:
S11:基于网络数据集确定目标节点,并获取各个目标节点在对应的区域内的节点的个数,其中,所述目标节点对应的区域为以自身为中心、以预设半径为半径的区域;
S12:将所有目标节点按照自身对应的区域内节点的个数从大到小且个数相同时获取目标节点的局部密度值并将所述局部密度值从大到小进行排序,将目标节点对应的区域内的节点的个数的最大值作为密度阈值;
S13:将排序最大的目标节点作为核心点;
S14:判断除所述核心点以外的节点在自身对应的区域内的节点的个数是否大于或等于所述密度阈值,若是,进入S15;否则,进入S16;
S15:将自身对应的区域内的节点的个数大于或等于所述密度阈值且自身对应的区域与所述核心点对应的区域发生重叠的节点归为一簇;
S16:在自身对应的区域内的节点的个数小于所述密度阈值的节点中将排序最大的目标节点作为新的核心点,以新的核心点对应的区域内的节点的个数作为新的密度阈值,返回S14,直到未作为核心点的节点对应的区域的节点个数小于个数阈值时停止,并将所述未作为核心点的节点合并到与自身距离最近的簇中;
S17:选取每簇中影响力最大的节点作为种子节点;
S18:对所述种子节点的邻域节点进行社区归类,并将所述节点重叠过多的所述社区进行合并。
3.如权利要求1所述的种子扩展的重叠社区发现方法,其特征在于,基于网络数据集确定目标节点,包括:
读取网络数据集,生成网络结构图;
从所述网络结构图中提取出所述目标节点。
4.如权利要求1所述的种子扩展的重叠社区发现方法,其特征在于,对所述种子节点的邻域节点进行社区归类,包括:
基于评分函数对所述种子节点的邻域节点进行打分,得到所述邻域节点中每个节点的得分向量;
按照所述节点的得分向量的分值以从高到低的顺序依次获取所述节点加入各个所述种子节点的所在社区时各个所述社区的电导性;
将所述节点加入电导性响应变优的社区。
5.如权利要求1所述的种子扩展的重叠社区发现方法,其特征在于,将所述节点重叠过多的所述社区进行合并,包括:
判断任意两个社区之间重叠节点是否超过重叠阈值;
若超过重叠阈值,将两个所述社区进行合并;
判断合并后的所有所述社区中的任意两个社区之间是否存在重叠节点;
若存在重叠节点,获取所述重叠节点加入各个所述种子节点的所在社区时各个所述社区的电导性;
将所述重叠节点加入加入电导性响应最优的社区。
6.如权利要求1至5任一项所述的种子扩展的重叠社区发现方法,其特征在于,选取每簇中影响力最大的节点作为种子节点,包括:
基于K-shell对所述每簇进行层次划分,并确定每一层次的K-shell值;
选取K-shell值最大的层次作为所述簇的核心节点集;
将所述核心节点集中影响力最大的节点作为种子节点。
7.如权利要求6所述的种子扩展的重叠社区发现方法,其特征在于,所述簇包括所述节点和相连的节点之间的边;
将所述核心节点集中影响力最大的节点作为种子节点,包括:
获取所述核心节点集中各个所述节点的度数;
基于Wij=di+dj计算所述节点i与所述节点j之间的边的边权,其中,Wij为所述节点i与所述节点j之间的边的边权,di为所述节点i的度数,dj为所述节点j的度数;
基于Ci=Si+Σj∈N(i)Sj计算所述节点i及与所述节点i直接相间的节点对邻域的影响力,其中,Ci为所述节点i及与所述节点i直接相间的节点对邻域的影响力值,N(i)是与节点i直接相连的节点的集合;
将所述核心节点集中MN最大的节点作为种子节点。
8.如权利要求7所述的种子扩展的重叠社区发现方法,其特征在于,获取所述核心节点集中各个所述节点的度数之前,还包括:
判断所述核心节点集中是否只有一个节点;
若是,将所述核心节点集中的所述节点作为所述种子节点;
若否,进入获取所述核心节点集中各个所述节点的度数的步骤。
9.一种种子扩展的重叠社区发现装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的种子扩展的重叠社区发现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011016597.0A CN112214684B (zh) | 2020-09-24 | 2020-09-24 | 一种种子扩展的重叠社区发现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011016597.0A CN112214684B (zh) | 2020-09-24 | 2020-09-24 | 一种种子扩展的重叠社区发现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112214684A true CN112214684A (zh) | 2021-01-12 |
CN112214684B CN112214684B (zh) | 2024-01-26 |
Family
ID=74051545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011016597.0A Active CN112214684B (zh) | 2020-09-24 | 2020-09-24 | 一种种子扩展的重叠社区发现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112214684B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259170A (zh) * | 2021-06-01 | 2021-08-13 | 宁波大学 | 计算机网络中子网络及其关键目标的识别方法及其应用 |
CN113592180A (zh) * | 2021-08-02 | 2021-11-02 | 上海歆广数据科技有限公司 | 一种种子点服务区域划分方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007084778A2 (en) * | 2006-01-19 | 2007-07-26 | Llial, Inc. | Systems and methods for creating, navigating and searching informational web neighborhoods |
CN108765180A (zh) * | 2018-05-29 | 2018-11-06 | 福州大学 | 基于影响力与种子扩展的重叠社区发现方法 |
US20180341696A1 (en) * | 2017-05-27 | 2018-11-29 | Hefei University Of Technology | Method and system for detecting overlapping communities based on similarity between nodes in social network |
CN110232638A (zh) * | 2019-06-17 | 2019-09-13 | 重庆邮电大学 | 一种基于节点重要性与局部扩展的重叠社区发现方法 |
-
2020
- 2020-09-24 CN CN202011016597.0A patent/CN112214684B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007084778A2 (en) * | 2006-01-19 | 2007-07-26 | Llial, Inc. | Systems and methods for creating, navigating and searching informational web neighborhoods |
US20180341696A1 (en) * | 2017-05-27 | 2018-11-29 | Hefei University Of Technology | Method and system for detecting overlapping communities based on similarity between nodes in social network |
CN108765180A (zh) * | 2018-05-29 | 2018-11-06 | 福州大学 | 基于影响力与种子扩展的重叠社区发现方法 |
CN110232638A (zh) * | 2019-06-17 | 2019-09-13 | 重庆邮电大学 | 一种基于节点重要性与局部扩展的重叠社区发现方法 |
Non-Patent Citations (1)
Title |
---|
郭昆;彭胜波;张瑛瑛;陈羽中;: "基于密度峰值和社区归属度的重叠社区发现算法", 小型微型计算机系统, no. 05 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259170A (zh) * | 2021-06-01 | 2021-08-13 | 宁波大学 | 计算机网络中子网络及其关键目标的识别方法及其应用 |
CN113259170B (zh) * | 2021-06-01 | 2021-09-24 | 宁波大学 | 计算机网络中子网络及其关键目标的识别方法及其应用 |
CN113592180A (zh) * | 2021-08-02 | 2021-11-02 | 上海歆广数据科技有限公司 | 一种种子点服务区域划分方法及系统 |
CN113592180B (zh) * | 2021-08-02 | 2023-07-07 | 上海歆广数据科技有限公司 | 一种种子点服务区域划分方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112214684B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zahra et al. | Novel centroid selection approaches for KMeans-clustering based recommender systems | |
Popat et al. | Review and comparative study of clustering techniques | |
US10135723B2 (en) | System and method for supervised network clustering | |
CN106156163B (zh) | 文本分类方法以及装置 | |
Thakran et al. | Unsupervised outlier detection in streaming data using weighted clustering | |
CN112214684A (zh) | 一种种子扩展的重叠社区发现方法及装置 | |
Martínez-Ballesteros et al. | Improving a multi-objective evolutionary algorithm to discover quantitative association rules | |
CN104008177B (zh) | 面向图像语义标注的规则库结构优化与生成方法及系统 | |
Fahim | A clustering algorithm based on local density of points | |
JP5128437B2 (ja) | 時系列関係グラフに基づくエンティティ分類装置および方法 | |
CN115114484A (zh) | 异常事件检测方法、装置、计算机设备和存储介质 | |
WO2017095439A1 (en) | Incremental clustering of a data stream via an orthogonal transform based indexing | |
Hu | Pattern classification using grey tolerance rough sets | |
Shaydulin et al. | Aggregative coarsening for multilevel hypergraph partitioning | |
Singh | Improved link prediction using PCA | |
JP2010073195A (ja) | 協調フィルタリング処理方法および協調フィルタリング処理プログラム | |
Mishra et al. | Efficient intelligent framework for selection of initial cluster centers | |
Güneş et al. | Ga-tvrc-het: genetic algorithm enhanced time varying relational classifier for evolving heterogeneous networks | |
Papadakisa et al. | SCoR: a synthetic coordinate based recommender system | |
CN114168733A (zh) | 一种基于复杂网络的法规检索方法及系统 | |
CN112540973A (zh) | 一种基于关联规则的网络可视化方法 | |
Boratto et al. | Influence of rating prediction on the accuracy of a group recommender system that detects groups | |
Sari et al. | Combining the active learning algorithm based on the silhouette coefficient with pckmeans algorithm | |
Louhi et al. | Incremental nearest neighborhood graph for data stream clustering | |
Imran et al. | A novel algorithm for class imbalance learning on big data using under sampling technique |
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 |