CN104636978B - A kind of overlapping community detection method propagated based on multi-tag - Google Patents
A kind of overlapping community detection method propagated based on multi-tag Download PDFInfo
- Publication number
- CN104636978B CN104636978B CN201510076028.8A CN201510076028A CN104636978B CN 104636978 B CN104636978 B CN 104636978B CN 201510076028 A CN201510076028 A CN 201510076028A CN 104636978 B CN104636978 B CN 104636978B
- Authority
- CN
- China
- Prior art keywords
- node
- mrow
- community
- network
- core
- 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 23
- 230000000644 propagated effect Effects 0.000 title claims abstract description 16
- 238000010586 diagram Methods 0.000 claims abstract description 12
- 230000006854 communication Effects 0.000 claims abstract description 7
- 230000000052 comparative effect Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 17
- 238000009412 basement excavation Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 241000122205 Chamaeleonidae Species 0.000 description 1
- 235000013162 Cocos nucifera Nutrition 0.000 description 1
- 244000060011 Cocos nucifera Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012360 testing method Methods 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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention belongs to network data excavation technical field, and in particular to a kind of overlapping community detection method propagated based on multi-tag, comprise the following steps:Step A, construct social network diagram;Step B, analyze the coarse core of network;Step C, init Tag set;Step D, perform label and propagate;Step E, decompose discontinuous community.The method of the present invention fully takes into account the problem of density is linked between node, has higher accuracy and validity, and do not need hand input-data in label communication process.
Description
Technical field
The invention belongs to network data excavation technical field, and in particular to a kind of overlapping community inspection propagated based on multi-tag
Survey method.
Background technology
Data mining (Data Mining) refer to extract from mass data it is implicit, unknown, have potential using value
Information or pattern process.Community structure is excavated, it can be found that the organizational information implied in network, society
The interesting properties that can be implied between function and community member, such as common hobby.By studying in community network between community,
It is between individual and individual with intercommunal relation, a large amount of valuable information can be excavated, can be applied to many fields.
In the past decade, there is a series of community's detection algorithm.These algorithms can be divided into following several classes:
Community detection method based on density, the community detection method based on graph theory, based on modularity optimization clustering algorithm, based on mark
Sign community detection method propagated etc..
DBSCAN is a kind of representational community's detection algorithm based on density, can be concentrated in the spatial data of Noise fast
Speed finds that density exceedes the arbitrary shape clustering of given threshold value still, and parameter Eps and MinPts setting task are left for use by it
Family, and algorithm is more sensitive to parameter Eps.Vector data is modeled as figure by the Chameleon clustering algorithms based on graph theory, is passed through
Interconnectivity and approximation two indices are introduced to control the division of cluster and merging, it can be found that the arbitrary shape community of high quality.
Newman in 2004 and Grivin propose modularity function to assess corporations' clustering result quality.Modularity is defined as actually connecting in cluster
The difference for it is expected linking number under number and random connection in cluster is connect, for quantitatively portraying the quality of network clustering architecture.Grind
Study carefully personnel and propose some algorithms based on modularity optimization, such as FastModularity.In recent years, researcher starts with together
Step technology carries out the research of community's detection algorithm.It is synchronously the phenomenon of generally existing in nature, society, engineering, shows as difference
Process for the time uniformity.Researcher proposes some models that can effectively catch synchronous dynamic process, such as broad sense
Kuramoto models.Inspired by synchronia,Etc. proposing a kind of community detection algorithm Sync based on synchronization principles,
The cluster concentrated using synchronous dynamic model come detection data.A radius of neighbourhood is given, an object is using itself as the center of circle
A hyper-sphere neighborhood in all neighbor objects synchronous effect under produce displacement.Under the influence of nonlinear force,
Similar object will synchronously reach identical phase and form community.
Raghavan etc. proposes that label transmission method is used for community discovery, and the algorithm has linear time complexity, still
It is only used for non-overlapped community discovery.Steve Gregory propose that label communications is applied to overlapping community by COPRA algorithms
Excavation applications, military will sky waits afterwards proposes a kind of overlapping community's detection algorithm BMLPA algorithms of multi-tag of balance again.Chen Yu is medium
People applies for a patent " a kind of multi-tag in social networks propagates overlapping community discovery method ", using considering node center degree
And the label transmission method of label degree distribution constraint carries out community discovery, while different levels are calculated in label communication process
Label propagation gain between node.The presence of above-mentioned multi-tag transmission method need to be manually entered parameter, and not consider node
Between link density the shortcomings of.
The content of the invention
The defects of it is an object of the invention to exist for prior art and deficiency, there is provided it is a kind of based on multi-tag propagate
Overlapping community detection method, solving existing multi-tag transmission method needs to be manually entered parameter, and does not consider to link between node
The problems such as density.
To achieve the above object, the present invention uses following technical scheme:Comprise the following steps:Step A, construct social networks
Figure:Network data is read, is constructed using user as node, customer relationship is the social network diagram on side;
Step B, analyze the coarse core of network:According to social network diagram, and the degree of each node, social networks is analyzed
Coarse core set RoughCore;
Step C, init Tag set:The structure weights of each node of side two in social networks are calculated, with reference to obtained by step B
RoughCore results, initialize the tag set of each node, and judge each joint core state CoreStatus;
Step D, perform label and propagate:According to link density in whole social networks, the new tag set of each node is calculated,
Smaller degree of membership label is filtered according to joint core state CoreStatus simultaneously, obtains preliminary overlapping community's result;
Step E, decompose discontinuous community:Discontinuous community is decomposed into Duo Gezi societies in preliminary overlapping community's result
Area, obtain the overlapping community structure of final social networks.
Further, the analysis network rough kernel heart of the step B comprises the following steps:
Step B1, each node of network is ranked up according to the number of degrees, the node set vSetvSet after being sorted;
Step B2, the maximum nodes X of the number of degrees, and the neighbours of the X in vSet is subordinated to are selected from node set vSet
The maximum node Y of the number of degrees is selected in node, nodes X, Y are added in null set core;
Step B3, in the public neighborhood of core interior joints, the minimum node Z of the number of degrees is selected, Z is added to core
In;
Step B4, circulation perform B3, until the public-neighbor of core interior joints is 0;
Step B5, if core interior joints number be more than or equal to 3, the core interior joints form a coarse core, and from
All nodes in core are deleted in vSet;If core interior joints number is less than 3, the deletion of node X from vSet;
Step B6, step B2 is continued executing with, until vSet collection is combined into sky, obtain the coarse core set of social networks.
Further, the init Tag set of the step C specifically comprises the following steps:
Step C1, first network is described to link density in network using structure weights, calculate two nodes of each side (x, y)
Structure weights
Wherein τ (x) represents node x neighborhood, includes x and x neighbor node, kxRepresent node x degree;
Step C2, array source and coreStatus are initialized, for each node x in network, set
Source.x is empty set, coreStatus.x 1;
Wherein source stores each node label set, and each label is by (community marks comId, degree of membership b) compositions;
CoreStatus stores the kernel state of each node, is worth bigger expression and is more in core position;
Step C3, for each node y of each node x and its neighbor node set N (x) in RoughCore, identify it
Number of tags simultaneously determines core Status, and then the tag set of each node in network is normalized, ensures each node
All degree of membership sums be 1.
Further, the step C3 specifically includes following steps:
1) for each node x in RoughCore, traversal x neighbor node set N (x) each node y, put
CoreStatus.y is 3, while label (coreId (x), sw (x, y)) is merged into source.y;If source.y gets the bid
Sign number and be more than 1, then put coreStatus.y as 2;
The id of RoughCore where wherein coreId (x) expression nodes x;
2) for each node x in RoughCore, if the number of tags in source.x is equal to 1, source.x is reset
For label (coreId (x), 1.0), juxtaposition core Status.x are 4;
3) tag set of each node in network is normalized, all degree of membership sums for ensureing each node are
1。
Further, the step C2 kernel state core Status:
Wherein RoughCoreiRepresent i-th of coarse core, N (RoughCore in coarse core set Roughcorei) table
Show and include RoughCoreiNeighborhood.
Further, the execution label of the step D is propagated and specifically includes following steps:
Step D1, set i=0, i to represent iterations, the tag set of each node, such as source.x are stored in source
Comprising set { (c1, b1), (c2, b2) ... },
Wherein c1, c2 represent community number, and b1, b2 represent that node x is subordinated to community c1, c2 degree of membership;
Step D2, makes i=i+1, simultaneously for arbitrary node x in network, calculates in x new label and is subordinated to community c
Degree of membership:
Wherein bi(c, x) expression node x in i iteration is subordinated to community c degree of membership, and N (x) represents node x neighbour
Occupy node set;
Step D3, for arbitrary node x in network, calculate the degree of membership summation b of its subordinate communitysum(x) it is subordinate to maximum
Spend bmax(x);
Step D4, for arbitrary node x in network, according to node x kernel state coreStatus, comparative example parameter p
Assignment;
Wherein, kx、k′avg、k′maxRepresent the average number of degrees in network in the x nodes number of degrees, x neighborhoods, the maximum in x neighborhoods
The number of degrees;
Step D5, for each label (c, b) in arbitrary node x tag set in network, if
The label (c, b), while b are then deleted from tag setsum(x) value subtracts b;
Step D6, the tag set of each node in network is normalizedEnsure each node institute
It is 1 to have degree of membership sum;
Step D7, if the tag set of node changes, go to step D2;Otherwise, terminate communication process to obtain just
Walk overlapping community's result.
Further, the discontinuous community of decomposition of the step E comprises the following steps:
E1:All nodes in one community C are set to non-search condition;
E2:The node is set to search condition by a node in optional remaining node as start node.Using depth
Degree first search algorithm finds all connection nodes of the start node, and these connection nodes of juxtaposition are to have searched for;
E3:If all nodes are search condition, then it represents that community C is a continuous community, is terminated;Otherwise, by society
The node searched for is set in area C and is set to a new sub- community, and these search nodes are deleted from community C, continues to hold
Row step E2, finally give the overlapping community structure of social networks.
Compared with prior art, the present invention has technique effect beneficial below:The method of the present invention, reads network first
Data, construct using user as node, customer relationship is the social network diagram on side;Then according to social network diagram, and each node
Degree, analyze the coarse core RoughCore of network;Then in calculating network each node of side two structure weights, with reference to
RoughCore results, initialize the tag set of each node, and judge each joint core state CoreStatus;Again whole
According to link density in network, the new tag set of each node is calculated, while according to joint core state CoreStatus to smaller
Degree of membership label is filtered, and obtains preliminary overlapping community's result;Finally by discontinuous community in preliminary overlapping community's result
Duo Gezi communities are decomposed into, obtain final overlapping community structure.The method of the present invention links density between fully taking into account node
The problem of, there is higher accuracy and validity, and hand input-data is not needed in label communication process.
Brief description of the drawings
Fig. 1 is the implementation process figure of the present invention;
Fig. 2 is step B of the present invention implementation process figure;
Fig. 3 is step C of the present invention implementation process figure;
Fig. 4 is step D of the present invention implementation process figure.
Embodiment
The present invention is described in further detail below in conjunction with the accompanying drawings.
Referring to Fig. 1, the overlapping community detection method provided by the invention propagated based on multi-tag, comprise the following steps:
Step A, construct social network diagram:Network data is read, is constructed using user as node, customer relationship is the social activity on side
Network.
Such as micro blog network, using each microblog users as a node in social networks, the pass between user
Note relation, comment relation are as a line in social networks;For collaborative network, using each author as one in network
Node, the cooperation relation for delivering article jointly using two authors are used as a line in social networks.Using sparse matrix
The adjacency matrix of data structure storage social network diagram.
Step B, analyze the coarse core of network:According to social network diagram, and the degree of each node, social networks is analyzed
Coarse core RoughCore;RoughCore represents the core in network, multiple cores be present in network, thus can obtain multiple
RoughCore.And each RoughCore is only the non-maximum factions of network, thus referred to as coarse core.
Referring to Fig. 2, the step B analysis network rough kernel heart comprises the following steps:
Step B1, each node of network is ranked up according to the number of degrees, the node set vSetvSet after being sorted;
Step B2, the maximum nodes X of the number of degrees, and the neighbours of the X in vSet is subordinated to are selected from node set vSet
The maximum node Y of the number of degrees is selected in node, nodes X, Y are added in null set core;
Step B3, in the public neighborhood of core interior joints, the minimum node Z of the number of degrees is selected, Z is added to core
In;
Step B4, circulation perform B3, until the public-neighbor of core interior joints is 0;
Step B5, if core interior joints number is more than or equal to 3, the core interior joints form a coarse core
RoughCore, and all nodes in core are deleted from vSet;If core interior joints number is less than 3, the deletion of node from vSet
X;
Step B6, step B2 is continued executing with, until vSet collection is combined into sky, obtain the coarse core set of social networks
RoughCore。
Step C, init Tag set:The structure weights of each node of side two in social networks are calculated, with reference to obtained by step B
RoughCore results, initialize the tag set of each node, and judge each joint core state CoreStatus;
CoreStatus represents that the node is only subordinated to a roughCore, is subordinated to multiple initial communities, still not from
Belong to any initial community.The bigger expression of CoreStatus values, more in core node.
Referring to Fig. 3, step C init Tag set specifically comprises the following steps:
Step C1, first network is described to link density in network using structure weights, calculate two nodes of each side (x, y)
Structure weights
Wherein τ (x) represents node x neighborhood, includes x and x neighbor node, kxRepresent node x degree;
Step C2, array source and coreStatus are initialized, for each node x in network, set
Source.x is empty set, coreStatus.x 1;
Wherein source stores each node label set, and each label is by (community marks comId, degree of membership b) compositions;
CoreStatus stores the kernel state of each node, is worth bigger expression and is more in core position;
Wherein RoughCoreiRepresent i-th of coarse core, N (RoughCorei) represent to include RoughCoreiNeighborhood.
CoreStatus values are 4, represent that the node is only subordinated in a Rough Core;CoreStatu values are 3, table
Show that the node is only subordinated to initial community's (including neighborhood of a Rough Core and its neighbor node);coreStatus
It is worth for 2, it is two initial communities overlapping region to represent the node;CoreStatus values are 1, and it is any to represent that the node is not subordinated to
Initial community.
Step C3, for each node x in RoughCore, traversal x neighbor node set N (x) each node y, put
CoreStatus.y is 3, while label (coreId (x), sw (x, y)) is merged into source.y;If source.y gets the bid
Sign number and be more than 1, then put coreStatus.y as 2;
The id of RoughCore where wherein coreId (x) expression nodes x;
Step C4,, will if the number of tags in source.x is equal to 1 for each node x in RoughCore
Source.x resets to label (coreId (x), 1.0), and juxtaposition core Status.x are 4;
Step C5, the tag set of each node in network is normalized, ensures all degrees of membership of each node
Sum is 1.
Step D, perform label and propagate:According to link density in whole social networks, the new tag set of each node is calculated,
Smaller degree of membership label is filtered according to joint core state CoreStatus simultaneously, obtains preliminary overlapping community's result.
Referring to Fig. 4, step D execution label, which is propagated, specifically includes following steps:
Step D1, set i=0, i to represent iterations, the tag set of each node, such as source.x are stored in source
Comprising set { (c1, b1), (c2, b2) ... },
Wherein c1, c2 represent community number, and b1, b2 represent that node x is subordinated to community c1, c2 degree of membership;
Step D2, makes i=i+1, simultaneously for arbitrary node x in network, calculates in x new label and is subordinated to community c
Degree of membership:
Wherein bi(c, x) expression node x in i iteration is subordinated to community c degree of membership, and N (x) represents node x neighbour
Occupy node set;
Step D3, for arbitrary node x in network, calculate the degree of membership summation b of its subordinate communitysum(x) it is subordinate to maximum
Spend bmax(x);
Step D4, for arbitrary node x in network, according to node x kernel state coreStatus, comparative example parameter p
Assignment;
Wherein, kx、k′avg、k′maxRepresent the average number of degrees in network in the x nodes number of degrees, x neighborhoods, the maximum in x neighborhoods
The number of degrees.
When utilization structure weights description link density, and structure weights are added in tag computation, ratio is set as above
Parameter p can obtain optimal community's testing result.
Step D5, for each label (c, b) in arbitrary node x tag set in network, if
The label (c, b), while b are then deleted from tag setsum(x) value subtracts b;
Step D6, the tag set of each node in network is normalizedEnsure each node institute
It is 1 to have degree of membership sum;
Step D7, if the tag set of node changes, go to step D2;Otherwise, terminate communication process to obtain just
Walk overlapping community's result.
Step E, decompose discontinuous community:Discontinuous community is decomposed into Duo Gezi societies in preliminary overlapping community's result
Area, obtain the overlapping community structure of final social networks;Specifically include following steps:
E1:All nodes in one community C are set to non-search condition;
E2:The node is set to search condition by a node in optional remaining node as start node.Using depth
Degree first search algorithm finds all connection nodes of the start node, and these connection nodes of juxtaposition are to have searched for;
E3:If all nodes are search condition, then it represents that community C is a continuous community, is terminated;Otherwise, by society
The node searched for is set in area C and is set to a new sub- community, and these search nodes are deleted from community C, continues to hold
Row step E2, finally give the overlapping community structure of social networks.
Community is traveled through using depth optimization algorithm when decomposing sub- community., should if some community is continuous community
All nodes in community can travel through, and be otherwise discontinuous community.For discontinuous community, the node set traveled through is divided into
New sub- community, continue to travel through remaining node until all nodes are divided into new sub- community.
The community detection method based on dynamic synchronization model in social networks of the present invention, community's detection is divided into
Tectonic network figure, the coarse core of analysis, init Tag set, execution label are propagated, decompose five stages such as discontinuous community.
Network data is read first, is constructed using user as node, and customer relationship is the social network diagram on side;Then according to social networks
Figure, and the degree of each node, analyze the coarse core set RoughCore of network;Then each node of side two in calculating network
Structure weights, with reference to RoughCore results, initialize the tag set of each node, and judge each joint core state
CoreStatus;The new tag set of each node is calculated according to link density in the entire network again, while according to joint core shape
State CoreStatus filters to smaller degree of membership label, obtains preliminary overlapping community's result;Finally in preliminary overlapping community
As a result discontinuous community is decomposed into Duo Gezi communities in, obtains final overlapping community structure.
Claims (7)
1. a kind of overlapping community detection method propagated based on multi-tag, it is characterised in that comprise the following steps:Step A, construction
Social network diagram:Network data is read, is constructed using user as node, customer relationship is the social network diagram on side;
Step B, analyze the coarse core of network:According to social network diagram, and the degree of each node, the coarse of social networks is analyzed
Core set RoughCore;
Step C, init Tag set:The structure weights of each node of side two in social networks are calculated, with reference to obtained by step B
RoughCore results, initialize the tag set of each node, and judge each joint core state CoreStatus;
Step D, perform label and propagate:According to link density in whole social networks, the new tag set of each node is calculated, simultaneously
Smaller degree of membership label is filtered according to joint core state CoreStatus, obtains preliminary overlapping community's result;
Step E, decompose discontinuous community:Discontinuous community is decomposed into Duo Gezi communities in preliminary overlapping community's result, obtained
To the final overlapping community structure of social networks.
2. a kind of overlapping community detection method propagated based on multi-tag according to claim 1, it is characterised in that described
The step B analysis network rough kernel heart comprises the following steps:
Step B1, each node of network is ranked up according to the number of degrees, the node set vSetvSet after being sorted;
Step B2, the maximum nodes X of the number of degrees, and the neighbor node of the X in vSet is subordinated to are selected from node set vSet
The maximum node Y of the middle selection number of degrees, nodes X, Y are added in null set core;
Step B3, in the public neighborhood of core interior joints, the minimum node Z of the number of degrees is selected, Z is added in core;
Step B4, circulation perform B3, until the public-neighbor of core interior joints is 0;
Step B5, if core interior joints number is more than or equal to 3, the core interior joints form a coarse core, and from vSet
Delete all nodes in core;If core interior joints number is less than 3, the deletion of node X from vSet;
Step B6, step B2 is continued executing with, until vSet collection is combined into sky, obtain the coarse core set of social networks.
3. a kind of overlapping community detection method propagated based on multi-tag according to claim 2, it is characterised in that described
Step C init Tag set specifically comprises the following steps:
Step C1, first network is described to link density in network using structure weights, calculate the knot of two nodes of each side (x, y)
Structure weights
<mrow>
<mi>sw</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mo>|</mo>
<mi>&tau;</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>&cap;</mo>
<mi>&tau;</mi>
<mrow>
<mo>(</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
<mrow>
<mo>|</mo>
<mi>&tau;</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>&cup;</mo>
<mi>&tau;</mi>
<mrow>
<mo>(</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
</mfrac>
<mo>&CenterDot;</mo>
<mfrac>
<mrow>
<msub>
<mi>k</mi>
<mi>x</mi>
</msub>
<mo>+</mo>
<msub>
<mi>k</mi>
<mi>y</mi>
</msub>
</mrow>
<mrow>
<mn>2</mn>
<mo>*</mo>
<msub>
<mi>k</mi>
<mi>max</mi>
</msub>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
Wherein τ (x) represents node x neighborhood, includes x and x neighbor node, kxRepresent node x degree;
Step C2, array source and coreStatus are initialized, for each node x in network, setting source.x is
Empty set, coreStatus.x 1;
Wherein source stores each node label set, and each label is by (community marks comId, degree of membership b) compositions;
CoreStatus stores the kernel state of each node, is worth bigger expression and is more in core position;
Step C3, for each node y of each node x and its neighbor node set N (x) in RoughCore, identify its label
Count and determine core Status, then the tag set of each node in network is normalized, ensures the institute of each node
It is 1 to have degree of membership sum.
4. a kind of overlapping community detection method propagated based on multi-tag according to claim 3, it is characterised in that described
Step C3 specifically includes following steps:
1) for each node x in RoughCore, traversal x neighbor node set N (x) each node y, put
CoreStatus.y is 3, while label (coreId (x), Sw (x, y)) is merged into source.y;If source.y gets the bid
Sign number and be more than 1, then put coreStatus.y as 2;
The id of RoughCore where wherein coreId (x) expression nodes x;
2) for each node x in RoughCore, if the number of tags in source.x is equal to 1, source.x is reset into mark
Sign (coreId (x), 1.0), juxtaposition core Status.x are 4;
3) tag set of each node in network is normalized, all degree of membership sums for ensureing each node are 1.
A kind of 5. overlapping community detection method propagated based on multi-tag according to claim 3 or 4, it is characterised in that
The step C2 kernel state core Status:
Wherein RoughCoreiRepresent i-th of coarse core, N (RoughCore in coarse core set Roughcorei) represent bag
Containing RoughCoreiNeighborhood.
6. a kind of overlapping community detection method propagated based on multi-tag according to claim 2, it is characterised in that described
Step D execution label is propagated and specifically includes following steps:
Step D1, set i=0, i to represent iterations, the tag set of each node is stored in source, as source.x is included
Gather { (c1, b1), (c2, b2) ... },
Wherein c1, c2 represent community number, and b1, b2 represent that node x is subordinated to community c1, c2 degree of membership;
Step D2, makes i=i+1, simultaneously for arbitrary node x in network, calculates the person in servitude that community c is subordinated in x new label
Category degree:
<mrow>
<msub>
<mi>b</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mo>,</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&Sigma;</mi>
<mrow>
<mi>y</mi>
<mo>&Element;</mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
<mi>sw</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>|</mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
</mfrac>
</mrow>
Wherein bi(c, x) expression node x in i iteration is subordinated to community c degree of membership, and N (x) represents node x neighbor node
Set;
Step D3, for arbitrary node x in network, calculate the degree of membership summation b of its subordinate communitysumAnd maximum membership degree (x)
bmax(x);
Step D4, for arbitrary node x in network, according to node x kernel state coreStatus, comparative example parameter p assignment;
Wherein, kx、k′avg、k′maxRepresent the average number of degrees in network in the x nodes number of degrees, x neighborhoods, the maximum number of degrees in x neighborhoods;
Step D5, for each label (c, b) in arbitrary node x tag set in network, ifThen
The label (c, b), while b are deleted from tag setsum(x) value subtracts b;
Step D6, the tag set of each node in network is normalizedEnsure all persons in servitude of each node
Category degree sum is 1;
Step D7, if the tag set of node changes, go to step D2;Otherwise, terminate communication process tentatively to be weighed
Folded community's result.
7. a kind of overlapping community detection method propagated based on multi-tag according to claim 1, it is characterised in that described
The step E discontinuous community of decomposition comprises the following steps:
E1:All nodes in one community C are set to non-search condition;
E2:The node is set to search condition as start node by a node in optional remaining node, excellent using depth
First searching algorithm finds all connection nodes of the start node, and these connection nodes of juxtaposition are to have searched for;
E3:If all nodes are search condition, then it represents that community C is a continuous community, is terminated;Otherwise, by community C
It is set to the node searched for and is set to a new sub- community, and these search nodes are deleted from community C, continues executing with step
E2, finally give the overlapping community structure of social networks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510076028.8A CN104636978B (en) | 2015-02-12 | 2015-02-12 | A kind of overlapping community detection method propagated based on multi-tag |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510076028.8A CN104636978B (en) | 2015-02-12 | 2015-02-12 | A kind of overlapping community detection method propagated based on multi-tag |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636978A CN104636978A (en) | 2015-05-20 |
CN104636978B true CN104636978B (en) | 2017-11-14 |
Family
ID=53215689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510076028.8A Active CN104636978B (en) | 2015-02-12 | 2015-02-12 | A kind of overlapping community detection method propagated based on multi-tag |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636978B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107240028B (en) * | 2017-05-03 | 2020-09-15 | 同济大学 | Overlapped community detection method in complex network of Fedora system component |
CN107659467B (en) * | 2017-09-26 | 2020-03-17 | 云南大学 | Community detection method based on alliance formation game in dynamic social network |
CN108133234B (en) * | 2017-12-21 | 2021-03-16 | 广东工业大学 | Sparse subset selection algorithm-based community detection method, device and equipment |
CN110309419A (en) * | 2018-05-14 | 2019-10-08 | 桂林远望智能通信科技有限公司 | A kind of overlapping anatomic framework method for digging and device propagated based on balance multi-tag |
CN109543077B (en) * | 2018-10-16 | 2020-07-31 | 清华大学 | Community search method |
CN109379282B (en) * | 2018-10-25 | 2020-11-13 | 浙江工业大学 | Network community detection method based on multi-label propagation |
CN110427569B (en) * | 2019-07-30 | 2021-09-24 | 西南交通大学 | Improved density peak value overlapping community discovery method based on rough set theory |
CN113761305B (en) * | 2020-06-03 | 2024-07-16 | 北京沃东天骏信息技术有限公司 | Method and device for generating label hierarchical structure |
CN112967146B (en) * | 2021-02-03 | 2023-08-04 | 北京航空航天大学 | Scientific research community discovery method and device based on label propagation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103327092A (en) * | 2012-11-02 | 2013-09-25 | 中国人民解放军国防科学技术大学 | Cell discovery method and system on information networks |
CN103729475A (en) * | 2014-01-24 | 2014-04-16 | 福州大学 | Multi-label propagation discovery method of overlapping communities in social network |
CN104166731A (en) * | 2014-08-29 | 2014-11-26 | 河海大学常州校区 | Discovering system for social network overlapped community and method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990209B2 (en) * | 2012-09-06 | 2015-03-24 | International Business Machines Corporation | Distributed scalable clustering and community detection |
-
2015
- 2015-02-12 CN CN201510076028.8A patent/CN104636978B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103327092A (en) * | 2012-11-02 | 2013-09-25 | 中国人民解放军国防科学技术大学 | Cell discovery method and system on information networks |
CN103729475A (en) * | 2014-01-24 | 2014-04-16 | 福州大学 | Multi-label propagation discovery method of overlapping communities in social network |
CN104166731A (en) * | 2014-08-29 | 2014-11-26 | 河海大学常州校区 | Discovering system for social network overlapped community and method thereof |
Non-Patent Citations (1)
Title |
---|
"高度重叠社区的社区合并优化算法";武志昊 等;《北京交通大学学报》;20110615;第35卷(第3期);第116-122页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104636978A (en) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104636978B (en) | A kind of overlapping community detection method propagated based on multi-tag | |
da Fontoura Costa et al. | Hierarchical characterization of complex networks | |
De Meo et al. | Enhancing community detection using a network weighting strategy | |
CN103325061B (en) | A kind of community discovery method and system | |
Bu et al. | A fast parallel modularity optimization algorithm (FPMQA) for community detection in online social network | |
Lou et al. | Detecting community structure using label propagation with weighted coherent neighborhood propinquity | |
CN111737535B (en) | Network characterization learning method based on element structure and graph neural network | |
Saganowski et al. | Analysis of group evolution prediction in complex networks | |
Li et al. | Multi-layer network community detection model based on attributes and social interaction intensity | |
Laassem et al. | Label propagation algorithm for community detection based on Coulomb’s law | |
Dai et al. | Hypergraph Computation | |
Domingues et al. | Identification of city motifs: a method based on modularity and similarity between hierarchical features of urban networks | |
Khouzani et al. | Identification of the effects of the existing network properties on the performance of current community detection methods | |
CN104462480B (en) | Comment big data method for digging based on typicalness | |
Chen et al. | Mining consensus preference graphs from users' ranking data | |
Liu et al. | A compression-based multi-objective evolutionary algorithm for community detection in social networks | |
Golsefid et al. | Fuzzy duocentric community detection model in social networks | |
CN116055333A (en) | Network key group identification method based on high-order structure | |
Sikarwar et al. | A Review on Social Network Analysis Methods and Algorithms | |
Knyazeva et al. | Topological data analysis approach for weighted networks embedding | |
Esmaeilpour et al. | Cellular learning automata for mining customer behaviour in shopping activity | |
Triana et al. | Knapsack problem solving using evolutionary algorithms guided by complex networks | |
Ferreira et al. | A scalability approach based on multilevel optimization for link prediction methods | |
CN109634967A (en) | A kind of Top-K Similarity matching method towards unconnected graph | |
Kadem | Enhancing Community Detection Using Maximal and Maximum Cliques into Hierarchical Algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |