Method, apparatus and readable storage medium for clustering association graphs based on distributed graph embedding
The federated graph clustering method addresses the challenge of privacy-compliant graph mining by constructing and encrypting diagrams from multiple parties to learn association graphs, enhancing computational efficiency and reducing complexity through distributed graph embedding.
Patent Information
- Application Number
- JP2024536251
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-01-28
- Filing Date
- 2022-09-07
- Publication Date
- 2024-12-16
- Estimated Expiration
- 2042-09-07
AI Technical Summary
Federated learning technologies face challenges in mining potential group actions due to a lack of effective graph mining algorithms for privacy-compliant data joint use, particularly in graph computation involving multi-party data.
A federated graph clustering method using distributed graph embedding, which constructs and encrypts diagrams from multiple parties, identifies common nodes, and learns association graphs through random walk-based embedding vectors to perform clustering analysis.
Reduces computational complexity and enhances the efficiency of graph computation by dimensionally reducing graph structure topology, allowing privacy-preserving data analysis across multiple parties.
Smart Images

Figure 2024545961000001_ABST
Abstract
Description
[Technical field]
[0001] This application claims priority to a Chinese patent application filed on January 28, 2022, bearing application number 202210106101.1 and titled "Method, apparatus and readable storage medium for federated graph clustering based on distributed graph embedding," the disclosure of which is incorporated herein by reference.
[0002] The present invention relates to the field of clustering, and more particularly to a method, apparatus and readable storage medium for Federated Graph Clustering based on Distributed Graph Embedding. [Background technology]
[0003] This section is intended to provide a background or context to the claimed embodiments of the invention. No admission is made that any statement herein is prior art by virtue of its inclusion in this section.
[0004] At present, federated learning technology has great potential for application in the joint use of data when data is not distributed and in multi-party data value mining, but it is mainly supported by traditional machine learning algorithms such as classification models and regression models, which focus on individual value image evaluation and lack mining of potential group behavior. At the same time, since graph computation is related to the mutual computation of multi-ring topology of multi-party data, research on the development of graph mining algorithms based on privacy computation is currently weak, and there are few achievements in the industry. Therefore, federated learning based on privacy graph structure is an urgent problem to be solved. Summary of the Invention [Means for solving the problem]
[0005] In order to solve the problems in the prior art, a method, an apparatus, and a computer-readable storage medium for associative graph clustering based on distributed graph embedding have been proposed. The method, the apparatus, and the computer-readable storage medium can be used to solve the problems.
[0006] The present invention provides the following solutions:
[0007] In a first aspect, a method for association graph clustering based on distributed graph embedding is provided, which includes constructing a first graph based on data of a first party and constructing a second graph based on data of a second party; encrypting the data of the first party and the data of the second party to obtain intersections, determining common nodes in the first graph and the second graph, associating the first graph and the second graph based on the common nodes to obtain an association graph; learning the association graph using a distributed graph embedding algorithm based on random walks, and obtaining an embedding vector [PiA,PiB] of the first graph, which is an embedding vector of each node in the first graph of the first graph starting from the first graph; determining an embedding vector [PiA', PiB'] of Fig. 2, which is an embedding vector of each Fig. 2 node of Fig. 2 starting from Fig. 2, where PiA and PiA' are the embedding vectors of each Fig. 1 node of Fig. 1, and PiB and PiB' are the embedding vectors of each Fig. 2 node of Fig. 2; and performing clustering analysis on the embedding vector [PiA, PiB] of Fig. 1 and the embedding vector [PiA', PiB'] of Fig. 2 of the association graph based on an association clustering method, to obtain a clustering result.
[0008] In one embodiment, determining the embedding vector [PiA,PiB] of the first figure and the embedding vector [PiA',PiB'] of the second figure includes: randomly walking the association graph multiple times with a node in the first figure as a starting node, a first person determining PiA based on a walk path in the first figure and a second person determining PiB based on a matching walk path in the second figure; and randomly walking the association graph multiple times with a node in the second figure as a starting node, a second person determining PiB' based on the walk path in the second figure and a first person determining PiA' based on the matching walk path in the first figure.
[0009] In one embodiment, associating the first and second figures based on the common node to obtain an association graph further includes removing isolated island nodes in the first and second figures that have no direct or indirect association relationship with the common node to obtain the association graph.
[0010] In one embodiment, the first party data and the second party data are isolated from each other.
[0011] In one embodiment, the nodes in the first diagram are first party users and / or first party merchants, and the edges in the first diagram are established based on the association relationships between the nodes in the first diagram, the nodes in the second diagram are second party users and / or second party merchants, and the edges in the second diagram are established based on the association relationships between the nodes in the second diagram.
[0012] In one embodiment, encrypting the first party data and the second party data to determine intersection and determining common nodes in the first and second graphic networks includes aligning common nodes in the first and second graphic networks based on merchant and / or user attribute information.
[0013] In one embodiment, the first party randomly walks the association graph multiple times with a node in the first diagram as a starting node, and the first party determines PiA based on the walk path in the first diagram by defining a random walk step number M, and the first party's data is randomly walked in the first diagram with any node in the first diagram as a starting node, and when the first party walks to any of the common nodes, the walk is stopped, and the number of walk steps Mia in the first diagram and the identifier Vab of the walked common node are determined. i and recording each node in FIG. 1 that has been walked through this time; after randomly walking X times, collecting statistics on the number of walk steps Mia in FIG. 1 walked each time and the frequency with which each node in FIG. 1 was walked, to obtain a node frequency matrix in FIG. 1 corresponding to each number of walk steps Mia in FIG. 1; and accumulating the matrix of the node frequency matrix in FIG. 1 corresponding to each number of walk steps Mia in FIG. 1, and dividing by the number of random walks X to obtain the FIG. 1 part PiA of the embedding vector in FIG. 1.
[0014] In one embodiment, the second party determines PiB based on the matching walk path in the second figure by determining the identifier Vab of each common node walked by the first party during or after X random walk processes. i and transmits all corresponding walk step numbers Mia of the first figure to the second party, and the second party transmits each common node Vab i Starting from and walking the corresponding (M-Mia) steps in the second diagram, the graph embedding vector PiB_Vab i and all common nodes Vab i The graph embedding vector PiB_Vab i and dividing it by the subwalk count X1, which is the number of times the random walk has been performed to the second diagram in X random walks, to obtain the second diagram portion PiB of the embedding vector of the first diagram.
[0015] In one embodiment, the node frequency matrix of the first diagram corresponding to the number of walk steps Mia of each first diagram is PA_Mia=[Pa n1_Mia,n1=1,2,...,Na], where the first diagram is a set of Na nodes Pa n1 where Mia is an integer between the minimum number of steps m from the starting node to the common node and the total number of steps M, and Pa n After Mia randomly performs X Mia steps from the starting node, the node Pa in Fig. 1 is n is the number of times the
[0016] In one embodiment, PiA is calculated according to the following formula:
[0017]
number
[0018] In one embodiment, PiB is calculated according to the following formula:
[0019]
number
[0020] In one embodiment, the second party randomly walks the association graph multiple times with a node in the second diagram as a starting node, and the second party determines PIB' based on the walk path in the second diagram by defining a random walk step number M', and the second party randomly walks the second diagram with any of the nodes in the second diagram as a starting node, and when the second party walks to any common node, the walk stops, and determines the walk step number Mia' in the second diagram, the identifier Vab of the walked common node, and the number of walk steps in the second diagram. iand recording each node of the second figure walked this time; after randomly walking X' times, collecting statistics on the number of walk steps Mia' of the second figure walked each time and the frequency with which each node of the second figure was walked, to obtain a node frequency matrix of the second figure corresponding to the number of walk steps Mia' of each second figure; and performing a matrix cumulative calculation of the node frequency matrix of the second figure corresponding to the number of walk steps Mia' of each second figure, and dividing by the number of random walks X' to obtain the second figure part PIB' of the embedding vector of the second figure.
[0021] In one embodiment, the first party determines PiA' based on the matching walk path in the first figure by determining, during or after X' random walk processes, the identifier Vab of each common node walked by the second party. i and the number of walk steps Mia' of all the corresponding second figures is transmitted to the first party, and the first party transmits the number of walk steps Mia' of all the corresponding second figures to each common node Vab i Starting from and walking the corresponding (M'-Mia') steps in the first figure, the graph embedding vector PiA'_Vab i and all common nodes Vab i The graph embedding vector PiA'_Vab i and dividing by the subwalk count X'1 to obtain the first diagram portion PiA' of the embedding vector of the second diagram. Here, the subwalk count X'1 is the number of times the process of X' random walks has been performed to reach the first diagram.
[0022] In one embodiment, the node frequency matrix in the second figure corresponding to each walk step number Mia′ is
number
[0023] In one embodiment, PIB' is calculated according to the following formula:
[0024]
number
[0025] In one embodiment, PiA' is calculated according to the following formula:
[0026]
number
[0027] In one embodiment, performing clustering analysis on the embedding vector [PiA,PiB] of the first figure and the embedding vector [PiA',PiB'] of the second figure of the association graph based on the association clustering method includes: performing clustering analysis on the first figure portion PiA of the embedding vector of the first figure and the first figure portion PiA' of the embedding vector of the second figure based on the association clustering method to obtain a first cluster of the first figure portion of the association graph; performing clustering analysis on the second figure portion PiB of the embedding vector of the first figure and the second figure portion PiB' of the embedding vector of the second figure based on the association clustering method to obtain a second cluster of the first figure portion of the association graph; and filtering the multi-figure clusters based on the first cluster and the second cluster to obtain a target cluster with a higher screening level.
[0028] In the second embodiment, the present invention includes a construction module for constructing FIG. 1 based on data of a first party and constructing FIG. 2 based on data of a second party; an association module for encrypting the data of the first party and the data of the second party to obtain intersections, determining common nodes in the first and second figures, associating the first and second figures based on the common nodes, and obtaining an association graph; and a distributed graph embedding algorithm based on random walk is used to learn the association graph, and an embedding vector [PiA,PiB] of FIG. 1 starting from FIG. 1 and an embedding vector [PiA,PiB] of FIG. 2 starting from FIG. 2 are obtained. The present invention provides an association graph clustering apparatus based on distributed graph embedding, which includes: a learning module for determining an embedding vector [PiA', PiB'] of the association graph (PiA and PiA' are embedding vectors of each FIG. 1 node in FIG. 1, and PiB and PiB' are embedding vectors of each FIG. 2 node in FIG. 2); and a clustering module for performing a clustering analysis of the embedding vector [PiA, PiB] of FIG. 1 and the embedding vector [PiA', PiB'] of FIG. 2 based on an association clustering method to obtain a clustering result.
[0029] In a third aspect, there is provided a distributed graph embedding based federated graph clustering apparatus including at least one processor and a memory communicatively connected to the at least one processor, where the memory stores instructions executable by the at least one processor (such as the method of the first aspect) for execution by the at least one processor.
[0030] In a fourth aspect, there is provided a computer readable storage medium having stored thereon a program which, when executed by a multi-core processor, causes the multi-core processor to perform a method as in the first aspect.
[0031] One advantage of the above embodiment is that by using a distributed graph embedding algorithm, it is possible to learn the graph embedding vector of the association graph under the condition that the first party data and the second party data are mutually private data, and the graph structure topology characteristics of the association graph can be reduced in dimension to a matrix, so that the computational complexity can be reduced through matrix analysis, and the effectiveness and efficiency of the association graph computation can be improved.
[0032] Other advantages of the present invention will be explained in more detail in conjunction with the following description and drawings.
[0033] It should be understood that the above description is merely a summary of the technical means of the present invention, so that the technical means of the present invention can be more clearly understood, and thus can be implemented according to the contents of the specification. In order to facilitate a clearer understanding of the above and other objects, features and advantages of the present invention, the following provides a detailed description of the specific embodiments of the present invention by way of specific examples. Those skilled in the art will appreciate the advantages and merits of the present specification, as well as other advantages and merits, by reading the following detailed description of the exemplary embodiments. The drawings are used only to illustrate the exemplary embodiments and are not to be considered as limitations of the present invention. Also, the same parts are designated by the same reference numerals throughout the drawings.
[0034] In the drawings, the same or corresponding reference numbers indicate the same or corresponding parts. [Brief description of the drawings]
[0035] [Figure 1] 1 is a schematic diagram of the configuration of an associative graph clustering device based on distributed graph embedding according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a schematic diagram of the flow of an associative graph clustering method based on distributed graph embedding according to one embodiment of the present invention; [Diagram 3] FIG. 2 is a schematic diagram of the first and second diagrams according to an embodiment of the present invention. [Figure 4] FIG. 2 is a schematic diagram of an association graph according to one embodiment of the present invention; [Diagram 5] FIG. 4 is a schematic diagram of another association graph according to one embodiment of the present invention. [Figure 6] 1 is a schematic diagram of the configuration of an associative graph clustering device based on distributed graph embedding according to an embodiment of the present invention; [Figure 7] FIG. 2 is a schematic diagram of the configuration of a federated graph clustering device based on distributed graph embedding according to another embodiment of the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0036] Hereinafter, exemplary embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although the drawings show exemplary embodiments of the present disclosure, it should be understood that the present disclosure should not be limited to the embodiments described herein, but may be realized in various forms. On the contrary, these embodiments are provided to enable a more complete understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0037] In describing the embodiments of the present application, it is to be understood that terms such as "comprise" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, portions, or combinations thereof disclosed herein, and are not intended to exclude the possible presence of one or more other features, numbers, steps, actions, components, portions, or combinations thereof.
[0038] Unless otherwise specified, " / " means OR, for example, A / B can represent A or B, and "and / or" in this specification is merely a relational relationship describing related objects, and can indicate that a triple relationship, for example, A and / or B, can exist, and can indicate that A exists alone, A and B exist simultaneously, and B exists alone.
[0039] The terms "first," "second," etc. are used for descriptive purposes only and are not to be understood as indicating or implying a relative importance or number of the technical features depicted. Thus, a feature qualified as "first," "second," etc. may explicitly or implicitly include one or more features. In the description of the embodiments of the present application, "plurality" means two or more unless otherwise specified.
[0040] All code in this application is illustrative and those skilled in the art can imagine various modifications without departing from the spirit of this application based on factors such as the programming language used, specific needs, and personal habits.
[0041] In addition, the embodiments and features of the embodiments of the present invention may be combined with each other if there is no conflict. The present invention will be described in detail below with reference to the drawings in combination with the embodiments.
[0042] As shown in FIG. 1, FIG. 1 is a configuration diagram of the operating environment of hardware related to the solving means of the embodiment of the present invention.
[0043] It should be noted that Fig. 1 is a configuration diagram of the hardware operating environment of an association graph clustering device based on distributed graph embedding. The association graph clustering device in which an embodiment of the present invention is embedded based on a distributed graph may be a PC or a terminal device such as a mobile computer.
[0044] As shown in FIG. 1, the distributed graph embedding based federated graph clustering apparatus includes a processor 1001 such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002. Here, the communication bus 1002 is used to realize connection communication between these components. The user interface 1003 includes input units such as a display and a keyboard, and optionally the user interface 1003 includes a standard wired interface and a wireless interface. The network interface 1004 optionally includes a standard wired interface and a wireless interface (e.g., a Wi-Fi interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory, such as a disk memory. The memory 1005 may optionally be a storage device independent of the processor 1001.
[0045] Those skilled in the art will appreciate that the structure of the distributed graph embedding based federated graph clustering device shown in FIG. 1 is not a limitation on the distributed graph embedding based federated graph clustering device, which may include more or fewer components than shown, or a combination of some components, or a different arrangement of components.
[0046] 1, memory 1005, which is a computer storage medium, may include an operating system, a network communication module, a user interface module, and a distributed graph embedding based federated graph clustering program, where the operating system is a program that manages and controls the hardware and software resources of the distributed graph embedding based federated graph clustering device, and supports the execution of the distributed graph embedding based federated graph clustering program and other software or programs.
[0047] In the federated graph clustering device built based on the distributed graph shown in FIG. 1, the user interface 1003 is mainly used to receive requests, data, etc. sent from the first terminal, the second terminal and the management terminal, the network interface 1004 is mainly used to connect to a background server and perform data communication with the background server, and the processor 1001 can be used to call a federated graph clustering program based on distributed graph embedding stored in the memory 1005 and perform the following operations:
[0048] A first diagram is constructed based on the data of the first party, a second diagram is constructed based on the data of the second party, the data of the first party and the data of the second party are encrypted to obtain intersections, common nodes in the first diagram and the second diagram are determined, the first diagram and the second diagram are associated based on the common nodes to obtain an association graph, and the association graph is learned using a distributed graph embedding algorithm based on random walk to determine an embedding vector [PiA,PiB] of the first diagram starting from the first diagram and an embedding vector [PiA',PiB'] of the second diagram starting from the second diagram, where PiA and PiA' are embedding vectors of the nodes of each first diagram in the first diagram, and PiB and PiB' are embedding vectors of the nodes of each second diagram in the second diagram, and a clustering analysis is performed on the embedding vector [PiA,PiB] of the first diagram of the association graph and the embedding vector [PiA',PiB'] of the second diagram based on the association clustering method to obtain a clustering result.
[0049] As a result, by using a distributed graph embedding algorithm, it is possible to learn the graph embedding vector of the association graph under the condition that the first-party data and the second-party data are mutually private data, and the topological characteristics of the graph structure of the association graph can be reduced to a matrix, so that the computational complexity can be reduced through matrix analysis, and the effectiveness and efficiency of association graph computation can be improved.
[0050] 2 is a schematic flow diagram of a federated graph computing method based on distributed graph embedding according to an embodiment of the present application, in which, from an apparatus perspective, the execution subject may be one or more electronic devices, more specifically, a processing module. From a program perspective, the execution subject may be a program installed in these electronic devices. In this embodiment, the execution subject of the method may be a processor in the embodiment shown in FIG. 1.
[0051] As shown in FIG. 2, the method provided by this embodiment includes steps 202a, constructing a first view based on first party data, and 202b, constructing a second view based on second party data.
[0052] The first party's data and the second party's data are the first party's privacy data and the second party's privacy data, respectively, and it can be further understood that the first party constructs a first diagram based on the first party's data, and the second party constructs a second diagram based on the second party's data.
[0053] Referring to FIG. 3, a first diagram A and a second diagram B can be constructed with data owned by both of them by defining the relationships between the diagram's entity nodes and edges based on actual tasks.
[0054] In some embodiments, the nodes in the first diagram are first party users and / or first party merchants, and the edges in the first diagram are determined based on the association relationships between the nodes in the first diagram, and the nodes in the second diagram are second party users and / or second party merchants, and the edges in the second diagram are determined based on the association relationships between the nodes in the second diagram. For example, the association relationships may be transaction relationships between users and merchants, transfer relationships between users and users, transfer relationships between merchants and merchants, and other association relationships between any nodes.
[0055] 204, encrypt the data of the first party and the data of the second party to obtain an intersection, determine common nodes in FIG. 1 and FIG. 2, associate FIG. 1 and FIG. 2 based on the common nodes, and obtain an association graph.
[0056] An association between the first and second diagrams can be established by looking for a common node in the first and second diagrams, where the common node is the same entity node that exists in common in the first and second diagrams, such as the same user, or the same merchant, etc.
[0057] Referring to FIG. 4, V in the first diagram A AB1 and V in the second figure AB1 is the common node, V in the first figure A AB2 and V in the second figure AB2 is assumed to be a common node, which allows a first diagram A and a second diagram B to be linked to form an association graph.
[0058] In some embodiments, common nodes in the first and second graphic networks may be aligned based on merchant and / or user attribute information, such as a mobile phone number or email address, to determine common nodes corresponding to the same user.
[0059] In some embodiments, after associating the first and second figures, an association graph may be obtained by removing island nodes that have no direct or indirect association relationship with common nodes in the first and second figures.
[0060] Referring to FIG. 4, since the above-mentioned isolated island node cannot perform federated training across the first and second diagrams, an association graph for computing both diagrams can be formed by removing and filtering the isolated island nodes in the first diagram A and the second diagram B.
[0061] 206, A distributed graph embedding algorithm based on random walk is used to learn the association graph, and an embedding vector [PiA,PiB] of Fig. 1 starting from Fig. 1 and an embedding vector [PiA',PiB'] of Fig. 2 starting from Fig. 2 are determined.
[0062] PiA and PiA' are embedding vectors of each of the nodes in FIG. 1, and PiB and PiB' are embedding vectors of each of the nodes in FIG.
[0063] Graph embedding is a method of mapping diagram nodes (high-dimensional vectors) to low-dimensional vectors, thereby obtaining a representation of the uniqueness of each node, and using the vectors to realize tasks such as recommendation, classification, and prediction. A graph embedding algorithm based on a random walk first samples the nodes in the diagram multiple times using a random walk algorithm to obtain several node sequences, and then generates a vector representation of each node in the diagram based on the node sequences to obtain a graph embedding vector. Specifically, in this embodiment, the embedding vector [PiA,PiB] of the first diagram includes the first diagram part PiA and the second diagram part PiB, so the first diagram part PiA is obtained by sampling in the first diagram by the first party, and the second diagram part PiB is obtained by sampling in the second diagram by the second party, so that the graph embedding method needs to be distributed to the first diagram and the second diagram using a distributed graph embedding algorithm to obtain the first diagram part and the second diagram part respectively.
[0064] First, we define the number of random walk steps for each node in the graph embedding as M steps. For each first diagram node, we randomly walk M steps, and there is a possibility to walk from the first diagram to the second diagram through a common node, walking Mia steps in the first diagram A and (M-Mia) steps in the second diagram B. For example, referring to FIG. 5, assuming starting from node 1, we walk M=4 steps, go through nodes 1-2-5-6-7, and walk 2 steps in the first diagram A, i.e., 1-2-5, and walk 2 steps in the second diagram B, i.e., 5-6-7.
[0065] In some embodiments, 204 further includes randomly walking the association graph multiple times with a node in the first diagram as a starting node, a first party determining PiA based on a walk path in the first diagram, a second party determining PiB based on a matching walk path in the second diagram, randomly walking the association graph multiple times with a node in the second diagram as a starting node, a second party determining PiB' based on the walk path in the second diagram, and a first party determining PiA' based on a matching walk path in the first diagram.
[0066] The matching walk path in the second diagram is obtained after starting from a common node between the first diagram and the second diagram and randomly walking multiple times in the second diagram.
[0067] The matching walk path in the first diagram is obtained after starting from a common node between the first diagram and the second diagram and randomly walking multiple times in the first diagram.
[0068] In an association graph, the random walk path in the second diagram is unknown to the first party, and similarly, the random walk path in the first diagram is unknown to the second party. Therefore, when starting from a node in the first diagram and walking randomly, the first party can obtain the PiA part of the embedding vector in the first diagram, and the second party can obtain the PiB part of the first embedding vector by matching the remaining walk tasks sent from the first party. Similarly, when starting from a node in the second diagram and walking randomly, the second party can obtain the PiB' part of the embedding vector in the second diagram, and the first party can obtain the PiA' part of the embedding vector in the second diagram by matching the remaining walk tasks sent from the second party.
[0069] In some embodiments, determining the first figure portion PiA of the embedding vector of the first figure includes: The number of random walk steps M is randomly defined, and the first party randomly walks in FIG. 1 starting from any of the nodes in FIG. 1. When the first party walks to any of the common nodes, the first party stops the walk and records the number of walk steps Mia in FIG. 1 and the identifier Vab of the common node that was walked. i This includes recording the node in Figure 1 that was just walked, and each node in Figure 1 that was just walked.
[0070] After randomly walking X times, the number of walk steps Mia in Fig. 1 walked each time and the frequency with which each node in Fig. 1 was walked are statistically collected, and a node frequency matrix in Fig. 1 corresponding to each number of walk steps Mia in Fig. 1 is obtained.
[0071] The node frequency matrix in FIG. 1 corresponding to each walk step number Mia in FIG. 1 is calculated by matrix accumulation, and divided by the random walk number X to obtain the FIG. 1 part PiA of the embedding vector in FIG.
[0072] Specifically, to obtain the node frequency matrix in FIG. 1 corresponding to each walk step number Mia in FIG. 1, Once a common node is reached after one walk, Mia=1, frequency matrix is PA_1=[Pa1_1,Pa2_1,Pa3_1,Pa4_1,…,Pa Na _1] and It takes two walks to reach a common node, Mia=2, frequency matrix is PA_2=[Pa2_2,Pa2_2,Pa3_2,Pa4_2,…,Pa Na _2], … It takes M walks to reach a common node, Mia=M, the frequency matrix is PA_M=[Pa M _M,Pa2_M,Pa3_M,Pa4_M,…,Pa Na _M].
[0073] As described above, starting from the first diagram, the common node Vab i A frequency matrix PA_Mia is obtained by walking Mia steps up to 1, where Mia is an integer between the minimum number of steps m from the start node to the common node and the total number of steps M,
number
[0074] Here, the first diagram shows Na nodes Pa n1 where Mia is an integer between the minimum number of steps m from the starting node to the common node and the total number of steps M, and Pa n After Mia randomly performs X Mia steps from the starting node, the node Pa in Fig. 1 is n is the number of times the
[0075] Furthermore, the first diagram portion PiA of the first embedding vector can be calculated by the following formula:
[0076]
number
[0077] In some embodiments, determining the second figure portion PiB of the embedding vector of the first figure includes: During or after X random walks, the first party determines the identifier Vab i For example, the second party receives multiple (Vab i , and receiving the remaining combinations of the number of walk steps Mib = M-Mia in FIG. 2.
[0078] Further, the second party i A graph embedding vector PiB_Vab starting from and walking the corresponding Mib = (M-Mia) steps in the second i Confirm.
[0079] For example, in Figure 1A, the common node Vab i After walking the Mia step up to the common node Vab in Fig. 2 i Starting from the starting point, we continue to walk Mib steps, and the frequency matrix is
number
[0080] The common node Vab mentioned above i The graph embedding vector PiB_Vab i It can be understood that the second figure shows that the equation (2) can be calculated in advance.
[0081] In addition, all common nodes Vab i The graph embedding vector PiB_Vab i and divide it by the number of subwalks X1 to obtain the second diagram part PiB of the embedding vector of the first diagram.
[0082] For example, PiB is
number
[0083] Here, the subwalk count X1 is the number of times the process has walked to FIG. 2 in X random walk processes.
[0084] Similarly, a node in the second diagram can be used as the starting node to randomly walk the association graph multiple times, PiB' can be determined by the second party based on the walk path in the second diagram, and PiA' can be determined by the first party from the matching walk path in the first diagram, thereby obtaining the embedding vector [PiA', PiB'] of the second diagram.
[0085] Specifically, a random walk step number M' can be defined, and the second party performs a random walk in FIG. 2 starting from any of the nodes in FIG. 2. When the second party walks to any of the common nodes, the walk is stopped and the walk step number Mia' in FIG. 2 and the identifier Vab of the common node that was walked are recorded. i and each node in Figure 2 that was walked this time are recorded, and after walking randomly X' times, the number of walk steps Mia' in Figure 2 that was walked each time and the frequency with which each node in Figure 2 was walked are statistically collected, a node frequency matrix in Figure 2 corresponding to the number of walk steps Mia' in each Figure 2 is obtained, and the node frequency matrix in Figure 2 corresponding to the number of walk steps Mia' in each Figure 2 is cumulatively calculated, and divided by the number of random walks X' to obtain the second figure part PIB' of the embedding vector of the second figure.
[0086] In some embodiments, the first party determines PiA' based on the matching walk path in the first figure by: During or after the X'th random walk process, the second party obtains the identifier Vab iand transmitting all corresponding walk step numbers Mia' in FIG. 2 to the first party; The first party is each common node Vab i Starting from and walking the corresponding (M'-Mia') steps in the first diagram, the graph embedding vector PiA'_Vab i To determine the following: All common nodes Vab i The graph embedding vector PiA'_Vab i and dividing the subwalk count X′1 to obtain the first diagram portion PiA′ of the embedding vector of the second diagram.
[0087] Here, the subwalk count X'1 indicates the number of times the process has been walked to FIG. 1 in X' random walk processes.
[0088] In some embodiments, the node frequency matrix in the second figure corresponding to each walk step number Mia′ is
number
[0089] Here, the second diagram shows Nb nodes Pb n2 , where Mia' is an integer between the minimum number of steps m' from the starting node to the common node and the total number of steps M', and Pb2_Mia' randomly walks X' Mia' steps from the starting node, and then the node Pb in the second figure is n2 is the number of times the
[0090] In some embodiments, PIB' is calculated according to the following formula:
[0091]
number
[0092] In some embodiments, PIA' is calculated according to the following formula:
[0093]
number
[0094] 208,Based on the association clustering method, the embedding vector [PiA,PiB] in the first figure of the association graph and the embedding vector [PiA',PiB'] in the second figure are subjected to clustering analysis to obtain the clustering result.
[0095] In some embodiments, the method 205 further includes: performing clustering analysis on the first figure portion PiA of the embedding vector of the first figure and the first figure portion PiA' of the embedding vector of the second figure based on an associative clustering method to obtain a first cluster of the first figure portion of the association graph; performing clustering analysis on the second figure portion PiB of the embedding vector of the first figure and the second figure portion PiB' of the embedding vector of the second figure based on an associative clustering method to obtain a second cluster of the first figure portion of the association graph; and screening the multi-figure clusters based on the first and second clusters to obtain a target cluster with a higher cluster level.
[0096] In one example, the embodiments of the present application can be used to identify risk groups across scenes, such as transaction fraud between payment institutions. Take mining fraudulent users of transaction users in a payment application of payment platform A as an example. Currently, there exists a fraud group risk that a merchant of one payment channel trades profits and transfers transactions under another payment channel after money laundering. The association of transaction fraud is realized by the following steps:
[0097] 1. Construct a first figure based on data from a first party and a second figure based on data from a second party.
[0098] For example, transfer transactions between payment platform A, a merchant, and a user form a first diagram, and transfer transactions between a user of payment platform B, a merchant, and a user form a second diagram, whose entities are user and merchant nodes and whose relationships are transfer relationships between users and transaction payment relationships between users and merchants.
[0099] 2. Encrypt the data of the first party and the data of the second party to obtain an intersection, determine the common nodes in FIG. 1 and FIG. 2, associate FIG. 1 and FIG. 2 based on the common nodes, and obtain an association graph.
[0100] For example, by using the user's identity information and the enterprise's business information as the primary key value, the common user and merchant in the two payment channels are aligned, the common user is a common registered transaction user in the two payment channels, and the common merchant is an aggregated payment merchant, a transaction merchant that realizes mutual recognition and mutual scanning of merchants' deposit codes, etc.
[0101] 3. Learning association graphs using a distributed graph embedding algorithm based on random walks.
[0102] Each user or merchant node of this payment platform B is defined to walk M steps, and after walking Mia steps, it creates a shared node Vab i , record the frequent vector Pa-Mia that has reached the shared node through multiple Mia steps, obtain its embedding vector PiA by weighting and aggregating the vectors that have reached the shared node through different steps, and based on the reached shared node sequence, associate and match the vector matrix that the user of payment platform A has walked M-Mia steps from the shared node, and then perform the corresponding shared node Vab at the intermediate node. iThen it encrypts and matches the vector matrix walked (M-Ma) steps, and obtains the corresponding embedding vector PiB by weighting and aggregating the matching results multiple times, and stores PiA and PiB in their respective data spaces.
[0103] In a similar manner, we randomly walk from the user nodes or merchant nodes of payment platform A to obtain PiA' and PiB'.
[0104] 4. A method based on federated learning clustering analysis is adopted. First, clustering analysis is performed on parts PiA and PiA' in Figure 1 respectively, and the mined clusters are marked based on the vectors in Figure 1. In addition, the intermediate nodes record the data related to the central core of the cluster. After introducing parts PiB and PiB' in Figure 2, each node in the cluster compares the cluster situation in Figure 2, mines the central core of the cluster in the vector space of Figure 2, and then filters the cluster again to obtain the strongest related node data.
[0105] In the present description, references to terms such as "some possible embodiments," "some embodiments," "examples," "specific examples," or "some examples" mean that the specific features, structures, materials, or characteristics described in connection with that embodiment or example are included in at least one embodiment or example of the present invention. In this specification, general expressions of the above terms do not necessarily have to be directed to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described can be combined in any suitable manner in any one or more embodiments or examples. Furthermore, if not inconsistent, one skilled in the art can combine or combine different embodiments or examples and features of different embodiments or examples described herein.
[0106] Furthermore, the terms "first," "second," etc. are used for descriptive purposes only and cannot be understood to indicate or imply a relative importance or number of the technical features depicted. Thus, a feature qualified as "first," "second," etc. can explicitly or implicitly include one or more features. In the description of the embodiments of the present application, "plurality" means two or more unless otherwise specified.
[0107] The process or method description in the flowchart or otherwise described herein may depict modules, segments, or portions that represent one or more codes of executable instructions that include steps for implementing a particular logical function or process, and the scope of the preferred embodiment of the present invention may not be in accordance with the order shown or discussed, including performing functions essentially simultaneously or in reverse order based on the functionality involved, as should be understood by those skilled in the art of embodiments of the present invention.
[0108] With respect to method flow charts of embodiments of the present application, some operations are described as different steps performed in a certain order. Such flow charts are exemplary and not limiting. Some steps described herein may be grouped and performed in a single operation, and some steps may be divided into multiple sub-steps and performed in a different order than the order shown herein. The various steps shown in the flow charts may be implemented in any manner, by any circuit structure and / or tangible mechanism (e.g., software operating in a computing device, hardware (e.g., logic functions implemented by a processor or chip), etc., and / or any combination thereof).
[0109] Based on the same technical idea, an embodiment of the present invention provides an associative graph clustering device based on distributed graph embedding, for implementing the associative graph clustering method based on distributed graph embedding provided by any of the above embodiments. Figure 6 is a schematic configuration diagram of the associative graph clustering device based on distributed graph embedding provided by the embodiment of the present invention.
[0110] As shown in FIG. 6, the device 600 includes: a construction module 601 for constructing a first diagram based on first party data and a second diagram based on second party data; an association module 602 for encrypting the first party data and the second party data to obtain an association, determining common nodes in the first and second diagrams, and associating the first and second diagrams based on the common nodes to obtain an association graph; a learning module 603 for learning the association graph using a distributed graph embedding algorithm based on random walk to determine an embedding vector [PiA,PiB] of FIG. 1 starting from FIG. 1 and an embedding vector [PiA',PiB'] of FIG. 2 starting from FIG. 2 (where PiA and PiA' are embedding vectors of each FIG. 1 node in FIG. 1, and PiB and PiB' are embedding vectors of each FIG. 2 node in FIG. 2); and a clustering module 604 for performing clustering analysis on the embedding vector [PiA,PiB] of the first diagram and the embedding vector [PiA',PiB'] of the second diagram of the association graph based on an association clustering method to obtain a clustering result.
[0111] It is necessary to mention that the apparatus in the embodiment of the present application can realize various processes of the above method embodiment and achieve the same effects and functions. No redundant description is given here.
[0112] Figure 7 illustrates an apparatus for distributed graph embedding based associative graph clustering according to an embodiment of the present application for performing the distributed graph embedding based associative graph clustering method shown in Figure 2. The apparatus includes at least one processor and a memory communicatively coupled to the at least one processor, the memory storing instructions executable by the at least one processor to enable the at least one processor to perform the method of the embodiment.
[0113] According to some embodiments of the present application, there is provided a non-volatile computer storage medium based on a distributed graph embedded federated graph clustering method, storing computer executable instructions that, when executed by a processor, perform the method according to the embodiment.
[0114] Various embodiments in the present application are described cumulatively. The same similar parts between the respective embodiments may be mutually referred to, and each embodiment may focus on the differences from other embodiments. In particular, the embodiments of the device, the device and the computer-readable storage medium are basically similar to the embodiments of the method, so the description thereof will be simplified, and the relevant points may be referred to the description of some of the embodiments of the method.
[0115] Since the apparatus, device and computer-readable storage medium provided by the embodiments of the present application correspond one-to-one to the methods, the apparatus, device and computer-readable storage medium also have similar beneficial technical effects as the corresponding methods, and since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the apparatus, device and computer-readable storage medium will not be detailed here.
[0116] Those skilled in the art will appreciate that embodiments of the present invention may be provided as a method, a system, or a computer program product. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. The present invention may also take the form of a computer program product embodied in one or more computer usable storage media (including, but not limited to, disk memory, CD-ROM, optical memory, etc.) containing computer usable program code.
[0117] The present invention will be described with reference to flowcharts and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block of the flowcharts and / or block diagrams, and combinations of flows and / or blocks of the flowcharts and / or block diagrams, can be realized by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to generate a machine that is a means for implementing the functions specified in one or more flows of the flowcharts and / or one or more blocks of the block diagrams, by the instructions being executed by the processor of the computer or other programmable data processing apparatus.
[0118] These computer program instructions may also be stored in a computer-readable memory that can cause a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction apparatus that implements the functions specified in one or more flows of the flowcharts and / or one or more blocks of the block diagrams.
[0119] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause the computer or other programmable apparatus to perform a series of operational steps to generate a computer-implemented process, such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in one or more flows of the flowcharts and / or one or more blocks of the block diagrams.
[0120] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0121] The memory may include forms such as non-persistent memory in a computer readable medium, such as read only memory (ROM) or flash memory (Flash RAM), random access memory (RAM) and / or non-volatile memory. Memory is an example of a computer readable medium.
[0122] Computer readable media includes persistent, non-persistent, removable and non-removable media and may implement information storage by any method or technology. Information may be computer readable instructions, data structures, modules of programs or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, read only optical disk read only memory (CD-ROM), digital versatile optical disk (DVD) or other optical storage, magnetic cassette tape, magnetic tape magnetic disk storage or other magnetic storage or other non-transmission media that may be used to store information accessible by a computing device. Additionally, although the accompanying figures may depict the operations of the method of the present invention in a particular order, this is not intended to require or imply that the operations must be performed in that particular order or that all operations must be performed to achieve desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be merged into a single step execution, and / or a single step may be decomposed into multiple step executions.
[0123] Although the spirit and principles of the present invention have been described with reference to several specific embodiments, the present invention is not limited to the specific examples disclosed, and the division of each aspect does not imply that the features in these aspects cannot be combined to obtain advantages, and this division is merely for convenience of description. The present invention is intended to encompass various modifications and equivalent arrangements that fall within the spirit and scope of the appended claims. [Explanation of symbols]
[0124] 600 equipment 601 Configuration Module 602 Related Modules 603 Learning Module 604 Clustering Module 1001 Processor 1002 Communication Bus 1003 User Interface 1004 Network Interface 1005 Memory
Claims
1. constructing a first diagram based on the first party data and a second diagram based on the second party data; encrypting the data of the first party and the data of the second party to obtain an association, determining common nodes in the first diagram and the second diagram, and associating the first diagram and the second diagram based on the common nodes to obtain an association graph; Using a distributed graph embedding algorithm based on random walk to learn the association graph, determine an embedding vector [PiA, PiB] of FIG. 1 starting from FIG. 1 and an embedding vector [PiA', PiB'] of FIG. 2 starting from FIG. 2, where PiA and PiA' are embedding vectors of each FIG. 1 node of FIG. 1, and PiB and PiB' are embedding vectors of each FIG. 2 node of FIG. 2; performing clustering analysis on the embedding vector [PiA, PiB] in the first figure and the embedding vector [PiA', PiB'] in the second figure of the association graph based on an association clustering method to obtain a clustering result.
2. Determining the embedding vector [PiA, PiB] in FIG. 1 and the embedding vector [PiA', PiB'] in FIG. 2 is Randomly walk the association graph multiple times using the node in the first diagram as a starting node, and a first party determines the PiA based on a walk path in the first diagram, and a second party determines the PiB based on a matching walk path in the second diagram; 2. The method of claim 1, further comprising: randomly walking the association graph multiple times with a node in the second diagram as a starting node; the second party determining PiB' based on a walk path in the second diagram; and the first party determining PiA' based on a matching walk path in the first diagram.
3. obtaining an association graph by relating the first and second diagrams based on the common nodes, 3. The method of claim 1 or claim 2, further comprising removing isolated island nodes that have no direct or indirect association relationship with the common node in the first diagram and the second diagram to obtain the federation diagram.
4. The method of claim 1 , wherein the first party data and the second party data are isolated from each other.
5. the nodes of the first diagram are first party users and / or first party merchants, and edges of the first diagram are established based on association relationships between the nodes of the first diagram; 5. The method of claim 1, wherein the nodes of the second diagram are second party users and / or second party merchants, and the edges of the second diagram are determined based on association relationships between the nodes of the second diagram.
6. Encrypting the data of the first party and the data of the second party to obtain intersections and determining common nodes in the first and second figures The method of claim 1 , further comprising aligning common nodes in the network of the first diagram and the network of the second diagram based on merchant and / or user attribute information.
7. Randomly walking the association graph multiple times with a node in the first diagram as a starting node, and determining the PiA based on the walk path in the first diagram according to the first party data; The number of random walk steps M is defined, and the first person randomly walks in the first diagram starting from any of the nodes in the first diagram, and when the first person walks to any of the common nodes, the walk stops, and the number of walk steps Mia in the first diagram and the identifier Vab of the common node that was walked are stored. i , and recording the nodes of each first diagram that have been walked through; After randomly walking X times, collect statistics on the number of walk steps Mia in FIG. 1 walked each time and the frequency with which each node in FIG. 1 is walked, and obtain a node frequency matrix in FIG. 1 corresponding to each number of walk steps Mia in FIG. 1; 7. The method according to claim 2, further comprising: performing matrix accumulation calculation of the node frequency matrix of FIG. 1 corresponding to each of the walk step numbers Mia of FIG. 1, and dividing the matrix by the random walk number X to obtain the FIG. 1 portion PiA of the embedding vector of FIG.
1.
8. The second party determines the PiB based on the matching walk path in the second diagram, During or after the X random walk processes, the identifier V of each common node walked by the first party i and transmitting all corresponding walk step numbers Mia of the first figure to a second party; The second party is each of the common nodes Vab i Starting from the second figure, the graph embedding vector PiB_Vab is obtained by walking the corresponding second figure walk step number Mib in the second figure. i where M=Mib+Mia; All the common nodes Vab i The graph embedding vector PiB_Vab corresponding to i The number of subwalks X is the number of times the random walk has been performed up to the second figure. 1 and dividing by ∇p to obtain a second diagram portion PiB of the embedding vector of the first diagram.
9. The node frequency matrix of the first diagram corresponding to each walk step number Mia of the first diagram is PA_Mia=[Pa n1 _Mia, n1=1, 2, . . . , Na], Here, the first diagram shows Na nodes Pa n1 Including, The Mia is an integer between the minimum number of steps m from the starting node to the common node and the total number of steps M, The Pa n _Mia is a node Pa in FIG. 1 after randomly performing the Mia step X times from the starting node. n The method according to claim 7 or 8, wherein the number of times is the number of times the
10. The PiA has the formula [0010] 10. The method of claim 9, wherein the calculation is performed by:
11. The PiB is represented by the formula [0025] The method according to claim 8, which is calculated by:
12. Randomly walking the association graph multiple times using a node in the second diagram as a starting node, and the second party determining the PIB' based on a walk path in the second diagram; A random walk step number M' is defined, and the second party randomly walks in the second diagram starting from any of the nodes in the second diagram, and when the second party walks to any of the common nodes, the walk is stopped, and the walk step number Mia' in the second diagram and the identifier Vab of the common node that was walked are stored. i and recording each second diagram node that has been walked through; After randomly walking X' times, collect statistics on the number of walk steps Mia' in FIG. 2 walked each time and the frequency with which each node in FIG. 2 is walked, and obtain a node frequency matrix in FIG. 2 corresponding to each number of walk steps Mia' in FIG. 2; 12. The method according to claim 2, further comprising: accumulating a matrix of a node frequency matrix of the second diagram corresponding to a walk step number Mia' of each of the second diagrams, and dividing the matrix by a random walk number X' to obtain a second diagram portion PIB' of an embedding vector of the second diagram.
13. The first party determines PiA' based on the matching walk path in the first diagram, During or after the X′ random walk process, the second party i and transmitting all corresponding walk step numbers Mia′ of the second figure to the first party; The first party is each of the common nodes Vab i Starting from the graph embedding vector PiA'_Vab, the graph embedding vector PiA'_Vab is obtained by walking the corresponding (M'-Mia') steps in the first diagram. i To determine the following: All the common nodes Vab i The graph embedding vector PiA'_Vab i 1 in the process of the X′ random walks, 1 and dividing by 1 to obtain the first diagram portion PiA' of the embedding vector of the second diagram.
14. The node frequency matrix in the second diagram corresponding to each of the walk step numbers Mia′ is [0030] Including, Here, the second diagram shows Nb nodes Pb n2 Including, The Mia′ is an integer between the minimum number of steps m′ from the common node to the start node and the total number of steps M′, The Pb 2 _Mia' randomly walks X' times Mia' steps from the starting node, and then reaches node Pb in the second diagram. n2 The method according to claim 12 or 13, wherein the number of passes through
15. The PIB′ is represented by the formula [0045] The method of claim 14, wherein the calculation is performed by:
16. The PiA′ is represented by the formula [0050] The method according to claim 13, which is calculated by:
17. performing a clustering analysis on the embedding vector [PiA,PiB] of the first diagram and the embedding vector [PiA',PiB'] of the second diagram of the association graph based on an association clustering method, According to an association clustering method, a first diagram portion PiA of the embedding vector of the first diagram and a first diagram portion PiA' of the embedding vector of the second diagram are clustered to obtain a first cluster of the first diagram portion of the association graph; According to an association clustering method, performing a clustering analysis on the second part PiB of the embedding vector of FIG. 1 and the second part PiB' of the embedding vector of FIG. 2 to obtain a second cluster of the first part of the association graph; The method of claim 1 , further comprising: filtering multi-drawing clusters based on the first cluster and the second cluster to obtain a target cluster having a higher clustering level.
18. A configuration module for configuring the first diagram based on data from a first party and for configuring the second diagram based on data from a second party; an association module for encrypting the first party data and the second party data to determine intersections between the first and second diagrams, and associating the first and second diagrams based on the common nodes to obtain an association graph; A learning module that learns the association graph using a distributed graph embedding algorithm based on random walk, and determines an embedding vector [PiA, PiB] of FIG. 1 starting from FIG. 1 and an embedding vector [PiA', PiB'] of FIG. 2 starting from FIG. 2, where PiA and PiA' are embedding vectors of each FIG. 1 node of FIG. 1, and PiB and PiB' are embedding vectors of each FIG. 2 node of FIG. 2; and a clustering module for performing clustering analysis of the embedding vector [PiA, PiB] of the association graph in the first figure and the embedding vector [PiA', PiB'] of the association graph in the second figure based on an association clustering method to obtain a clustering result.
19. At least one processor; and a memory communicatively connected to at least one processor, the memory storing instructions executable by the at least one processor such that the at least one processor can perform the method of any one of claims 1 to 17.
20. A computer readable storage medium having stored thereon a program which, when executed by a multi-core processor, causes the multi-core processor to perform the method according to any one of claims 1 to 17.
Citation Information
Patent Citations
Node coding method and node coding terminal of graph neural network, and electronic equipment
CN111178515A
Information interaction system and method suitable for federated learning
CN111553470A
Representation learning method and system for federated network
CN112288094A
Migration unit analysis device, migration unit analysis method and transition unit analysis program
JP2019133556A
Highly Efficient Convolutional Networks for Recommender Systems
JP2021517295A
