Data processing method, device, equipment and medium based on graph convolutional neural network
By introducing a sampling mechanism into the graph convolution neural network, sampling neighbor nodes of nodes in graph structure data, the problem that GCN cannot accurately mine information differences is solved, and the accuracy of processing results is improved.
Patent Information
- Application Number
- CN202010251576.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-04-01
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2040-04-01
AI Technical Summary
When processing graph structure data, graph convolutional neural networks (GCNs) cannot accurately mine the information differences between nodes, resulting in inaccurate processing results.
By introducing a sampling mechanism into the graph convolution neural network, the neighbor nodes of the node are sampled, so that there are differences between being sampled and not being sampled when the neighbor information is aggregated, thereby realizing the differential processing of neighbor nodes.
Differential mining of the relationship between nodes in graph structure data is realized, the accuracy of processing results is improved, and the graph convolutional neural network can mine more information.
Smart Images

Figure CN111462088B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence, and in particular to a data processing method, device, equipment and medium based on a graph convolutional neural network. Background Art
[0002] With the development of computer technology, more and more technologies (big data, distributed, blockchain, artificial intelligence, etc.) are being applied in the financial field. The traditional financial industry is gradually transforming to financial technology (Fintech). However, due to the security and real-time requirements of the financial industry, higher requirements are also placed on technology.
[0003] In recent years, deep learning has set off a technological revolution in industry and academia, and promoted the development of image detection and recognition, natural language processing, speech recognition and other fields. At present, how to apply deep learning technology, especially the widely used convolutional neural network, to the processing of complex and high-dimensional graph structure data (such as social networks and protein structure data) is a hot topic in academic research and a point of interest in industry.
[0004] The Neural Message Passing mechanism represented by Graph Convolutional Networks (GCN) is a promising breakthrough in extending convolution operations to graph structured data. However, when GCN aggregates neighborhood information, it aggregates the information of all neighboring nodes of a node in the graph structured data. When the importance of neighboring nodes is different, it cannot accurately mine the information in the graph structured data, resulting in inaccurate processing results for the graph structured data. Summary of the invention
[0005] The main purpose of the present invention is to provide a data processing method, device, equipment and medium based on a graph convolutional neural network, aiming to solve the problem that the current graph convolutional neural network GCN cannot accurately mine the information in the graph structure data, resulting in inaccurate processing results of the graph structure data.
[0006] To achieve the above object, the present invention provides a data processing method based on a graph convolutional neural network, and the data processing method based on a graph convolutional neural network comprises the following steps:
[0007] Obtaining first graph structure data to be processed and inputting it into a pre-trained graph convolutional neural network;
[0008] Calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data, so as to update each first node;
[0009] The graph convolutional neural network is called to obtain a processing result of the first graph structure data based on the updated first nodes.
[0010] Optionally, the step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node includes:
[0011] The graph convolutional neural network is called to perform neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data according to a permutation and combination pattern to update each first node, wherein the permutation and combination pattern is a permutation and combination pattern of neighbor node sampling operations and neighborhood information aggregation operations.
[0012] Optionally, when the permutation and combination pattern is a combination pattern of a neighbor node sampling operation and a neighborhood information aggregation operation, the step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data according to the permutation and combination pattern to update each first node includes:
[0013] Calling the graph convolutional neural network to generate sampling probabilities corresponding to each first node in the first graph structure data based on sampling parameters in the graph convolutional neural network;
[0014] Using the sampling probabilities corresponding to the first nodes as the first diagonal elements corresponding to the first nodes in the first diagonal matrix;
[0015] Multiplying the node feature matrix in the first graph structure data by the first diagonal matrix to obtain a first sampling result by sampling neighbor nodes of each first node;
[0016] The graph convolutional neural network is called to perform a neighborhood information aggregation operation on each of the first nodes based on the first sampling result to update each of the first nodes.
[0017] Optionally, the step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node includes:
[0018] Calling the graph convolutional neural network to perform multiple sets of neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data based on each set of sampling parameters in the graph convolutional neural network, and correspondingly obtaining each set of initial update nodes;
[0019] The information of the corresponding identical nodes in each set of initially updated nodes is merged to obtain each updated first node.
[0020] Optionally, before the step of obtaining the graph structure data to be processed and inputting it into a pre-trained graph convolutional neural network, the step further includes:
[0021] Acquire second graph structure data, and input the second graph structure data into the graph convolutional network to be trained;
[0022] Calling the graph convolutional network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data, so as to update each second node;
[0023] Calling the graph convolutional network to be trained to obtain an output result based on each updated second node;
[0024] The graph convolutional network to be trained is updated based on the output result and the label data corresponding to the second graph structure data, so as to train the graph convolutional network to be trained to obtain the trained graph convolutional neural network.
[0025] Optionally, the step of calling the graph convolutional network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data to update each second node includes:
[0026] Calling the graph convolution network to be trained to generate sampling values corresponding to each second node in the second graph structure data based on sampling parameters in the graph convolution network to be trained and based on a derivable processing operation;
[0027] Using the sampling values corresponding to the respective second nodes as the second diagonal elements corresponding to the respective second nodes in the second diagonal matrix;
[0028] Multiplying the node feature matrix in the second graph structure data by the second diagonal matrix to obtain a second sampling result by sampling neighbor nodes for each of the second nodes;
[0029] The graph convolutional network to be trained is called to perform a neighborhood information aggregation operation on each of the second nodes based on the second sampling result to update each of the second nodes.
[0030] Optionally, the first graph structure data is social network data of a user to be predicted, and after the step of calling the graph convolutional neural network to obtain a processing result of the first graph structure data based on each updated first node, the method further includes:
[0031] The processing result of the user to be predicted is obtained from the processing result as the fraud possibility prediction result of the user to be predicted.
[0032] To achieve the above object, the present invention further provides a data processing device based on a graph convolutional neural network, the data processing device based on a graph convolutional neural network comprising:
[0033] An acquisition module, used for acquiring first graph structure data to be processed and inputting it into a pre-trained graph convolutional neural network;
[0034] An operation module, used for calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data, so as to update each first node;
[0035] A processing module is used to call the graph convolutional neural network to obtain a processing result of the first graph structure data based on the updated first nodes.
[0036] To achieve the above-mentioned purpose, the present invention also provides a data processing device based on a graph convolutional neural network, and the data processing device based on a graph convolutional neural network comprises: a memory, a processor, and a data processing program based on a graph convolutional neural network stored in the memory and executable on the processor, and when the data processing program based on a graph convolutional neural network is executed by the processor, the steps of the data processing method based on a graph convolutional neural network as described above are implemented.
[0037] In addition, to achieve the above-mentioned purpose, the present invention also proposes a computer-readable storage medium, on which a data processing program based on a graph convolutional neural network is stored. When the data processing program based on a graph convolutional neural network is executed by a processor, the steps of the data processing method based on a graph convolutional neural network as described above are implemented.
[0038] In the present invention, when processing the graph structure data to be processed, the graph convolutional neural network is called to perform neighbor node sampling operations and neighborhood information aggregation operations on the graph structure data to update each node, and the graph convolutional neural network is called to obtain the processing result of the graph structure data based on the updated first node. By adding a sampling mechanism to the graph convolutional neural network, sampling operations are performed on the neighbor nodes of the node, so that during the neighborhood information aggregation operation, there is a difference between the sampled neighbor nodes and the unsampled neighbor nodes, thereby achieving differential processing of the neighbor nodes, mining the differences in the relationship between the nodes, and obtaining the final processing results based on the nodes updated by the differential processing, so that the differences are reflected in the processing results, so that the graph convolutional neural network in this embodiment can mine more information in the graph structure data than the existing graph convolutional neural network, and can make more accurate processing results based on the more sufficient information mined. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1A schematic diagram of the structure of the hardware operating environment involved in the embodiment of the present invention;
[0040] Figure 2 This is a flow chart of a first embodiment of a data processing method based on a graph convolutional neural network according to the present invention;
[0041] Figure 3 This is a functional schematic module diagram of a preferred embodiment of a data processing device based on a graph convolutional neural network of the present invention.
[0042] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0043] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.
[0044] like Figure 1 As shown, Figure 1 It is a schematic diagram of the device structure of the hardware operating environment involved in the embodiment of the present invention.
[0045] It should be noted that the data processing device based on the graph convolutional neural network in the embodiment of the present invention can be a smart phone, a personal computer, a server and other devices, and no specific limitation is made here.
[0046] like Figure 1 As shown, the data processing device based on the graph convolutional neural network may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.
[0047] Those skilled in the art will understand that Figure 1 The device structure shown in the figure does not constitute a limitation on the data processing device based on graph convolutional neural network, and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.
[0048] like Figure 1As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a data processing program based on a graph convolutional neural network. Among them, the operating system is a program for managing and controlling the hardware and software resources of the device, and supports the operation of the data processing program based on the graph convolutional neural network and other software or programs.
[0049] exist Figure 1 In the device shown, the user interface 1003 is mainly used to communicate data with the client; the network interface 1004 is mainly used to establish a communication connection with the server; and the processor 1001 can be used to call the data processing program based on the graph convolutional neural network stored in the memory 1005, and perform the following operations:
[0050] Obtaining first graph structure data to be processed and inputting it into a pre-trained graph convolutional neural network;
[0051] Calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data, so as to update each first node;
[0052] The graph convolutional neural network is called to obtain a processing result of the first graph structure data based on the updated first nodes.
[0053] Furthermore, the step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node includes:
[0054] The graph convolutional neural network is called to perform neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data according to a permutation and combination pattern to update each first node, wherein the permutation and combination pattern is a permutation and combination pattern of neighbor node sampling operations and neighborhood information aggregation operations.
[0055] Further, when the permutation and combination pattern is a combination pattern of a neighbor node sampling operation and a neighborhood information aggregation operation, the step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data according to the permutation and combination pattern to update each first node includes:
[0056] Calling the graph convolutional neural network to generate sampling probabilities corresponding to each first node in the first graph structure data based on sampling parameters in the graph convolutional neural network;
[0057] Using the sampling probabilities corresponding to the first nodes as the first diagonal elements corresponding to the first nodes in the first diagonal matrix;
[0058] Multiplying the node feature matrix in the first graph structure data by the first diagonal matrix to obtain a first sampling result by sampling neighbor nodes of each first node;
[0059] The graph convolutional neural network is called to perform a neighborhood information aggregation operation on each of the first nodes based on the first sampling result to update each of the first nodes.
[0060] Furthermore, the step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node includes:
[0061] Calling the graph convolutional neural network to perform multiple sets of neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data based on each set of sampling parameters in the graph convolutional neural network, and correspondingly obtaining each set of initial update nodes;
[0062] The information of the corresponding identical nodes in each set of initially updated nodes is merged to obtain each updated first node.
[0063] Furthermore, before the step of obtaining the graph structure data to be processed and inputting it into the pre-trained graph convolutional neural network, the processor 1001 may also be used to call a data processing program based on the graph convolutional neural network stored in the memory 1005 to perform the following operations:
[0064] Acquire second graph structure data, and input the second graph structure data into the graph convolutional network to be trained;
[0065] Calling the graph convolutional network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data, so as to update each second node;
[0066] Calling the graph convolutional network to be trained to obtain an output result based on each updated second node;
[0067] The graph convolutional network to be trained is updated based on the output result and the label data corresponding to the second graph structure data, so as to train the graph convolutional network to be trained to obtain the trained graph convolutional neural network.
[0068] Furthermore, the step of calling the graph convolutional network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data to update each second node includes:
[0069] Calling the graph convolution network to be trained to generate sampling values corresponding to each second node in the second graph structure data based on sampling parameters in the graph convolution network to be trained and based on a derivable processing operation;
[0070] Using the sampling values corresponding to the respective second nodes as the second diagonal elements corresponding to the respective second nodes in the second diagonal matrix;
[0071] Multiplying the node feature matrix in the second graph structure data by the second diagonal matrix to obtain a second sampling result by sampling neighbor nodes for each of the second nodes;
[0072] The graph convolutional network to be trained is called to perform a neighborhood information aggregation operation on each of the second nodes based on the second sampling result to update each of the second nodes.
[0073] Further, the first graph structure data is social network data of the user to be predicted. After the step of calling the graph convolutional neural network to obtain the processing result of the first graph structure data based on each updated first node, the processor 1001 can also be used to call the data processing program based on the graph convolutional neural network stored in the memory 1005 to perform the following operations:
[0074] The processing result of the user to be predicted is obtained from the processing result as the fraud possibility prediction result of the user to be predicted.
[0075] Based on the above structure, various embodiments of a data processing method based on a graph convolutional neural network are proposed.
[0076] Reference Figure 2 , Figure 2 This is a flow chart of the first embodiment of the data processing method based on graph convolutional neural network of the present invention.
[0077] The embodiments of the present invention provide embodiments of data processing methods based on graph convolutional neural networks. It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than here. The execution subjects of each embodiment of the data processing method based on graph convolutional neural networks of the present invention can be devices such as smart phones, personal computers and servers. For ease of description, the execution subjects are omitted in the following embodiments. In this embodiment, the data processing method based on graph convolutional neural networks includes:
[0078] Step S10, obtaining first graph structure data to be processed and inputting it into a pre-trained graph convolutional neural network;
[0079] Graph convolutional neural networks are used to process graph structure data. A graph is a nonlinear structure that is more complex than a tree structure. It is a data structure consisting of a non-empty set of nodes and a finite set of edges that describe the relationship between nodes. Graph structure data includes information about nodes and edges in the graph. Node information can include feature information of nodes, and edge information can include nodes connected by edges.
[0080] In this embodiment, a graph convolutional neural network can be trained in advance. The structure of this graph convolutional neural network can be based on the existing graph convolutional neural network, and a sampling mechanism is added. Through the sampling mechanism, the neighbor nodes of the node are sampled. When aggregating neighborhood information, the aggregation operation has different processing for the sampled neighbor nodes and the unsampled neighbor nodes, thereby realizing differential treatment of neighbor nodes. Specifically, the existing graph convolution neural network aggregates the information of all neighbor nodes of the node indiscriminately when aggregating neighborhood information of the node. In this embodiment, based on the sampling mechanism, the neighbor nodes of each node can be sampled, that is, each neighbor node of the node can be sampled, and when aggregating neighborhood information of the node, the information of the sampled neighbor nodes in the neighbor nodes of the node is aggregated, and the information of the unsampled neighbor nodes is not aggregated. In addition, in the sampling mechanism, the sampling of each neighbor node of the node is independent, that is, the sampling probability of each neighbor node is different, thereby realizing a biased sampling and achieving differential treatment of each neighbor node. Training the graph convolutional neural network can enable the sampling mechanism to learn how to distinguish neighbor nodes, so that important and highly correlated neighbor nodes are sampled with a high probability, while unimportant and less correlated neighbor nodes are sampled with a low probability, thereby achieving the corresponding amplification or suppression of node-neighbor relationship message flow.
[0081] It should be noted that training sample data can be selected based on the training task, and the training sample data can be used for training to obtain a graph convolutional neural network for achieving a specific prediction or classification task. For example, the training sample data can use the social network data of each user, and the social network data can come from banks, e-commerce, social network platforms, etc. Using these social network data, a graph convolutional neural network can be trained to predict whether a user is a fraudulent user. The method for training a graph convolutional neural network can use the commonly used training method of a neural network model, which will not be described in detail here.
[0082] After the graph convolutional neural network is trained, the graph convolutional neural network can be used to process the graph structure data. Specifically, the first graph structure data to be processed can be obtained. For example, when the graph convolutional neural network is used to predict whether a user is a fraudulent user, the first graph structure data obtained can be the social network data of a user to be predicted. The first graph structure data may include a node feature matrix representing the information of each node (hereinafter referred to as the first node). The rows of the node feature matrix represent each node, and the columns represent each feature. A row represents each feature information of a node. The node feature matrix is represented by X of n*d, where n represents the number of nodes and d represents the feature dimension. The first graph structure data may also include a matrix representing the relationship between each node. The matrix may be an adjacency matrix or a matrix obtained by transforming the adjacency matrix, such as a Laplace matrix.
[0083] Step S20, calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data, so as to update each first node;
[0084] Call the graph convolutional neural network to perform neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data. After the two operations, the information of each first node can be updated. Among them, the neighbor node sampling operation can be for a certain node, according to the sampling parameters trained in the graph convolutional neural network, respectively generate the sampling probability of each neighbor node of the node. If the sampling probability of the neighbor node is greater than a random number, it means that the neighbor node is sampled. If not, it means that the neighbor node is not sampled. The neighborhood information aggregation operation can adopt the neighborhood information aggregation operation in the existing graph convolutional neural network, for example, left-multiplying the adjacency matrix on the node feature matrix.
[0085] It should be noted that the order of the neighbor node sampling operation and the neighborhood information aggregation operation, and the number of times the two operations are performed may be unlimited. For example, a neighbor node sampling operation may be performed first, and then a neighborhood information aggregation operation may be performed, or a neighborhood information aggregation operation may be performed first, and then a neighbor node sampling operation may be performed again, or multiple neighbor node sampling operations and multiple neighborhood information aggregation operations may be performed alternately.
[0086] In addition, the graph convolutional neural network can have multiple aggregation layers, for example, there are two aggregation layers, and the sampling mechanisms of the two aggregation layers can be different. In this case, the first aggregation layer can be called to perform the above-mentioned neighbor node sampling operation and neighborhood information aggregation operation, and then the second aggregation layer can be called to perform the neighbor node sampling operation and neighborhood information aggregation operation on the updated first node, and the first node information finally updated is input into the next layer of the second aggregation layer. That is, when the graph convolutional neural network has multiple aggregation layers, the node information input into the first aggregation layer is the initial node information, and the first aggregation layer outputs the node information aggregated with the neighbor node information (neighborhood information); the second aggregation layer aggregates the neighbor node information based on the node information output by the first aggregation layer, so it can be understood that after two aggregations, the initial node aggregates the information of the neighbors and the neighbors of the neighbors; the node information processed by the subsequent aggregation layer is the node information output by the previous aggregation layer of the aggregation layer, that is, it is a recursive aggregation mode.
[0087] By using the trained graph convolutional neural network to perform neighbor node sampling operations and neighborhood information aggregation operations on each first node, the differences of the neighbor nodes of the first node are taken into account when aggregating the neighborhood information of the first node, so that the information of the neighbor nodes can be aggregated differentially, which is more in line with the reality of different importance of neighbor nodes in actual application scenarios, so that the aggregation results based on differences can obtain more accurate processing results. Specifically, the probability of sampling for more important neighbor nodes or neighbor nodes with a close relationship with the neighbor node is relatively large, thereby achieving the effect of amplifying the message path between the first node and the important neighbor node, so that the information of the important neighbor node is more used to enrich the information of the first node, so that the graph convolutional neural network can better play the role of using network information to optimize the processing results; on the contrary, the probability of sampling for unimportant neighbor nodes or neighbor nodes with a less close relationship with the neighbor node is relatively small, thereby achieving the effect of suppressing the message path between the first node and the unimportant neighbor node, so that the information of the unimportant neighbor node will not interfere with the information of the first node, thereby achieving the effect of not being affected by the interference information of the network while playing the role of using network information to optimize the processing results, thereby further improving the accuracy of the processing results.
[0088] Step S30, calling the graph convolutional neural network to obtain the processing result of the first graph structure data based on the updated first nodes.
[0089] After updating the information of each first node, the graph convolutional neural network can be called to obtain the processing result of the first graph structure data based on the updated first nodes. Specifically, the aggregation layer of the graph convolutional neural network can be connected to the output layer, or it can be connected to other network layers and then the output layer according to different specific training tasks. That is, in this embodiment, the graph convolutional neural network adopts a sampling mechanism in the aggregation layer, while other structures can adopt the existing graph convolutional neural network structure. Then, after the aggregation layer updates the information of each node, the updated node information can be input into the network layer after the aggregation layer of the graph convolutional network, and the subsequent network layer is called to process the information to obtain the output result, and the output result is used as the processing result of the first graph structure data.
[0090] In this embodiment, when processing the graph structure data to be processed, the graph convolutional neural network is called to perform neighbor node sampling operations and neighborhood information aggregation operations on the graph structure data to update the information of each node, and the graph convolutional neural network is called to obtain the processing result of the graph structure data based on the updated first node. By adding a sampling mechanism to the graph convolutional neural network, sampling operations are performed on the neighbor nodes of the node, so that during the neighborhood information aggregation operation, there is a difference between the sampled neighbor nodes and the unsampled neighbor nodes, thereby realizing differential processing of the neighbor nodes, mining the differences in the relationship between the nodes, and obtaining the final processing results based on the nodes updated by the differential processing, so that the differences are reflected in the processing results, so that the graph convolutional neural network in this embodiment can mine more information in the graph structure data compared to the existing graph convolutional neural network, and can make more accurate processing results based on the more sufficient information mined.
[0091] Furthermore, the first graph structure data is social network data of the user to be predicted, and after step S30, the following steps are further included:
[0092] Step S40: acquiring the processing result of the user to be predicted from the processing result as the fraud possibility prediction result of the user to be predicted.
[0093] Further, in this embodiment, the training task may be to train a graph convolutional neural network that predicts the fraud probability of a user. Then the trained graph convolutional neural network may be used to predict whether a certain user is a fraudulent user. Then the first graph structure data to be processed may be the social network data of the user to be predicted, and the social network data may be a network structure data centered on the user to be predicted, including the user to be predicted and other users associated with the predicted user, and these users are nodes in the graph structure data, and the information of the nodes is the feature information of each user, and the feature information may include the basic portrait feature information of the user, and may also include some information related to the judgment of the fraud probability, such as transaction feature information, and the edges in the graph structure data are connected to users with social intersections. The social network data of the user to be predicted is input into the graph convolutional neural network as the graph structure data, and the processing result is obtained after the above steps are processed. The processing result may include each node in the graph structure data, that is, the fraud probability prediction result of each user, that is, the fraud probability prediction result of each user node is obtained by the graph convolutional neural network processing, and then the fraud probability prediction result of the user to be predicted can be selected from it. The fraud probability prediction result may be 0 or 1, 0 indicates that the user to be predicted is not a fraudulent user, and 1 indicates that the user to be predicted is a fraudulent user.
[0094] In this embodiment, the social network data of the user to be predicted is processed by a graph convolutional neural network to obtain a fraud possibility prediction result of the user to be predicted. Compared with only using the personal information of the user to be predicted for prediction, more information can be mined from richer social network data, thereby making the obtained fraud possibility prediction result more accurate; on this basis, compared with the existing graph convolutional neural network, since a sampling mechanism is introduced in the graph convolutional neural network in this embodiment, a neighbor node sampling operation is performed on each node, so that the graph convolutional neural network can mine different relationships between the user to be predicted and different users, thereby distinguishing and utilizing the information of neighbor users based on the mined differences, thereby making the obtained fraud possibility prediction result more accurate.
[0095] Further, based on the above first embodiment, a second embodiment of the data processing method based on a graph convolutional neural network of the present invention is proposed. In this embodiment, step S20 includes:
[0096] Step S201, calling the graph convolutional neural network to perform neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data according to a permutation and combination pattern to update each first node, wherein the permutation and combination pattern is a permutation and combination pattern of neighbor node sampling operations and neighborhood information aggregation operations.
[0097] In this embodiment, there may be a permutation and combination mode in the graph convolutional neural network, which is a permutation and combination model of neighbor node sampling operation and neighborhood information aggregation operation. In the permutation and combination mode, the number of the two operations can be once each, or multiple times, and the order of the two operations can also be set according to specific needs. For example, a represents the neighbor node sampling operation, and b represents the neighborhood information aggregation operation, then the permutation and combination mode can be ab, ba, aba, bab, aab, ... and so on. The graph convolutional neural network can be called to operate each first node in the first graph structure data according to the permutation and combination mode, that is, to perform the two operations in the order in the permutation and combination model. For example, when the permutation and combination mode is ab, the neighbor node sampling operation can be performed on each first node first, and then the neighborhood information aggregation operation can be performed. It should be noted that the effects achieved according to different permutation and combination modes will be different, so different permutation and combination modes can be selected to achieve different effects according to different actual application scenarios.
[0098] Further, when the permutation and combination mode is a combination mode of a neighbor node sampling operation and a neighborhood information aggregation operation, the step S201 includes:
[0099] Step S202, calling the graph convolutional neural network to generate sampling probabilities corresponding to each first node in the first graph structure data based on sampling parameters in the graph convolutional neural network;
[0100] In this embodiment, Bernoulli sampling is performed on each node in the graph convolutional neural network. Whether each node is sampled is independent of each other. Each node corresponds to a sampling probability, and the size of the sampling probability reflects the importance of the node. The more likely a node is to be sampled and thus participate in the aggregation process, the greater its importance in the graph. The graph convolutional neural network may include sampling parameters, which may be one or a set of sampling parameters for each node. The sampling parameters corresponding to the node and the information of the node may be used to generate the sampling probability of the node. For example, the following formula may be used to generate the sampling probability Pi of node i.
[0101]
[0102] Among them, the value range of Pi is 0 to 1, s is a learnable parameter vector, that is, a sampling parameter, W can be a linear transformation parameter in the aggregation layer of the graph convolutional neural network, that is, parameter sharing can be used, and H is the node feature matrix. In the formula, (HW) i Do the dot product with s.
[0103] During the training process of the graph convolutional neural network, the sampling parameters learn to obtain different sampling probabilities based on the information of the nodes through training, so that the differences in the relationships between the nodes can be mined.
[0104] Step S203, taking the sampling probabilities corresponding to the first nodes as the first diagonal elements corresponding to the first nodes in the first diagonal matrix;
[0105] The sampling probability corresponding to each first node is respectively used as the first diagonal element corresponding to each first node in the first diagonal matrix. The first diagonal matrix is a diagonal matrix in which all elements except the diagonal element are 0, and the diagonal element of each row of the first diagonal matrix corresponds to a node. Then, the sampling probability of the node is used as the value of the diagonal element corresponding to the node, and the values of each diagonal element of the first diagonal matrix can be obtained.
[0106] Step S204, multiplying the node feature matrix in the first graph structure data by the first diagonal matrix to obtain a first sampling result by sampling neighbor nodes of each of the first nodes;
[0107] After obtaining the first diagonal matrix, to perform neighbor node sampling operation on each first node, the first diagonal matrix can be left-multiplied on the basis of the node feature matrix of the first graph structure data to obtain a matrix, which is used as the first sampling result. According to the principle of matrix multiplication, in the matrix obtained after multiplying the two matrices, the information corresponding to the nodes with large sampling probability is mostly retained, and the information corresponding to the nodes with small sampling probability is only partially retained or even completely 0. The effect of matrix multiplication is that when performing neighborhood information aggregation operation, the node with large sampling probability can pass most of its information to its neighbor nodes, that is, for its neighbor nodes, the node is a sampled neighbor node; and the node with small sampling probability passes a small part of its information to its neighbor nodes, that is, for its neighbor nodes, the node is a non-sampled neighbor node; thereby achieving the amplification or inhibition of the message flow between nodes and neighbor nodes.
[0108] Step S205: Call the graph convolutional neural network to perform a neighborhood information aggregation operation on each of the first nodes based on the first sampling result to update each of the first nodes.
[0109] After obtaining the first sampling result, the graph convolutional neural network can be called to perform a neighborhood information aggregation operation on the first node based on the first sampling result to achieve the update of the information of each first node. Specifically, the neighborhood information aggregation operation can be to multiply the first sampling result by the adjacency matrix of the graph structure data or the transformed form of the adjacency matrix, and then use the linear transformation parameter result to perform a linear transformation, and then perform a nonlinear transformation to obtain the updated first nodes. For example, when there are multiple aggregation layers, X is the node feature matrix of the graph structure data, initially H=X, Q is a diagonal matrix, A is the adjacency matrix or the transformed form of the adjacency matrix, σ() is a nonlinear activation function, W is the linear transformation parameter of the aggregation layer, then H can be recursively generated by H=σ[(AQHW)].
[0110] In this embodiment, by generating the sampling probability of each node, taking the sampling probability of each node as the diagonal element of the diagonal matrix, and left-multiplying the node feature matrix of the graph structure data by the diagonal matrix, a biased node sampling aggregation mode is implemented, so that the graph convolutional neural network can mine the differences between different nodes in the graph structure data.
[0111] Furthermore, according to the permutation and combination pattern, in the formula H=σ[(AQHW)], the H on the right and the A and Q on the left are arranged according to the permutation and combination pattern. For example, if the permutation and combination pattern is AQA, the formula becomes H=σ[(AQAHW)], that is, the neighborhood information aggregation operation is first performed on the node feature matrix, and then a diagonal matrix is multiplied on the left to perform a neighbor node sampling operation, and then the neighborhood information aggregation operation is performed, and then linear and nonlinear transformations are performed.
[0112] Furthermore, the step S20 includes:
[0113] Step S201, calling the graph convolutional neural network to perform multiple sets of neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data based on each set of sampling parameters in the graph convolutional neural network, and correspondingly obtaining each set of initial update nodes;
[0114] Furthermore, in this embodiment, multiple sets of sampling parameters can be set in the graph convolutional neural network, so the corresponding linear transformation parameters W can also be multiple sets. The graph convolutional neural network is called to perform neighbor node sampling operations and neighborhood information aggregation operations on each first node in the graph structure data in parallel based on each set of sampling parameters. After each set of neighbor node sampling operations and neighborhood information aggregation operations, the information of each first node is updated, and then multiple sets of updated first nodes are obtained, which are referred to as multiple sets of initial update nodes. The process of using a set of sampling parameters to perform neighbor node sampling operations and neighborhood information aggregation operations can refer to the steps in this embodiment or the first embodiment, and will not be described in detail here.
[0115] Step S202, merging information of corresponding identical nodes in each set of initially updated nodes to obtain updated first nodes.
[0116] It can be understood that each set of initial update nodes contains the information of each node, and the information of the corresponding same nodes in each set of initial update nodes is merged, that is, for a certain node, the information of the node in each set of initial update nodes is merged to obtain the updated node. The way to merge the information can be to do vector splicing, and the vector form of information of a certain node in each set of initial update nodes is vector splicing to obtain the updated node. For example, there are 10 sets of initial update nodes, and each node in each set of initial update nodes has 50-dimensional information. Then, after the information is merged by vector splicing, each node has 500-dimensional information.
[0117] In this embodiment, multiple sets of sampling parameters are set, and the graph convolutional neural network is called to perform multiple sets of neighbor node sampling operations and neighborhood information aggregation operations based on the multiple sets of sampling parameters, so that the graph convolutional neural network can mine more possibilities of the relationship between nodes in the graph structure data based on the multiple sets of sampling parameters, thereby further improving the accuracy of data processing by the graph convolutional neural network.
[0118] Further, based on the above-mentioned first and second embodiments, a third embodiment of the data processing method based on a graph convolutional neural network of the present invention is proposed. In this embodiment, before step S10, it also includes:
[0119] Step S50, obtaining second graph structure data, and inputting the second graph structure data into the graph convolutional network to be trained;
[0120] Furthermore, in this embodiment, the training process of the graph convolutional neural network can be specifically to pre-set the graph convolutional neural network to be trained (hereinafter referred to as the graph convolutional network to be trained), and the structure of the graph convolutional network to be trained can be set to an input layer, a hidden layer, and an output layer, wherein the hidden layer can include multiple aggregation layers, and these multiple aggregation layers can be connected in series or in parallel. Depending on the specific training task, the hidden layer can also include other network layers that may be used in the graph convolutional neural network, which is not limited here.
[0121] The second graph structure data for training the graph convolutional neural network is obtained. The second graph structure data is different according to different model training tasks. For example, when the model training task is to predict whether a user is a fraudulent user, the second graph structure data can be the user's social network data. It should be noted that the second graph structure data can be a graph structure data. Generally, in order to achieve the training effect, a large amount of graph structure data will be used for training, so the second graph structure data can also be multiple graph structure data. For the convenience of description, one graph structure data is used for explanation below.
[0122] The second graph structure data is input into the graph convolutional network to be trained.
[0123] Step S60, calling the graph convolutional network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data, so as to update each second node;
[0124] A sampling mechanism can be set in each aggregation layer of the graph convolution network to be trained, and a neighbor node sampling operation can be performed on the node according to the sampling mechanism. The graph convolution network to be trained is called to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph structure data. After the two operations, the information of each second node in the second graph structure data is updated. Specifically, the neighbor node sampling operation can be performed for a certain node, and the sampling probability of each neighbor node of the node is generated according to the sampling parameters in the graph convolution network to be trained. If the sampling probability of the neighbor node is greater than a random number, it means that the neighbor node is sampled. If it is not greater than, it means that the neighbor node is not sampled. The neighborhood information aggregation operation can adopt the neighborhood information aggregation operation in the existing graph convolutional neural network, for example, left-multiplying the adjacency matrix on the node feature matrix.
[0125] Step S70, calling the graph convolutional network to be trained to obtain an output result based on each updated second node;
[0126] After updating the information of each second node, the convolutional network to be trained is called to obtain the output result based on the updated second nodes. Specifically, the aggregation layer of the convolutional network to be trained can be followed by the output layer, or it can be connected to other network layers and then the output layer depending on the specific training task. That is, in this embodiment, the graph convolutional network to be trained adopts a sampling mechanism in the aggregation layer, while other structures can adopt the structure of the existing graph convolutional neural network. Then, after the aggregation layer updates the information of each node, the updated node information can be input into the network layer after the aggregation layer of the graph convolutional network to be trained, and the subsequent network layer is called to process the information to obtain the output result.
[0127] Step S80, updating the graph convolutional network to be trained based on the output result and the label data corresponding to the second graph structure data, so as to train the graph convolutional network to be trained to obtain the trained graph convolutional neural network.
[0128] When the graph convolution network to be trained is sampled and trained in a supervised training mode, the second graph structure data corresponds to a label data for supervising the output result. For example, when the training task is to predict the possibility of fraud of a user, the label data can be the real label of whether each user in the second graph structure data (social network data) is a fraudulent user. Specifically, the loss function of the graph convolution network to be trained can be constructed based on the output result and the label data of the second graph structure data, the gradient value of each parameter in the graph convolution network to be trained can be calculated based on the loss function, and then the gradient descent method is used to update each parameter based on the gradient value, so as to update the graph convolution network to be trained. After multiple iterative updates, a trained graph convolution neural network can be obtained. It should be noted that the sampling parameters in the graph volume network to be trained have also been trained. Through the training process, the sampling parameters have learned how to distinguish the relationship between nodes, so that the graph convolution neural network can mine the differences between nodes.
[0129] Furthermore, the step S60 includes:
[0130] Step S601, calling the graph convolution network to be trained based on sampling parameters in the graph convolution network to be trained, and generating sampling values corresponding to each second node in the second graph structure data based on a derivable processing operation;
[0131] Further, in this embodiment, corresponding to the use process of the graph convolutional neural network in the second embodiment, there can be a permutation and combination mode in the graph convolutional network to be trained, which is a permutation and combination model of the neighbor node sampling operation and the neighborhood information aggregation operation. In the permutation and combination mode, the number of the two operations can be once each or multiple times, and the order of the two operations can also be set according to specific needs. The graph convolutional network to be trained can be called to operate each second node in the second graph structure data according to the permutation and combination mode, that is, the two operations are performed in the order in the permutation and combination model.
[0132] When the permutation and combination pattern is a combination of a neighbor node sampling operation and a neighborhood information aggregation operation, Bernoulli sampling is performed on each node in the graph convolutional neural network. Whether each node is sampled is independent of each other. Each node corresponds to a sampling probability, and the size of the sampling probability reflects the importance of the node. The more likely a node is sampled and thus participates in the aggregation process, the greater its importance in the graph. The graph convolutional neural network can include sampling parameters, which can be one or a set of sampling parameters for each node. The sampling parameters corresponding to the node and the information of the node can be used to generate the sampling probability of the node. For example, the following formula can be used to generate the sampling probability Pi of node i.
[0133]
[0134] The sampling operation of neighbor nodes can be performed based on the sampling probability. However, since the sampling probability is not a simple weight but a distribution, the use of sampling probability in the neural network will make the gradient unable to be transferred, so that the parameters cannot be updated, and the training of the neural network cannot be completed. In this embodiment, the graph convolution network to be trained can be called based on the sampling parameters in the graph convolution network to be trained, and based on the differentiable processing operation, the sampling values corresponding to each second node are generated, and then the sampling values are used to perform the neighbor node sampling operation. Among them, the differentiable processing operation can be processed according to the GumbelSoftmax technology (a reparameterization technique). Specifically, because each node is subject to the Bernoulli distribution of probability, that is, binary classification, the Gumbel sigmoid technology (a reparameterization technique) is actually used. Referring to the theory of gumbel-max trick (a method of sampling from discrete distribution), a sample is extracted from the binary distribution sigmoid (a) (1 is extracted, and 0 is not extracted), which can be expressed as:
[0135] gumbel_sigm(a)=exp^([a+gumbel1] / t) / [exp^([a+gumbel1] / t)+exp^(gumbel2 / t)]
[0136] According to the definition of sigmoid (S-shaped growth curve), it can be further written as:
[0137] gumbel_sigm(a)=sigmoid([a+gumbel1-gumbel2] / t)
[0138] The temperature represented by t>0 controls the degree of simulation of the sampling process in the above formula. The closer t is to 0, the better the simulation is (but there may be numerical problems, so in practice, an appropriate value, such as 0.1, is chosen). Gumbel1 and gumbel2 are samples drawn from the gumbel distribution Gumbel(0,1), that is, gumbel1(gumbel2) = -log(-log(uniform(0,1))).
[0139] That is to say, for the binary distribution sigmoid(a), if gumbel_sigm(a) tends to 1, the sample is selected, and if it tends to 0, it is not selected. Combining the above expression of Pi, we can get that the sampling value Qii of node i is:
[0140]
[0141] That is, the above formula of Qii is used to obtain the sampling value corresponding to each second node.
[0142] Step S602, using the sampling values corresponding to the respective second nodes as the second diagonal elements corresponding to the respective second nodes in the second diagonal matrix;
[0143] The sampling probabilities corresponding to the second nodes are respectively used as the second diagonal elements corresponding to the second nodes in the second diagonal matrix. The second diagonal matrix is a diagonal matrix in which all elements except the diagonal elements are 0, and the diagonal elements of each row of the second diagonal matrix correspond to a node. Then, the sampling value of the node is used as the value of the diagonal element corresponding to the node, and the values of the diagonal elements of the second diagonal matrix can be obtained.
[0144] Step S603, multiplying the node feature matrix in the second graph structure data by the second diagonal matrix to obtain a second sampling result by sampling neighbor nodes of each second node;
[0145] After obtaining the second diagonal matrix, to perform neighbor node sampling operation on each second node, the second diagonal matrix can be left-multiplied on the basis of the node feature matrix of the second graph structure data to obtain a matrix, which is used as the second sampling result.
[0146] Step S604: Call the graph convolutional network to be trained to aggregate neighborhood information of each second node based on the second sampling result to update each second node.
[0147] After obtaining the second sampling result, the graph convolutional network to be trained can be called to perform a neighborhood information aggregation operation on the second node based on the second sampling result to update the information of each second node. Specifically, the neighborhood information aggregation operation can be to multiply the second sampling result by the adjacency matrix of the second graph structure data or a transformed form of the adjacency matrix, and then use the linear transformation parameter result to perform a linear transformation, and then perform a nonlinear transformation to obtain each updated second node.
[0148] In this embodiment, by generating sampling values of each node, taking the sampling values of each node as the diagonal elements of the diagonal matrix, and multiplying the node feature matrix of the graph structure data by the diagonal matrix, a biased node sampling aggregation mode is realized, so that during the training process, the graph volume network to be trained can learn the ability to mine the differences of different nodes in the graph structure data. In addition, the sampling values are generated based on the differentiable processing operation, which avoids the inability to transmit gradient information due to sampling in the neural network.
[0149] In this embodiment, when using the trained graph convolutional neural network, sampling probability is used instead of sampling value, so that when using the model, the processing results obtained each time the model is used will not be different due to the loss of part of the information caused by sampling, that is, by using the sampling probability instead of the sampling value when using the model, the model use process becomes a deterministic process. On the other hand, the principle behind it is similar to the principle of random inactivation of neurons in deep learning. When using the model, probability is used instead of the sampling result, which is equivalent to the final inference result being the integration of the results of countless samplings, making the processing results of the graph convolutional neural network more robust.
[0150] Moreover, the biased sampling and aggregation mode in this embodiment, while achieving the effect of amplifying or suppressing the message flow of node-neighbor relationships, adopts the method of sampling neighbor nodes during the training process. That is, in each training process, whether a neighbor node is sampled is random, and whether the information of the neighbor node is aggregated is also random. This random selection and non-selection method is similar to the principle of random inactivation of neurons in deep learning, thereby reducing the risk of overfitting in the training process of graph convolutional neural networks.
[0151] In addition, the embodiment of the present invention also proposes a data processing device based on a graph convolutional neural network, referring to Figure 3 , the data processing device based on graph convolutional neural network includes:
[0152] An acquisition module 10 is used to acquire first graph structure data to be processed and input it into a pre-trained graph convolutional neural network;
[0153] An operation module 20 is used to call the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node;
[0154] The processing module 30 is used to call the graph convolutional neural network to obtain the processing result of the first graph structure data based on the updated first nodes.
[0155] Furthermore, the operating module 20 is also used for:
[0156] The graph convolutional neural network is called to perform neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data according to a permutation and combination pattern to update each first node, wherein the permutation and combination pattern is a permutation and combination pattern of neighbor node sampling operations and neighborhood information aggregation operations.
[0157] Further, when the permutation and combination mode is a combination mode of a neighbor node sampling operation and a neighborhood information aggregation operation, the operation module 20 includes:
[0158] A first generating unit, configured to call the graph convolutional neural network to generate sampling probabilities corresponding to each first node in the first graph structure data based on sampling parameters in the graph convolutional neural network;
[0159] A first determining unit, configured to use the sampling probabilities corresponding to the first nodes as first diagonal elements corresponding to the first nodes in a first diagonal matrix;
[0160] A first sampling unit, configured to multiply the node feature matrix in the first graph structure data by the first diagonal matrix to obtain a first sampling result by sampling neighbor nodes of each of the first nodes;
[0161] The first aggregation unit is used to call the graph convolutional neural network to perform a neighborhood information aggregation operation on each of the first nodes based on the first sampling result to update each of the first nodes.
[0162] Furthermore, the operation module 20 includes:
[0163] An operation unit, configured to call the graph convolutional neural network to perform multiple sets of neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data based on each set of sampling parameters in the graph convolutional neural network, and obtain each set of initial update nodes accordingly;
[0164] The merging unit is used to merge the information of the corresponding identical nodes in each set of initial update nodes to obtain each updated first node.
[0165] Furthermore, the acquisition module 10 is also used to acquire second graph structure data, and input the second graph structure data into the graph convolution network to be trained;
[0166] The operation module 20 is also used to call the graph convolution network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data, so as to update each second node;
[0167] The data processing device based on graph convolutional neural network also includes:
[0168] An output module, used for calling the graph convolutional network to be trained to obtain an output result based on each updated second node;
[0169] A training module is used to update the graph convolutional network to be trained based on the output result and the label data corresponding to the second graph structure data, so as to train the graph convolutional network to be trained to obtain the trained graph convolutional neural network.
[0170] Furthermore, the adjustment operation module 20 also includes:
[0171] A second generating unit, used for calling the graph convolution network to be trained based on the sampling parameters in the graph convolution network to be trained, and generating sampling values corresponding to each second node in the second graph structure data based on the derivable processing operation;
[0172] A second determining unit, configured to use the sampling values corresponding to the respective second nodes as second diagonal elements corresponding to the respective second nodes in the second diagonal matrix;
[0173] A second sampling unit, configured to multiply the node feature matrix in the second graph structure data by the second diagonal matrix to obtain a second sampling result by performing neighbor node sampling on each of the second nodes;
[0174] The second aggregation unit is used to call the graph convolutional network to be trained to perform a neighborhood information aggregation operation on each of the second nodes based on the second sampling result to update each of the second nodes.
[0175] Furthermore, the first graph structure data is social network data of a user to be predicted, and the data processing device based on a graph convolutional neural network further includes:
[0176] The prediction module is used to obtain the processing result of the user to be predicted from the processing result as the fraud possibility prediction result of the user to be predicted.
[0177] The expanded content of the specific implementation manner of the data processing device based on the graph convolutional neural network of the present invention is basically the same as the various embodiments of the data processing method based on the graph convolutional neural network mentioned above, and will not be repeated here.
[0178] In addition, an embodiment of the present invention also proposes a computer-readable storage medium, on which a data processing program based on a graph convolutional neural network is stored. When the data processing program based on a graph convolutional neural network is executed by a processor, the steps of the data processing method based on a graph convolutional neural network described below are implemented.
[0179] The various embodiments of the data processing device based on the graph convolutional neural network and the computer-readable storage medium of the present invention can all refer to the various embodiments of the data processing method based on the graph convolutional neural network of the present invention, and will not be repeated here.
[0180] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0181] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0182] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0183] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A data processing method based on graph convolutional neural network, characterized in that: The data processing method based on graph convolutional neural network comprises the following steps: Obtaining first graph structure data to be processed and inputting it into a pre-trained graph convolutional neural network; Calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node, wherein the first graph structure data is social network data of a user to be predicted, and the social network data is a network structure data centered on the user to be predicted, including the user to be predicted and other users associated with the predicted user, these users are nodes in the graph structure data, the node information is the feature information of each user, the feature information includes basic portrait feature information of the user, or information related to the judgment of the possibility of fraud, and the edges in the graph structure data are users connected with social intersections; Calling the graph convolutional neural network to obtain a processing result of the first graph structure data based on each updated first node; The step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node includes: Calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data according to a permutation and combination pattern to update each first node, wherein the permutation and combination pattern is a permutation and combination pattern of the neighbor node sampling operation and the neighborhood information aggregation operation; Among them, when the permutation and combination pattern is a combination pattern of a neighbor node sampling operation and a neighborhood information aggregation operation, the step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data according to the permutation and combination pattern to update each first node includes: The graph convolutional neural network is called to generate sampling probabilities corresponding to each first node in the first graph structure data based on the sampling parameters in the graph convolutional neural network, wherein the sampling probability P is obtained by the following formula i : Among them, P i The value range is 0 to 1, s is a learnable parameter vector, that is, a sampling parameter, W can be a linear transformation parameter in the aggregation layer of the graph convolutional neural network, that is, parameter sharing can be used, H is the node feature matrix, in the formula, (HW) i Do a dot product with s; Using the sampling probabilities corresponding to the first nodes as the first diagonal elements corresponding to the first nodes in the first diagonal matrix; Multiplying the node feature matrix in the first graph structure data by the first diagonal matrix to obtain a first sampling result by sampling neighbor nodes of each first node; The graph convolutional neural network is called to perform a neighborhood information aggregation operation on each of the first nodes based on the first sampling result to update each of the first nodes.
2. The data processing method based on graph convolutional neural network according to claim 1, characterized in that: The step of calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data to update each first node includes: Calling the graph convolutional neural network to perform multiple sets of neighbor node sampling operations and neighborhood information aggregation operations on each first node in the first graph structure data based on each set of sampling parameters in the graph convolutional neural network, and correspondingly obtaining each set of initial update nodes; The information of the corresponding identical nodes in each set of initially updated nodes is merged to obtain each updated first node.
3. The data processing method based on graph convolutional neural network according to claim 1, characterized in that: Before the step of obtaining the graph structure data to be processed and inputting it into the pre-trained graph convolutional neural network, the method further includes: Acquire second graph structure data, and input the second graph structure data into the graph convolutional network to be trained; Calling the graph convolutional network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data, so as to update each second node; Calling the graph convolutional network to be trained to obtain an output result based on each updated second node; The graph convolutional network to be trained is updated based on the output result and the label data corresponding to the second graph structure data, so as to train the graph convolutional network to be trained to obtain the trained graph convolutional neural network.
4. The data processing method based on graph convolutional neural network according to claim 3, characterized in that: The step of calling the graph convolution network to be trained to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each second node in the second graph result data to update each second node includes: Calling the graph convolution network to be trained to generate sampling values corresponding to each second node in the second graph structure data based on sampling parameters in the graph convolution network to be trained and based on a derivable processing operation; Using the sampling values corresponding to the respective second nodes as the second diagonal elements corresponding to the respective second nodes in the second diagonal matrix; Multiplying the node feature matrix in the second graph structure data by the second diagonal matrix to obtain a second sampling result by sampling neighbor nodes for each of the second nodes; The graph convolutional network to be trained is called to perform a neighborhood information aggregation operation on each of the second nodes based on the second sampling result to update each of the second nodes.
5. The data processing method based on graph convolutional neural network according to any one of claims 1 to 4, characterized in that: The first graph structure data is social network data of a user to be predicted, and after the step of calling the graph convolutional neural network to obtain a processing result of the first graph structure data based on each updated first node, the method further includes: The processing result of the user to be predicted is obtained from the processing result as the fraud possibility prediction result of the user to be predicted.
6. A data processing device based on graph convolutional neural network, characterized in that: The data processing device based on graph convolutional neural network includes: An acquisition module, used for acquiring first graph structure data to be processed and inputting it into a pre-trained graph convolutional neural network; An operation module, used for calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data, so as to update each first node, wherein the first graph structure data is social network data of a user to be predicted, and the social network data is a network structure data centered on the user to be predicted, including the user to be predicted and other users associated with the predicted user, and these users are nodes in the graph structure data, and the node information is the feature information of each user, and the feature information includes basic portrait feature information of the user, or information related to the judgment of the possibility of fraud, and the edges in the graph structure data are users connected with social intersections; A processing module, used for calling the graph convolutional neural network to obtain a processing result of the first graph structure data based on each updated first node; Wherein, the operation module is also used for: Calling the graph convolutional neural network to perform a neighbor node sampling operation and a neighborhood information aggregation operation on each first node in the first graph structure data according to a permutation and combination pattern to update each first node, wherein the permutation and combination pattern is a permutation and combination pattern of the neighbor node sampling operation and the neighborhood information aggregation operation; Wherein, when the permutation and combination mode is a combination mode of a neighbor node sampling operation and a neighborhood information aggregation operation, the operation module includes: The first generating unit is used to call the graph convolutional neural network to generate sampling probabilities corresponding to each first node in the first graph structure data based on the sampling parameters in the graph convolutional neural network, wherein the sampling probability P is obtained by the following formula i : Among them, P i The value range is 0 to 1, s is a learnable parameter vector, that is, a sampling parameter, W can be a linear transformation parameter in the aggregation layer of the graph convolutional neural network, that is, parameter sharing can be used, H is the node feature matrix, in the formula, (HW) i Do a dot product with s; A first determining unit, configured to use the sampling probabilities corresponding to the first nodes as first diagonal elements corresponding to the first nodes in a first diagonal matrix; A first sampling unit, configured to multiply the node feature matrix in the first graph structure data by the first diagonal matrix to obtain a first sampling result by sampling neighbor nodes of each of the first nodes; The first aggregation unit is used to call the graph convolutional neural network to perform a neighborhood information aggregation operation on each of the first nodes based on the first sampling result to update each of the first nodes.
7. A data processing device based on graph convolutional neural network, characterized in that: The data processing device based on graph convolutional neural network includes: a memory, a processor, and a data processing program based on graph convolutional neural network stored in the memory and executable on the processor. When the data processing program based on graph convolutional neural network is executed by the processor, the data processing method based on graph convolutional neural network as described in any one of claims 1 to 5 is implemented.
8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a data processing program based on a graph convolutional neural network, and when the data processing program based on a graph convolutional neural network is executed by a processor, the data processing method based on a graph convolutional neural network as described in any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Method, device and equipment for identifying isomerism graph and property of molecular spatial structure
CN110263780A
Multi-behavior preference prediction method for social user
CN110442802A
SGCNN: Structural Graph Convolutional Neural Network
US20190095806A1