CN111597396B - 异构网络社群检测方法、装置、计算机设备及存储介质 - Google Patents
异构网络社群检测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111597396B CN111597396B CN202010401730.8A CN202010401730A CN111597396B CN 111597396 B CN111597396 B CN 111597396B CN 202010401730 A CN202010401730 A CN 202010401730A CN 111597396 B CN111597396 B CN 111597396B
- Authority
- CN
- China
- Prior art keywords
- node
- type
- community
- heterogeneous network
- constraint
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 14
- 239000004576 sand Substances 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/906—Clustering; Classification
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (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)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了异构网络社群检测方法、装置、计算机设备及存储介质。该方法包括预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;然后根据用户的社群需求获取满足社群需求的类型约束集合S,以及节点类型集合LS;然后判断异构网络G中的每一个节点v的类型是否属于节点类型集合LS或满足类型约束集合S,得到非有效节点并删除,然后再将非有效节点与其每一邻居节点组成对应的消息,加入至消息队列Q中;继续判断消息队列Q中是否产生了新的非有效节点,并将新的非有效节点删除,从而得到满足查询条件的社群。本发明满足了用户在异构网络中进行基于节点约束的个性化社群查询的需求。
Description
技术领域
本发明涉及异构网络领域,尤其涉及一种基于节点约束的异构网络社群检测方法、装置、计算机设备及存储介质。
背景技术
在图数据挖掘中,社群检测是其中比较重要的一步,通过社群检测算法可以针对某一种特定的社群结构进行查找,目前比较流行的是采用基于k-核的社群结构。
但在异构网络中,由于存在不同的类型节点,用户在进行社群检测中往往需要对多个不同类型的邻居节点个数进行自定义的设置;而目前的基于k-核的社群结构只能满足在同构网络中的社群检测,不能对多个不同类型的邻居节点个数进行自定义的设置。
图1是一个示例k-核社群,其中,子图{A,B,C,D}是一个3-核社群,因为在该子图中,每个节点都有至少三个邻居节点。图{A,B,C,D,E,F,G,H,I}是一个1-核社群,它由两个连通子图组成:{A,B,C,D,E,F,G}和{H,I},在该子图中每个节点都至少有一个邻居节点。参数k越大,所检测到的社群往往越小,同时,社群中的节点之间也更加紧密。
k-核社群是一种定义在同构网络的社群结构,并不能应用在异构网络中进行社群检测,因为异构网络往往拥有不同类型的节点。在异构图中,并不能直接使用k-核的结构来检测社群。同时,在异构网络中,由于不同类型节点的存在,用户往往需要针对不同类型的邻居节点进行不同的设定,k-核社群的定义只有一个参数k,因此在这种情况下,并不能满足实际应用的需求。
图2是一个示例学术网络,它包含了三种节点类型:A:作者,P:论文,V:会议。图中的每个节点都标注了该节点的所属类型。此外,边A-P表示作者参与撰写了论文,边P-V表示论文被发表在会议中。假设一个用户针对该异构网络进行数据挖掘的相关分析,并希望找到有关作者和论文学术社群,满足在该社群中每个作者至少发了2篇论文,并且每个论文至少有3个合作者。图3虚线的部分是该异构网络中满足用户查询需求的一个学术社群。然而,目前基于k-核的社群结构并不能挖掘出这样的学术社群:当k=1时,k-核社群是整个异构网络;当k=2时,其对应的k-核社群由图4的虚线部分所表示,当k=3时,其对应的k-核社群为空集。因此目前基于k-核的社群结构并不能满足在异构网络中包含多类型节点的社群搜索与检测。
因此,现有技术中难以解决针对异构网络多类型节点的社群检测,也没有相应的方法来检测出这种社群结构。
发明内容
本发明的目的是提供一种基于节点约束的异构网络社群检测方法、装置、计算机设备及存储介质,旨在解决现有技术中没有针对异构网络多类型节点的社群检测以及对这种社群结构的检测算法。
第一方面,本发明实施例提供了一种基于节点约束的异构网络社群检测方法,其包括:预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;其中,所述三元组<l1,l2,k>用于表示每个类型为l1的节点至少有k个类型为l2的邻居节点,l1,l2∈LG,k≥1,所述LG为所述异构网络G的节点的类型集合;
根据用户的查询条件获取用户的社群需求,并获取满足所述社群需求的类型约束集合S,其中,S={s1,s2,…,st},所述s1,s2,...,st表示不同的类型约束;
根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS;
判断所述异构网络G中的每一个节点v的类型是否属于所述节点类型集合LS,以及每一个节点v是否满足所述类型约束集合S中的每一个类型约束;
若所述异构网络G中的节点v的类型不属于所述节点类型集合LS,或者所述节点v不满足所述类型约束集合S中任意一个类型约束,则将所述节点v判定为非有效节点;
将所述异构网络G中的所有非有效节点加入至待删除节点集合H中并进行删除,并将所述待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中;
根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群。
第二方面,本发明实施例提供了一种基于节点约束的异构网络社群检测装置,其包括:
预设单元,用于预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;其中,所述三元组<l1,l2,k>用于表示每个类型为l1的节点至少有k个类型为l2的邻居节点,l1,l2∈LG,k≥1,所述LG为所述异构网络G的节点的类型集合;
第一获取单元,用于根据用户的查询条件获取用户的社群需求,并获取满足所述社群需求的类型约束集合S,其中,S={s1,s2,…,st},所述s1,s2,...,st表示不同的类型约束;
第二获取单元,用于根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS;
第一判断单元,用于判断所述异构网络G中的每一个节点v的类型是否属于所述节点类型集合LS,以及每一个节点v是否满足所述类型约束集合S中的每一个类型约束;
第二判断单元,用于若所述异构网络G中的节点v的类型不属于所述节点类型集合LS,或者所述节点v不满足所述类型约束集合S中任意一个类型约束,则将所述节点v判定为非有效节点;
删除单元,用于将所述异构网络G中的所有非有效节点加入至待删除节点集合H中并进行删除,并将所述待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中;
迭代判断单元,用于根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于节点约束的异构网络社群检测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于节点约束的异构网络社群检测方法。
本发明公开了一种基于节点约束的异构网络社群检测方法、装置、计算机设备及存储介质,其中,方法包括:预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;其中,所述三元组<l1,l2,k>用于表示每个类型为l1的节点至少有k个类型为l2的邻居节点,l1,l2∈LG,k≥1,所述LG为所述异构网络G的节点的类型集合;根据用户的查询条件获取用户的社群需求,并获取满足所述社群需求的类型约束集合S,其中,S={s1,s2,…,st},所述s1,s2,...,st表示不同的类型约束;根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS;判断所述异构网络G中的每一个节点v的类型是否属于所述节点类型集合LS,以及每一个节点v是否满足所述类型约束集合S中的每一个类型约束;若所述异构网络G中的节点v的类型不属于所述节点类型集合LS,或者所述节点v不满足所述类型约束集合S中任意一个类型约束,则将所述节点v判定为非有效节点;将所述异构网络G中的所有非有效节点加入至待删除节点集合H中并进行删除,并将所述待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中;根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群。该方法根据用户的社群需求,获取了满足社群需求的类型约束集合S以及节点类型集合LS,然后根据类型约束集合S和节点类型集合LS将异构网络G中所有的非有效节点找出并删除,最后得到满足查询条件的社群。本发明实施例实现了满足用户在异构网络中进行基于节点约束的个性化社群查询的需求。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的k-核社群示意图;
图2为现有技术提供的学术网络示意图;
图3为图2中满足用户需求的实际社群示意图;
图4为基于现有技术查找到的2-核社群示意图;
图5为本发明实施例提供的基于节点约束的异构网络社群检测方法的流程示意图;
图6为本发明实施例提供的基于节点约束的异构网络社群检测方法的子流程示意图;
图7为本发明实施例提供的基于节点约束的异构网络社群检测方法的又一子流程示意图;
图8为本发明实施例提供的基于节点约束的异构网络社群检测方法的又一子流程示意图;
图9为本发明实施例提供的对学术网络进行节点分类和编号的网络示意图;
图10为本发明实施例提供的基于节点约束的异构网络社群检测装置的示意性框图;
图11为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图5,图5为本发明实施例提供的基于节点约束的异构网络社群检测方法的流程示意图;
如图5所示,该方法包括步骤S501~S507。
S501、预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;其中,所述三元组<l1,l2,k>用于表示每个类型为l1的节点至少有k个类型为l2的邻居节点,l1,l2∈LG,k≥1,所述LG为所述异构网络G的节点的类型集合。
一个异构网络(或称异构图)可以用一个四元组来表示G(VG,EG,LG,φ),其中,VG代表节点集合;EG代表边的集合;LG代表一个类型集合,用来表示网络中所有的节点类型;φ是一个函数,将网络每一个节点映射到LG中的一个类型:
对于一个节点子集H∈VG,G[H]表示H的子图,该子图的节点集合为H,边的集合为(H×H)∩EG。对于任意节点v,定义其邻居节点为与v之间有边的节点,用NG(v)={u:(v,u)∈EG}表示,同时节点v的节点度为dv=|NG(v)={u:(v,u)∈EG}|。除此之外,NG(v,l)表示节点v的邻居节点中类型为l的节点,也就是说,NG(v,l)={u:(v,u)∈EG∧φ(u)=l}。
一个异构网络中,存在多种不同类型的节点,各个类型的节点之间可以是相连的,也可以是独立的,该异构网络G中的每个节点都至少有一个邻居节点。为了更方便地对节点之间的关系进行类型约束,或者称限定,本步骤对类型约束s的表示方式进行了设置:<l1,l2,k>;例如:l1为A,l2为P,k=2,即该类型约束s=〈A,P,2〉,表示节点类型为A的节点至少有2个节点类型为P的邻居节点。
S502、根据用户的查询条件获取用户的社群需求,并获取满足所述社群需求的类型约束集合S,其中,S={s1,s2,…,st},所述s1,s2,...,st表示不同的类型约束。
本实施例中,根据用户的查询条件在一个异构网络中找出满足用户查询条件的社群需求,并根据社群需求得到该社群需求的类型约束集合S。
举例来说,如图2所示的学术网络中,包含三种节点类型,分别为:A作者,P论文,V会议,边A-P表示作者参与撰写了论文,边P-V表示论文被发表在会议中,假设用户希望查询有关作者和论文的学术社群,该学术社群满足每个作者至少发了2篇论文,并且每个论文至少有3个合作者。那么可获取满足所述社群需求的类型约束集合S,其中,S={s1,s2},其中s1=〈A,P,2〉,s2=〈P,A,3〉。
S503、根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS。
本实施例中,所述类型约束集合S定义为用户搜索的社群所满足的约束,即该类型约束集合S中的所有节点类型均满足社群需求;相应的,该类型约束集合S也定义了一个查找社群相关的节点类型集合LS,故该节点类型集合LS也满足所述社群需求。
在一实施例中,如图6所示,步骤S503包括:
S601、获取所述类型约束集合S中的每一类型约束;
S602、获取每一类型约束中的节点类型;
S603、将所获取到的所有节点类型加入所述节点类型集合LS中。
本实施例中,以上述举例的学术社群来说,获取其类型约束集合S中的每一类型约束,包括:s1=〈A,P,2〉,s2=〈P,A,3〉;获取s1中的节点类型:A、P,获取s2中的节点类型:P、A;将节点类型A和节点类型P加入所述节点类型集合LS中,即LS={A,P}。
S504、判断所述异构网络G中的每一个节点v的类型是否属于所述节点类型集合LS,以及每一个节点v是否满足所述类型约束集合S中的每一个类型约束。
以上述学术网络来说,该学术网络的节点的类型包括:A作者、P论文和V会议这三种,该学术网络节点类型集合LS={A,P},类型约束集合S={s1,s2},其中s1=〈A,P,2〉,s2=〈P,A,3〉;将学术网络的每一个节点v的类型与节点类型集合LS进行对比,即可判断出节点类型v是否属于所述节点类型集合LS。将学术网络中的每一个节点v与所述类型约束集合S中的每一个类型约束进行对比,即可判断出节点v是否满足所述类型约束集合S中的每一个类型约束。
S505、若所述异构网络G中的节点v的类型不属于所述节点类型集合LS,或者所述节点v不满足所述类型约束集合S中任意一个类型约束,则将所述节点v判定为非有效节点。
本实施例中,在异构网络G中,只要一个节点v的类型不属于所述节点类型集合LS,或者该节点v不满足所述类型约束集合S中任意一个类型约束,则该节点v判定为非有效节点。
S506、将所述异构网络G中的所有非有效节点加入至待删除节点集合H中并进行删除,并将所述待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中。
本实施例中,根据所述节点类型集合LS和类型约束集合S得到异构网络G中的非有效节点,将这些非有效节点加入待删除节点集合H中并进行删除。由于一个非有效节点被删除后,会影响其邻居节点的有效性,故将待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中,后续步骤中需要对该消息队列Q进行进行迭代判断。
S507、根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群。
本实施例中,将一个非有效节点删除后,该非有效节点的邻居节点(暂时未列入非有效节点的节点)可能变为新的非有效节点,并且该新的非有效节点自身的邻居节点还有可能是潜在的新的非有效节点,故本实施例通过不断的迭代判断并删除,直至将所有的非有效节点删除,剩余的节点即为有效节点,由剩余的节点构成的子图即为满足S的社群。
在一实施例中,如图7所示,步骤S507包括:
S701、遍历所述消息队列Q中的消息;
S702、获取所述消息中的邻居节点;
S703、判断所述邻居节点是否已从所述异构网络中删除,若是则将对应的消息消耗,若否则进入下一步;
S704、判断所述邻居节点是否满足所述类型约束集合S中的每一个类型约束,若是则在异构网络G中保留所述邻居节点,若否则将所述邻居节点作为新的非有效节点,并从所述异构网络G中删除所述新的非有效节点;
S705、将对应的消息消耗,并进行下一消息的处理直至消耗完所述消息队列Q中的所有消息。
本实施例提供一种迭代删除节点查询社群的算法,该算法基于一个message-passing(消息传递)的框架,当一个非有效节点v被删除时,对于该非有效节点v的每一个邻居节点u(暂未被删除的节点)生成一条消息(u,v),它表示u的邻居v被删除,该消息用来记录潜在的非有效节点,因为v的删除会影响u的有效性;同时,在算法迭代删除节点的过程中,产生的消息用消息队列Q来保存,同时消息队列Q中的消息作为检测非有效节点的候选集也在被消耗掉;因此消息队列Q在算法迭代过程中是不断变化的;当时消息队列Q为空集时,意味着不再有潜在的非有效节点,那么算法结束。
在一实施例中,如图8所示,步骤S507还包括:
S801、当从所述异构网络G中删除所述邻居节点时,获取该邻居节点自身的每一邻居节点,并将该邻居节点与自身的每一邻居节点组成新的消息;
S802、判断新的消息是否与所述消息队列中已消耗或未消耗的消息相同,若否则将新的消息添加至所述消息队列中,若是则进行下一步。
本实施例中,一个已删除的邻居节点,其自身的每一邻居节点也属于潜在的非有效节点,将该邻居节点与自身的每一邻居节点组成新的消息,然后通过上述方法对该新的消息进行消耗,并且该潜在的非有效节点还有可能存在新的邻居节点,继续组成又一个新的消息,同样通过上述方法进行消耗;该过程即为算法迭代的过程,最后将所有消息消耗完即可得到满足查询条件的社群。
以上述学术网络为例,如图9所示,为了更便于说明,将学术网络进行类型区分以及节点编号;在该学术网络中,其类型约束集合,S={s1,s2},其中s1=〈A,P,2〉,s2=〈P,A,3〉类型约束集合LS={A,P},由此可得所查找的社群中的节点类型只包含作者和论文两种类型。
具体的,遍历学术网络中的每个节点,找出待删除节点集合H={3,11,14,2,6},其中,{3,11,14}的节点类型是会议,故判定为非有效节点;此外,{2,6}合作者都少于3个,不满足约束条件S,故判定为非有效节点;然后将H中的节点进行删除;最后将H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中,得到消息队列Q的状态为:
Q={(4,3),(9,3),(2,3),(6,11),(12,6),(13,14),(1,2),(7,2),(7,6),(1,6)}。
根据消息队列Q={(4,3),(9,3),(2,3),(6,11),(12,6),(13,14),(1,2),(7,2),(7,6),(1,6)},检测潜在的非有效节点;对于消息(4,3),因为节点4有3个作者(合作者),故节点4为有效节点,因此,该消息并未导致节点4被删除,同时,该消息被消耗掉。
此时的消息队列Q={(9,3),(2,3),(6,11),(12,6),(13,14),(1,2),(7,2),(7,6),(1,6)},对于消息(9,3),因为节点9有3个合作者,故节点9为有效节点,因此,该消息并未导致节点9被删除,同时,该消息被消耗掉。
此时的消息队列Q={(2,3),(6,11),(12,6),(13,14),(1,2),(7,2),(7,6),(1,6)},对于消息(2,3),因为节点2被删除,该消息产生新的潜在非有效节点1和潜在非有效节点7,同时,该消息被消耗掉。对于潜在非有效节点,则采用前述描述的方式生成新的消息,并确定是否添加到消息队列,如果添加到消息队列,则需要对新的消息继续进行判断。
此时的消息队列Q={(6,11),(12,6),(13,14),(1,2),(7,2),(7,6),(1,6)},对于消息(6,11),因为节点6已经被删除,该消息并未产生新的有关潜在非有效节点的消息,同时,该消息被消耗掉。
此时的消息队列Q={(12,6),(13,14),(1,2),(7,2),(7,6),(1,6)},对于消息(12,6),因为节点12有两篇论文,故节点12为有效节点,因此,该消息并未导致节点12被删除,同时,该消息被消耗掉。
此时的消息队列Q={(13,14),(1,2),(7,2),(7,6),(1,6)},对于消息(13,14),节点13有3个合作者,故节点13是有效节点,因此,该消息并未导致节点13被删除,同时,该消息被消耗掉。
此时的消息队列Q={(1,2),(7,2),(7,6),(1,6)},对于消息(1,2)因为节点2和6被删除,导致节点1没有邻居节点,因此,潜在非有效节点1变成非有效节点,并被删除,同时,因为节点1没有邻居节点,因此,删除节点1并未产生新的潜在非有效节点。
此时的消息队列Q={(7,2),(7,6),(1,6)},对于消息(7,2),因为节点2和6被删除,导致节点7没有邻居节点,因此,潜在非有效节点7变成非有效节点,并被删除,同时,因为节点7没有邻居节点,因此,节点7的删除并未产生新的潜在非有效节点。
此时的消息队列Q={(7,6),(1,6)},对于消息(7,6),因为节点7已经被删除,不需要再验证节点7是否有效,该消息被消耗掉。
此时的消息队列Q={(1,6)},因为节点1已经被删除,不需要再验证节点1是否有效,该消息被消耗掉。
在一实施例中,所述步骤S107还包括:
获取满足查询条件的所有连通子图,将每一连通子图作为满足查询条件的社群。
在一个异构网络G中,可能存在多个满足类型约束集合S的连通子图,每个连通子图之间由非有效节点进行连接,该异构网络G的每一连通子图均可作为满足查询条件的社群。
在一实施例中,所述获取满足查询条件的所有连通子图,将每一连通子图作为满足查询条件的社群,还包括:
将所述异构网络G中保留的节点进行划分,得到多个连通子图,并将每一连通子图作为满足查询条件的社群。
本实施例中,可以将异构网络G中的多个连通子图之间的非有效节点删除,得到多个单独的连通子图,也可以将一个单独连通子图进行划分,得到多个连通子图,并且每个划分出来的连通子图也可以作为满足查询条件的社群。
在一实施例中,该方法还包括:
本实施例中,该定义的具体含义是,如果v的类型为l1,并且它拥有至少至少有k个类型为l2的邻居节点,那么v是满足条件s;此外,如果v的类型不是l1,那么类型约束s在v并没有定义,也就是说s并没有约束v必须满足l2类型节点的个数。因此在这种情况下,也认为v是满足条件s(因为约束并没有起作用)。
本发明实施例还提供一种基于节点约束的异构网络社群检测装置,该基于节点约束的异构网络社群检测装置用于执行前述基于节点约束的异构网络社群检测方法的任一实施例。具体地,请参阅图10,图10是本发明实施例提供的基于节点约束的异构网络社群检测装置的示意性框图。
如图10所示,基于节点约束的异构网络社群检测装置1000,包括:预设单元1001、第一获取单元1002、第二获取单元1003、第一判断单元元1004、第二判断单元10010、删除单元1006以及迭代判断单元1007。
预设单元1001,用于预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;其中,所述三元组<l1,l2,k>用于表示每个类型为l1的节点至少有k个类型为l2的邻居节点,l1,l2∈LG,k≥1,所述LG为所述异构网络G的节点的类型集合;
第一获取单元1002,用于根据用户的查询条件获取用户的社群需求,并获取满足所述社群需求的类型约束集合S,其中,S={s1,s2,…,st},所述s1,s2,...,st表示不同的类型约束;
第二获取单元1003,用于根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS;
第一判断单元1004,用于判断所述异构网络G中的每一个节点v的类型是否属于所述节点类型集合LS,以及每一个节点v是否满足所述类型约束集合S中的每一个类型约束;
第二判断单元10010,用于若所述异构网络G中的节点v的类型不属于所述节点类型集合LS,或者所述节点v不满足所述类型约束集合S中任意一个类型约束,则将所述节点v判定为非有效节点;
删除单元1006,用于将所述异构网络G中的所有非有效节点加入至待删除节点集合H中并进行删除,并将所述待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中;
迭代判断单元1007,用于根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群。
该装置根据用户的社群需求,获取满足社群需求的类型约束集合S以及节点类型集合LS,然后根据类型约束集合S和节点类型集合LS将异构网络G中所有的非有效节点找出并删除,最后得到满足查询条件的社群,从而实现了满足用户在异构网络中进行基于节点约束的个性化社群查询的需求。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述基于节点约束的异构网络社群检测装置可以实现为计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本发明实施例提供的计算机设备的示意性框图。该计算机设备1100是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图11,该计算机设备1100包括通过系统总线1101连接的处理器1102、存储器和网络接口1105,其中,存储器可以包括非易失性存储介质1103和内存储器1104。
该非易失性存储介质1103可存储操作系统11031和计算机程序11032。该计算机程序11032被执行时,可使得处理器1102执行基于节点约束的异构网络社群检测方法。
该处理器1102用于提供计算和控制能力,支撑整个计算机设备1100的运行。
该内存储器1104为非易失性存储介质1103中的计算机程序11032的运行提供环境,该计算机程序11032被处理器1102执行时,可使得处理器1102执行基于节点约束的异构网络社群检测方法。
该网络接口1105用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备1100的限定,具体的计算机设备1100可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器1102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1102还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的基于节点约束的异构网络社群检测方法。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于节点约束的异构网络社群检测方法,其特征在于,包括:
预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;其中,所述三元组<l1,l2,k>用于表示每个类型为l1的节点至少有k个类型为l2的邻居节点,l1,l2∈LG,k≥1,所述LG为所述异构网络G的节点的类型集合;
根据用户的查询条件获取用户的社群需求,并获取满足所述社群需求的类型约束集合S,其中,S={s1,s2,…,st},所述s1,s2,...,st表示不同的类型约束;
根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS;
判断所述异构网络G中的每一个节点v的类型是否属于所述节点类型集合LS,以及每一个节点v是否满足所述类型约束集合S中的每一个类型约束;
若所述异构网络G中的节点v的类型不属于所述节点类型集合LS,或者所述节点v不满足所述类型约束集合S中任意一个类型约束,则将所述节点v判定为非有效节点;
将所述异构网络G中的所有非有效节点加入至待删除节点集合H中并进行删除,并将所述待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中;
根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群。
2.根据权利要求1所述的基于节点约束的异构网络社群检测方法,其特征在于,所述根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群,包括:
遍历所述消息队列Q中的消息;
获取所述消息中的邻居节点;
判断所述邻居节点是否已从所述异构网络中删除,若是则将对应的消息消耗,若否则进入下一步;
判断所述邻居节点是否满足所述类型约束集合S中的每一个类型约束,若是则在异构网络G中保留所述邻居节点,若否则将所述邻居节点作为新的非有效节点,并从所述异构网络G中删除所述新的非有效节点;
将对应的消息消耗,并进行下一消息的处理直至消耗完所述消息队列Q中的所有消息。
3.根据权利要求2所述的基于节点约束的异构网络社群检测方法,其特征在于,所述根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群,还包括:
当从所述异构网络G中删除所述邻居节点时,获取该邻居节点自身的每一邻居节点,并将该邻居节点与自身的每一邻居节点组成新的消息;
判断新的消息是否与所述消息队列中已消耗或未消耗的消息相同,若否则将新的消息添加至所述消息队列中,若是则进行下一步。
4.根据权利要求1所述的基于节点约束的异构网络社群检测方法,其特征在于,所述根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS,包括:
获取所述类型约束集合S中的每一类型约束;
获取每一类型约束中的节点类型;
将所获取到的所有节点类型加入所述节点类型集合LS中。
5.根据权利要求1所述的基于节点约束的异构网络社群检测方法,其特征在于,所述根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群,还包括:
获取满足查询条件的所有连通子图,将每一连通子图作为满足查询条件的社群。
6.根据权利要求5所述的基于节点约束的异构网络社群检测方法,其特征在于,所述获取满足查询条件的所有连通子图,将每一连通子图作为满足查询条件的社群,包括:
将所述异构网络G中保留的节点进行划分,得到多个连通子图,并将每一连通子图作为满足查询条件的社群。
8.一种基于节点约束的异构网络社群检测装置,其特征在于,包括:
预设单元,用于预先设置通过三元组<l1,l2,k>表示异构网络G的类型约束s;其中,所述三元组<l1,l2,k>用于表示每个类型为l1的节点至少有k个类型为l2的邻居节点,l1,l2∈LG,k≥1,所述LG为所述异构网络G的节点的类型集合;
第一获取单元,用于根据用户的查询条件获取用户的社群需求,并获取满足所述社群需求的类型约束集合S,其中,S={s1,s2,…,st},所述s1,s2,...,st表示不同的类型约束;
第二获取单元,用于根据所述类型约束集合S获取满足所述社群需求的节点类型集合LS;
第一判断单元,用于判断所述异构网络G中的每一个节点v的类型是否属于所述节点类型集合LS,以及每一个节点v是否满足所述类型约束集合S中的每一个类型约束;
第二判断单元,用于若所述异构网络G中的节点v的类型不属于所述节点类型集合LS,或者所述节点v不满足所述类型约束集合S中任意一个类型约束,则将所述节点v判定为非有效节点;
删除单元,用于将所述异构网络G中的所有非有效节点加入至待删除节点集合H中并进行删除,并将所述待删除节点集合H中的非有效节点与每一邻居节点组成对应的消息,加入至消息队列Q中;
迭代判断单元,用于根据所述类型约束集合S的每一类型约束迭代判断所述消息队列Q中是否产生了新的非有效节点,若是则将新的非有效节点删除,从而得到满足查询条件的社群。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于节点约束的异构网络社群检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的基于节点约束的异构网络社群检测方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010401730.8A CN111597396B (zh) | 2020-05-13 | 2020-05-13 | 异构网络社群检测方法、装置、计算机设备及存储介质 |
PCT/CN2020/092443 WO2021227130A1 (zh) | 2020-05-13 | 2020-05-27 | 异构网络社群检测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010401730.8A CN111597396B (zh) | 2020-05-13 | 2020-05-13 | 异构网络社群检测方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597396A CN111597396A (zh) | 2020-08-28 |
CN111597396B true CN111597396B (zh) | 2021-05-28 |
Family
ID=72185338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010401730.8A Active CN111597396B (zh) | 2020-05-13 | 2020-05-13 | 异构网络社群检测方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111597396B (zh) |
WO (1) | WO2021227130A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653765A (zh) * | 2020-12-24 | 2021-04-13 | 南京审计大学 | 一种基于社区重叠和内嵌分析的资源配置的方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631748A (zh) * | 2015-12-21 | 2016-06-01 | 西北工业大学 | 一种基于并行标签传播的异构网络社区发现方法 |
CN106357418A (zh) * | 2015-07-15 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种基于复杂网络的特征提取方法及装置 |
CN108009915A (zh) * | 2017-12-21 | 2018-05-08 | 连连银通电子支付有限公司 | 一种欺诈用户社区的标记方法及相关装置 |
CN108073944A (zh) * | 2017-10-18 | 2018-05-25 | 南京邮电大学 | 一种基于局部影响力的标签传播社区发现方法 |
CN108809709A (zh) * | 2018-06-06 | 2018-11-13 | 山东大学 | 一种基于节点亲密性与标签传播的社区发现方法 |
CN110334264A (zh) * | 2019-06-27 | 2019-10-15 | 北京邮电大学 | 一种针对异构动态信息网络的社区检测方法及装置 |
CN110457404A (zh) * | 2019-08-19 | 2019-11-15 | 电子科技大学 | 基于复杂异质网络的社交媒体账户分类方法 |
US10482268B1 (en) * | 2018-08-08 | 2019-11-19 | Capital One Services, Llc | Systems and methods for access management |
CN110611582A (zh) * | 2019-04-28 | 2019-12-24 | 中南大学 | 一种基于节点社会化的机会社会网络有效数据传输方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060463B1 (en) * | 2005-03-30 | 2011-11-15 | Amazon Technologies, Inc. | Mining of user event data to identify users with common interests |
US9722814B2 (en) * | 2013-07-26 | 2017-08-01 | Silver Springs Networks, Inc. | Techniques for routing from an endpoint with simultaneous associations to multiple networks |
CN103605793A (zh) * | 2013-12-04 | 2014-02-26 | 西安电子科技大学 | 基于遗传算法的异构社会网络社区检测方法 |
CN104378771B (zh) * | 2014-11-28 | 2018-11-23 | 北京农业信息技术研究中心 | 盲点预测农田时变异构网络节点部署与交互调度方法 |
CN106372239A (zh) * | 2016-09-14 | 2017-02-01 | 电子科技大学 | 一种基于异质网络的社交网络事件关联分析方法 |
CN109948000B (zh) * | 2019-01-09 | 2023-04-07 | 南方科技大学 | 异质网络的异常目标检测方法、装置、设备及存储介质 |
CN111126510A (zh) * | 2020-01-02 | 2020-05-08 | 深圳计算科学研究院 | 一种异构网络中相似度的计算方法及其相关组件 |
-
2020
- 2020-05-13 CN CN202010401730.8A patent/CN111597396B/zh active Active
- 2020-05-27 WO PCT/CN2020/092443 patent/WO2021227130A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357418A (zh) * | 2015-07-15 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种基于复杂网络的特征提取方法及装置 |
CN105631748A (zh) * | 2015-12-21 | 2016-06-01 | 西北工业大学 | 一种基于并行标签传播的异构网络社区发现方法 |
CN108073944A (zh) * | 2017-10-18 | 2018-05-25 | 南京邮电大学 | 一种基于局部影响力的标签传播社区发现方法 |
CN108009915A (zh) * | 2017-12-21 | 2018-05-08 | 连连银通电子支付有限公司 | 一种欺诈用户社区的标记方法及相关装置 |
CN108809709A (zh) * | 2018-06-06 | 2018-11-13 | 山东大学 | 一种基于节点亲密性与标签传播的社区发现方法 |
US10482268B1 (en) * | 2018-08-08 | 2019-11-19 | Capital One Services, Llc | Systems and methods for access management |
CN110611582A (zh) * | 2019-04-28 | 2019-12-24 | 中南大学 | 一种基于节点社会化的机会社会网络有效数据传输方法 |
CN110334264A (zh) * | 2019-06-27 | 2019-10-15 | 北京邮电大学 | 一种针对异构动态信息网络的社区检测方法及装置 |
CN110457404A (zh) * | 2019-08-19 | 2019-11-15 | 电子科技大学 | 基于复杂异质网络的社交媒体账户分类方法 |
Non-Patent Citations (1)
Title |
---|
面向异质信息网络的表示学习方法研究综述;周慧 等;《计算机科学与探索》;20190422;1081-1093 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021227130A1 (zh) | 2021-11-18 |
CN111597396A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110168523B (zh) | 改变监测跨图查询 | |
Lv et al. | An efficient and scalable density-based clustering algorithm for datasets with complex structures | |
US9798774B1 (en) | Graph data search method and apparatus | |
US10657282B2 (en) | Access controlled graph query spanning | |
Hompes et al. | Discovering deviating cases and process variants using trace clustering | |
US8918375B2 (en) | Content aware chunking for achieving an improved chunk size distribution | |
WO2018010491A1 (zh) | 一种生成业务路径的方法和装置 | |
Zhu et al. | K-core minimization: An edge manipulation approach | |
CN110719106B (zh) | 一种基于节点分类排序的社交网络图压缩方法及系统 | |
US20100169326A1 (en) | Method, apparatus and computer program product for providing analysis and visualization of content items association | |
JP6608972B2 (ja) | ソーシャルネットワークに基づいてグループを探索する方法、デバイス、サーバ及び記憶媒体 | |
Tran et al. | Real-time distance-based outlier detection in data streams | |
Cooper et al. | Some typical properties of the spatial preferred attachment model | |
JP2005078612A (ja) | ファイル共有システム及びファイル共有装置間のファイル移行方法 | |
WO2017185210A1 (zh) | 一种使用布隆过滤器过滤文件的方法及装置 | |
US9710470B2 (en) | Social recommendation across heterogeneous networks | |
CN111651641B (zh) | 一种图查询方法、装置及存储介质 | |
CN111597396B (zh) | 异构网络社群检测方法、装置、计算机设备及存储介质 | |
Li et al. | Cache-based gnn system for dynamic graphs | |
Patgiri et al. | Hunting the pertinency of bloom filter in computer networking and beyond: A survey | |
CN113282799B (zh) | 节点的操作方法、装置、计算机设备和存储介质 | |
Saha et al. | Memory and communication efficient algorithm for decentralized counting of nodes in networks | |
CN113572721A (zh) | 一种异常访问检测方法、装置、电子设备及存储介质 | |
US9542457B1 (en) | Methods for displaying object history information | |
Abdolazimi et al. | Connected components of big graphs in fixed mapreduce rounds |
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 |