A community search method based on subgraph conductance

By adopting a community search method based on subgraph conductance, the problem of ignoring external separability in community search is solved, thereby improving community quality and efficiency, and making it suitable for friend recommendation in social networks.

CN118839038BActive Publication Date: 2026-02-10SOUTHWEST UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410868449.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-01
Publication Date
2026-02-10
Estimated Expiration
2044-07-01

AI Technical Summary

Technical Problem

Existing community search methods neglect the separation between the community and the outside world when considering the cohesion within the community, resulting in poor community quality and high computational cost when processing large-scale graphs.

Method used

A community search method based on subgraph conductivity is adopted. The social network graph is sampled by breadth-first search, and the largest clique containing the query vertex is selected as the initial community. User nodes that can reduce conductivity are added to each initial community, and boundary pruning is performed. Finally, the high-quality community with the smallest conductivity value is selected as the result.

Benefits of technology

It improves the accuracy and efficiency of community search, reduces computational costs, enhances the quality of the community, and is suitable for friend recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118839038B_ABST
    Figure CN118839038B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of social search and particularly relates to a community search method based on sub-graph electric conductance; the method comprises the following steps: obtaining a social network graph, sampling a social sub-graph from the social network graph by using breadth-first search; selecting multiple maximum groups containing query vertices as initial communities in the social sub-graph; adding user nodes capable of reducing electric conductance of the initial communities in each initial community to obtain multiple complete communities; performing boundary pruning on the complete communities to obtain multiple high-quality communities; and selecting a high-quality community with the best performance from the multiple high-quality communities as a final community search result; the application saves the calculation cost, improves the accuracy of community search, and can realize effective and high-speed friend recommendation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of social search technology, specifically relating to a community search method based on subgraph conductance. Background Technology

[0002] Community search is a fundamental task in network science, aiming to identify high-quality connected subgraphs (called communities) containing a given query vertex. This problem also plays a role in many practical applications, including social recommendation, protein complex identification, and impromptu event organization. Therefore, numerous existing studies have proposed a variety of community search models, primarily including k-kernel-based and k-string-based models. For example, CSM aims to identify k-kernel subgraphs containing query vertex q with maximum and minimum degrees. The TCP model constructs higher-order frame communities based on triangle connections and k-strings, aiming to return the maximum k-string subgraph.

[0003] While k-kernel and k-string-based methods have achieved success, they are both based on agglomerative subgraph models, focusing only on the internal cohesion of the output community. However, we know that a community is considered high-quality if it is internally tightly connected and well separated from the rest of the graph. Therefore, agglomerative subgraph-based community search models ignore the separation between communities, potentially leading to poor-quality communities. Furthermore, the quality of communities returned by k-kernel or k-string-based methods is heavily influenced by the input parameter k. For example, to obtain smaller communities that better match the size of real-world communities (typically between 3 and 100), they tend to maximize k. However, due to the low kernel / string number of most vertices in real-world networks, the maximum k remains relatively small. Therefore, the size of communities returned by k-kernel or k-string-based methods is still significantly larger than the size of real-world communities, failing to satisfy the properties of real-world networks. Finally, existing solutions require enormous computational costs when handling large-scale graphs with billions of edges, which is clearly impractical for graph exploration.

[0004] In conclusion, there is an urgent need for a new community search method that considers both the cohesion within the community and its separation from the outside world, in order to improve the quality and efficiency of community search. Summary of the Invention

[0005] To address the shortcomings of existing technologies, this invention proposes a community search method based on subgraph conductance, which includes:

[0006] S1: Obtain the social network graph and use breadth-first search to sample social subgraphs from the social network graph;

[0007] S2: Select multiple maximum cliques containing the query vertex as the initial community in the social subgraph;

[0008] S3: Add user nodes that can reduce the conductivity of the initial community to each initial community to obtain multiple complete communities;

[0009] S4: Perform boundary trimming on the complete community to obtain multiple high-quality communities;

[0010] S5: Select the best-performing high-quality community from multiple high-quality communities as the final community search result.

[0011] Preferably, in step S1, the process of sampling social subgraphs from the social network graph includes:

[0012] S11: Initialize the maximum depth dp, minimum threshold l, and maximum threshold h;

[0013] S12: Add the queried vertex to the subgraph vertex set and record the set depth as 0;

[0014] S13: Traverse the neighboring nodes of the user node in the subgraph vertex set; add the neighboring node to the subgraph vertex set, add the edge connecting the neighboring node and the user node to the edge set, and increment the depth of the current subgraph vertex set by one.

[0015] S14: Determine whether the number of user nodes in the subgraph vertex set has reached the minimum threshold l and the maximum depth dp. If yes, save the current subgraph vertex set and the corresponding edge set; otherwise, return to step S13.

[0016] S15: Determine whether the number of user nodes in the subgraph vertex set exceeds the maximum threshold h. If yes, obtain the subgraph vertex set and the corresponding edge set, i.e., the social subgraph; otherwise, return to step S13.

[0017] Preferably, in step S2, the selected multiple maximal cliques are represented as follows:

[0018]

[0019] Where initialCom represents the initial community set, and clique represents the non-overlapping maximal clique in the initial community set. i and clique j Let i and j represent the i-th and j-th non-overlapping maximum cliques in initialCom, respectively. Let I represent the intersection of the i-th and j-th non-overlapping maximum cliques, and q represent the query vertex.

[0020] Preferably, in step S3, the process of obtaining the complete community includes:

[0021] S31: Set the single node addition threshold count, initialize the single node addition count to 0, and calculate the initial community quality score after adding neighboring nodes;

[0022] S32: Select the neighbor node with the highest quality score to join the current community, increment the number of nodes added at one time, and calculate the quality gain of the community after adding the neighbor node;

[0023] S33: If the number of nodes added in a single instance is not greater than count and the quality gain is less than 0, calculate the community's quality score after adding neighboring nodes, return to step S32, and continue until the quality gain is greater than 0 to complete one user node addition.

[0024] S34: If the number of nodes added in a single instance is not greater than count and the quality gain is greater than 0, then calculate the community's quality score after adding neighboring nodes, return to step S32, and complete one user node addition;

[0025] S35: If the number of nodes added in a single instance reaches count and the quality gain is less than 0, or there are no neighboring nodes, then remove the most recently added user node to obtain the complete community.

[0026] Furthermore, the formula for calculating the community's quality score is as follows:

[0027]

[0028] Where f(S) represents the quality score of community S, and D in (S,S) represents the sum of the internal degrees of S. Represents the complement of community S and community S. The number of cut edges.

[0029] Furthermore, the formula for calculating the quality gain of the community after adding neighboring nodes is as follows:

[0030] Δf(S∪A i )=f(S∪A i )-f(S)

[0031]

[0032] Wherein, Δf(S∪A) i ) indicates adding node set A i The quality gain of the community S after the neighboring nodes, f(S∪A) i ) indicates adding node set A i The quality score of community S after the neighbor nodes in the diagram, f(S) represents the quality score of community S, and D in (S,S) represents the sum of the internal degrees of S, and D in (S,A i ) represents S and A i The sum of the degrees between them, Represents the complement of community S and community S. The number of cut edges, E out (Ai () indicates the first intermediate parameter. express With A i The number of cut edges between them, E out (S,A i ) represents S and A i The number of cut edges between them.

[0033] Preferably, in step S4, the process of pruning the boundaries of the complete community includes:

[0034] S41: Obtain the set of boundary vertices of all user nodes in the remaining community, excluding the query vertex, that have at least one edge in the remaining community;

[0035] S42: Traverse the user nodes in the boundary vertex set, determine whether the community can maintain connectivity after removing the user node. If connectivity can be maintained, calculate the quality gain of the community after removing the user node and remove the user node that makes the community quality gain greater than 0. Otherwise, keep the user node. After traversal, a high-quality community is obtained.

[0036] Furthermore, the formula for calculating the quality gain of the community after removing user nodes is as follows:

[0037] Δf(SB j )=f(SB j )-f(S)

[0038]

[0039] Wherein, Δf(SB) j ) indicates removing vertex set B j Post-community quality gain, f(SB) j ) indicates removing vertex set B j The quality score of the community after the initial development, f(S) represents the quality score of community S, and D in (S,S) represents the sum of the internal degrees of S, and D... in (S,B j ) represents S and B j The sum of the degrees between them, Represents the complement of community S and community S. The number of cut edges, E out (B j ) represents the second intermediate parameter, B j Let represent the set of vertices containing j user nodes. express With B j The number of cut edges between them, E out (S,B j ) represents S and Bj The number of cut edges between them.

[0040] Preferably, in step S5, the process of selecting the best-performing high-quality community from multiple high-quality communities includes: calculating the conductance of each high-quality community, and taking the high-quality community with the smallest conductance value as the final community search result.

[0041] The beneficial effects of this invention are as follows: The community search method based on subgraph conductivity proposed in this invention considers both the cohesion within the community and the separation between the community and the outside world. By using conductivity as a standard to measure community quality, the accuracy of community search is improved. The sampling technique avoids direct search in large networks, thereby reducing high time overhead and saving computational costs. By adding nodes and pruning boundaries in the communities, the quality of the obtained communities is further improved. This invention increases the accuracy of community search, and the obtained communities can be used for friend recommendation, enabling effective and high-speed friend recommendation. Attached Figure Description

[0042] Figure 1 This is a flowchart of the community search method based on subgraph conductance in this invention;

[0043] Figure 2 This is a schematic diagram of the largest cluster in this invention. Detailed Implementation

[0044] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0045] This invention proposes a community search method based on subgraph conductance, such as... Figure 1 As shown, the method includes the following:

[0046] S1: Obtain the social network graph and use breadth-first search to sample social subgraphs from the social network graph.

[0047] Since the initial social network is too large, this invention uses breadth-first search to sample social subgraphs from the social network graph, using the smaller subgraphs as the subsequent search space for the target community, which can significantly save computational costs. The sampling process is as follows:

[0048] S11: Initialize the maximum depth dp, minimum threshold l, and maximum threshold h.

[0049] Assume the query vertex q is located in the connected component C. qIn the context of connected component C, it serves as the root node with depth 0. q Any vertex v in i It exists as a child node at different depths. For any vertex v i From v i The minimum depth to the query vertex q is represented as:

[0050]

[0051] Where, depth(v) i ,q) means from v i to the depth of q; if vertex v i If the queried vertex q does not belong to the same connected component, then the distance between them is defined as inf to reflect their unreachability.

[0052] The goal of this step is to identify a condition that satisfies d. G (v i Vertex v with condition q) ≤ dp i The local structure S G Treat the social network graph as an undirected graph G(V,E), and initialize the maximum depth dp, minimum threshold l, and maximum threshold h.

[0053] S12: Add the queried vertex to the subgraph vertex set and record the set depth as 0.

[0054] Add the queried vertex q to the subgraph vertex set. In this case, let the current set depth be 0.

[0055] S13: Traverse the neighboring nodes of the user node in the subgraph vertex set; add the neighboring node to the subgraph vertex set, add the edge connecting the neighboring node and the user node to the edge set, and increment the depth of the current subgraph vertex set by one.

[0056] S14: Determine whether the number of user nodes in the subgraph vertex set has reached the minimum threshold l and whether the current set depth has reached the maximum depth dp. If yes, save the current subgraph vertex set and the corresponding edge set; otherwise, return to step S13.

[0057] S15: Determine if the number of user nodes in the vertex set of the subgraph exceeds the maximum threshold h. If so, obtain the vertex set and the corresponding edge set of the subgraph, i.e., the social subgraph S. G Otherwise, return to step S13.

[0058] S2: Select the largest cliques containing the query vertex in the social subgraph as the initial community.

[0059] In the field of community search, the selection of the initial community plays a crucial role in the performance and results of the algorithm. This invention proposes a seed expansion method based on the maximum clique, which selects the maximum clique containing the query vertex q as the initial community.

[0060] The maximum k-clique identifies the most tightly connected subgraphs in a network, i.e., the largest complete subgraph consisting of k interconnected vertices. It's important to note that the initial community consists of all maximum k-cliques containing the query vertex q (k ≥ 4), and only the largest cliques that do not contain any other cliques are returned. For example, in... Figure 2 In the middle, if q = v0 and The initial community extending from v0 is a 6-clique = {v0, v1, v2, v3, v4, v5}. However, if q = v5 and it belongs to both communities S1 and S2, where S1 and S2 intersect at v5, this indicates that the 4-clique is not completely contained within the 6-clique, meaning there may be multiple maximal cliques containing v5. In this case, it is necessary to consider multiple partially overlapping maximal cliques containing q to ensure coverage of all relevant community structures.

[0061] Therefore, this invention introduces a new initial community strategy, called "initialCom", which requires that it satisfy... And clique i ∩clique j = I, where q∈I. The initialCom strategy is defined as follows:

[0062]

[0063] Where initialCom represents the initial community set, clique represents one of the non-overlapping maximum cliques in the initial community set, and i and j represent the indices of any two non-overlapping maximum cliques in initialCom, and if the two cliques intersect, then the intersection I must contain the query vertex q.

[0064] In some preferred embodiments of the present invention, only the largest clique with the most nodes can be selected as the initial community. This eliminates the need for a final comparison and selection operation. Although the community search results obtained based on this initial community may not perform as well as the results obtained by processing multiple initial communities and then selecting them, the time cost can be greatly reduced.

[0065] S3: Add user nodes that can reduce the conductivity of the initial community to obtain multiple complete communities.

[0066] Given an undirected graph G(V,E) and a subset of vertices The conductivity of cluster S is defined as:

[0067]

[0068] in, Represents the complement of community S and community S. Let vol(S) represent the number of cut edges, vol(S) represent the sum of degrees within S, and m represent the total number of edges in G; according to the above definition, we have

[0069] Given an undirected graph G(V,E) and a query vertex q∈V, the conductance-based community search (CCS) problem aims to identify a subgraph S that satisfies the following conditions:

[0070] (1) Contains a seed: q∈S;

[0071] (2) Connectivity: S is a connected subgraph;

[0072] (3) High quality: Among all possible choices that satisfy the above two conditions, φ(S) is minimized. That is, for any And q∈S ′ φ(S)≤φ(S) ′ ).

[0073] The CCS problem aims to find a connected subgraph S containing a query vertex q, which is tightly connected internally and sparsely connected externally. Conductivity is used to measure the cohesion and sparsity of S, i.e., the smaller the conductivity, the higher the quality of the subgraph.

[0074] While the maximum k-clique ensures the tightness of connections within a community, it only focuses on connections within the community and ignores the separation between the community and the entire network. In community search, in addition to the tightness of the internal structure, the relationship between the community and the entire network must also be considered. Therefore, we intend to expand around the initial community S∈initialCom: selecting a vertex from the set of neighboring vertices of S that maximizes the community quality and adding it to the community, until there are no more neighboring vertices or the addition of a neighboring vertex no longer increases the community quality, at which point we stop expanding the community. However, adding only one vertex at a time may prematurely lead the expansion process to a local optimum, resulting in suboptimal results. To overcome this limitation, this invention considers adding multiple nodes at once.

[0075] S31: Set the single node addition threshold count, initialize the single node addition count to 0, and calculate the initial community quality score after adding neighboring nodes.

[0076] Due to the observation of S G<<G, generally, the denominator min{vol(S), 2m - vol(S)} of φ(S) can be simplified to vol(S). Therefore, the conductance φ(S) can be simplified to the subgraph conductance φ S (S). Given any sampled subgraph (social subgraph) S G <<G and community The conductance of S is expressed as:

[0077]

[0078] Given any The quality score of S is expressed as:

[0079]

[0080] where f(S) represents the quality score of community S, D in (S, S) represents the sum of the internal degrees of S, represents the number of cut edges between S and . From the above formula, it can be known that:

[0081]

[0082] where, and D in (S, S) = 2×links(S, S), and links(,) is used to represent the number of connecting edges.

[0083] Denote the community during the node addition process as S ′ , is the set of neighbor user nodes of community S ′ . For each neighbor user node, calculate the quality score of the initial community S ′ after adding the neighbor node.

[0084] S32: Select the neighbor node with the largest quality score to join the current community, increment the number of nodes added per time by 1, and calculate the quality gain of the community after adding the neighbor node.

[0085] Obviously, the larger the value of f(S), the smaller the conductance, and the higher the quality of community S. When adding adjacent user nodes to S, the quality score of S will change. Therefore, the present invention uses Δf(S ∪ A i ) to represent the quality change gain when S is expanded to S ∪ A i , A i is the set of neighbor user nodes added to community S, i is the number of nodes in the set,

[0086] The quality gain of the community after adding the neighbor node, that is, expanding S to S ∪ A iThe mass gain obtained thereafter is expressed as:

[0087] Δf(S∪A i )=f(S∪A i )-f(S)

[0088] Wherein, Δf(S∪A) i ) indicates adding node set A i The quality gain of the community S after the neighboring nodes, f(S∪A) i ) indicates adding node set A i The quality score of community S after the neighboring nodes.

[0089] Δf(S∪A i It is necessary to recalculate S∪A each time. i Connecting edges. To quickly calculate f(S∪A) i The mass gain Δf(S∪A) caused by )-f(S) i For the change in ), we only calculate the change with A. i Connecting edges, this can be done in O(1) time. Let D in (S,A i ) represents S and A i Internal volume between:

[0090] D in (S,A i ) = 2 × (links(S,A) i )+links(A i A i ))

[0091] E out (S,A i )and S and A respectively i Between and With A i Connection status between them:

[0092] E out (S,A i = links(S,A) i )

[0093]

[0094] Therefore, any Below, S∪A i The quality score is expressed as follows:

[0095]

[0096] in

[0097] The proof is as follows:

[0098] because and D in (S,S) = 2 × links(S,S). According to D... in (S,A i ), S∪A i The internal volume is:

[0099] D in (S∪A i ) = 2 × links(S∪A i ,S∪A i )

[0100] = 2×links(S,S)+2×links(A) i A i )+2×links(S,A i )

[0101] =D in (S,S)+D in (S,A i )

[0102] S∪A i The number of cutting edges is:

[0103]

[0104] Therefore, S∪A can be obtained through the above formula. i The quality scoring formula is equal to the following:

[0105]

[0106] This is proven. Therefore, to calculate the gain Δf(S∪A) i Only D needs to be updated. in (S,A i ), and E out (S,A i ).

[0107] Select the neighbor node with the highest quality score to join the current community S. ′ After adding a neighbor node, the number of nodes added at one time is incremented by 1, and the quality gain of the community after adding a neighbor node is calculated.

[0108] S33: If the number of nodes added in a single instance is not greater than count and the quality gain is less than 0, calculate the community's quality score after adding neighboring nodes, return to step S32, and continue until the quality gain is greater than 0 to complete one user node addition.

[0109] For example, initialize the community as S ′ =S={v5,v6,v7,v8}, therefore and Where p∈[0,4], q∈[9,11]. From the largest f)S ′ ∪{v q Choose any vertex (e.g., v9) from the set and add it to S. ′ And update A1 = {v9}. At this point, the number of nodes added in a single instance is 1, which is less than count (preferably, count is set to 2), and the quality gain Δf(S′∪{v9}) < 0. Node additions will continue. If the community S at this point... ′ The quality scores of the neighboring nodes are respectively and Therefore, choose to v 10 Add to S ′ ;f(S ′ ∪{v 10})=0.642>f(S)=0.6, A2={v9,v 10 Therefore, S can be updated to S∪A2, thus completing one user node addition.

[0110] S34: If the number of nodes added in a single instance is not greater than count and the quality gain is greater than 0, then calculate the community's quality score after adding neighboring nodes, return to step S32, and complete one user node addition.

[0111] S35: If the number of nodes added in a single instance reaches count and the quality gain is less than 0, or there are no neighboring nodes, then remove the most recently added user node to obtain the complete community.

[0112] If there are no neighboring vertices or the addition of a neighboring vertices no longer increases the community quality, then stop expanding the community, remove the most recently added node that does not increase the community quality, and obtain the complete community.

[0113] S4: Perform boundary trimming on the complete community to obtain multiple high-quality communities.

[0114] S41: Obtain the set Q of boundary vertices of all user nodes in the remaining community, excluding the query vertex, that have at least one edge in the remaining community.

[0115] S42: Traverse the user nodes in the boundary vertex set, determine whether the community can maintain connectivity after removing the user node. If connectivity can be maintained, calculate the quality gain of the community after removing the user node and remove the user node that makes the community quality gain greater than 0. Otherwise, keep the user node. After traversal, a high-quality community is obtained.

[0116] Shrink S to SB j The mass gain obtained thereafter is expressed as follows:

[0117] Δf(SB j )=f(SB j )-f(S)

[0118] Similar to the aforementioned calculation of extended community quality gain, B j The set of vertices to be removed, containing j user nodes; Δf(SB) j Only need to calculate with B j The connected edges, i.e., D in (S,B j E out (S,B j )and SB j The quality score is expressed as:

[0119]

[0120] in, Δf(SB j ) indicates removing vertex set B j Post-community quality gain, f(SB) j ) indicates removing vertex set B j The quality score of the community is f(S), which represents the quality score of community S.

[0121] The proof is as follows:

[0122] SB j The internal volume is:

[0123] D in (SB j ) = 2 × links(SB j ,SB j )

[0124] = 2×links(S,S)-2×links(B) j B j )-2×links(S,B j )

[0125] =D in (S,S)-Din (S,B j )

[0126] SB j The number of cutting edges is:

[0127]

[0128] Therefore, SB can be obtained through the above formula. j The quality scoring formula is equal to the following:

[0129]

[0130] Proof obtained.

[0131] For example: Suppose the query vertex is q = v6, and the expanded community is S = {v5, v6, v7, v8, v9, v...} 10 ,v 11 ,v 12}, B j =B1=v5. After removing v5, we have Therefore, updating S to S-{v5}, we have f(S) = 0.888 and B j =B2={v7,v8}. Similarly, traversing B2={v7,v8}, since removing v8 would break the connectivity of the community, we only consider removing v7. Therefore, the final community is S = {v6, v7, v8, v9, v...} 10 ,v 11 ,v 12}, f(S)=0.888.

[0132] S5: Select the best-performing high-quality community from multiple high-quality communities as the final community search result.

[0133] Calculate the conductivity of each high-quality community and select the high-quality community with the lowest conductivity value as the final community search result.

[0134] In summary, the present invention first samples graph G to obtain a sampled subgraph S. G This step avoids visiting unnecessary vertex regions during the community search process, thus accelerating the efficiency of the community search. Subsequently, in the sampled subgraph S... GThe largest clique S containing q is identified and used as our initial community, thus ensuring tight connectivity within the initial community. Then, S is expanded based on the community's quality score f(S), a step that considers both internal and external connectivity within the community. Finally, to further improve the community's quality, this invention introduces a verification phase to check for vertices that reduce f(S), and if present, they are removed. After multiple iterations until no vertices can be added or removed, the target community S is finally obtained. * .

[0135] The above-described embodiments further illustrate the purpose, technical solution, and advantages of the present invention. It should be understood that the above-described embodiments are merely preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made to the present invention within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A community search method based on subgraph conductance, characterized in that, Includes the following steps: S1: Obtain the social network graph and use breadth-first search to sample social subgraphs from the social network graph; S2: Select multiple maximum cliques containing the query vertex as the initial community in the social subgraph; S3: Add user nodes that can reduce the conductivity of the initial community to each initial community to obtain multiple complete communities; The process of obtaining a complete community includes: S31: Set the single node addition threshold count, initialize the single node addition count to 0, and calculate the initial community quality score after adding neighboring nodes; S32: Select the neighbor node with the highest quality score to join the current community, increment the number of nodes added at one time, and calculate the quality gain of the community after adding the neighbor node; S33: If the number of nodes added in a single instance is not greater than count and the quality gain is less than 0, calculate the community's quality score after adding neighboring nodes, return to step S32, and continue until the quality gain is greater than 0 to complete one user node addition. S34: If the number of nodes added in a single instance is not greater than count and the quality gain is greater than 0, then calculate the community's quality score after adding neighboring nodes, return to step S32, and complete one user node addition; S35: If the number of nodes added in a single instance reaches count and the quality gain is less than 0, or there are no neighboring nodes, then remove the user node added most recently to obtain the complete community; S4: Perform boundary trimming on the complete community to obtain multiple high-quality communities; S5: Select the best-performing high-quality community from multiple high-quality communities as the final community search result.

2. The community search method based on subgraph conductance according to claim 1, characterized in that, In step S1, the process of sampling from the social network graph to obtain the social subgraph includes: S11: Initialize the maximum depth dp, minimum threshold l, and maximum threshold h; S12: Add the queried vertex to the subgraph vertex set and record the set depth as 0; S13: Traverse the neighboring nodes of the user node in the subgraph vertex set; add the neighboring node to the subgraph vertex set, add the edge connecting the neighboring node and the user node to the edge set, and increment the depth of the current subgraph vertex set by one. S14: Determine whether the number of user nodes in the subgraph vertex set has reached the minimum threshold l and the maximum depth dp. If yes, save the current subgraph vertex set and the corresponding edge set; otherwise, return to step S13. S15: Determine whether the number of user nodes in the subgraph vertex set exceeds the maximum threshold h. If yes, obtain the subgraph vertex set and the corresponding edge set, i.e., the social subgraph; otherwise, return to step S13.

3. The community search method based on subgraph conductance according to claim 1, characterized in that, In step S2, the selected maximal cliques are represented as follows: Where initialCom represents the initial community set, and clique represents the non-overlapping maximal clique in the initial community set. i and clique j Let i and j represent the i-th and j-th non-overlapping maximum cliques in initialCom, respectively. Let I represent the intersection of the i-th and j-th non-overlapping maximum cliques, and q represent the query vertex.

4. The community search method based on subgraph conductance according to claim 1, characterized in that, The formula for calculating the community's quality score is: Where f(S) represents the quality score of community S, and D in (S,S) represents the sum of the internal degrees of S. Represents the complement of community S and community S. The number of cut edges.

5. The community search method based on subgraph conductance according to claim 1, characterized in that, The formula for calculating the quality gain of a community after adding neighboring nodes is: Δf(S∪A i )=f(S∪A i )-f(S) Wherein, Δf(S∪A) i ) indicates adding node set A i The quality gain of the community S after the neighboring nodes, f(S∪A) i ) indicates adding node set A i The quality score of community S after the neighbor nodes in the diagram, f(S) represents the quality score of community S, and D in (S,S) represents the sum of the internal degrees of S, and D in (S,A i ) represents S and A i The sum of the degrees between them, Represents the complement of community S and community S. The number of cut edges, E out (A i () indicates the first intermediate parameter. express With A i The number of cut edges between them, E out (S,A i ) represents S and A i The number of cut edges between them.

6. The community search method based on subgraph conductance according to claim 1, characterized in that, In step S4, the process of pruning the boundaries of the complete community includes: S41: Obtain the set of boundary vertices of all user nodes in the remaining community, excluding the query vertex, that have at least one edge in the remaining community; S42: Traverse the user nodes in the boundary vertex set, determine whether the community can maintain connectivity after removing the user node. If connectivity can be maintained, calculate the quality gain of the community after removing the user node and remove the user node that makes the community quality gain greater than 0. Otherwise, keep the user node. After traversal, a high-quality community is obtained.

7. The community search method based on subgraph conductance according to claim 6, characterized in that, The formula for calculating the quality gain of the community after removing user nodes is: Δf(S-B j )=f(S-B j )-f(S) Wherein, Δf(SB) j ) indicates removing vertex set B j Post-community quality gain, f(SB) j ) indicates removing vertex set B j The quality score of the community after the initial development, f(S) represents the quality score of community S, and D in (S,S) represents the sum of the internal degrees of S, and D... in (S,B j ) represents S and B j The sum of the degrees between them, Represents the complement of community S and community S. The number of cut edges, E out (B j ) represents the second intermediate parameter, B j Let represent the set of vertices containing j user nodes. express With B j The number of cut edges between them, E out (S,B j ) represents S and B j The number of cut edges between them.

8. The community search method based on subgraph conductance according to claim 1, characterized in that, In step S5, the process of selecting the best-performing high-quality community from multiple high-quality communities includes: calculating the conductance of each high-quality community and taking the high-quality community with the smallest conductance value as the final community search result.