Overlapping community discovery method and device, equipment and storage medium
By using the target vector representation and label propagation algorithm of node attribute information in the community discovery method, the problem of low accuracy of community discovery in the prior art is solved, and accurate discovery and efficient algorithms for overlapping communities in the attribute network are realized.
Patent Information
- Application Number
- CN202311233588.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-21
- Publication Date
- 2025-03-25
AI Technical Summary
In the prior art, community discovery methods rely only on topological characteristics, resulting in low accuracy of community discovery and inability to effectively discover overlapping communities in attribute networks.
By determining the preset information and tags of the node based on the node attribute information, and executing the tag propagation algorithm in combination with the basic representation of the network, overlapping communities in the target network are discovered.
Compared with traditional methods, the dimension of tag information is expanded, overlapping communities in the attribute network with nodes can be more accurately discovered, and the complexity of the algorithm is reduced, and efficiency needs in practical applications are met.
Smart Images

Figure CN119693170A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of social network, and in particular to an overlapping community discovery method, apparatus, device and storage medium. Background Art
[0002] Social networks are networks formed based on the relationships between people. Studying the characteristics of social networks can help us understand people's living habits, shopping habits, etc., and can provide information and means for future related research and applications. Detecting community structure from social networks is an important task in social network research. Specifically, in the community structure of complex network systems, nodes shared by different communities are called overlapping nodes, and communities containing overlapping nodes are called overlapping communities. Discovering overlapping communities in complex networks is of great value to network data mining and practical scenario applications.
[0003] However, the inventors discovered during the implementation of the present disclosure that the community discovery methods in the related art (eg, methods based on label propagation, etc.) only analyze the potential characteristics in the network based on topology, resulting in low accuracy of the community discovery methods. Summary of the invention
[0004] In order to overcome the problems existing in the related art, the embodiments of the present disclosure provide an overlapping community discovery method, apparatus, device and storage medium to solve the defects in the related art.
[0005] According to a first aspect of an embodiment of the present disclosure, a method for discovering overlapping communities is provided, the method comprising:
[0006] In response to acquiring the target network, determining a target vector representation of the target network based on node attribute information of each node in the target network;
[0007] Determining preset node information of each node in the target network based on the target vector representation;
[0008] Determine a label of each node based on the preset node information;
[0009] A label propagation algorithm is performed based on the labels and a network basic representation of the target network to obtain overlapping communities in the target network.
[0010] In some embodiments, determining the target vector representation of the target network based on the node attribute information of each node in the target network includes:
[0011] The node attribute information of each node is input into a pre-trained deep learning model to obtain a target vector representation of the target network.
[0012] In some embodiments, the deep learning model includes a model of an encoder-decoder structure;
[0013] The step of inputting the node attribute information of each node into a pre-trained deep learning model to obtain a target vector representation of the target network includes:
[0014] Inputting the node attribute information of each node into the encoder of the deep learning model for encoding, and obtaining a hidden representation of the output information of the encoder;
[0015] Inputting the hidden representation into a decoder of the deep learning model for decoding to obtain output information of the decoder;
[0016] Constructing a target loss function based on the output information of the decoder;
[0017] The target vector representation is obtained by optimizing the target loss function.
[0018] In some embodiments, constructing a target loss function based on the output information of the decoder includes:
[0019] Based on the output information, a first sub-loss function and a second sub-loss function are respectively constructed, wherein the first sub-loss function is used to constrain the similarity between two adjacent nodes in the target network, and the second sub-loss function is used to constrain the similarity between adjacent nodes of two adjacent nodes in the target network;
[0020] The target loss function is constructed based on the first sub-loss function and the second sub-loss function.
[0021] In some embodiments, the preset node information includes node importance and node intimacy, wherein the node importance is used to describe the probability of each node being a potential community center, and the node intimacy is used to describe the connection strength between each node and other nodes in the target network;
[0022] The determining the preset node information of each node in the target network based on the target vector representation includes:
[0023] Determining the node importance of each node based on the degree of each node and the number of triangle structures formed by each node and its adjacent nodes, wherein the degree of each node and the number of triangle structures are determined based on the target vector representation;
[0024] Based on the representation vectors of each node and the other nodes and the dimensions of the vectors, the node intimacy between each node and the other nodes is determined using a preset similarity principle.
[0025] In some embodiments, determining the label of each node based on the preset node information includes:
[0026] Based on the preset node information, a label set and a main label are generated for each node. The main label uniquely corresponds to the node to which it belongs, and the main label will change during the iteration process.
[0027] In some embodiments, the method further includes determining a target vector matrix as a network basic representation of the target network based on the following manner:
[0028] In response to a connection relationship between a first node and a second node in the target network, determining that a first vector value corresponding to the first node and the second node in the target vector matrix is 1;
[0029] In response to the fact that there is no connection relationship between the third node and the fourth node in the target network, a second vector value corresponding to the third node and the fourth node in the target vector matrix is determined to be 0.
[0030] In some embodiments, the performing a label propagation algorithm based on the label and the network basic representation of the target network to obtain overlapping communities in the target network includes:
[0031] Based on the preset node information and the preset sorting method, sort the nodes to obtain a sorting result;
[0032] Determine the probability that each node tends to a community based on the influence information of the label of the preset node on each node;
[0033] Determine a membership coefficient of each node to a target community based on a preset community discovery algorithm and the network basic representation, and determine an update expression of each node based on the membership coefficient, wherein the membership coefficient is used to represent a probability that each node belongs to the target community;
[0034] Iteratively optimize the update expression based on the sorting result to obtain the label of the community to which each node belongs;
[0035] Overlapping nodes are determined based on labels of the communities to which the nodes belong, and communities having the overlapping nodes are determined as overlapping communities.
[0036] In some embodiments, the iterative optimization of the update expression based on the sorting result to obtain the label of the community to which each node belongs includes:
[0037] In response to determining the label of the community to which the current node belongs among the nodes, deleting other labels that do not meet the conditions for the current node;
[0038] The membership coefficients of the remaining tags are standardized so that the remaining tags meet the preset conditions after multiple iterations.
[0039] According to a second aspect of an embodiment of the present disclosure, a device for discovering overlapping communities is provided, the device comprising:
[0040] A network vector representation module, configured to determine a target vector representation of the target network based on node attribute information of each node in the target network in response to acquiring the target network;
[0041] A node information determination module, used to determine preset node information of each node in the target network based on the target vector representation;
[0042] A node label determination module, used to determine the label of each node based on the preset node information;
[0043] The overlapping community acquisition module is used to execute a label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network.
[0044] In some embodiments, the network vector representation module is further used to input the node attribute information of each node into a pre-trained deep learning model to obtain a target vector representation of the target network.
[0045] In some embodiments, the deep learning model includes a model of an encoder-decoder structure;
[0046] The network vector representation module comprises:
[0047] A hidden representation acquisition unit, used for inputting the node attribute information of each node into the encoder of the deep learning model for encoding, and obtaining a hidden representation of the output information of the encoder;
[0048] An output information acquisition unit, used for inputting the hidden representation into a decoder of the deep learning model for decoding to obtain output information of the decoder;
[0049] A loss function construction unit, used to construct a target loss function based on the output information of the decoder;
[0050] The network vector representation unit is used to obtain the target vector representation by optimizing the target loss function.
[0051] In some embodiments, the loss function construction unit is further used to:
[0052] Based on the output information, a first sub-loss function and a second sub-loss function are respectively constructed, wherein the first sub-loss function is used to constrain the similarity between two adjacent nodes in the target network, and the second sub-loss function is used to constrain the similarity between adjacent nodes of two adjacent nodes in the target network;
[0053] The target loss function is constructed based on the first sub-loss function and the second sub-loss function.
[0054] In some embodiments, the preset node information includes node importance and node intimacy, wherein the node importance is used to describe the probability of each node being a potential community center, and the node intimacy is used to describe the connection strength between each node and other nodes in the target network;
[0055] The node information determination module includes:
[0056] an importance determination unit, configured to determine the node importance of each node based on the degree of each node and the number of triangle structures formed by each node and its adjacent nodes, wherein the degree of each node and the number of triangle structures are determined based on the target vector representation;
[0057] The intimacy determination unit is used to determine the node intimacy between each node and the other nodes based on the representation vectors of each node and the dimensions of the vectors and using a preset similarity principle.
[0058] In some embodiments, the node label determination module is further used to generate a label set and a main label for each node based on the preset node information. The main label uniquely corresponds to the node to which it belongs, and the main label will change during the iteration process.
[0059] In some embodiments, the apparatus further comprises a basic representation determination module, the basic representation determination module being used to determine a target vector matrix as a network basic representation of the target network;
[0060] The basic representation determination module comprises:
[0061] A first determining unit is configured to determine that a first vector value corresponding to the first node and the second node in the target vector matrix is 1 in response to a connection relationship between the first node and the second node in the target network;
[0062] The second determining unit is configured to determine that a second vector value corresponding to the third node and the fourth node in the target vector matrix is 0 in response to the fact that there is no connection relationship between the third node and the fourth node in the target network.
[0063] In some embodiments, the overlapping community acquisition module includes:
[0064] A node sorting unit, used to sort the nodes based on the preset node information and the preset sorting method to obtain a sorting result;
[0065] A probability determination unit, configured to determine the probability that each node tends to a community based on the influence information of the label of the preset node on each node;
[0066] A node expression unit, configured to determine a membership coefficient of each node to a target community based on a preset community discovery algorithm and the network basic representation, and to determine an updated expression of each node based on the membership coefficient, wherein the membership coefficient is used to represent a probability that each node belongs to the target community;
[0067] A label optimization unit, configured to iteratively optimize the update expression based on the sorting result to obtain a label of the community to which each node belongs;
[0068] The community determining unit is configured to determine overlapping nodes based on labels of the communities to which the nodes belong, and determine the communities having the overlapping nodes as overlapping communities.
[0069] In some embodiments, the label optimization unit is further configured to:
[0070] In response to determining the label of the community to which the current node belongs among the nodes, deleting other labels that do not meet the conditions for the current node;
[0071] The membership coefficients of the remaining tags are standardized so that the remaining tags meet the preset conditions after multiple iterations.
[0072] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, the device comprising:
[0073] a processor and a memory for storing a computer program;
[0074] Wherein, the processor is configured to implement, when executing the computer program:
[0075] In response to acquiring the target network, determining a target vector representation of the target network based on node attribute information of each node in the target network;
[0076] Determining preset node information of each node in the target network based on the target vector representation;
[0077] Determine a label of each node based on the preset node information;
[0078] A label propagation algorithm is performed based on the labels and a network basic representation of the target network to obtain overlapping communities in the target network.
[0079] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the following is implemented:
[0080] In response to acquiring the target network, determining a target vector representation of the target network based on node attribute information of each node in the target network;
[0081] Determining preset node information of each node in the target network based on the target vector representation;
[0082] Determine a label of each node based on the preset node information;
[0083] A label propagation algorithm is performed based on the labels and a network basic representation of the target network to obtain overlapping communities in the target network.
[0084] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0085] The present disclosure determines a target vector representation of the target network based on node attribute information of each node in the target network in response to acquiring a target network, determines preset node information of each node in the target network based on the target vector representation, and determines labels of each node based on the preset node information, and then executes a label propagation algorithm based on the labels and a basic network representation of the target network to obtain overlapping communities in the target network. Since the labels of each node are determined based on the preset node information of each node in the target network and the target vector representation of the target network, compared with overlapping community discovery schemes in related technologies that are only characterized by topology, the dimension of label information can be expanded, and thus overlapping communities can be discovered for attribute networks with attribute information on nodes. Moreover, compared with algorithms based on density peak and other algorithms in related technologies, the complexity of the algorithm can be reduced, thereby meeting the requirements for algorithm efficiency in practical applications.
[0086] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0087] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0088] Figure 1A is a flowchart of an overlapping community discovery method according to an exemplary embodiment of the present disclosure;
[0089] Figure 1B is a schematic diagram of a scenario of an overlapping community discovery method according to an exemplary embodiment of the present disclosure;
[0090] Figure 2 is a flowchart showing how to input the node attribute information of each node into a pre-trained deep learning model to obtain a target vector representation of the target network according to an exemplary embodiment of the present disclosure;
[0091] Figure 3 is a flowchart showing how to execute a label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network according to an exemplary embodiment of the present disclosure;
[0092] Figure 4 is a block diagram of an overlapping community discovery device according to an exemplary embodiment of the present disclosure;
[0093] Figure 5 is a block diagram of another overlapping community discovery device according to an exemplary embodiment of the present disclosure;
[0094] Figure 6 It is a block diagram of an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0095] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0096] A social network is a network formed by the relationships between people, which can be friendships, colleagues, hobbies, media, etc. Studying the characteristics of social networks can help us understand people's living habits, shopping habits, etc., and can provide information and means for future related research and applications. Detecting community structure from social networks is an important task in social network research.
[0097] Many studies have shown that there are overlapping areas between communities, and these overlapping areas are the key to communication and connection between communities. In the community structure of a complex network system, nodes shared by different communities are called overlapping nodes, and communities containing overlapping nodes are called overlapping communities. It can be seen that overlapping nodes can belong to multiple communities in a complex network system. For example, a citation network represents the mutual citation relationship between papers, and an article can analyze and explore methods and ideas in different fields. Mining the community structure in the citation network can not only obtain the connection between various fields, but also analyze the cooperation between scientists and the development trends and overviews of various fields. Therefore, discovering overlapping communities in complex networks is of great value in network data mining and practical scenario applications.
[0098] However, the inventors discovered in the process of implementing the present disclosure that the community discovery methods in the related art (such as methods based on label propagation, etc.) only use topology as the basic feature to analyze the potential characteristics in the network, while the nodes in the network usually also contain various attribute features, but the community discovery methods in the related art do not consider the attribute information of the nodes in the network. In addition, many algorithms in the related art only use the direct relationship between nodes when obtaining topological information, and ignore the indirect relationship between nodes, resulting in reduced accuracy in discovering overlapping communities in the network. It can be seen that the methods based on label propagation, etc. in the related art cannot be used to detect overlapping communities in attribute networks (i.e., the above-mentioned networks with attribute information on nodes, rather than pure topological structures), and the algorithm complexity based on algorithms such as density peak is relatively large and cannot meet the requirements for algorithm efficiency in practical applications.
[0099] In view of this, the present disclosure provides the following overlapping community discovery method, apparatus, device and storage medium to solve the above-mentioned drawbacks in the related art.
[0100] Figure 1A is a flow chart of an overlapping community discovery method according to an exemplary embodiment; the method of this embodiment can be performed by an overlapping community discovery device, which can be configured in an electronic device, such as a server, a workstation, a personal computer, a mobile terminal (such as a mobile phone, a tablet computer, etc.), a wearable device (such as glasses, a watch, etc.), etc. Specifically, Figure 1A As shown, the method includes the following steps S101-S104:
[0101] In step S101, in response to acquiring a target network, a target vector representation of the target network is determined based on node attribute information of each node in the target network.
[0102] In this embodiment, in response to acquiring the target network, the electronic device may determine the target vector representation of the target network based on the node attribute information of each node in the target network.
[0103] The target network may be an attribute network, that is, each node in the target network has node attribute information.
[0104] It is understandable that the specific content of the node attribute information can be determined based on the type of the target network, and this embodiment does not limit this. For example, when the target network is a social network, the attribute characteristics of each node in the social network (i.e., the above-mentioned "node attribute information") can be the node's own information, such as place of origin, interests, hobbies, and age.
[0105] It is worth noting that node attribute information can reflect the differences and homogeneity between nodes. By representing the node attribute information and structural information of each node in the target network as a low-dimensional vector that can reflect the different characteristics of the network, it is possible to effectively capture more information about the target network, which is conducive to more accurate discovery of overlapping community structures in the subsequent target network.
[0106] For example, when determining the target vector representation of the target network, the node attribute information of each node can be input into a pre-trained deep learning model to obtain the target vector representation of the target network. In other embodiments, the method for determining the target vector representation of the target network can refer to the following Figure 2 The illustrated embodiment will not be described in detail here.
[0107] In step S102, preset node information of each node in the target network is determined based on the target vector representation.
[0108] In this embodiment, in response to acquiring the target network, after determining the target vector representation of the target network based on the node attribute information of each node in the target network, preset node information of each node in the target network can be determined based on the target vector representation.
[0109] The preset node information may be predefined information used to reflect the characteristics of each node in the target network (eg, the importance of the node, the degree of intimacy with other nodes, etc.).
[0110] In some embodiments, the above-mentioned preset node information may include node importance NI and node intimacy IP. The node importance NI can be used to describe the probability of each node being a potential community center, and the node intimacy IP can be used to describe the connection strength between each node and other nodes in the target network.
[0111] On this basis, when the preset node information of each node in the target network is determined based on the target vector representation, the node importance NI of each node can be determined based on the degree of each node (i.e., the number of adjacent nodes each node has) and the number of triangle structures formed by each node and its adjacent nodes (i.e., a stable structure formed by three nodes connected in pairs). Exemplarily, the node importance NI of each node can be determined based on the following formula (1-1):
[0112]
[0113] In the above formula, e u represents the number of triangle structures formed by node u, k u is the degree of node u, e i is the number of triangle structures formed by node i, k i is the degree of node i, V is the node set of the target network, e j is the number of triangle structures formed by node j, k j is the degree of node j.
[0114] In addition, based on the representation vectors of each node and the other nodes and the dimensions of the vectors, the inter-node intimacy IP between each node and the other nodes may be determined using a preset similarity principle.
[0115] In some embodiments, the preset similarity principle may be a cosine similarity principle, and the calculation method of the inter-node intimacy IP may be as shown in the following formula (1-2):
[0116]
[0117] In the above formula, Ip(x t ,y t ) is the intimacy between node x and node y, x t Represents the vector representing node x, y t represents the representation vector of node y, and k is the dimension of the vector. It is worth noting that x t and t The vectors are represented by the encoding results based on the above-mentioned deep learning model.
[0118] In step S103, a label of each node is determined based on the preset node information.
[0119] In this embodiment, after the preset node information of each node in the target network is determined based on the target vector representation, the label of each node may be determined based on the preset node information.
[0120] In some embodiments, after determining the preset node information of each node in the target network based on the target vector representation, in order to determine the label of each node, a label set and a main label can be generated for each node based on the preset node information. It is worth noting that the main label can refer to a label that will not change in subsequent iterations, and the above-mentioned main label can refer to a label that will change in subsequent iterations.
[0121] Specifically, the primary label is the label with the highest probability in the label set, and the primary label is used for iteration. For example, for the label of node 1, its primary label is a, and the label set is {a, b, c}. Then, the probability of its adjacent node 2 belonging to the label of node 1 needs to be calculated based on the primary label of node 1. The specific calculation method can be seen below. Figure 3 In the following formula (3-2) in the embodiment shown, b in the formula is t-1 (c,v) is the probability of the primary label obtained by node 1 in the previous cycle.
[0122] In step S104, a label propagation algorithm is executed based on the label and the network basic representation of the target network to obtain overlapping communities in the target network.
[0123] In this embodiment, after the label of each node is determined based on the preset node information, a label propagation algorithm may be executed based on the label and the basic network representation of the target network to obtain overlapping communities in the target network.
[0124] The network basic representation of the target network may be a target vector matrix for characterizing the topological information of the target network (i.e., the continuous relationship between the nodes of the target network). Specifically, the target vector matrix may be determined based on the following method:
[0125] In response to a connection relationship between a first node and a second node in the target network, determining that a first vector value corresponding to the first node and the second node in the target vector matrix is 1;
[0126] In response to the fact that there is no connection relationship between the third node and the fourth node in the target network, a second vector value corresponding to the third node and the fourth node in the target vector matrix is determined to be 0.
[0127] In other embodiments, the method for obtaining the overlapping communities can refer to the following Figure 3 The illustrated embodiment will not be described in detail here.
[0128] For example, Figure 1B is a schematic diagram of a scenario of an overlapping community discovery method according to an exemplary embodiment of the present disclosure; Figure 1BAs shown, after the target network is obtained, the node attribute information of each node in the target network can be input into the input layer of the deep learning model to obtain the encoded attribute information based on the encoder of the model, and the decoded attribute information can be obtained based on the decoder of the model, thereby forming a target vector representation of the target network, and then the label of each node in the target network can be determined in combination with the basic representation of the target network and the preset node information (not shown in the figure), so that the overlapping communities in the target network shown in the figure can be obtained by executing the label propagation algorithm.
[0129] As can be seen from the above description, the method of this embodiment determines the target vector representation of the target network based on the node attribute information of each node in the target network in response to obtaining the target network, determines the preset node information of each node in the target network based on the target vector representation, and determines the label of each node based on the preset node information, and then executes the label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network. Since the labels of each node are determined based on the preset node information of each node in the target network and the target vector representation of the target network, compared with the overlapping community discovery scheme in the related art that is only characterized by topology, the dimension of the label information can be expanded, so that overlapping communities can be discovered for attribute networks with attribute information on nodes, and compared with the algorithms based on density peak and other algorithms in the related art, the complexity of the algorithm can be reduced to meet the requirements for algorithm efficiency in practical applications.
[0130] Figure 2 It is a flowchart showing how to input the node attribute information of each node into a pre-trained deep learning model to obtain the target vector representation of the target network according to an exemplary embodiment of the present disclosure; this embodiment, based on the above embodiment, uses how to obtain the target vector representation of the target network as an example to exemplify.
[0131] like Figure 2 As shown, the step S101 described above of inputting the node attribute information of each node into a pre-trained deep learning model to obtain a target vector representation of the target network may include the following steps S201-S204:
[0132] In step S201, the node attribute information of each node is input into the encoder of the deep learning model for encoding to obtain a hidden representation of the output information of the encoder.
[0133] In this embodiment, the encoder of the deep learning model may be composed of multiple nonlinear functions that map input data to a representation space, and the decoder may include multiple nonlinear functions that map representations in the representation space to a reconstruction space.
[0134] On this basis, if the input x is given i , the hidden representation of the output information of each layer of the encoder is shown in the following formula (2-1):
[0135]
[0136] In the above formula, is the hidden representation of the output information of the kth layer, W (k) is the parameter matrix of the hidden representation of the output information of the kth layer, b (k) The bias term for the hidden representation of the k-th layer output information.
[0137] In step S202, the hidden representation is input into the decoder of the deep learning model for decoding to obtain output information of the decoder.
[0138] In this embodiment, after the hidden representation of the output information of the encoder is obtained, the hidden representation can be input into the decoder of the deep learning model for decoding to obtain the output information of the decoder, that is, the corresponding output is obtained by reversing the calculation process of the encoder.
[0139] In step S203, a target loss function is constructed based on the output information of the decoder.
[0140] In this embodiment, after the output information of the decoder is obtained, a target loss function may be constructed based on the output information of the decoder.
[0141] In some embodiments, a first sub-loss function and a second sub-loss function can be constructed based on the output information, and then the target loss function can be constructed based on the first sub-loss function and the second sub-loss function. Wherein, the first sub-loss function can be used to constrain the similarity between two adjacent nodes in the target network (i.e., first-order similarity), and the second sub-loss function can be used to constrain the similarity between adjacent nodes of two adjacent nodes in the target network (hereinafter referred to as second-order similarity).
[0142] For example, when the decoder output information is obtained After that, the first sub-loss function L can be constructed as shown in the following formula (2-2): 1st :
[0143]
[0144] In the above formula, s i,j Represents the connection relationship between two nodes (e.g., "1" represents a connection, "0" represents no connection); i is the embedding vector of node i, y jis the embedding vector of node j.
[0145] It can be understood that the purpose of the first-order similarity is to make the representation vectors between adjacent nodes closer, so in the above-mentioned first sub-loss function, it is hoped that the difference in the representation vectors between adjacent nodes is smaller.
[0146] On this basis, we can also construct the second sub-loss function L shown in the following formula (2-3): 2nd :
[0147]
[0148] In the above formula, ⊙ is the Mahada product, which means the multiplication of corresponding elements; the elements equal to 0 in the adjacency matrix correspond to b = 1, and the non-zero elements correspond to b> 1. The purpose of doing this is to increase the penalty for nodes with edge connections, which can be understood as giving higher weights to nodes with edge connections.
[0149] Furthermore, in order to maintain both the first-order similarity and the second-order similarity, this embodiment adopts a semi-supervised model combined with the equation, that is, constructs the target loss function L shown in the following equation (2-4): mix :
[0150]
[0151] Among them, α is the parameter that controls the first-order similarity, L reg is the L2 norm regularization term used to prevent overfitting, and v is the parameter that controls the regularization term. As an example, L reg The specific expression of is shown in the following formula (2-5):
[0152]
[0153] In step S204, the target vector representation is obtained by optimizing the target loss function.
[0154] In this embodiment, after constructing the target loss function based on the output information of the decoder, the target vector representation can be obtained by optimizing the target loss function, such as by minimizing the target loss function described in the above formula (2-4).
[0155] As can be seen from the above description, this embodiment obtains a hidden representation of the output information of the encoder by inputting the node attribute information of each node into the encoder of the deep learning model for encoding, and inputs the hidden representation into the decoder of the deep learning model for decoding to obtain the output information of the decoder, and then constructs a target loss function based on the output information of the decoder, and then obtains the target vector representation by optimizing the target loss function. It is possible to determine the target vector representation of the target network based on the node attribute information of each node and the pre-trained deep learning model, and then determine the label of each node based on the preset node information, and execute the label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network, which can realize overlapping community discovery for attribute networks with attribute information on nodes, and can reduce the complexity of the algorithm to meet the requirements for algorithm efficiency in practical applications.
[0156] Figure 3 This is a flowchart showing how to execute a label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network according to an exemplary embodiment of the present disclosure; this embodiment, based on the above embodiment, takes how to execute a label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network as an example. Figure 3 As shown, the above step S104, based on the label and the network basic representation of the target network, executes the label propagation algorithm to obtain overlapping communities in the target network, which may include the following steps S301-S305:
[0157] In step S301, the nodes are sorted based on the preset node information and the preset sorting method to obtain a sorting result.
[0158] In this embodiment, after the label of each node is determined based on the preset node information, the nodes can be sorted based on the preset node information and a preset sorting method to obtain a sorting result.
[0159] For example, when the preset node information includes the node importance NI and the node intimacy IP, the nodes in the target network may be sorted based on the ascending order of the node importance NI.
[0160] In step S302, based on the influence information of the preset node label on the nodes, the probability of the nodes tending to a community is determined.
[0161] For example, the above-mentioned impact information can be determined based on the following formula (3-1):
[0162]
[0163] Among them, SI(u,v) is the influence information of node v's label on node u, IP is the intimacy between node v and node u, and NI is the node importance of node v and node u. It can be seen that in this embodiment, the influence of the label of the adjacent node on itself is calculated. The larger the value, the greater the influence, which means that it is more inclined to the main label of the adjacent node.
[0164] In step S303, the membership coefficient of each node to the target community is determined based on a preset community discovery algorithm and the basic network representation, so as to determine an update expression of each node based on the membership coefficient.
[0165] In this embodiment, after determining the probability that each node tends to a community, the membership coefficient of each node to the target community can be determined based on a preset community discovery algorithm and the basic representation of the network, so as to determine an updated expression for each node based on the membership coefficient, wherein the membership coefficient is used to represent the probability that each node belongs to the target community.
[0166] In some embodiments, the preset community discovery algorithm may be a COPRA algorithm in the related art, or a label propagation algorithm improved based on COPRA. On this basis, the membership coefficient of each node to the target community may be determined based on the following formula (3-2):
[0167]
[0168] In the above formula, t represents the tth iteration, N(u) is the degree of node u, and b t-1 It represents the probability that node v belongs to community c at the t-1th iteration, and node v is a neighboring node of node u.
[0169] In step S304, the update expression is iteratively optimized based on the sorting result to obtain the label of the community to which each node belongs.
[0170] In this embodiment, after the update expression of each node is determined based on the membership coefficient, the update expression can be iteratively optimized based on the sorting result to obtain the label of the community to which each node belongs.
[0171] For example, when iteratively optimizing the update expression based on the sorting result, in response to determining the label of the community to which the current node belongs among the nodes, other labels that do not meet the conditions, that is, labels whose membership coefficients do not meet the following formula (3-3), can be deleted for the current node.
[0172]
[0173] In the above formula, L′ u represents the label set obtained according to (3-2), and l(c,b) represents the label set L′ u A label in b t ′(c,u) is the probability that node u belongs to a certain label, Nu is the number of nodes in the adjacent nodes that belong to label (community) c, is the sum of the probabilities that the adjacent nodes belong to community c.
[0174] Specifically, from the above formula (3-3), it can be known that this embodiment can determine the label and probability that the current node may belong to through the labels (communities) of the adjacent nodes (i.e., neighboring nodes) of the current node. For example, if the probability of belonging to label c through adjacent node b is 0.5, the probability of belonging to label c through adjacent node a is 0.3, and the probability of belonging to label c through adjacent label d is 0.8, then the probability of the current node belonging to label c can be (0.8+0.3+0.5) / 3, that is, the number of adjacent nodes whose labels belong to c is divided by that number.
[0175] On this basis, the subordinate coefficients of the remaining tags can be standardized (eg, normalized) so that the remaining tags meet the preset conditions after multiple iterations. For example, the preset conditions are shown in the following formula (3-4):
[0176] ∑ l(c,b)∈L′ b′(c,u)=1; (3-4)
[0177] In the above formula, ∑ l(c,b)∈L′ b′(c,u) is the sum of the probabilities of all valid labels to which node u belongs, L′ is the set of labels to which node u can belong, l(c,b) represents a label in the label set L′, and b′(c,u) is the probability that node u belongs to that label.
[0178] Specifically, when the label set L′ to which node u can belong is obtained based on the above formula (3-3), each label to which node u belongs has a probability, and the sum of the probabilities of all valid labels must be set to 1.
[0179] In step S305, overlapping nodes are determined based on the labels of the communities to which the nodes belong, and the communities having the overlapping nodes are determined as overlapping communities.
[0180] In this embodiment, after obtaining the labels of the communities to which the nodes belong, overlapping nodes, that is, nodes belonging to multiple communities at the same time, can be determined based on the labels of the communities to which the nodes belong, and then the communities with overlapping nodes can be determined as overlapping communities.
[0181] Figure 4is a block diagram of an overlapping community discovery device according to an exemplary embodiment of the present disclosure; the device of this embodiment can be configured in an electronic device, such as a server, a workstation, a personal computer, a mobile terminal (such as a mobile phone, a tablet computer, etc.), a wearable device (such as glasses, a watch, etc.), etc. Specifically, Figure 4 As shown, the device may include: a network vector representation module 110, a node information determination module 120, a node label determination module 130 and an overlapping community acquisition module 140, wherein:
[0182] A network vector representation module 110, configured to determine a target vector representation of the target network based on node attribute information of each node in the target network in response to acquiring the target network;
[0183] A node information determination module 120, configured to determine preset node information of each node in the target network based on the target vector representation;
[0184] A node label determination module 130, configured to determine a label of each node based on the preset node information;
[0185] The overlapping community acquisition module 140 is used to execute a label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network.
[0186] As can be seen from the above description, the device of this embodiment determines the target vector representation of the target network based on the node attribute information of each node in the target network in response to obtaining the target network, determines the preset node information of each node in the target network based on the target vector representation, and determines the label of each node based on the preset node information, and then executes the label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network. Since the labels of each node are determined based on the preset node information of each node in the target network and the target vector representation of the target network, compared with the overlapping community discovery scheme in the related art that is only characterized by topology, the dimension of the label information can be expanded, so that overlapping communities can be discovered for attribute networks with attribute information on nodes, and compared with the algorithms based on density peak and other algorithms in the related art, the complexity of the algorithm can be reduced to meet the requirements for algorithm efficiency in practical applications.
[0187] Figure 5 It is a block diagram of another overlapping community discovery device according to an exemplary embodiment of the present disclosure; the device of this embodiment can be configured in an electronic device, such as a server, a workstation, a personal computer, a mobile terminal (such as a mobile phone, a tablet computer, etc.), a wearable device (such as glasses, a watch, etc.), etc.
[0188] The network vector representation module 210, the node information determination module 220, the node label determination module 230 and the overlapping community acquisition module 240 are the same as those described above. Figure 4 The functions of the network vector representation module 110 , the node information determination module 120 , the node label determination module 130 and the overlapping community acquisition module 140 in the illustrated embodiment are the same and will not be described in detail herein.
[0189] In this embodiment, the network vector representation module 210 can also be used to input the node attribute information of each node into a pre-trained deep learning model to obtain a target vector representation of the target network.
[0190] In some embodiments, the deep learning model may include a model of an encoder-decoder structure;
[0191] Furthermore, the network vector representation module 210 may include:
[0192] A hidden representation acquisition unit 211 is used to input the node attribute information of each node into the encoder of the deep learning model for encoding, and obtain a hidden representation of the output information of the encoder;
[0193] An output information acquisition unit 212, configured to input the hidden representation into a decoder of the deep learning model for decoding to obtain output information of the decoder;
[0194] A loss function construction unit 213, configured to construct a target loss function based on the output information of the decoder;
[0195] The network vector representation unit 214 is used to obtain the target vector representation by optimizing the target loss function.
[0196] In some embodiments, the loss function construction unit 213 may also be used to:
[0197] Based on the output information, a first sub-loss function and a second sub-loss function are respectively constructed, wherein the first sub-loss function is used to constrain the similarity between two adjacent nodes in the target network, and the second sub-loss function is used to constrain the similarity between adjacent nodes of two adjacent nodes in the target network;
[0198] The target loss function is constructed based on the first sub-loss function and the second sub-loss function.
[0199] In some embodiments, the preset node information may include node importance and node intimacy, wherein the node importance is used to describe the probability of each node being a potential community center, and the node intimacy is used to describe the connection strength between each node and other nodes in the target network;
[0200] Furthermore, the node information determination module 220 may include:
[0201] An importance determination unit 221, configured to determine the node importance of each node based on the degree of each node and the number of triangle structures formed by each node and its adjacent nodes, wherein the degree of each node and the number of triangle structures are determined based on the target vector representation;
[0202] The intimacy determination unit 222 is used to determine the inter-node intimacy between each node and the other nodes based on the representation vectors of each node and the other nodes and the dimensions of the vectors using a preset similarity principle.
[0203] In some embodiments, the node label determination module 230 can also be used to generate a label set and a main label for each node based on the preset node information. The main label uniquely corresponds to the node to which it belongs, and the main label will change during the iteration process.
[0204] In some embodiments, the apparatus may further include a basic representation determination module, the basic representation determination module being used to determine a target vector matrix as a network basic representation of the target network;
[0205] Furthermore, the basic representation determination module 250 may include:
[0206] A first determining unit 251 is configured to determine that a first vector value corresponding to the first node and the second node in the target vector matrix is 1 in response to a connection relationship between the first node and the second node in the target network;
[0207] The second determining unit 252 is configured to determine that a second vector value corresponding to the third node and the fourth node in the target vector matrix is 0 in response to the fact that there is no connection relationship between the third node and the fourth node in the target network.
[0208] In some embodiments, the overlapping community acquisition module 240 may include:
[0209] A node sorting unit 241 is used to sort the nodes based on the preset node information and the preset sorting method to obtain a sorting result;
[0210] A probability determination unit 242, configured to determine the probability that each node tends to a community based on the influence information of the preset node label on each node;
[0211] A node expression unit 243, configured to determine a membership coefficient of each node to a target community based on a preset community discovery algorithm and the network basic representation, and to determine an update expression of each node based on the membership coefficient, wherein the membership coefficient is used to represent a probability that each node belongs to the target community;
[0212] A label optimization unit 244, configured to iteratively optimize the update expression based on the sorting result to obtain a label of the community to which each node belongs;
[0213] The community determining unit 245 is configured to determine overlapping nodes based on labels of the communities to which the nodes belong, and determine the communities with the overlapping nodes as overlapping communities.
[0214] In some embodiments, the label optimization unit 244 may also be used to:
[0215] In response to determining the label of the community to which the current node belongs among the nodes, deleting other labels that do not meet the conditions for the current node;
[0216] The membership coefficients of the remaining tags are standardized so that the remaining tags meet the preset conditions after multiple iterations.
[0217] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0218] Figure 6 900 is a block diagram of an electronic device according to an exemplary embodiment. For example, the device 900 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.
[0219] Reference Figure 6 , device 900 may include one or more of the following components: a processing component 902 , a memory 904 , a power component 906 , a multimedia component 908 , an audio component 910 , an input / output (I / O) interface 912 , a sensor component 914 , and a communication component 916 .
[0220] The processing component 902 generally controls the overall operation of the device 900, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 902 may include one or more processors 920 to execute instructions to complete all or part of the steps of the overlapping community discovery method described above. In addition, the processing component 902 may include one or more modules to facilitate the interaction between the processing component 902 and other components. For example, the processing component 902 may include a multimedia module to facilitate the interaction between the multimedia component 908 and the processing component 902.
[0221] The memory 904 is configured to store various types of data to support operations on the device 900. Examples of such data include instructions for any application or method operating on the device 900, contact data, phone book data, messages, pictures, videos, etc. The memory 904 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0222] The power supply component 906 provides power to the various components of the device 900. The power supply component 906 can include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 900.
[0223] The multimedia component 908 includes a screen that provides an output interface between the device 900 and the user. In some embodiments, the screen may include a liquid crystal display panel and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 908 includes a front camera and / or a rear camera. When the device 900 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0224] The audio component 910 is configured to output and / or input audio signals. For example, the audio component 910 includes a microphone (MIC), and when the device 900 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 904 or sent via the communication component 916. In some embodiments, the audio component 910 also includes a speaker for outputting audio signals.
[0225] I / O interface 912 provides an interface between processing component 902 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0226] The sensor assembly 914 includes one or more sensors for providing various aspects of status assessment for the device 900. For example, the sensor assembly 914 can detect the open / closed state of the device 900, the relative positioning of components, such as the display panel and keypad of the device 900, and the sensor assembly 914 can also detect the position change of the device 900 or a component of the device 900, the presence or absence of user contact with the device 900, the orientation or acceleration / deceleration of the device 900, and the temperature change of the device 900. The sensor assembly 914 can also include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 914 can also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 914 can also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0227] The communication component 916 is configured to facilitate wired or wireless communication between the device 900 and other devices. The device 900 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, 4G or 5G or a combination thereof. In an exemplary embodiment, the communication component 916 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 916 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0228] In an exemplary embodiment, the device 900 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above-described overlapping community discovery method.
[0229] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 904 including instructions, and the instructions can be executed by the processor 920 of the device 900 to complete the above-mentioned overlapping community discovery method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a tape, a floppy disk, an optical data storage device, etc.
[0230] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the disclosure disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0231] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A method for discovering overlapping communities, characterized in that: The method comprises: In response to acquiring the target network, determining a target vector representation of the target network based on node attribute information of each node in the target network; Determining preset node information of each node in the target network based on the target vector representation; Determine a label of each node based on the preset node information; A label propagation algorithm is performed based on the labels and a network basic representation of the target network to obtain overlapping communities in the target network.
2. The method according to claim 1, characterized in that The determining the target vector representation of the target network based on the node attribute information of each node in the target network includes: The node attribute information of each node is input into a pre-trained deep learning model to obtain a target vector representation of the target network.
3. The method according to claim 2, characterized in that The deep learning model includes a model of an encoder-decoder structure; The step of inputting the node attribute information of each node into a pre-trained deep learning model to obtain a target vector representation of the target network includes: Inputting the node attribute information of each node into the encoder of the deep learning model for encoding, and obtaining a hidden representation of the output information of the encoder; Inputting the hidden representation into a decoder of the deep learning model for decoding to obtain output information of the decoder; Constructing a target loss function based on the output information of the decoder; The target vector representation is obtained by optimizing the target loss function.
4. The method according to claim 3, characterized in that The constructing a target loss function based on the output information of the decoder comprises: Based on the output information, a first sub-loss function and a second sub-loss function are respectively constructed, wherein the first sub-loss function is used to constrain the similarity between two adjacent nodes in the target network, and the second sub-loss function is used to constrain the similarity between adjacent nodes of two adjacent nodes in the target network; The target loss function is constructed based on the first sub-loss function and the second sub-loss function.
5. The method according to claim 1, characterized in that The preset node information includes node importance and node intimacy, wherein the node importance is used to describe the probability of each node being a potential community center, and the node intimacy is used to describe the connection strength between each node and other nodes in the target network; The determining the preset node information of each node in the target network based on the target vector representation includes: Determining the node importance of each node based on the degree of each node and the number of triangle structures formed by each node and its adjacent nodes, wherein the degree of each node and the number of triangle structures are determined based on the target vector representation; Based on the representation vectors of each node and the other nodes and the dimensions of the vectors, the node intimacy between each node and the other nodes is determined using a preset similarity principle.
6. The method according to claim 1, characterized in that The determining the label of each node based on the preset node information and the target vector representation includes: Based on the preset node information, a label set and a main label are generated for each node. The main label uniquely corresponds to the node to which it belongs, and the main label will change during the iteration process.
7. The method according to claim 1, characterized in that The method further includes determining a target vector matrix based on the following method and using it as a network basic representation of the target network: In response to a connection relationship between a first node and a second node in the target network, determining that a first vector value corresponding to the first node and the second node in the target vector matrix is 1; In response to the fact that there is no connection relationship between the third node and the fourth node in the target network, a second vector value corresponding to the third node and the fourth node in the target vector matrix is determined to be 0.
8. The method according to claim 1, characterized in that The performing of a label propagation algorithm based on the label and the network basic representation of the target network to obtain overlapping communities in the target network includes: Based on the preset node information and the preset sorting method, sort the nodes to obtain a sorting result; Determine the probability that each node tends to a community based on the influence information of the label of the preset node on each node; Determine a membership coefficient of each node to a target community based on a preset community discovery algorithm and the network basic representation, and determine an update expression of each node based on the membership coefficient, wherein the membership coefficient is used to represent a probability that each node belongs to the target community; Iteratively optimize the update expression based on the sorting result to obtain the label of the community to which each node belongs; Overlapping nodes are determined based on labels of the communities to which the nodes belong, and communities having the overlapping nodes are determined as overlapping communities.
9. The method according to claim 8, characterized in that The iterative optimization of the update expression based on the sorting result to obtain the label of the community to which each node belongs includes: In response to determining the label of the community to which the current node belongs among the nodes, deleting other labels that do not meet the conditions for the current node; The membership coefficients of the remaining tags are standardized so that the remaining tags meet the preset conditions after multiple iterations.
10. An overlapping community discovery device, characterized in that: The device comprises: A network vector representation module, configured to determine a target vector representation of the target network based on node attribute information of each node in the target network in response to acquiring the target network; A node information determination module, used to determine preset node information of each node in the target network based on the target vector representation; A node label determination module, used to determine the label of each node based on the preset node information; The overlapping community acquisition module is used to execute a label propagation algorithm based on the label and the basic network representation of the target network to obtain overlapping communities in the target network.
11. The device according to claim 10, characterized in that The network vector representation module is also used to input the node attribute information of each node into a pre-trained deep learning model to obtain a target vector representation of the target network.
12. The device according to claim 11, characterized in that The deep learning model includes a model of an encoder-decoder structure; The network vector representation module comprises: A hidden representation acquisition unit, used for inputting the node attribute information of each node into the encoder of the deep learning model for encoding, and obtaining a hidden representation of the output information of the encoder; An output information acquisition unit, used for inputting the hidden representation into a decoder of the deep learning model for decoding to obtain output information of the decoder; A loss function construction unit, used to construct a target loss function based on the output information of the decoder; The network vector representation unit is used to obtain the target vector representation by optimizing the target loss function.
13. The device according to claim 12, characterized in that The loss function building unit is also used for: Based on the output information, a first sub-loss function and a second sub-loss function are respectively constructed, wherein the first sub-loss function is used to constrain the similarity between two adjacent nodes in the target network, and the second sub-loss function is used to constrain the similarity between adjacent nodes of two adjacent nodes in the target network; The target loss function is constructed based on the first sub-loss function and the second sub-loss function.
14. The device according to claim 10, characterized in that The preset node information includes node importance and node intimacy, wherein the node importance is used to describe the probability of each node being a potential community center, and the node intimacy is used to describe the connection strength between each node and other nodes in the target network; The node information determination module includes: an importance determination unit, configured to determine the node importance of each node based on the degree of each node and the number of triangle structures formed by each node and its adjacent nodes, wherein the degree of each node and the number of triangle structures are determined based on the target vector representation; The intimacy determination unit is used to determine the node intimacy between each node and the other nodes based on the representation vectors of each node and the dimensions of the vectors and using a preset similarity principle.
15. The device according to claim 10, characterized in that The node label determination module is further used to generate a label set and a main label for each node based on the preset node information. The main label uniquely corresponds to the node to which it belongs, and the main label will change during the iteration process.
16. The device according to claim 10, characterized in that The device also includes a basic representation determination module, which is used to determine a target vector matrix as a network basic representation of the target network; The basic representation determination module comprises: A first determining unit is configured to determine that a first vector value corresponding to the first node and the second node in the target vector matrix is 1 in response to a connection relationship between the first node and the second node in the target network; The second determining unit is configured to determine that a second vector value corresponding to the third node and the fourth node in the target vector matrix is 0 in response to the fact that there is no connection relationship between the third node and the fourth node in the target network.
17. The device according to claim 10, characterized in that The overlapping community acquisition module includes: A node sorting unit, used to sort the nodes based on the preset node information and the preset sorting method to obtain a sorting result; A probability determination unit, configured to determine the probability that each node tends to a community based on the influence information of the label of the preset node on each node; A node expression unit, configured to determine a membership coefficient of each node to a target community based on a preset community discovery algorithm and the network basic representation, and to determine an updated expression of each node based on the membership coefficient, wherein the membership coefficient is used to represent a probability that each node belongs to the target community; A label optimization unit, configured to iteratively optimize the update expression based on the sorting result to obtain a label of the community to which each node belongs; The community determining unit is configured to determine overlapping nodes based on labels of the communities to which the nodes belong, and determine the communities having the overlapping nodes as overlapping communities.
18. The device according to claim 17, characterized in that The label optimization unit is also used for: In response to determining the label of the community to which the current node belongs among the nodes, deleting other labels that do not meet the conditions for the current node; The membership coefficients of the remaining tags are standardized so that the remaining tags meet the preset conditions after multiple iterations.
19. An electronic device, characterized in that: The device comprises: a processor and a memory for storing a computer program; Wherein, the processor is configured to implement, when executing the computer program: In response to acquiring the target network, determining a target vector representation of the target network based on node attribute information of each node in the target network; Determining preset node information of each node in the target network based on the target vector representation; Determine a label of each node based on the preset node information; A label propagation algorithm is performed based on the labels and a network basic representation of the target network to obtain overlapping communities in the target network.
20. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by the processor, it realizes: In response to acquiring the target network, determining a target vector representation of the target network based on node attribute information of each node in the target network; Determining preset node information of each node in the target network based on the target vector representation; Determine a label of each node based on the preset node information; A label propagation algorithm is performed based on the labels and a network basic representation of the target network to obtain overlapping communities in the target network.
Citation Information
Patent Citations
Scientific research community discovery method and device based on label propagation
CN112967146A
Label propagation overlapping community discovery method based on node comprehensive influence
CN114417177A
Overlapped community discovery method and device based on modularity optimization
CN115511649A
Node information and label propagation overlapping community division prediction method and system
CN116204716A
Community discovery method of graph convolutional neural network based on node structure features
CN116226467A