Network community determination method and device, electronic equipment and storage medium

By determining the centrality and one-way dependence values ​​of nodes in the network, the nodes with greater influence are selected as community center nodes, which solves the problem of inaccurate network community detection in the existing technology, and improves the accuracy of community division and Coverage.

CN119494742APending Publication Date: 2025-02-21MASHANG CONSUMER FINANCE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311042920.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-18
Publication Date
2025-02-21

AI Technical Summary

Technical Problem

There are inaccurate and incomplete detection and division of network communities in the prior art, resulting in poorer results in subsequent network research and analysis.

Method used

By determining the neighbor nodes, node degree and centrality of each node based on the connection relationship between nodes of the target network; determining the dependent node and unidirectional dependency values ​​of each node based on the centrality and one-way dependency values; then filtering Nodes with high influence and unidirectional dependence are used as the central node of the community, and then the communities in the network are determined.

Benefits of technology

The accuracy and network coverage of community division are improved, making the results of community division closer to the structure and characteristics of the actual community.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119494742A_ABST
    Figure CN119494742A_ABST
Patent Text Reader

Abstract

The invention provides a network community determination method and device, electronic equipment and a storage medium, and the method comprises the steps: determining a neighbor node of each node and a node degree of each node according to a connection relation between a plurality of nodes of a target network; determining the centrality of each node according to the node degree of each node and the node degree of the neighbor node of each node; based on the centrality of each node and the centrality of the neighbor node of each node, determining a dependent node of each node from the neighbor node of each node and itself, and determining a one-way dependent value of each node for the dependent node; and determining K first node sets and determining each first node set as a community according to the centrality and the one-way dependency value of the plurality of nodes in the target network. According to the embodiment of the invention, the accuracy of community division can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing technology, and in particular to a method and device for determining a network community, an electronic device, and a storage medium. Background Art

[0002] There are a large number of networks in the real world, which can be abstracted into topological structures composed of nodes and edges. For example, there are multiple project nodes in an engineering construction project. The edges between project nodes indicate the dependencies between project nodes. For example, node B can only be executed after node A is completed. The edges between these project nodes and project nodes constitute the network corresponding to the engineering construction project. For another example, the goods in a certain sales venue can be abstracted into nodes. The edges between nodes indicate the dependencies between goods. For example, the sales of product C will promote the sales of product B. The edges between these product nodes and product nodes constitute the network corresponding to the sales venue.

[0003] In the study of networks, one of the most important research directions is the community structure detection of the network, that is, dividing the entire network into a collection of nodes with certain similarities called communities according to certain principles. Since the community contains the topological structure of the entire network and the relationship between nodes in the community, it can become the basis for further research and analysis of the network. According to different community structure detection principles, many different community combinations can be obtained. In related technologies, the detection and division of communities in the network are inaccurate and incomplete, resulting in poor results in subsequent network research and analysis. Summary of the invention

[0004] The present disclosure provides a method and device for determining a network community, an electronic device, and a computer-readable storage medium.

[0005] In a first aspect, the present disclosure provides a method for determining a network community, the method comprising:

[0006] According to the connection relationship between multiple nodes of the target network, the neighbor nodes of each node and the node degree of each node are determined; according to the node degree of each node and the node degree of each node's neighbor nodes, the centrality of each node is determined; based on the centrality of each node and the centrality of each node's neighbor nodes, the dependent nodes of each node are determined from the neighbor nodes of each node and itself, and the one-way dependency value of each node on the dependent nodes is determined; according to the centrality and one-way dependency values ​​of multiple nodes in the target network, K first node sets are determined and each first node set is determined as a community; K is an integer and K≥1.

[0007] In a second aspect, the present disclosure provides a network community determination device, the network community determination device comprising:

[0008] A node degree determination module is used to determine the neighbor nodes of each node and the node degree of each node according to the connection relationship between multiple nodes in the target network; a centrality determination module is used to determine the centrality of each node according to the node degree of each node and the node degree of each node's neighbor nodes; a dependency determination module is used to determine the dependent nodes of each node from the neighbor nodes of each node and itself based on the centrality of each node and the centrality of each node's neighbor nodes, and determine the one-way dependency value of each node on the dependent node; a community determination module is used to determine K first node sets and determine each first node set as a community according to the centrality and one-way dependency values ​​of multiple nodes in the target network; K is an integer and K≥1.

[0009] In a third aspect, the present disclosure provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores one or more computer programs executable by the at least one processor, and one or more of the computer programs are executed by the at least one processor so that the at least one processor can execute the above-mentioned network community determination method.

[0010] In a fourth aspect, the present disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the above-mentioned network community determination method when executed by a processor / processing core.

[0011] In a fifth aspect, the present disclosure provides a computer program or a computer program product, wherein the computer program product comprises a computer program, the computer program is stored in a computer-readable storage medium, and the computer program implements the above-mentioned network community determination method when executed by a processor.

[0012] The embodiments provided by the present disclosure can determine the node degree and centrality of each node and its neighboring nodes in the target network, and reflect the influence of each node on the surrounding nodes through the centrality; based on the node degree and centrality of each node, determine the dependent node with the maximum centrality and the corresponding one-way dependency value for each node, thereby quantitatively reflecting the one-way dependence degree of the nodes around each node on the node; and based on the centrality and one-way dependency values ​​of multiple nodes, select nodes with greater influence and one-way dependency as the central nodes of the community, and then determine the node set corresponding to the community in the target network. In this way, the community division result can be made closer to the structure and characteristics of the actual community, thereby improving the accuracy of community division and network coverage.

[0013] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The accompanying drawings are used to provide a further understanding of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the present disclosure and do not constitute a limitation of the present disclosure. The above and other features and advantages will become more apparent to those skilled in the art by describing detailed example embodiments with reference to the accompanying drawings, in which:

[0015] Figure 1 A flowchart of a method for determining a network community provided by an embodiment of the present disclosure;

[0016] Figure 2a and Figure 2b A schematic diagram of a node relationship diagram of an embodiment of the present disclosure;

[0017] Figure 3 A block diagram of a network community determination device provided by an embodiment of the present disclosure;

[0018] Figure 4 A block diagram of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0019] In order to enable those skilled in the art to better understand the technical solutions of the present disclosure, the exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0020] In the absence of conflict, the various embodiments of the present disclosure and the various features therein may be combined with each other.

[0021] As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0022] The terms used herein are only used to describe specific embodiments and are not intended to limit the present disclosure. As used herein, the singular forms "a" and "the" are also intended to include plural forms, unless the context clearly indicates otherwise. It will also be understood that when the terms "including" and / or "made of" are used in this specification, the presence of the features, wholes, steps, operations, elements and / or components is specified, but the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof is not excluded. "Connected" or "connected" and similar words are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect.

[0023] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted as having an idealized or overly formal meaning unless explicitly defined as such herein.

[0024] In some possible implementations, the target network to be analyzed may include a social network, and the multiple nodes of the target network include at least social media accounts and multimedia content, that is, the target network includes nodes for representing social media accounts and nodes for representing multimedia content. It should be understood that the target network may also include any other type of nodes, and the target network may also be any other type of network, and the present disclosure does not limit this.

[0025] In some possible implementations, there is a connection relationship between nodes, that is, there is an edge between nodes, which is used to indicate that there are interactive behaviors between nodes, such as interactive behaviors between social media accounts (chatting, following, liking, etc.), interactive behaviors between social media accounts and multimedia content (liking, commenting, collecting, etc.), and interactive behaviors between multimedia content (quoting, commenting, etc.). The edge between nodes may also have a weight attribute, such as a weight of 0.5, which is used to indicate the closeness of the connection relationship between nodes, and the present disclosure does not limit this.

[0026] In some possible implementations, the community of the target network is used to characterize a set of nodes of the target network, and the connection relationship between the nodes within the community is more than the connection relationship between the nodes within the community and the nodes outside the community. In other words, the nodes organically form the community, and the community organically forms the network. The nodes within the community are closely connected, while the connection between the nodes between the communities is relatively sparse.

[0027] Community is the key to understanding the nature of a node or the entire network. Revealing communities in complex networks and exploring hidden relationships between communities is crucial for complex network analysis. The goal of community structure detection is to detect multiple communities from the network so that they cover the entire network as much as possible, and the obtained communities must meet the general definition of communities. This allows for further analysis of the network, such as predicting consumer behavior, identifying the author's writing style, the probability of a certain periodic event occurring in the future, and so on. Many different community combinations can be obtained based on different detection principles, and the effect of the division of communities in the network directly affects the effect of subsequent network research and analysis.

[0028] In the network, the central node of the community is regarded as the core node of the community, the most influential node in the community, and the key node for building the community. In other words, the central node of the community has an impact on the surrounding structure. This influence can be seen as the attraction of the central node to the surrounding nodes, or the dependence of the surrounding nodes on the central node. And in a sense, the greater the degree centrality (DC) of the node, the greater the influence on the surrounding nodes. Within a certain range, the node with the largest DC value is the central node of the community.

[0029] However, degree centrality is not the only criterion for identifying the central nodes of a community. Because sometimes there is a situation where some nodes cannot become central nodes despite having a large centrality in the global scope. This is because in the local scope, they are closely connected to nodes with a larger centrality. In other words, their influence is covered by more powerful nodes. Therefore, if a node wants to become a central node, in addition to having a large centrality itself, it should also satisfy the requirement of being far away from any more powerful nodes.

[0030] According to an embodiment of the present disclosure, a network community determination method is provided, which can determine the nearest node with the greatest influence on the node and the corresponding unidirectional dependency relationship based on the centrality of the node and its neighboring nodes of the target network, and then determine the community in the target network, and obtain high-quality community division results, thereby improving various aspects such as the accuracy of community division and network coverage.

[0031] The network community determination method according to the embodiment of the present disclosure can be performed by an electronic device such as a terminal device or a server. The terminal device can be a user equipment (UE), a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, etc. The server can be an independent physical server, a server cluster composed of multiple physical servers, or a cloud server capable of cloud computing. The method can be implemented by a processor calling a computer-readable program instruction stored in a memory.

[0032] Figure 1 A flowchart of a network community determination method provided by an embodiment of the present disclosure. Figure 1 , the method comprising:

[0033] Step S11, determining the neighbor nodes of each node and the node degree of each node according to the connection relationship between multiple nodes of the target network;

[0034] Step S12, determining the centrality of each node according to the node degree of each node and the node degrees of its neighboring nodes;

[0035] Step S13, based on the centrality of each node and the centrality of each node's neighboring nodes, determine the dependent nodes of each node from the neighboring nodes of each node and the node itself, and determine the one-way dependency value of each node on the dependent node;

[0036] Step S14, according to the centrality and one-way dependency values ​​of multiple nodes in the target network, determine K first node sets and determine each first node set as a community; K is an integer and K≥1.

[0037] For example, for the target network G to be analyzed, the node set of multiple nodes of the target network can first determine the edges (connection relationships) between the nodes in the target network and the nodes, and establish an adjacency matrix corresponding to the target network. Any element in the adjacency matrix can be expressed as Aij, 1≤i≤M, 1≤j≤M, and M is the total number of nodes in the target network. If there is a connection relationship between node i and node j, Aij=1; conversely, if there is no connection relationship between node i and node j, Aij=0. Among them, if the connection relationship is set with a weight, Aij can be valued according to the weight, for example, the value is 0.5, and the present disclosure does not limit this.

[0038] In some possible implementations, the node degree of each node may be determined in step S11. For any node i (hereinafter referred to as the target node) among the multiple nodes of the target network, the node degree of the target node i may be expressed as deg(i)=∑j A ij , i≠j. In this way, the node degree of each node in the target network can be calculated.

[0039] In some possible implementations, the neighbor nodes of each node can also be determined in step S11. Among them, the number of search neighbor layers n (n≥1) can be set, that is, the maximum distance between the neighbor nodes of each node and the node is n. For the target node i, the distance between the node a connected to the target node i and the target node i is 1, and the distance between the node b connected to the node a but not connected to the target node i and the target node i is 2. By analogy, all neighbor nodes whose distance to the target node i is less than or equal to n can be determined, and the set of neighbor nodes Neighbor(i)=Γ(i) can be obtained. Correspondingly, the nodes other than the neighbor nodes are non-neighbor nodes of the target node i, and the set of non-neighbor nodes Non_neighbor(i) can be obtained. By setting the number of search neighbor layers n, only the nth layer of neighbors of the node can be considered when calculating the node information, rather than the entire network, thereby reducing the time complexity of the calculation. In this way, each node in the target network is processed to determine the neighbor nodes of each node.

[0040] In some possible implementations, in step S12, the centrality of each node is determined based on the node degree of each node and the node degrees of each node's neighboring nodes. For the target node i, its centrality is represented as centrality(i). As shown in the following formula (1):

[0041] centrality(i)=deg(i)+∑ u∈Γ(i) (deg(u)+∑ w∈Γ(u) (deg(w))) (1)

[0042] In formula (1), deg(i) represents the node degree of target node i; u(u∈Γ(i)) represents the neighbor node of target node i; deg(u) represents the node degree of node u; w(w∈Γ(u)) represents the neighbor node of node u; deg(w) represents the node degree of node w. In this way, by calculating each node of the target network separately, the centrality of each node in the target network can be obtained.

[0043] According to formula (1), the node degrees of all neighboring nodes w of neighboring node u of target node i can be summed up, and the node degree of neighboring node u can be added to obtain the local centrality of neighboring node u; then the local centralities of all neighboring nodes u of target node i can be summed up, and the node degree of target node i can be added to obtain the centrality (i) of target node i. In this way, the obtained centrality can more accurately reflect the influence of the node on the nodes within a certain range around it, thereby improving the accuracy of subsequent processing.

[0044] In some possible implementations, in step S13, based on the centrality of each node and the centrality of each node's neighbor nodes, the dependent nodes of each node are determined from the neighbor nodes of each node and the node itself. For the target node i, according to the centrality of the target node's neighbor nodes, the nearest node with the greatest centrality to the target node i among the neighbor nodes, that is, the node with the greatest influence on the target node i, can be determined as the dependent node (dependent node) DN(i) of the target node i. At the same time, according to the definition of the dependent node DN, in the target network, the node with the highest centrality will not have a dependent node, so the dependent node DN of such a node can be defaulted to itself. In this way, each node of the target network is processed separately to obtain the dependent nodes of each node.

[0045] In some possible implementations, after obtaining the dependent nodes of each node, the process can be continued in step S13 to determine the uni-dependence relation of each node to the dependent node, and its value is called the uni-dependence value Ur. For the target node i, the path between the target node i and the dependent node DN(i) can be determined according to the relative position of the target node i and the dependent node DN(i), and each connection node on the path has a connection relationship (edge), indicating that information can reach the dependent node DN(i) from the target node i along the path.

[0046] In some possible implementations, suppose that the connection nodes on any path p are N1, N2, ..., N m , m is the number of nodes on the path p, then the target node i corresponds to the path starting point N1, and the dependent node DN(i) corresponds to the path end point N m The path value μ of the path p can be set p (N1,N m ) is the path value μ between each adjacent connection node on the path p p (N1,N2),μ p (N2,N3), ..., μ p (N m-1 ,N m). In this way, the path values ​​of all paths in the set P of paths between the target node i and the dependent node DN(i) can be obtained, and then the maximum value among the path values ​​is determined as the one-way dependency value Ur of the target node for the dependent node. In this way, by processing each node of the target network separately, the one-way dependency value of each node for the dependent node can be determined.

[0047] In some possible implementations, in step S14, the central nodes of the K communities of the target network can be determined according to the centrality and unidirectional dependency values ​​of multiple nodes in the target network, and an initial K first node set can be established, and the initial first node set includes the central node. Then, nodes that improve the quality of the community are selected from other nodes (non-central nodes) of the target network to join the community, that is, the first node set that joins the community. By adding non-central nodes to each community respectively until the community quality is the highest, or the target network has no nodes that have not joined the first node set, the community detection and division of the target network is completed, and the final K first node sets are obtained, and each first node set is determined as a community to obtain K communities.

[0048] According to the embodiments of the present disclosure, the node degree and centrality of each node and its neighboring nodes in the target network can be determined, and the influence of each node on the surrounding nodes can be reflected through the centrality; based on the node degree and centrality of each node, the dependent node with the maximum centrality and the corresponding one-way dependency value of each node are determined, so as to quantitatively reflect the one-way dependence degree of the nodes around each node on the node; and based on the centrality and one-way dependency values ​​of multiple nodes, the nodes with large influence and one-way dependency are selected as the central nodes of the community, and then the node set corresponding to the community in the target network is determined. In this way, the community division result can be made closer to the structure and characteristics of the actual community, thereby improving the accuracy of community division and network coverage.

[0049] The network community determination method according to the embodiment of the present disclosure is described below.

[0050] As mentioned above, in step S11, the node degree deg(i) of each node, as well as the set of neighbor nodes of each node Neighbor(i)=Γ(i) and the set of non-neighbor nodes Non_neighbor(i) are determined according to the connection relationship between multiple nodes of the target network; in step S12, the centrality centrality(i) of each node is determined according to the node degree of each node and its neighbor nodes by formula (1).

[0051] In some possible implementations, in step S13, based on the centrality of each node and its neighboring nodes, the dependent nodes of each node may be determined from the neighboring nodes of each node and the node itself. The multiple nodes include a target node, and the target node refers to any one of the multiple nodes. For the target node, step S13 may include:

[0052] According to the magnitude relationship between the centrality of the target node and the centrality of each neighboring node, the dependent nodes of the target node are determined from multiple neighboring nodes and the target node itself.

[0053] That is to say, if the centralities of multiple neighbor nodes are all smaller than the centrality of the target node, the target node itself can be used as the dependent node of the target node; if there is a neighbor node with a centrality greater than the centrality of the target node among multiple neighbor nodes, the dependent node of the target node can be selected from the multiple neighbor nodes.

[0054] In some possible implementations, according to the magnitude relationship between the centrality of the target node and the centrality of each neighboring node, the step of determining the dependent nodes of the target node from multiple neighboring nodes and the target node itself may include:

[0055] According to the centrality of each neighboring node, determine the maximum centrality of each neighboring node;

[0056] In the case where the maximum centrality value is greater than the centrality value of the target node, selecting a dependent node of the target node from neighbor nodes corresponding to the maximum centrality value, wherein the distance between the dependent node and the target node is the smallest;

[0057] When the maximum centrality value is less than or equal to the centrality of the target node, the target node itself is used as a dependent node of the target node.

[0058] For example, the node closest to the target node i among the neighbor nodes with the greatest centrality, that is, the node with the greatest influence on the target node i, can be determined as the dependent node DN(i) of the target node i. At the same time, according to the definition of the dependent node DN, in the target network, the node with the highest centrality will not have a DN node, so the dependent node DN of such a node can be defaulted to itself.

[0059] In some possible implementations, based on the centrality of each neighboring node of the target node, a maximum value can be determined from the centralities of all neighboring nodes, and the maximum value can be compared with the centrality of the target node itself; if the maximum value is less than or equal to the centrality of the target node, then the target node is the node with the highest centrality, and the target node itself can be directly used as a dependent node of the target node.

[0060] In some possible implementations, if the maximum value is greater than the centrality of the target node, the judgment is made based on the number of the maximum values. That is, if the maximum value is one, the neighbor node corresponding to the maximum value is directly used as the dependent node; if there are multiple parallel maximum values, the node with the smallest distance from the target node among the neighbor nodes corresponding to the maximum value of the centrality can be determined as the dependent node. See the following formula (2):

[0061] DN(i)=min s (max(centrality(u))) (2)

[0062] In formula (2), u(u∈Γ(i)) represents the neighbor node of target node i; s represents the distance between target node i and neighbor node u.

[0063] In some possible implementations, it can also be set that each target node i can have at most c dependent nodes (c ≥ 1), and then multiple values ​​with the largest centrality and a value greater than the centrality of the target node i can be determined from the centrality of all neighboring nodes of the target node (the number is less than or equal to c; but if there are multiple values ​​in parallel, the number may be greater than c); the node with the smallest distance from the target node among the neighboring nodes corresponding to the maximum centrality is determined as the dependent node. See the following formula (3):

[0064] DN(i)=min s (max c (centrality(u))) (3)

[0065] In formula (3), u(μ∈Γ(i)) represents the neighbor node of target node i; s represents the distance between target node i and neighbor node u, and c represents the maximum number of dependent nodes of each target node. In this way, by processing multiple nodes in the target network separately, the dependent nodes of multiple nodes can be determined.

[0066] In this way, the node with the greatest influence on the target node can be determined, thereby improving the accuracy of subsequent one-way dependency and community detection.

[0067] In some possible implementations, after the dependent node DN(i) of the target node i is obtained, the process may continue in step S13. The process of determining the unidirectional dependency value of each node for the dependent node in step S13 may include:

[0068] Determine a connection node on at least one connection path between the target node and the dependent node;

[0069] Determine the path value between the target node and the dependent node on each connection path according to the path value between adjacent connection nodes in each connection path;

[0070] The maximum value among the path values ​​is determined as the one-way dependency value of the target node with respect to the dependent node.

[0071] For example, at least one connection path between the target node i and the dependent node DN(i) can be determined based on the relative positions of the target node i and the dependent node DN(i); each connection node on each connection path has a connection relationship (edge), indicating that information can reach the dependent node DN(i) from the target node i along the connection path.

[0072] In some possible implementations, suppose that the connection nodes on any connection path p are N1, N2, ..., N m , m is the number of nodes on the connection path p, then the target node i corresponds to the starting point N1 of the connection path, and the dependent node DN(i) corresponds to the end point N of the connection path. m The path value μ of the connection path p can be set p (N1,N m ) is the path value μ between each adjacent connection node on the connection path p p (N1,N2),μ p (N2,N3), ..., μ p (N m-1 ,N m ). As shown in formula (4):

[0073] μ p (N1,N m )=μ p (N1,N2)·μ p (N2,N3)……μ p (N m-1 ,N m ) (4)

[0074] Among them, the path value μ between each adjacent connection node p (N x ,N x+1 ) can be determined by the following formula (5):

[0075]

[0076] In formula (5), x represents the number of the connection node on the connection path p, 1≤x≤m-1; Γ(N x ) represents node N x The set of neighbor nodes of x )| represents node Nx The number of neighbor nodes; |Γ(N x )∩Γ(N x+1 )| represents node N x With N x+1 The number of common neighbor nodes.

[0077] By using formulas (4) and (5), the path value of the connection path p between the target node i and the dependent node DN(i) can be determined. In this way, by processing each connection path separately, the path value between the target node and the dependent node on each connection path can be determined.

[0078] In some possible implementations, the unidirectional dependency value Ur of the target node i for the dependent node DN(i) may be set to the maximum value among the path values, as shown in formula (6):

[0079] Ur(i,DN(i))=max p∈ {μ p (N1,N m )} (6)

[0080] In formula (6), P represents the set of connection paths between the target node i and the dependent node DN(i), and the connection path p is any connection path in the set P. In this way, by processing each node in the target network separately, the one-way dependency value of each node on the dependent node can be determined.

[0081] In some possible implementations, if the target node has multiple dependent nodes (as shown in formula (3)), the one-way dependency value of the target node on each dependent node can be calculated respectively, and the maximum value among the multiple one-way dependency values ​​is used as the final one-way dependency value of the target node. The present disclosure does not limit the specific processing method.

[0082] By determining the one-way dependency of a node on the node it depends on, the degree of one-way dependency of the node on the node it depends on can be quantitatively reflected, thereby improving the accuracy of subsequent community construction.

[0083] In some possible implementations, after obtaining the one-way dependency value in step S13, community construction may be performed in step S14. Step S14 may include:

[0084] Determining a node relationship graph of multiple nodes of the target network according to the centrality and one-way dependency values ​​of multiple nodes in the target network;

[0085] According to the node relationship graph, determining K central nodes of the target network from the multiple nodes;

[0086] K first node sets are determined according to the one-way dependency values ​​of the K central nodes and a plurality of nodes of the target network.

[0087] For example, a node relationship diagram of multiple nodes in the target network can be drawn with the node centrality as the horizontal axis and the one-way dependency value Ur as the vertical axis, and the nodes in the target network can be represented in the form of a scatter diagram. Then, based on the node relationship diagram, K central nodes of the target network are determined from the multiple nodes.

[0088] Figure 2a and Figure 2b A schematic diagram of a node relationship diagram of an embodiment of the present disclosure. Figure 2a The Karate network is shown; Figure 2b The Strike network is shown. The Karate network is a network with 34 nodes and 78 edges. Each node represents a member of the karate club, and an edge indicates that two members are friends. The network contains two communities. The Strike network is a communication network with 24 nodes. Each node represents an employee of a wood processing plant. This network is used to describe the communication between employees. The existence of an edge between two employees means that the two communicating employees often communicate. The network contains three communities.

[0089] like Figure 2a As shown in Figure 2, there are two central nodes 21 in the Karate network, which are obvious outliers in the node relationship graph. From the analysis of the node relationship graph, it can be seen that the central node of the community has a larger centrality and a lower one-way dependency value.

[0090] like Figure 2b As shown, the Strike network has three edge nodes 22, corresponding to the central nodes of the three communities. It can also be seen that the central node of the community may not have the highest centrality, but it must have a lower one-way dependency value, which is consistent with the definition of a dependent node, that is, a dependent node only needs to maintain a high centrality in a local range.

[0091] In some possible implementations, various screening conditions may be pre-set to determine the central node of the community from the nodes of the target network based on the node relationship graph. The screening condition may consider at least one of factors such as centrality, one-way dependency value, and distance of the node in the node relationship graph.

[0092] In the example, when setting the screening conditions, both the centrality and the one-way dependency value can be considered. For example, the screening condition is set as the centrality of the node is greater than the first preset value (such as the average of the centrality of all nodes, or twice the average value, etc.), and the one-way dependency value is less than the second preset value (such as the average of the one-way dependency values ​​of all nodes, or 1 / 2 of the average value, etc.), that is, the node with a centrality greater than the first preset value and a one-way dependency value less than the second preset value is regarded as the central node of the community. In this way, nodes with a large centrality and a low one-way dependency value can be screened out.

[0093] In the example, when setting the screening condition, only the one-way dependency value may be considered. For example, the screening condition is set as the one-way dependency value is less than the third preset value (such as the average value of the one-way dependency values ​​of all nodes, or 1 / 2 of the average value, etc.), that is, the node with the one-way dependency value less than the third preset value is regarded as the central node of the community. In this way, nodes with lower one-way dependency values ​​can be screened out.

[0094] In the example, the distance of the node in the node relationship graph can also be considered when setting the screening condition. For example, the screening condition is set as the minimum distance between the node and other nodes is greater than the fourth preset value (such as 2 times the average distance between all nodes in the node relationship graph, etc.), that is, the node whose minimum distance to other nodes is greater than the fourth preset value is regarded as the central node of the community. In this way, nodes that are relatively far away from other nodes can be screened out.

[0095] It should be understood that those skilled in the art may set the screening conditions for the central nodes of the community according to actual conditions, and the present disclosure does not limit this.

[0096] In this way, the quality of the central node of the determined community can be higher, thereby improving the accuracy of subsequent community construction.

[0097] In some possible implementations, after determining K central nodes, K first node sets can be determined respectively according to the one-way dependency values ​​of the K central nodes and multiple nodes of the target network, and each first node set can be determined as a community to achieve community construction and division. k (1≤k≤K), each initial first node set C k A central node is included; a second node set V can also be constructed, and the initial second node set V includes non-central nodes among multiple nodes in the target network, that is, nodes other than the K central nodes.

[0098] In some possible implementations, the step of determining the K first node sets according to the one-way dependency values ​​of the K central nodes and the multiple nodes of the target network may include:

[0099] For the kth first node set, determine the node fitness of the jth node according to the first community fitness and the second community fitness of the kth first node set; the first community fitness refers to the community fitness of the kth first node set before the jth node is added to the kth first node set, and the second community fitness refers to the community fitness of the kth first node set after the jth node is added to the kth first node set; the jth node is a node in the second node set, 1≤k≤K; the second node set includes non-central nodes among the multiple nodes;

[0100] When the node fitness of the j-th node meets a preset condition, adding the j-th node to the k-th first node set, and removing the first node from the second node set to update the second node set;

[0101] If the j-th node is not the last node in the second node set, then add 1 to j and assign the value to j, and repeat the step of determining the node fitness of the j-th node according to the first community fitness and the second community fitness of the k-th first node set until there is no node in the second node set that meets the preset condition or the j-th node is the last node in the second node set;

[0102] If there is no node satisfying the preset condition in the second node set, the j-th node is not the last node in the second node set, and k is less than K, then k is added by 1 and assigned to k, and the step of determining the node fitness of the j-th node according to the first community fitness and the second community fitness of the k-th first node set is repeated until k is equal to K.

[0103] For example, each first node set may be divided into communities respectively, and the present disclosure does not limit the specific order of community division.

[0104] In some possible implementations, for the kth first node set among the K first node sets, any node (referred to as the jth node) may be selected from the current second node set V, and the first community fitness before the jth node is added to the current kth first node set and the second community fitness after the jth node is added to the current kth first node set are calculated. The community fitness may be determined according to the following formula (7):

[0105]

[0106] In formula (7), F crepresents the community fitness of the kth first node set (community C), represents the sum of the node degrees of all nodes in the community (i.e., the current k-th first node set), represents the sum of the node degrees of all nodes outside the community (i.e., outside the current k-th first node set). α represents a resolution parameter for controlling the community size, which can be set by those skilled in the art according to actual conditions, and the present disclosure does not limit this.

[0107] Among them, community fitness can effectively measure the closeness of nodes within the community to evaluate the quality of the community.

[0108] According to formula (7), the first community fitness F can be calculated respectively. c , that is, the community fitness before joining the jth node, and the second community fitness F c∪{y} , that is, the new community fitness after adding the jth node. Then, determine the node fitness of the jth node

[0109]

[0110] According to formula (8), if the node fitness is a positive value, it means that adding the jth node to community C can make the structure of community C more compact, and the quality of community C is improved after adding the jth node; on the contrary, if the node fitness is If it is a negative value, it means that adding the j-th node to community C can make the structure of community C more sparse, and the quality of community C decreases after adding the j-th node.

[0111] In some possible implementations, a preset condition of node fitness may be set so as to select the jth node according to the preset condition. The preset condition may include: the node fitness of the jth node is greater than 0; or

[0112] The node fitness of the j-th node is a maximum value of the node fitness of each node in the second node set, and the node fitness of the j-th node is greater than 0.

[0113] In the example, the preset condition can be set as node fitness greater than 0, that is, if the node fitness of the jth node is greater than 0, it is considered that the preset condition is met, and the jth node is added to the kth first node set. In this way, nodes that can improve the quality of the community can be added to the community, and the complexity of the calculation is low.

[0114] In the example, the preset condition can also be set that the node fitness of the jth node is the maximum value of the node fitness of all nodes in the second node set, and the node fitness is greater than 0. That is, the node fitness of all nodes in the second node set can be calculated respectively by formulas (7) and (8). If the node fitness of the jth node is the maximum value of all node fitness and is greater than 0, it is considered that the preset condition is met, and the first node is added to the kth first node set. In this way, the node that maximizes the improvement of community quality in this round of cycles can be added to the community, thereby improving the efficiency and quality of community division.

[0115] It should be understood that those skilled in the art may set the preset condition according to actual conditions, and the present disclosure does not limit this.

[0116] In some possible implementations, when the node fitness of the jth node meets a preset condition, the jth node is added to the kth first node set, and the jth node is removed from the second node set to update the second node set.

[0117] In some possible implementations, if the j-th node is not the last node in the second node set, an addition operation is performed on j and a value is assigned to j, and the step of determining the node fitness of the j-th node based on the first community fitness and the second community fitness of the k-th first node set is repeated until there is no node in the second node set that meets the preset condition or the j-th node is the last node in the second node set.

[0118] That is to say, if the jth node is not the last node in the second node set, the nodes in the second node set can be added one by one to the kth first node set by repeating the above steps.

[0119] In some possible implementations, if there is no j-th node in the second node set that meets the preset condition, for example, the node fitness of each node in the current second node set is less than 0, that is, the community C k If a node with a more compact structure is found, or the jth node is the last node in the second node set, that is, there are no nodes in the second node set, the final kth first node set can be determined, completing the division process of the kth community.

[0120] In some possible implementation manners, if there is no node in the second node set that meets the preset condition, the j-th node is not the last node in the second node set, and k is less than K, then perform an increment operation on k and assign the incremented value to k, and repeat the step of determining the node fitness of the j-th node according to the first community fitness and the second community fitness of the k-th first node set until k is equal to K.

[0121] That is to say, if there is no node in the second node set that meets the preset condition, the determination process of the k-th first node set is completed; at this time, if the j-th node is not the last node in the second node set and k < K, then k can be set to k + 1, and the above steps can be repeated to implement the partitioning process of the next first node set.

[0122] If the j-th node is the last node in the second node set, then there are no nodes left in the second node set, and the community partitioning process ends; or if k = K, then the determination processes of all K first node sets have been completed, and the final K first node sets can be obtained.

[0123] In this way, the process of community construction and partitioning can be implemented, making the obtained community structure more compact and improving the quality of the obtained communities.

[0124] In some possible implementation manners, according to the method of the embodiments of the present disclosure, it may further include:

[0125] For the target analysis task of the target network, analyze the target network according to the K first node sets of the target network to obtain the analysis result of the target analysis task;

[0126] Wherein, the target analysis task includes at least one of a node behavior prediction task, a community behavior prediction task, and a network event prediction task.

[0127] For example, after completing the community partitioning of the target network in step S14 to obtain K first node sets, the target analysis task for the target network can be performed based on the community partitioning result (K first node sets) to obtain the analysis result of the target analysis task.

[0128] In the example, the target analysis task may include a node behavior prediction task. For example, according to the community partitioning situation, predict the possible behaviors that a social media account node in one or several communities may perform, such as liking, commenting, and favoriting multimedia content nodes in the community, chatting, following, and liking other social media account nodes in the community

[0129] In the example, the target analysis task may include a community behavior prediction task, for example, predicting the category / style corresponding to a community. For example, if the community includes a large number of nodes of football-related multimedia content and nodes of social media accounts that have more interactive behaviors with such multimedia content, then the community corresponds to the category of football fans.

[0130] In the example, the target analysis task may include a network event prediction task, for example, predicting possible future events in the network based on community divisions. For example, if social media account nodes in a community have more interactive behaviors with certain multimedia content nodes in the community, they may have more interactive behaviors with similar multimedia content nodes in the future.

[0131] It should be understood that those skilled in the art may set target analysis tasks for the target network according to actual conditions, and the present disclosure does not limit the specific types of target analysis tasks, the specific execution process and the execution results of the target analysis tasks.

[0132] In this way, the research and analysis of the target network can be realized based on the community division results, thereby improving the effect of network research and analysis.

[0133] The network community determination method according to the embodiment of the present disclosure, which may also be referred to as the URA (Uni-dependence Relationship Algorithm) method, improves the community division method in the related art, applies the dependency relationship to the community division method, and combines it with the fitness function. It can improve the accuracy, coverage and other performance of community division under the premise of low time complexity, that is, it can generate a community with a higher degree of modularity and more consistent with the actual situation within a lower computing time.

[0134] According to the embodiments of the present disclosure, the network community determination method of the present disclosure and the community division method in the related art are also used to perform community division processing on multiple known networks, and comparative experiments are conducted. The community obtained by the network community determination method according to the embodiment of the present disclosure is significantly better than the community obtained by the community division method in the related art in terms of multiple indicators such as ARI (Adjusted Rand Index), NMI (Normalized Mutual Information), and modularity Q (Modularity).

[0135] According to the network community determination method of the embodiment of the present disclosure, the advantage in the ARI index can show that: the method of the present disclosure can stably obtain higher-quality community centers, and therefore has higher stability against complex community structures and interference from outlier nodes, and can exhibit relatively stable performance when facing different network structures.

[0136] Since the NMI index and the ARI index have certain similarities, that is, both use the algorithm execution results to compare with real data, and quantitatively describe the quality of the algorithm results through certain index calculations, the comparison results are also similar. The advantages of the network community determination method according to the embodiment of the present disclosure in the NMI index can show that the method of the present disclosure reflects better community division quality and has strong competitiveness and performance superiority.

[0137] Modularity Q determines the quality of the community by the clarity of the community structure, and then evaluates the quality of the algorithm. However, a clear community structure is not completely equivalent to good community quality, because it is also necessary to consider whether the community division is consistent with the actual community structure. Therefore, it needs to be used in combination with the ARI or NMI indicators. Generally speaking, the Q value range is between 0.3 and 0.7. The advantage of the network community determination method of the embodiment of the present disclosure in modularity Q can be shown: the method of the present disclosure uses dependent nodes and unidirectional dependency values ​​Ur, which can accurately calculate the dependency relationship between each node and the community center node, and therefore shows better performance at the boundary of adjacent communities.

[0138] It can be understood that the above-mentioned various method embodiments mentioned in the present disclosure can be combined with each other to form a combined embodiment without violating the principle logic. Due to space limitations, the present disclosure will not repeat them. It can be understood by those skilled in the art that in the above-mentioned method of the specific implementation method, the specific execution order of each step should be determined according to its function and possible internal logic.

[0139] In addition, the present disclosure also provides a network community determination device, an electronic device, and a computer-readable storage medium, all of which can be used to implement any network community determination method provided by the present disclosure. The corresponding technical solutions and descriptions are referred to in the corresponding records of the method part and will not be repeated here.

[0140] Figure 3 A block diagram of a network community determination device provided by an embodiment of the present disclosure.

[0141] Reference Figure 3 The embodiment of the present disclosure provides a network community determination device, the network community determination device comprising:

[0142] A node degree determination module 31, used to determine the neighbor nodes of each node and the node degree of each node according to the connection relationship between multiple nodes of the target network;

[0143] A centrality determination module 32, used to determine the centrality of each node according to the node degree of each node and the node degrees of neighboring nodes of each node;

[0144] A dependency determination module 33, configured to determine the dependent nodes of each node from the neighboring nodes of each node and the node itself based on the centrality of each node and the centrality of the neighboring nodes of each node, and to determine the one-way dependency value of each node for the dependent node;

[0145] The community determination module 34 is used to determine K first node sets according to the centrality and one-way dependency values ​​of multiple nodes in the target network and determine each first node set as a community; K is an integer and K≥1.

[0146] In some possible implementations, the multiple nodes include a target node, and the target node refers to any one of the multiple nodes; each node has multiple neighbor nodes; and the dependency determination module 33 is used to: determine the dependent nodes of the target node from multiple neighbor nodes and itself based on the size relationship between the centrality of the target node and the centrality of each neighbor node.

[0147] In some possible implementations, the dependency determination module 33 is used to: determine the maximum centrality of each neighbor node based on the centrality of each neighbor node; when the maximum centrality is greater than the centrality of the target node, select a dependent node of the target node from the neighbor nodes corresponding to the maximum centrality, wherein the distance between the dependent node and the target node is the smallest; when the maximum centrality is less than or equal to the centrality of the target node, use the target node itself as the dependent node of the target node.

[0148] In some possible implementations, the multiple nodes include a target node, and the target node refers to any one of the multiple nodes; the dependency determination module 33 is also used to: determine the connection nodes on at least one connection path between the target node and the dependent node; determine the path value between the target node and the dependent node on each connection path based on the path value between adjacent connection nodes in each connection node on each connection path; and determine the maximum value in the path value as the unidirectional dependency value of the target node for the dependent node.

[0149] In some possible implementations, the community determination module 34 is used to

[0150] According to the centrality and one-way dependency values ​​of multiple nodes in the target network, a node relationship graph of the multiple nodes of the target network is determined; according to the node relationship graph, K central nodes of the target network are determined from the multiple nodes; according to the K central nodes and the one-way dependency values ​​of the multiple nodes of the target network, K first node sets are determined.

[0151] In some possible implementations, determining K first node sets according to the K central nodes and the unidirectional dependency values ​​of the multiple nodes of the target network includes:

[0152] For the kth first node set, determine the node fitness of the jth node according to the first community fitness and the second community fitness of the kth first node set; the first community fitness refers to the community fitness of the kth first node set before the jth node is added to the kth first node set, and the second community fitness refers to the community fitness of the kth first node set after the jth node is added to the kth first node set; the jth node is a node in the second node set, 1≤k≤K; the second node set includes non-central nodes among the multiple nodes;

[0153] When the node fitness of the j-th node meets a preset condition, adding the j-th node to the k-th first node set, and removing the first node from the second node set to update the second node set;

[0154] If the j-th node is not the last node in the second node set, then add 1 to j and assign the value to j, and repeat the step of determining the node fitness of the j-th node according to the first community fitness and the second community fitness of the k-th first node set until there is no node in the second node set that meets the preset condition or the j-th node is the last node in the second node set;

[0155] If there is no node satisfying the preset condition in the second node set, the j-th node is not the last node in the second node set, and k is less than K, then k is added by 1 and assigned to k, and the step of determining the node fitness of the j-th node according to the first community fitness and the second community fitness of the k-th first node set is repeated until k is equal to K.

[0156] In some possible implementations, the preset condition includes:

[0157] The node fitness of the j-th node is greater than 0; or the node fitness of the j-th node is the maximum value of the node fitness of each node in the second node set, and the node fitness of the j-th node is greater than 0.

[0158] In some possible implementations, the target network includes a social network, and the multiple nodes of the target network include at least social media accounts and multimedia content. The nodes have a connection relationship to indicate the existence of interactive behavior between the nodes; the neighbor nodes of each node include nodes in the target network that have a connection relationship with the node and a distance between the node and the node is less than or equal to a first distance threshold; wherein the community of the target network is used to characterize a set of nodes of the target network, and the connection relationship between the nodes within the community is more than the connection relationship between the nodes within the community and the nodes outside the community.

[0159] In some possible implementations, the device also includes: an analysis module, which is used to analyze the target network according to the K first node sets of the target network for a target analysis task of the target network to obtain an analysis result of the target analysis task; wherein the target analysis task includes at least one of a node behavior prediction task, a community behavior prediction task, and a network event prediction task.

[0160] Each module in the above network community determination device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0161] Figure 4 A block diagram of an electronic device provided in an embodiment of the present disclosure.

[0162] Reference Figure 4 An embodiment of the present disclosure provides an electronic device, which includes: at least one processor 701; at least one memory 702, and one or more I / O interfaces 703, connected between the processor 701 and the memory 702; wherein the memory 702 stores one or more computer programs that can be executed by the at least one processor 701, and the one or more computer programs are executed by the at least one processor 701, so that the at least one processor 701 can execute the above-mentioned network community determination method.

[0163] Each module in the above electronic device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0164] The present disclosure also provides a computer-readable storage medium, which may be a volatile or non-volatile computer-readable storage medium, on which a computer program is stored, wherein when the computer program is executed by a processor:

[0165] According to the connection relationship between multiple nodes of the target network, determine the neighbor nodes of the target node and the node degree of the target node; wherein the target node is any node among the multiple nodes of the target network; the neighbor nodes of the target node include nodes in the target network that have a connection relationship with the target node and whose distance to the target node is less than or equal to a first distance threshold;

[0166] Determine the centrality of the target node according to the node degree of the target node and the node degrees of neighboring nodes of the target node;

[0167] Determine, from the neighboring nodes of the target node, the dependent nodes of the target node and the one-way dependency value of the target node on the dependent nodes according to the centrality of the target node and the centrality of the neighboring nodes of the target node;

[0168] According to the centrality and unidirectional dependency values ​​of multiple nodes of the target network, the first node sets of K communities of the target network are determined, where K is an integer and K≥1, and the first node set of any community among the K communities includes the central node and non-central nodes of the community.

[0169] In some possible implementations, determining the dependent node of the target node and the one-way dependency value of the target node on the dependent node from the neighboring nodes of the target node according to the centrality of the target node and the centrality of the neighboring nodes of the target node includes:

[0170] When the maximum value of the centrality of the neighboring nodes of the target node is greater than the centrality of the target node, the node with the smallest distance from the target node among the neighboring nodes corresponding to the maximum value of the centrality is determined as the dependent node of the target node;

[0171] When the maximum value of the centrality of the neighboring nodes of the target node is less than or equal to the centrality of the target node, the target node itself is used as a dependent node of the target node.

[0172] In some possible implementations, determining the dependent node of the target node and the one-way dependency value of the target node on the dependent node from the neighbor nodes of the target node according to the centrality of the target node and the centrality of the neighbor nodes of the target node further includes:

[0173] Determine, according to the target node and the dependent nodes of the target node, a connection node on a connection path between the target node and the dependent node;

[0174] Determine the path value between the target node and the dependent node according to the path value between adjacent connection nodes in each connection node;

[0175] The maximum value of the path values ​​between the target node and the dependent node is determined as the unidirectional dependency value of the target node with respect to the dependent node.

[0176] In some possible implementations, determining the first node sets of K communities of the target network according to the centrality and one-way dependency values ​​of the multiple nodes of the target network includes:

[0177] Determining a node relationship graph of the multiple nodes of the target network according to the centrality and one-way dependency values ​​of the multiple nodes of the target network;

[0178] According to the node relationship graph, determining the central nodes of K communities of the target network from the multiple nodes;

[0179] According to the central nodes of the K communities and the one-way dependency values ​​of the multiple nodes of the target network, the first node sets of the K communities are respectively determined.

[0180] In some possible implementations, the initial first node set of each community includes the central node of the community, and the initial second node set includes nodes other than the central nodes of the K communities;

[0181] According to the central nodes of the K communities and the one-way dependency values ​​of the multiple nodes of the target network, the first node sets of the K communities are respectively determined, including:

[0182] For a kth community among the K communities, determining the node fitness of the first node according to a first community fitness before the first node is added to a first node set of the kth community and a second community fitness after the first node is added to the first node set of the kth community; the first node is any node in the second node set, 1≤k≤K;

[0183] When the node fitness of the first node meets a preset condition, the first node is used as a non-central node of the k-th community, added to the first node set of the k-th community, and the first node is removed from the second node set;

[0184] In the case that there is no first node satisfying the preset condition in the second node set, determining a first node set of the kth community;

[0185] When k=K, the first node sets of the K communities are obtained.

[0186] In some possible implementations, the preset condition includes:

[0187] The node fitness of the first node is greater than 0; or

[0188] The node fitness of the first node is a maximum value of the node fitness of each node in the second node set, and the node fitness of the first node is greater than 0.

[0189] In some possible implementations, the target network includes a social network, the multiple nodes of the target network include at least social media accounts and multimedia content, and the nodes have a connection relationship for indicating that there is an interactive behavior between the nodes.

[0190] The community of the target network is used to characterize a set of nodes of the target network, and the connection relationships between nodes within the community are more than the connection relationships between nodes within the community and nodes outside the community.

[0191] In some possible implementations, the processor 701 is further configured to:

[0192] For the target analysis task of the target network, the target network is analyzed according to the first node sets of the K communities of the target network to obtain an analysis result of the target analysis task;

[0193] The target analysis task includes at least one of a node behavior prediction task, a community behavior prediction task, and a network event prediction task.

[0194] The embodiment of the present disclosure also provides a computer program product, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above-mentioned network community determination method.

[0195] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In a hardware implementation, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or may be implemented as hardware, or may be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable storage medium, which may include a computer storage medium (or a non-transitory medium) and a communication medium (or a temporary medium).

[0196] As is known to those of ordinary skill in the art, the term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable program instructions, data structures, program modules or other data). Computer storage media include, but are not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technology, portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. In addition, it is known to those of ordinary skill in the art that communication media typically contain computer-readable program instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium.

[0197] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0198] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0199] The computer program product described herein may be implemented in hardware, software, or a combination thereof. In one optional embodiment, the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK), etc.

[0200] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0201] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0202] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0203] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.

[0204] Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted only in a general illustrative sense and not for limiting purposes. In some instances, it will be apparent to those skilled in the art that, unless otherwise expressly noted, features, characteristics, and / or elements described in conjunction with a particular embodiment may be used alone or in combination with features, characteristics, and / or elements described in conjunction with other embodiments. Therefore, those skilled in the art will appreciate that various changes in form and detail may be made without departing from the scope of the present disclosure as set forth in the appended claims.

Claims

1. A method for determining a network community, characterized in that: include: According to the connection relationship between multiple nodes of the target network, the neighbor nodes of each node and the node degree of each node are determined; Determine the centrality of each node based on the node degree of each node and the node degree of each node's neighboring nodes; Based on the centrality of each node and the centrality of each node's neighbor nodes, determine the dependent nodes of each node from the neighbor nodes of each node and itself, and determine the one-way dependency value of each node for the dependent node; According to the centrality and unidirectional dependency values ​​of multiple nodes in the target network, K first node sets are determined and each first node set is determined as a community; K is an integer and K≥1.

2. The method according to claim 1, characterized in that The multiple nodes include a target node, and the target node refers to any one of the multiple nodes; the number of neighbor nodes of each node is multiple; The step of determining the dependent nodes of each node from the neighboring nodes of each node and the node itself according to the centrality of each node and the centrality of the neighboring nodes of each node includes: According to the magnitude relationship between the centrality of the target node and the centrality of each neighboring node, the dependent nodes of the target node are determined from multiple neighboring nodes and the target node itself.

3. The method according to claim 2, characterized in that The step of determining the dependent nodes of the target node from a plurality of neighboring nodes and the target node itself according to the magnitude relationship between the centrality of the target node and the centrality of each neighboring node includes: According to the centrality of each neighboring node, determine the maximum centrality of each neighboring node; In the case where the maximum centrality value is greater than the centrality value of the target node, selecting a dependent node of the target node from neighbor nodes corresponding to the maximum centrality value, wherein the distance between the dependent node and the target node is the smallest; When the maximum centrality value is less than or equal to the centrality of the target node, the target node itself is used as a dependent node of the target node.

4. The method according to claim 1, characterized in that: The multiple nodes include a target node, and the target node refers to any one of the multiple nodes; The determining of the one-way dependency value of each node with respect to the dependent node includes: Determine a connection node on at least one connection path between the target node and the dependent node; Determine the path value of each connection path according to the path values ​​between adjacent connection nodes in each connection node on each connection path; The maximum value among the path values ​​is determined as the one-way dependency value of the target node with respect to the dependent node.

5. The method according to claim 1, characterized in that The step of determining K first node sets according to the centrality and one-way dependency values ​​of a plurality of nodes in the target network includes: Determining a node relationship graph of multiple nodes of the target network according to the centrality and one-way dependency values ​​of multiple nodes in the target network; According to the node relationship graph, determining K central nodes of the target network from the multiple nodes; K first node sets are determined according to the one-way dependency values ​​of the K central nodes and a plurality of nodes of the target network.

6. The method according to claim 5, characterized in that The step of determining K first node sets according to the one-way dependency values ​​of the K central nodes and the multiple nodes of the target network includes: For the kth first node set, determine the node fitness of the jth node according to the first community fitness and the second community fitness of the kth first node set; the first community fitness refers to the community fitness of the kth first node set before the jth node is added to the kth first node set, and the second community fitness refers to the community fitness of the kth first node set after the jth node is added to the kth first node set; the jth node is a node in the second node set, 1≤k≤K; the second node set includes non-central nodes among the multiple nodes; When the node fitness of the j-th node meets a preset condition, adding the j-th node to the k-th first node set, and removing the first node from the second node set to update the second node set; If the j-th node is not the last node in the second node set, then add 1 to j and assign the value to j, and repeat the step of determining the node fitness of the j-th node according to the first community fitness and the second community fitness of the k-th first node set until there is no node in the second node set that meets the preset condition or the j-th node is the last node in the second node set; If there is no node satisfying the preset condition in the second node set, and the j-th node is not the last node in the second node set, and k is less than K, then k is added by 1 and assigned to k, and the step of determining the node fitness of the j-th node according to the first community fitness and the second community fitness of the k-th first node set is repeated until k is equal to K.

7. The method according to claim 6, characterized in that The preset conditions include: The node fitness of the j-th node is greater than 0; or The node fitness of the j-th node is a maximum value of the node fitness of each node in the second node set, and the node fitness of the j-th node is greater than 0.

8. The method according to claim 1, characterized in that The target network includes a social network, the multiple nodes of the target network include at least social media accounts and multimedia content, and the nodes have a connection relationship to indicate that there is an interactive behavior between the nodes; the neighbor nodes of each node include nodes in the target network that have a connection relationship with the node and a distance between the node and the node is less than or equal to a first distance threshold; The community of the target network is used to characterize a first set of nodes of the target network, and the connection relationships between nodes within the community are more than the connection relationships between nodes within the community and nodes outside the community.

9. The method according to any one of claims 1 to 8, characterized in that The method further comprises: For the target analysis task of the target network, the target network is analyzed according to the K first node sets of the target network to obtain an analysis result of the target analysis task; The target analysis task includes at least one of a node behavior prediction task, a community behavior prediction task, and a network event prediction task.

10. A network community determination device, characterized in that: include: A node degree determination module is used to determine the neighbor nodes of each node and the node degree of each node according to the connection relationship between multiple nodes of the target network; A centrality determination module is used to determine the centrality of each node based on the node degree of each node and the node degrees of its neighboring nodes; A dependency determination module, used to determine the dependent nodes of each node from the neighboring nodes of each node and itself based on the centrality of each node and the centrality of the neighboring nodes of each node, and to determine the one-way dependency value of each node for the dependent node; The community determination module is used to determine K first node sets and determine each first node set as a community according to the centrality and one-way dependency values ​​of multiple nodes in the target network; K is an integer and K≥1.

11. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores one or more computer programs executable by the at least one processor, and the one or more computer programs are executed by the at least one processor to enable the at least one processor to perform the network community determination method according to any one of claims 1 to 9.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the computer program implements the network community determination method according to any one of claims 1 to 9.