Data processing system and method for behavior prediction model
By building training data on edge devices and training the model on cloud devices, the problem of poor prediction results for new or inactive users is solved, and more accurate behavior prediction is achieved.
Patent Information
- Application Number
- CN202210542104.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-17
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2042-05-17
AI Technical Summary
Existing behavioral prediction models perform poorly in predicting new or inactive users, and there is a lack of effective data processing methods to improve prediction accuracy.
By building training data on edge devices, cloud devices train behavior prediction models based on the training data from the edge devices, and distribute model parameters through the edge-cloud link to achieve partitioned training and deployment, thereby improving prediction performance.
It improves the accuracy of predicting the behavior of new or inactive users by simulating the data characteristics of new or inactive users, thus enhancing the model's predictive performance.
Smart Images

Figure CN114943284B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, and particularly relates to a data processing system and method of behavior prediction model. BACKGROUND
[0002] In different fields, user behavior is often predicted, and relevant information is pushed to the user based on the behavior prediction result. In the related art, for new users or inactive users, the behavior prediction model has poor prediction effect on the behavior of the users because the behavior data of the users is less. SUMMARY
[0003] Embodiments of the present application provide a data processing system and method of behavior prediction model, which improve the prediction effect of the behavior prediction model and are applicable to behavior prediction of new users or inactive users.
[0004] A first aspect of embodiments of the present application provides a data processing system of behavior prediction model, comprising:
[0005] An end-side device is configured to construct multiple groups of training data and send the multiple groups of training data to a cloud-side device. Each group of training data comprises subgraphs of multiple users and a behavior label of each subgraph, and the subgraph of the user is used to indicate behavior data of the user.
[0006] The cloud-side device is configured to determine a weight value corresponding to each subgraph of each user for each group of training data, input the subgraph of each user in the training data into a behavior prediction model respectively, obtain a behavior prediction value corresponding to each subgraph of each user, and determine a loss function value of the training data according to the behavior prediction value, the behavior label and the weight value corresponding to each subgraph of each user in the training data. When the loss function value of the training data converges, a model parameter of a trained behavior prediction model is obtained.
[0007] The cloud-side device is further configured to send the model parameter of the trained behavior prediction model to the end-side device.
[0008] A second aspect of embodiments of the present application provides a data processing method of behavior prediction model, which is applied to a cloud server connected with multiple end-side devices, and the method comprises:
[0009] Obtaining multiple groups of training data from a first end-side device. The first end-side device is any one of the multiple end-side devices. Each group of training data comprises subgraphs of multiple users and a behavior label of each subgraph. Each subgraph of each user comprises a user node and a node of a behavior object within a preset hop number centered on the user node.
[0010] determine a weight value corresponding to the subgraph of each user for each set of training data; input the subgraph of each user in the training data into the behavior prediction model respectively, and obtain a behavior prediction value corresponding to the subgraph of each user, the behavior prediction value indicating a behavior trend of the user; and determine a loss function value of the training data according to the behavior prediction value corresponding to the subgraph of each user, the behavior label and the weight value in the training data;
[0011] when the loss function value of the training data converges, obtain the model parameter of the trained behavior prediction model;
[0012] send the model parameter of the trained behavior prediction model to the first end-side device.
[0013] A third aspect of the embodiments of the present application provides a data processing method of a behavior prediction model, applied to an end-side device, the end-side device being connected with a cloud server; the method comprises:
[0014] obtain behavior data of a plurality of users, and construct a subgraph of each user according to the behavior data of each user; the subgraph of each user comprises a user node and a node of a behavior object within a preset number of hops from the user node;
[0015] obtain a behavior label of each subgraph, and take the subgraphs of the plurality of users and the behavior label of each subgraph as a set of training data;
[0016] repeat the above steps to construct a plurality of sets of training data;
[0017] send the plurality of sets of training data to the cloud server.
[0018] A fourth aspect of the embodiments of the present application provides a data processing device of a behavior prediction model, comprising:
[0019] an obtaining module, configured to obtain a plurality of sets of training data from a first end-side device; each set of training data comprises subgraphs of a plurality of users and a behavior label of the subgraphs, and the subgraph of each user comprises a user node and a node of a behavior object within a preset number of hops from the user node;
[0020] a processing module, configured to determine a weight value corresponding to the subgraph of each user for each set of training data; input the subgraph of each user in the training data into the behavior prediction model respectively, and obtain a behavior prediction value corresponding to the subgraph of each user, the behavior prediction value indicating a behavior trend of the user; and determine a loss function value of the training data according to the behavior prediction value corresponding to the subgraph of each user, the behavior label and the weight value in the training data;
[0021] The obtaining module is further configured to obtain model parameters of the trained behavior prediction model when a loss function value of the training data converges.
[0022] The sending module is configured to send the model parameters of the trained behavior prediction model to the first end-side device.
[0023] A fifth aspect of the embodiments of the present application provides a data processing apparatus of a behavior prediction model, comprising:
[0024] An obtaining module is configured to obtain behavior data of a plurality of users.
[0025] A processing module is configured to construct a subgraph of each user according to the behavior data of each user; the subgraph of each user comprises a user node and nodes of behavior objects within a preset number of hops centered on the user node.
[0026] The obtaining module is further configured to obtain a behavior label of each subgraph.
[0027] The processing module is further configured to take the subgraphs of the plurality of users and the behavior label of each subgraph as a set of training data; and repeatedly execute the above steps to construct a plurality of sets of training data.
[0028] A sending module is configured to send the plurality of sets of training data to the cloud server.
[0029] A sixth aspect of the embodiments of the present application provides an electronic device, comprising a memory and a processor; the memory is configured to store program instructions; and the processor is configured to invoke the program instructions in the memory to execute the data processing method of the behavior prediction model as described in the second aspect, or execute the data processing method of the behavior prediction model as described in the third aspect.
[0030] A seventh aspect of the embodiments of the present application provides a computer-readable storage medium storing a computer program; when the computer program / instructions are executed by a processor, the processor is caused to execute the data processing method of the behavior prediction model as described in the second aspect, or execute the data processing method of the behavior prediction model as described in the third aspect.
[0031] An eighth aspect of the embodiments of the present application provides a computer program product, comprising a computer program / instructions; when the computer program / instructions are executed by a processor, the processor is caused to execute the data processing method of the behavior prediction model as described in the second aspect, or execute the data processing method of the behavior prediction model as described in the third aspect.
[0032] In the data processing system of the behavior prediction model provided in the embodiments of the present application, the cloud-side device obtains a plurality of sets of training data from any end-side device, each set of training data comprising a subgraph of a plurality of users within the coverage range of the end-side device and a behavior label of each subgraph. The cloud-side device obtains a graph representation vector of each subgraph in each set of training data, and determines a weight value of each subgraph. The cloud-side device obtains a behavior prediction value corresponding to each subgraph in each set of training data through the behavior prediction model, and determines a loss function value of the training data according to the behavior prediction value corresponding to each subgraph, the behavior label and the weight value in each set of training data, and stops training when the loss function of the training data converges. The present application constructs each subgraph in the training data to indicate a small amount of behavior data of a user, which is similar to a new user or an inactive user in terms of data features, and the prediction effect of the behavior prediction model trained based on the training data is effectively improved for the new user or the inactive user. BRIEF DESCRIPTION OF DRAWINGS
[0033] The accompanying drawings, which are included to provide a further understanding of the present application and constitute a part of this application, illustrate certain illustrative embodiments of the present application and together with the description, serve to explain the present application. In the drawings:
[0034] Figure 1 A system architecture schematic diagram provided in the embodiments of the present application;
[0035] Figure 2 A data processing system schematic diagram of a behavior prediction model provided in the embodiments of the present application;
[0036] Figure 3 A user subgraph schematic diagram provided in the embodiments of the present application;
[0037] Figure 4 A cloud-side device constructing a user large graph schematic diagram provided in the embodiments of the present application;
[0038] Figure 5 A flowchart schematic diagram of determining a weight value of each subgraph in training data provided in the embodiments of the present application;
[0039] Figure 6 A schematic diagram of determining a global correlation coefficient between variables in a graph representation vector of training data provided in the embodiments of the present application;
[0040] Figure 7 A weight distribution schematic diagram of a global graph constructed by each set of training data provided in the embodiments of the present application;
[0041] Figure 8 A flowchart schematic diagram of a data processing method of a behavior prediction model provided in the embodiments of the present application;
[0042] Figure 9A flowchart of a data processing method of a behavior prediction model provided by an embodiment of the present application is shown in the figure;
[0043] Figure 10 A structural diagram of a data processing device of a behavior prediction model provided by an embodiment of the present application is shown in the figure;
[0044] Figure 11 A structural diagram of a data processing device of a behavior prediction model provided by an embodiment of the present application is shown in the figure;
[0045] Figure 12 A structural diagram of a cloud server provided by an embodiment of the present application is shown in the figure;
[0046] Figure 13 A structural diagram of an end-side device provided by an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION
[0047] To make the objectives, technical solutions, and advantages of the present application clearer, the technical solutions of the present application will be described below in connection with the embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present application.
[0048] First, the technical terms related to the embodiments of the present application will be briefly described.
[0049] First, cloud computing is a kind of distributed computing, which refers to dividing huge data computing processing programs into countless small programs through the network "cloud", and then processing and analyzing these small programs through a system composed of multiple servers to obtain results and return them to the user.
[0050] Second, graph neural network (GNN: Graph Neural Network) refers to using neural networks to learn graph structure data, extract and mine features and patterns in graph structure data, and meet the algorithm generalization of clustering, classification, prediction, segmentation, and generation.
[0051] Third, subgraph is one of the basic concepts of graph theory, which refers to a graph whose node set and edge set are subsets of the node set and edge set of a certain graph. In the embodiments of the present application, the nodes in the user subgraph include user nodes, product nodes, and service nodes, and the edges in the user subgraph are used to connect user nodes, product nodes, or service nodes with an association relationship.
[0052] Fourth, the correlation coefficient is a kind of non-deterministic relationship, which studies the degree of linear correlation between variables.
[0053] Fifth, the cross-covariance matrix is the covariance between two random vector elements, such as the complex conjugate of (vector X minus its mean vector) times (vector Y minus its mean vector), COV X,Y = E((X - E(X))(Y - E(Y)) T ).
[0054] Sixth, the norm is a kind of measure form defined for functions, vectors and matrices. The norm value of any object is a non-negative real number, and the distance between two functions, vectors or matrices can be measured using the norm.
[0055] Cloud computing integrates distributed computing, utility computing, load balancing, parallel computing, network storage, hot backup redundancy, and virtualization, etc. computer technologies to build a super large-scale "centralized" computing platform, providing more powerful computing services for users. With the continuous development of technology in recent years, the global market share of cloud computing has been rising, and it has played a crucial role in the digital transformation of Internet, government, finance, logistics, education and other services, and has become a new infrastructure that affects the national economy and people's livelihood. As a distributed architecture developed in the context of high-bandwidth, time-sensitive, and Internet of Things integration, edge computing has evolved in recent years and has gradually developed into an important technology complementary to the "centralized" services of cloud computing. With the explosive growth of mobile phones, Internet of Things (IoTs), etc., the demand for data transmission on the end-side device (or edge device) has reached 850ZB, far exceeding the current data transmission load of the World Wide Web, which is 20.6ZB. Making full use of the advantages of edge computing and cooperating with cloud computing to build a new service paradigm of "end-cloud collaboration" has become an inevitable trend to achieve a balance between computing and transmission.
[0056] In view of the problem that the prediction effect of the existing behavior prediction model on new users or inactive users is poor, in the embodiment of the present application, a collaborative training data processing system is built, training data is constructed on the end-side device, a corresponding behavior prediction model is trained on the cloud based on the training data from the end-side device, and the behavior prediction model is distributed through the end-cloud link, so as to deploy different behavior prediction models on different end-side devices and improve the prediction effect of the behavior prediction model of the end-side device. Further, the training data constructed by the end-side device includes subgraph data of multiple users within the coverage range of the end-side device, and the subgraph data of each user only indicates a small amount of behavior data of the user, so as to be similar to new users or inactive users in terms of data features, and the prediction effect of the behavior prediction model trained based on the above training data on new users or inactive users can be effectively improved.
[0057] Before introducing the technical solutions provided in the present application, the system architecture of the technical solutions of the present application will be described in detail first.
[0058] Figure 1 A system architecture diagram is provided for the embodiments of the present application. As shown in the figure, Figure 1 the system architecture provided in the embodiments includes a cloud-side device, an end-side device, and a data production device, the cloud-side device is in communication connection with the end-side device through an end-cloud link, and each end-side device is in communication connection with multiple data production devices.
[0059] In the embodiments, the cloud-side device is a central cloud device of a distributed cloud architecture, and the end-side device is an edge cloud device of the distributed cloud architecture. The data production device includes various terminal devices, including but not limited to smartphones, portable computers, tablet computers, smart home appliances, and the like.
[0060] The data production device is responsible for the production, collection, and uploading of various data. The end-side device is responsible for collecting various data of the data production devices within its coverage range, and pre-processing the data to obtain high-value data (key fragments). The end-side device can upload the original data and high-value data to the cloud-side device through the end-cloud link. In addition to synchronizing the data of the end-side device, the cloud-side device is also responsible for integrating various data from different end-side devices, performing data operations according to preset rules, and synchronizing the data operation results to different end-side devices.
[0061] The cloud-side device provides strong computing and storage capabilities, and is far away from the user, while the end-side device is deployed in a wide range and is close to the user. The end-side device is an extension of the cloud-side device, and can sink the computing capabilities of the cloud-side device to the end-side device, and solve the business requirements that cannot be met in the centralized cloud computing mode through the integration and collaborative management of the end-cloud.
[0062] In order to facilitate the understanding of the execution interaction between the devices in the system architecture of the embodiments, the execution interaction process between the devices will be described in combination with several specific scenarios.
[0063] In a possible scenario, the cloud-side device is a central cloud device of an e-commerce platform, and the edge-side device is an edge cloud device of the e-commerce platform deployed in each region. The edge-side device obtains behavior data of users in the e-commerce platform in a coverage range of the edge-side device, for example, that a user browses a product, that the user orders a product, that the user shares a product with friends, and the like. The edge-side device constructs a subgraph of the user according to the behavior data of the user, and sends the subgraph of the user to the cloud-side device. The subgraph of the user indicates the historical behavior data of the user. The cloud-side device constructs a graph of users in the region based on the subgraphs of different users sent by the edge-side device. The graph of the users indicates the association relationship between the users and the behavior data of each user, and can be used for user behavior prediction (that is, user preference analysis, such as predicting a product or service type that the user may be interested in), hot product statistics, and the like.
[0064] In a possible scenario, the cloud-side device is a central cloud device of a short video platform, and the edge-side device is an edge cloud device of the short video platform deployed in each region. The edge-side device obtains behavior data of users in the short video platform in a coverage range of the edge-side device, for example, that a user watches a video, that the user likes a video, that the user uploads a video, and the like. The edge-side device constructs a subgraph of the user according to the behavior data of the user, and sends the subgraph of the user to the cloud-side device. The cloud-side device constructs a graph of users in the region based on the subgraphs of different users sent by the edge-side device, and can be used for user behavior prediction (such as predicting a video type that the user may be interested in), hot short video statistics, and the like.
[0065] In a possible scenario, the cloud-side device is a central cloud device of a news information platform, and the edge-side device is an edge cloud device of the news information platform deployed in each region. The edge-side device obtains behavior data of users in the news information platform in a coverage range of the edge-side device, for example, that a user views a news, that the user forwards a news, that the user collects an information, and the like. The edge-side device constructs a subgraph of the user according to the behavior data of the user, and sends the subgraph of the user to the cloud-side device. The cloud-side device constructs a graph of users in the region based on the subgraphs of different users sent by the edge-side device, and can be used for user behavior prediction (such as predicting a news type that the user may be interested in), hot information statistics, and the like.
[0066] For any of the above scenarios, the edge-side device analyzes the behavior data of the user, abstracts a subgraph of the user, and sends the subgraph of the user to the cloud-side device. In order to protect privacy, the edge-side device should delete personal data and privacy data of the user in a timely manner, while ensuring that the user privacy is not transmitted back, and related services or products are recommended for the user.
[0067] For any of the above scenarios, when training a user's behavior prediction model, the device on the end is responsible for constructing the training data, while the cloud-side device constructs the initial behavior prediction model. The model parameters of the behavior prediction model are optimized based on the training data. When the model loss function converges, the trained behavior prediction model is sent to the device on the end. The device on the end predicts user behavior directly on the device on the end based on the trained behavior prediction model and pushes information to the user based on the prediction results. In e-commerce scenarios, the device on the end pushes links, images, videos, and other information about products or services to the user based on the prediction results of the behavior prediction model. In short video scenarios, the device on the end pushes short videos to the user based on the prediction results of the behavior prediction model. In news and information scenarios, the device on the end pushes news and information to the user based on the prediction results of the behavior prediction model.
[0068] The cloud device trains the behavior prediction model based on the training data uploaded by different end-side devices, obtains different behavior prediction models, and sends the corresponding behavior prediction models to different end-side devices, realizing partitioned training and deployment of the behavior prediction model and improving the prediction effect of the behavior prediction model.
[0069] The technical solutions provided by the embodiments of the present application are described in detail below through specific embodiments. It should be noted that the technical solutions provided by the embodiments of the present application may include part or all of the following contents, and the following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0070] Figure 2 Schematic diagram of a data processing system for a behavior prediction model provided in an embodiment of the present application. Figure 2 As shown, the data processing system 200 for the behavior prediction model provided in this embodiment includes: an end-side device 201, and a cloud-side device 202 in communication with the end-side device 201. The end-side device 201 constructs multiple sets of training data and uploads the multiple sets of training data to the cloud-side device 202. The cloud-side device 202 trains the behavior prediction model based on the multiple sets of training data and, when the model's loss function converges, sends the model parameters of the trained behavior prediction model to the end-side device 201.
[0071] In this embodiment, the terminal device 201 can be an edge cloud device deployed at the edge of the network by various network platforms, responsible for collecting various types of data generated by terminal devices within the coverage area of the terminal device. Among them, the terminal device 201 can be a server-side device such as a conventional server, a cloud server, or a server array. Terminal devices include but are not limited to terminal devices such as desktop computers, laptops, or smartphones. The various types of data generated by terminal devices include but are not limited to user behavior data, such as various behavior data such as users browsing, commenting, and recommending various objects such as products, videos, and news on network platforms. Network platforms include but are not limited to e-commerce platforms, short video platforms, news and information platforms, etc.
[0072] As an example, the terminal device 201 is responsible for collecting the user's historical behavior data of the terminal device and pre-processing the user's historical data to generate high-value data. For example, the user's historical behavior data is filtered out to meet preset conditions (such as the number of repetitions is greater than a threshold), and the user's behavior data that meets the preset conditions is used as high-value data. The terminal device 201 can upload all the user's historical behavior data of the terminal device to the cloud device 202, or upload the high-value data of the terminal device to the cloud device 202, or upload the user's historical behavior data and high-value data of the terminal device to the cloud device 202 at the same time.
[0073] As an example, the end-side device 201 is responsible for constructing multiple sets of training data for training the behavior prediction model and sending the multiple sets of training data to the cloud-side device 202. Each set of training data constructed by the end-side device 201 includes multiple user subgraphs and behavior labels for each subgraph. The user subgraph is used to indicate the user's behavior data.
[0074] For example, Figure 3 A schematic diagram of a user subgraph provided in an embodiment of the present application. Figure 3 As shown, the end-side device obtains the behavior data of user A and constructs a subgraph of user A based on the behavior data of user A. Specifically, with user A as the central node and each behavior object in the behavior data of user A as a slave node, a subgraph of user A is constructed. Taking the e-commerce scenario as an example, the behavior objects in the behavior data include product links, associated users, etc. For example, user A clicks to view the link of product 1, and then clicks to view the link of product 2; for another example, user A shares the link of product 3 with user B; for another example, user A collects the link of product 4, and then forwards the link of product 5 to user C. Based on the above behavior of user A, a subgraph is generated. Figure 3 The subgraph of user A is shown. User B and user C are both associated users of user A.
[0075] In an optional embodiment, the end-side device 201 obtains the behavior data of a plurality of users, constructs a subgraph of each user according to the behavior data of each user, and obtains the behavior label of each subgraph, and takes the subgraphs of the plurality of users and the behavior label of each subgraph as one of the plurality of groups of training data.
[0076] Optionally, the subgraph of the user includes a user node and the nodes of the behavior objects within a preset number of hops centered on the user node. The preset number of hops is not specifically limited in this embodiment, and can be reasonably set by a person skilled in the art according to actual application requirements. For example, the preset number of hops is set to 3, and when constructing the subgraph of the user, only the behavior objects within 3 hops of the user are obtained, such as Figure 3 The nodes of the links of product 4, the links of product 5, and user C are the nodes of the behavior objects within 3 hops of user A.
[0077] It should be noted that by setting the preset number of hops, a lightweight subgraph of the user is obtained to simulate the subgraph of a new user or an inactive user, and through subsequent model training, the behavior prediction model can more accurately predict the behavior of the new user or the inactive user.
[0078] In this embodiment, the cloud-side device 202 can be a central cloud device deployed in a network center by various network platforms, and can be a conventional server, a cloud server, or a server array, etc.
[0079] As an example, the cloud-side device 202 obtains the historical behavior data of a plurality of users from the end-side device 201 and stores the historical behavior data of the plurality of users locally.
[0080] As an example, the cloud-side device 202 obtains the high-value data of a plurality of users from the end-side device 201 and stores the high-value data of the plurality of users locally. The high-value data of the user is data selected by the end-side device 201 from the historical behavior data of the user. Optionally, the cloud-side device can perform data analysis and statistics based on the high-value data of the user, such as analyzing the behavior trend of a user group.
[0081] As an example, the cloud-side device 202 obtains a plurality of groups of training data for training the behavior prediction model from the end-side device 201. Each group of training data includes a subgraph of a plurality of users and a behavior label of each subgraph, and the subgraph of the user is used to indicate the behavior data of the user. Optionally, the subgraph of each user in each group of training data includes a user node and the nodes of the behavior objects within a preset number of hops centered on the user node.
[0082] For each set of training data, the cloud-side device 202 first determines the weight value corresponding to each user's subgraph; then, the subgraph of each user in the training data is input into the behavior prediction model to obtain the behavior prediction value corresponding to each user's subgraph, which indicates the user's behavior trend; then, based on the behavior prediction value, behavior label, and weight value corresponding to each user's subgraph in the training data, the loss function value of the training data is determined; when the loss function value of the training data converges, the model parameters of the trained behavior prediction model are obtained. The cloud-side device 202 can send the model parameters of the trained behavior prediction model to the end-side device 201 so that the end-side device 201 can update the model parameters of the locally deployed behavior prediction model. The behavior prediction model in the end-side device 201 focuses on learning the behavior data of local users, such as the behavior data of users in a certain area or a certain group of people.
[0083] As an example, the cloud-side device 202 obtains a large number of user subgraphs from the training data sent by different end-side devices. Based on these user subgraphs, a user graph can be constructed. The user graph not only contains the behavioral data of each user, but also contains various associations between users in the same area, as well as various associations between users across regions. Associations include but are not limited to having the same interests and hobbies, belonging to the same group, relatives and friends, colleagues, etc. The cloud-side device 202 can also train a large-scale behavior prediction model based on the user subgraphs from different end-side devices and the behavioral labels of each subgraph. The model focuses on learning the behavioral data of users across the entire network.
[0084] Figure 4 A schematic diagram of a cloud-side device constructing a user map according to an embodiment of the present application is shown in FIG. Figure 4 As shown, the cloud-side device obtains the subgraph of user A and the subgraph of user B. There is some overlap of nodes between the subgraph of user A and the subgraph of user B, as shown in Figure 4 The nodes "User A," "User B," and "Link to Product 3" are shown in the figure. The cloud-side device connects User A's subgraph with User B's subgraph through these overlapping nodes. Based on this, it can continue to overlay the subgraphs of more users to build a large user graph in the cloud.
[0085] In an optional embodiment, the cloud-side device 202 obtains, for each set of training data, a graph representation vector of the subgraph of each user in the training data; determines the global correlation coefficient between the variables in the graph representation vector based on the graph representation vectors of the subgraphs of all users in the training data; determines the clustering results of the variables in the graph representation vector based on the global correlation coefficient between the variables in the graph representation vector, the clustering results including the cluster centers and cluster clusters of the variables; determines the weight value corresponding to the subgraph of each user in the training data based on the clustering results of the variables in the graph representation vector and the graph representation vector of the subgraph of each user in the training data.
[0086] The above data processing process is a preprocessing process for a set of training data before a round of training of a behavior prediction model, and is used to determine the weight value corresponding to each user subgraph in the set of training data. Before performing the above data processing process, the subgraph weight of the training data is initialized. Assuming that each set of training data includes N subgraphs, the initialized subgraph weight vector of the set of training data can be represented as W=(1, 1,.., 1), which includes N 1s in W.
[0087] By analyzing the graph feature vectors of all user subgraphs in the training data, the importance of each user subgraph (corresponding to a user of a certain region or a certain user group) in the global graph (corresponding to all users of a certain region or a certain user group) is determined, that is, the weight value corresponding to each user subgraph. The higher the importance, the greater the weight value.
[0088] It should be noted that the vector dimensions of the graph feature vectors of the subgraphs of different users in the same set of training data are the same. Since the behavior data of each user is different, the values of the variables of the generated graph feature vectors are different. By calculating the correlation between the variables in the graph feature vectors of all user subgraphs, the global (overall) correlation between the variables in the graph feature vectors can be determined, so that different variables are clustered into different clusters. It should be understood that variables with higher correlation are more likely to maintain a stable joint distribution on different subgraphs and should be grouped into the same cluster.
[0089] In an optional embodiment, the cloud-side device 202 inputs the graph feature vector of each user's subgraph in the training data into the graph neural network; and performs feature extraction on each user's subgraph based on the network parameters of the graph neural network to obtain the graph feature vector of each user's subgraph. Specifically, the feature extraction process can be represented by the following formula:
[0090] Z=GNN(G v , θ)
[0091] In the above formula, Z represents the graph feature vector of the subgraph G v of a certain user, GNN represents the graph neural network, and θ represents the network parameters of the graph neural network. The graph feature learning based on the graph neural network in this embodiment generates a vector as the representation of the graph according to the node attributes, edges and edge attributes of the user subgraph. Based on the graph feature vector, prediction of the user subgraph can be performed, such as prediction of the behavior trend of the user.
[0092] Figure 5 A flowchart for determining the weight value of each subgraph in the training data is provided for the embodiments of the present application. As shown in Figure 5 , a set of training data includes n subgraphs of users 1 to n, which are respectively denoted as subgraphs G Figure 1,2…,n. The n subgraphs are sequentially input into the graph neural network GNN to obtain graph representation vectors of each subgraph, denoted as Z1, Z2, …, Zn respectively. Based on the graph representation vectors of the n subgraphs, a global correlation system between variables in the graph representation vectors is determined, so as to determine the clustering results (including clustering centers and clusters) of each variable in the graph representation vectors, and then in combination with the graph representation vectors of each subgraph, the distances between each variable and the clustering center in the graph representation vectors of each subgraph can be determined, so as to determine the weight values corresponding to each subgraph.
[0093] It should be noted that the network parameters of the graph neural network are adjustable parameters, and in the process of multiple rounds of training of the behavior prediction model, whether the network parameters of the graph neural network need to be updated can be determined according to the convergence of the loss function of the behavior prediction model. The accuracy of feature extraction is improved by updating the network parameters of the graph neural network, which provides data support for subsequent user behavior prediction.
[0094] In an optional embodiment, the cloud-side device 202 determines, according to the graph representation vectors of the subgraphs of each user in the training data, first correlation coefficients between variables in the graph representation vectors of the subgraphs of each user; determines, according to the graph representation vectors of the subgraphs of all users in the training data, second correlation coefficients between the average values of variables in the graph representation vectors of the subgraphs of all users; and determines, according to the first correlation coefficients between variables in the graph representation vectors of the subgraphs of each user and the second correlation coefficients between the average values of variables in the graph representation vectors of the subgraphs of all users, global correlation coefficients between variables in the graph representation vectors. In this embodiment, the correlation degrees between variables in the graph representation vectors of the subgraphs in the global training data are determined by calculating the global correlation coefficients, so as to determine the clustering results of the variables in the graph representation vectors, to provide data support for subsequent prediction of user behavior data based on the graph representation vectors of user subgraphs, and to improve the prediction effect.
[0095] Optionally, the global correlation coefficients between variables in the graph representation vectors can be determined by the following formula:
[0096]
[0097] In the above formula, N represents the number of user subgraphs in each set of training data, corr(z l,i , z l,j ) represents the first correlation coefficient between the i-th variable and the j-th variable in the graph representation vector of the l-th user subgraph, represents the second correlation coefficient between the average value of the i-th variable and the average value of the j-th variable in the graph representation vectors of all user subgraphs in each set of training data and Dis(z :,i , z :,j ) represents the global correlation coefficient between the i-th variable and the j-th variable in the graph representation vector of each set of training data.
[0098] The correlation coefficient is a quantity that studies the degree of linear correlation between variables, which can be represented by corr. Due to different research objects, there are various definitions of correlation coefficients, and the Pearson correlation coefficient is commonly used. The definition of the correlation coefficient is not specifically limited in the embodiment.
[0099] Figure 6 The schematic diagram for determining the global correlation coefficient between variables in the graph representation vector of the training data is provided in the embodiment. As shown in Figure 6 , a set of training data includes n user subgraphs, and the vector dimension of the graph representation vector of each user subgraph is m, such as the graph representation vector Z1=(z 11 ,z 12 ,…,z 1m ) of the subgraph Figure 1 , and the graph representation vector Z2=(z 21 ,z 22 ,…,z 2m ) of the subgraph Figure 2 . Based on the graph representation vectors of the n user subgraphs of the set of training data, the following correlation coefficients are determined: first, for the graph representation vector of each subgraph, the correlation coefficient between variables in the graph representation vector of each subgraph is calculated, such as the correlation coefficient between z 1i , z 1j , the correlation coefficient between z 2i , z 2j , and the correlation coefficient between z ni , z nj . Second, the average value of each dimension variable of the graph representation vectors of the n subgraphs is calculated, such as Figure 6 . Then, the correlation coefficient between is calculated. Third, based on the above two correlation coefficients, the global correlation coefficient between z :,i , z :,i in the graph representation vector of the set of training data is determined. The above i and j take [1, m].
[0100] After determining the global correlation coefficient between variables in the graph representation vector of the training data, the clustering result of each variable in the global can be determined, including the clustering center of the variable and the cluster of the clustering. Optionally, the clustering result of each variable in the global can be determined by minimizing the following loss function:
[0101]
[0102] In the above formula, μ and S represent the clustering center and the cluster of the clustering, respectively, μ j represents the j-th clustering center, and Sj is a cluster representing the j-th cluster center, k represents the number of cluster centers, Dis(z :,i , μ j represents the correlation coefficient between the i-th variable and the j-th cluster center.
[0103] In an optional embodiment, the cloud-side device 202 adjusts the weight value of each user's subgraph according to the cluster center of the variable in the graph representation vector, the graph representation vector of each user's subgraph in the training data, and the initial weight value corresponding to each user's subgraph, until the norm value of the cross-covariance matrix corresponding to the training data converges, to determine the weight value corresponding to each user's subgraph in the training data.
[0104] wherein the cross-covariance matrix is determined according to the graph representation vector of all user's subgraphs in the training data and the weight value corresponding to each user's subgraph, and the initial weight value corresponding to each user's subgraph is 1.
[0105] Optionally, the subgraph weight vector W of the training data can be adjusted by minimizing the following loss function, that is, adjusting the weight value corresponding to each subgraph in the training data:
[0106]
[0107] In the above formula, m represents the vector dimension of the graph representation vector of the user subgraph, is an indicator function, if i and j belong to the same cluster S, then otherwise represents the norm value (two-norm value) of the cross-covariance matrix C corresponding to the training data.
[0108] Figure 7 is a weight distribution diagram of the global graph constructed for each set of training data provided by the embodiments of the present application. As Figure 7 shown, a certain set of training data includes six user subgraphs, and there is an overlap between some user subgraphs, for example, the subgraph of user 1 has a partial overlap with the subgraphs of user 2, user 3 and user 6, and the overlapping part corresponds to the behavior data common to the users, for example, user 1 and user 2 both click to view a link of a product. It can be understood that the more overlapping parts of the user subgraph indicate that the more behavior data common to the users, and when predicting the behavior of a certain user, the subgraph of the user with more overlapping behavior data can be referred to more, and a greater weight value is given to the subgraph. Based on the adjustment of the weight value corresponding to each user subgraph in the training data, the parameters of the behavior prediction model are further optimized, which can improve the accuracy of model optimization and further improve the prediction effect of the model.
[0109] In an optional embodiment, if the loss function value of the training data does not converge, the cloud-side device 202 needs to update the network parameters of the graph neural network and the model parameters of the behavior prediction model; then, according to the updated network parameters of the graph neural network, the model parameters of the behavior prediction model, and the new training data, a new round of training is performed on the behavior prediction model to determine the loss function value of the new training data, until the loss function of the training data converges.
[0110] It should be noted that the new round of model training needs to re-perform the following steps: determining the weight value corresponding to the subgraph of each user in the new round of training data; inputting the subgraph of each user in the new round of training data into the behavior prediction model with the updated model parameters to obtain the behavior prediction value corresponding to the subgraph of each user; and re-determining the loss function value of the new round of training data according to the behavior prediction value corresponding to the subgraph of each user in the new round of training data, the behavior label, and the weight value.
[0111] If it is determined whether the difference between the loss function value of the new round of training data and the loss function value of the last round of training data is less than a threshold value, if the difference is less than the threshold value, it is determined that the loss function of the behavior prediction model converges, and the training of the behavior prediction model can be stopped.
[0112] Optionally, the behavior prediction model can be trained for multiple rounds by minimizing the following loss function:
[0113]
[0114] In the above formula, N represents the number of user subgraphs in each set of training data, θ represents the network parameters of the graph neural network GNN, G n represents the nth user subgraph in the training data, represents the behavior prediction model, Y n represents the behavior label of the nth user subgraph, W n represents the weight value corresponding to the nth user subgraph in the training data, and l represents the loss function.
[0115] In an optional embodiment, when the loss function value of the training data converges, the cloud-side device 202 sends the updated network parameters of the graph neural network to the end-side device 201 in addition to the updated model parameters of the behavior prediction model. The end-side device 201 obtains the graph representation vector of the user subgraph in the test phase based on the updated network parameters of the graph neural network, inputs the graph representation vector of the user subgraph into the trained behavior prediction model, obtains the behavior prediction result corresponding to the user subgraph, and thus pushes information to the user terminal based on the behavior prediction result.
[0116] The data processing system of the behavior prediction model provided in the embodiments of the present application comprises a cloud-side device and a plurality of end-side devices. The cloud-side device obtains a plurality of sets of training data from any end-side device, each set of training data comprising subgraphs of a plurality of users within a coverage range of the end-side device and a behavior label of each subgraph. The cloud-side device obtains a graph feature vector of each subgraph in each set of training data through a graph neural network, and determines a weight value corresponding to each subgraph in each set of training data. The cloud-side device obtains a behavior prediction value corresponding to each subgraph in each set of training data through a behavior prediction model, and determines a loss function value of the set of training data according to the behavior prediction value, the behavior label and the weight value corresponding to each subgraph in each set of training data. Through a plurality of rounds of training processes, the network parameters of the graph neural network and the model parameters of the behavior prediction model are constantly updated until the loss function of the training data converges, and the model training is stopped. Finally, the network parameters of the graph neural network and the model parameters of the behavior prediction model at the last training are sent to the end-side device.
[0117] On the one hand, the user subgraph in the training data constructed by the end-side device only indicates a small amount of behavior data of the user, which is similar to the new user or the non-active user in terms of data features, so that the prediction effect of the behavior prediction model trained based on the above training data can be effectively improved for the new user or the non-active user. On the other hand, the cloud-side device considers the weight value of the user subgraph in each set of training data when training the behavior prediction model, and determines the model loss function in combination with the weight value of the user subgraph, which can further improve the effect of model training.
[0118] In the embodiments of the present application, in addition to providing a data processing system of a behavior prediction model, a data processing method of a behavior prediction model is also provided, which can train corresponding behavior prediction models for different end-side devices as function models preset in the end-side devices.
[0119] Figure 8 The flowchart of the data processing method of the behavior prediction model provided in the embodiments of the present application is applicable to the cloud-side device or the cloud server shown in Figure 1 or Figure 2 . As shown in Figure 8 , the data processing method comprises the following steps.
[0120] Step 801: obtaining a plurality of sets of training data from a first end-side device. The first end-side device is any one of a plurality of end-side devices, each set of training data comprising subgraphs of a plurality of users and a behavior label of the subgraph, and each user's subgraph comprising a user node and a node of a behavior object within a preset number of hops centered on the user node.
[0121] Step 802: determining a weight value corresponding to each user's subgraph for each set of training data.
[0122] In step 803, the subgraph of each user in the training data is input into the behavior prediction model respectively to obtain a behavior prediction value corresponding to the subgraph of each user, the behavior prediction value indicating a behavior trend of the user.
[0123] In step 804, a loss function value of the training data is determined according to the behavior prediction value corresponding to the subgraph of each user in the training data, the behavior label, and the weight value, and when the loss function value of the training data converges, a model parameter of the trained behavior prediction model is obtained.
[0124] In step 805, the model parameter of the trained behavior prediction model is sent to the first end-side device.
[0125] In an optional embodiment of the present embodiment, for each set of training data, the weight value corresponding to the subgraph of each user is determined, including: obtaining a graph feature vector of the subgraph of each user in the training data; determining a global correlation coefficient between variables in the graph feature vector according to the graph feature vectors of the subgraphs of all users in the training data; determining a clustering result of the variables in the graph feature vector according to the global correlation coefficient between the variables in the graph feature vector, the clustering result including a clustering center of the variables and a cluster of the clustering; and determining the weight value corresponding to the subgraph of each user in the training data according to the clustering result of the variables in the graph feature vector and the graph feature vector of the subgraph of each user in the training data.
[0126] In an optional embodiment of the present embodiment, the graph feature vector of the subgraph of each user in the training data is obtained, including: inputting the graph feature vector of the subgraph of each user in the training data into a graph neural network; and performing feature extraction on the subgraph of each user based on network parameters of the graph neural network to obtain the graph feature vector of the subgraph of each user.
[0127] In an optional embodiment of the present embodiment, the global correlation coefficient between variables in the graph feature vector is determined according to the graph feature vectors of the subgraphs of all users in the training data, including: determining a first correlation coefficient between variables in the graph feature vector of the subgraph of each user according to the graph feature vector of the subgraph of each user; determining a second correlation coefficient between variable averages of the graph feature vectors of the subgraphs of all users according to the graph feature vectors of the subgraphs of all users in the training data; and determining the global correlation coefficient between variables in the graph feature vector according to the first correlation coefficient between variables in the graph feature vector of the subgraph of each user and the second correlation coefficient between the variable averages of the graph feature vectors of the subgraphs of all users.
[0128] In an optional embodiment of the embodiment, the weight value corresponding to the subgraph of each user in the training data is determined according to the clustering result of the variables in the graph representation vector and the graph representation vector of the subgraph of each user in the training data, and includes: adjusting the weight value of each user's subgraph according to the clustering center of the variables in the graph representation vector, the graph representation vector of each user's subgraph in the training data, and the initial weight value corresponding to each user's subgraph, until the norm value of the cross-covariance matrix corresponding to the training data converges, to determine the weight value corresponding to the subgraph of each user in the training data. The cross-covariance matrix is determined according to the graph representation vector of the subgraph of all users in the training data and the weight value corresponding to the subgraph of each user.
[0129] In an optional embodiment of the embodiment, if the loss function value of the training data does not converge, the network parameters of the graph neural network and the model parameters of the behavior prediction model are updated; a new round of training is performed on the behavior prediction model according to the updated network parameters of the graph neural network, the model parameters of the behavior prediction model and the new training data, to determine the loss function value of the new training data, until the loss function of the training data converges.
[0130] In an optional embodiment of the embodiment, when the loss function value of the training data converges, the updated network parameters of the graph neural network are sent to the first end-side device.
[0131] In the data processing method of the behavior prediction model provided by the embodiment, the cloud-side device obtains a plurality of groups of training data from the end-side device, each group of training data including a subgraph of a plurality of users within the coverage range of the end-side device and a behavior label of each subgraph, and the user subgraph containing the behavior data of the user and the associated user. The cloud-side device obtains the graph representation vector of each subgraph in each group of training data through the graph neural network, and determines the weight value corresponding to each subgraph in each group of training data; obtains the behavior prediction value corresponding to each subgraph in each group of training data through the behavior prediction model, and determines the loss function value of the group of training data according to the behavior prediction value, the behavior label and the weight value corresponding to each subgraph in each group of training data. In the process of multiple rounds of training, the network parameters of the graph neural network and the model parameters of the behavior prediction model are constantly updated until the model training is stopped when the loss function of the training data converges. On the one hand, the user subgraph in the constructed training data only indicates a small amount of behavior data of the user, which is similar to the new user or the non-active user in terms of data features, so the prediction effect of the behavior prediction model trained based on the above training data can be effectively improved for the new user or the non-active user. On the other hand, when training the behavior prediction model, the weight value of the user subgraph of each group of training data is considered, and the model loss function is determined in combination with the weight value of the user subgraph, which can further improve the effect of model training.
[0132] Figure 9A flowchart of a data processing method of a behavior prediction model provided by an embodiment of the present application is shown in the figure. The data processing method provided by the embodiment is applicable to Figure 1 or Figure 2 an end-side device as shown in the figure. As shown in the figure Figure 9 , the data processing method comprises:
[0133] Step 901: Obtain behavior data of multiple users.
[0134] Step 902: Construct a subgraph of each user according to the behavior data of each user, wherein the subgraph of each user comprises a user node and nodes of behavior objects within a preset number of hops centered on the user node.
[0135] Step 903: Obtain a behavior label of each subgraph, and use the subgraphs of the multiple users and the behavior label of each subgraph as a set of training data.
[0136] Step 904: Repeat steps 901 to 903 to construct multiple sets of training data.
[0137] Step 905: Send the multiple sets of training data to a cloud server.
[0138] In the data processing method of the behavior prediction model provided by the embodiment, the end-side device collects behavior data of multiple users within a coverage range of the end-side device, constructs a subgraph of each user according to the behavior data of each user, and obtains a behavior label corresponding to each subgraph of each user, and uses the subgraphs of the multiple users and the behavior label corresponding to each subgraph as a set of training data for model training. The end-side device constructs multiple sets of training data based on the above process, so that the cloud-side device trains a behavior prediction model that meets a convergence condition based on the multiple sets of training data transmitted by the end-side device. The end-side device can obtain the behavior prediction model trained by the cloud-side device from an end-to-cloud link, which is used to predict the behavior trend of a user and push information to the user.
[0139] In the embodiment, the user subgraph in the training data constructed by the end-side device only indicates a small amount of behavior data of the user, which is similar to that of a new user or an inactive user in terms of data features, so that the prediction effect of the behavior prediction model trained based on the training data can be effectively improved for new users or inactive users.
[0140] Figure 10 A structural diagram of a data processing apparatus of a behavior prediction model provided by an embodiment of the present application is shown in the figure. As shown in the figure Figure 10 , the data processing apparatus 1000 of the behavior prediction model of the embodiment comprises an obtaining module 1001, a processing module 1002, and a sending module 1003.
[0141] The obtaining module 1001 is configured to obtain a plurality of sets of training data from a first end-side device; each set of training data comprises subgraphs of a plurality of users and behavior labels of the subgraphs, and each subgraph of a user comprises a user node and nodes of behavior objects within a preset number of hops centered on the user node;
[0142] The processing module 1002 is configured to determine, for each set of training data, a weight value corresponding to each subgraph of a user; input each subgraph of a user in the training data into a behavior prediction model respectively, to obtain a behavior prediction value corresponding to each subgraph of a user, the behavior prediction value indicating a behavior trend of the user; and determine a loss function value of the training data according to the behavior prediction value corresponding to each subgraph of a user, the behavior label, and the weight value.
[0143] The obtaining module 1001 is further configured to obtain model parameters of a trained behavior prediction model when the loss function value of the training data converges.
[0144] The sending module 1003 is configured to send the model parameters of the trained behavior prediction model to the first end-side device.
[0145] In an optional embodiment, the processing module 1002 is configured to:
[0146] Obtain a graph representation vector of each subgraph of a user in the training data;
[0147] Determine global correlation coefficients between variables in the graph representation vector according to the graph representation vectors of all subgraphs of users in the training data;
[0148] Determine a clustering result of the variables in the graph representation vector according to the global correlation coefficients between the variables in the graph representation vector, the clustering result comprising a clustering center of the variables and a cluster of the clustering;
[0149] Determine the weight value corresponding to each subgraph of a user in the training data according to the clustering result of the variables in the graph representation vector and the graph representation vector of each subgraph of a user in the training data.
[0150] In an optional embodiment, the processing module 1002 is configured to:
[0151] Input the graph representation vector of each subgraph of a user in the training data into a graph neural network;
[0152] Perform feature extraction on each subgraph of a user based on network parameters of the graph neural network, to obtain the graph representation vector of each subgraph of a user.
[0153] In an optional embodiment, the processing module 1002 is configured to:
[0154] determine a first correlation coefficient between variables in the graph representation vector of the subgraph of each user according to the graph representation vector of the subgraph of each user in the training data;
[0155] determine a second correlation coefficient between variable averages of the graph representation vectors of the subgraphs of all users according to the graph representation vectors of the subgraphs of all users in the training data;
[0156] determine a global correlation coefficient between variables in the graph representation vector according to the first correlation coefficient between variables in the graph representation vector of the subgraph of each user and the second correlation coefficient between variable averages of the graph representation vectors of the subgraphs of all users.
[0157] In an optional embodiment, the processing module 1002 is configured to:
[0158] adjust the weight value of the subgraph of each user according to the cluster center of the variables in the graph representation vector, the graph representation vector of the subgraph of each user in the training data, and the initial weight value corresponding to the subgraph of each user, until the norm value of the cross-covariance matrix corresponding to the training data converges, to determine the weight value corresponding to the subgraph of each user in the training data; the cross-covariance matrix is determined according to the graph representation vector of the subgraph of each user in the training data and the weight value corresponding to the subgraph of each user.
[0159] In an optional embodiment, the data processing apparatus 1000 further comprises an updating module 1004.
[0160] If the loss function value of the training data does not converge, the updating module 1004 is configured to update the network parameters of the graph neural network and the model parameters of the behavior prediction model;
[0161] The processing module 1002 is configured to perform a new round of training on the behavior prediction model according to the updated network parameters of the graph neural network, the model parameters of the behavior prediction model, and new training data, to determine the loss function value of the new training data, until the loss function of the training data converges.
[0162] In an optional embodiment, the sending module 1003 is further configured to send the updated network parameters of the graph neural network to the first end-side device when the loss function value of the training data converges.
[0163] The data processing apparatus of the behavior prediction model provided in this embodiment can implement the technical solutions of the cloud-side device in the foregoing method embodiments, and has similar implementation principles and technical effects, which will not be described here.
[0164] Figure 11 A structural schematic diagram of a data processing apparatus of a behavior prediction model provided in an embodiment of the present application is shown in FIG. 1. As shown in FIG. 1, the data processing apparatus of the behavior prediction model comprises a receiving module 1001, a processing module 1002, a sending module 1003, and an updating module 1004.Figure 11 As shown, the data processing apparatus 1100 of the behavior prediction model in this embodiment includes an acquisition module 1101, a processing module 1102, and a sending module 1103.
[0165] The acquisition module 1101 is configured to acquire behavior data of a plurality of users.
[0166] The processing module 1102 is configured to construct a subgraph of each user according to the behavior data of each user. The subgraph of each user includes a user node and nodes of behavior objects within a preset number of hops centered on the user node.
[0167] The acquisition module 1101 is further configured to acquire a behavior label of each subgraph.
[0168] The processing module 1102 is further configured to take the subgraphs of the plurality of users and the behavior label of each subgraph as a set of training data, and repeatedly perform the above steps to construct a plurality of sets of training data.
[0169] The sending module 1103 is configured to send the plurality of sets of training data to a cloud server.
[0170] The data processing apparatus of the behavior prediction model provided in this embodiment can implement the technical solutions of the terminal-side device in the foregoing method embodiments, and has similar implementation principles and technical effects, which will not be described here again.
[0171] It should be noted that in some processes described in the above embodiments and the accompanying drawings, a plurality of operations appear in a specific order, but it should be clearly understood that these operations can be executed in the order they appear in this document or in parallel, and the serial numbers themselves do not represent any execution order. In addition, these processes can include more or fewer operations, and the operations can be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this document are used to distinguish different messages, devices, modules, etc., and do not represent the order of precedence. Also, "first" and "second" are not different types.
[0172] Figure 12 A structural schematic diagram of a cloud server provided in an embodiment of the present application is shown in FIG. 12. Figure 12 As shown, the cloud server includes a memory 1201 and a processor 1202. The memory 1201 is configured to store computer programs and can be configured to store other various data to support operations on the cloud server. The processor 1202 is coupled to the memory 1201 and is configured to execute the computer programs in the memory 1201 to implement the technical solutions of the cloud-side device in the foregoing method embodiments, which have similar implementation principles and technical effects, and will not be described here again.
[0173] Optionally, as shown in FIG. 13, the cloud server further includes a receiving module 1203. The receiving module 1203 is configured to receive the plurality of sets of training data from the terminal-side device.Figure 12 As shown in the figure, the cloud server further includes a firewall 1203, a load balancer 1204, a communication component 1205, a power supply component 1206, and other components. Figure 12 Some components are only schematically shown, and it does not mean that the electronic device only includes Figure 12 the components shown.
[0174] Figure 13 A structural schematic diagram of an end-side device is provided in the embodiments of the present application. As Figure 13 shown, the end-side device includes a memory 1301 and a processor 1302. The memory 1301 is configured to store computer programs and can be configured to store other various data to support operations on the end-side device. The processor 1302 is coupled to the memory 1301 and is configured to execute the computer programs in the memory 1301 to implement the technical solutions of the end-side device in the foregoing method embodiments, and the implementation principles and technical effects are similar, which will not be described herein.
[0175] Optionally, as Figure 13 shown, the end-side device further includes a firewall 1303, a load balancer 1304, a communication component 1305, a power supply component 1306, and other components. Figure 13 Some components are only schematically shown, and it does not mean that the electronic device only includes Figure 13 the components shown.
[0176] The embodiments of the present application provide a computer readable storage medium storing a computer program. When the computer program / instruction is executed by a processor, the processor implements the technical solutions of the cloud-side device in the foregoing method embodiments.
[0177] The embodiments of the present application provide a computer readable storage medium storing a computer program. When the computer program / instruction is executed by a processor, the processor implements the technical solutions of the end-side device in the foregoing method embodiments.
[0178] The embodiments of the present application provide a computer program product including computer programs / instructions. When the computer programs / instructions are executed by a processor, the processor implements the technical solutions of the cloud-side device in the foregoing method embodiments.
[0179] The embodiments of the present application provide a computer program product including computer programs / instructions. When the computer programs / instructions are executed by a processor, the processor implements the technical solutions of the end-side device in the foregoing method embodiments.
[0180] The chip provided in the embodiments of the present application comprises a processing module and a communication interface, and the processing module can execute the technical solutions of the cloud device in the foregoing method embodiments. Optionally, the chip further comprises a storage module (e.g., a memory), the storage module is configured to store instructions, the processing module is configured to execute the instructions stored in the storage module, and the execution of the instructions stored in the storage module causes the processing module to execute the technical solutions of the cloud device in the foregoing method embodiments.
[0181] The chip provided in the embodiments of the present application comprises a processing module and a communication interface, and the processing module can execute the technical solutions of the cloud device in the foregoing method embodiments. Optionally, the chip further comprises a storage module (e.g., a memory), the storage module is configured to store instructions, the processing module is configured to execute the instructions stored in the storage module, and the execution of the instructions stored in the storage module causes the processing module to execute the technical solutions of the cloud device in the foregoing method embodiments.
[0182] The storage can be an object storage service (OSS).
[0183] The storage can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic storage, a flash memory, a magnetic disk, or an optical disk.
[0184] The communication component is configured to facilitate communication between the device where the communication component is located and other devices in a wired or wireless manner. The device where the communication component is located can access a wireless network based on a communication standard, such as a WiFi, a 2G, 3G, 4G / LTE, 5G, or the like mobile communication network, or a combination thereof. In an example embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an example embodiment, the communication component further comprises a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0185] The power supply component provides power for various components of the device where the power supply component is located. The power supply component can comprise a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device where the power supply component is located.
[0186] Those skilled in the art will appreciate that embodiments of the application can be devised for a method, a system, or a computer program product. Accordingly, the present application can be embodied in the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product on one or more computer readable storage media (including, but not limited to, disk memory, CD-ROMs, optical storage devices, etc.) embodying computer readable program code.
[0187] The present application is described in reference to the flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams.
[0188] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams.
[0189] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams. Figure 1 Figure 1 one or more functions specified in one or more of the flowchart illustrations and / or block diagrams.
[0190] In one typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0191] The memory can include non-persistent memory and / or persistent memory, such as flash memory, read-only memory (ROM), and / or random access memory (RAM), among others. The memory is an example of computer readable media.
[0192] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules 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, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.
[0193] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover non-exclusive inclusions, so that a process, method, article or apparatus that includes a list of elements does not only include those elements, but also includes other elements not explicitly listed, or further includes elements inherent in such a process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.
[0194] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application shall be included in the scope of claims of the present application.
Claims
1. A data processing system of a behavior prediction model, characterized by, include: The end-side device is configured to construct multiple sets of training data and send the multiple sets of training data to the cloud-side device; Each set of training data includes multiple user subgraphs and behavior labels for each subgraph, wherein the user subgraphs are used to indicate the user's behavior data; each user subgraph includes a user node and nodes of behavior objects within a preset number of consecutive hops centered on the user node, wherein each user subgraph is constructed based on the behavior data of each user; The cloud-side device is used to determine the weight value corresponding to the subgraph of each user for each set of training data; input the subgraph of each user in the training data into the behavior prediction model respectively, and obtain the behavior prediction value corresponding to the subgraph of each user, and the behavior prediction value indicates the behavior trend of the user; determine the loss function value of the training data according to the behavior prediction value, behavior label and weight value corresponding to the subgraph of each user in the training data; obtain the model parameters of the trained behavior prediction model when the loss function value of the training data converges; wherein the weight value corresponding to the subgraph of each user is determined based on the graph representation vector of the subgraphs of all users in the training data, and the global correlation coefficient between the variables in the graph representation vector is determined; the clustering result of the variables in the graph representation vector is determined based on the global correlation coefficient between the variables in the graph representation vector, and the clustering result includes the cluster center of the variable and the cluster cluster; it is determined based on the clustering result of the variables in the graph representation vector and the graph representation vector of the subgraph of each user in the training data; The cloud-side device is also used to send the model parameters of the trained behavior prediction model to the terminal-side device.
2. The data processing system of claim 1, wherein, Also includes: Obtain a graph representation vector of a subgraph of each user in the training data.
3. The data processing system of claim 2, wherein, The cloud-side device obtains a graph representation vector of a subgraph of each user in the training data, specifically including: Inputting the graph representation vector of the subgraph of each user in the training data into the graph neural network; Based on the network parameters of the graph neural network, features of each user's subgraph are extracted to obtain a graph representation vector of each user's subgraph.
4. The data processing system of claim 2, wherein, The cloud-side device determines, based on the graph representation vectors of the subgraphs of all users in the training data, a global correlation coefficient between variables in the graph representation vector, specifically including: Determining, based on the graph representation vector of the subgraph of each user in the training data, a first correlation coefficient between variables in the graph representation vector of the subgraph of each user; determining, based on the graph representation vectors of the subgraphs of all users in the training data, a second correlation coefficient between variable averages of the graph representation vectors of the subgraphs of all users; A global correlation coefficient between the variables in the graph representation vector is determined based on a first correlation coefficient between the variables in the graph representation vector of each user's subgraph and a second correlation coefficient between the average values of the variables in the graph representation vectors of all users' subgraphs.
5. The data processing system of claim 2, wherein, The cloud-side device determines, based on the clustering results of the variables in the graph representation vector and the graph representation vector of the subgraph of each user in the training data, a weight value corresponding to the subgraph of each user in the training data, including: adjusting the weight value of each user's subgraph according to the clustering center of variables in the graph representation vector of the subgraph, the graph representation vector of the subgraph of each user in the training data, and the initial weight value corresponding to each user's subgraph, until the norm value of the cross-covariance matrix corresponding to the training data converges, to determine the weight value corresponding to each user's subgraph in the training data; the cross-covariance matrix is determined according to the graph representation vector of the subgraph of all users in the training data and the weight value corresponding to each user's subgraph.
6. The data processing system according to any of claims 1-5, characterized by, If the loss function value of the training data does not converge, the cloud-side device is further configured to: update the network parameters of the graph neural network and the model parameters of the behavior prediction model; perform a new round of training on the behavior prediction model according to the updated network parameters of the graph neural network, the model parameters of the behavior prediction model, and new training data, to determine the loss function value of the new training data, until the loss function of the training data converges.
7. The data processing system according to any of claims 1-5, characterized by, The end-side device constructs multiple sets of training data, specifically including: obtaining behavior data of multiple users, and constructing a subgraph of each user according to the behavior data of each user; obtaining the behavior label of each subgraph; taking the subgraphs of the multiple users and the behavior label of each subgraph as one of the multiple sets of training data.
8. The data processing system of claim 6, wherein, The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges.
9. A data processing method of a behavior prediction model, characterized by, The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges.
10. The method of claim 9, wherein, The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the loss function value of the training data converges. The cloud-side device is further configured to send the updated network parameters of the graph neural network to the end-side device when the obtain a graph representation vector of a subgraph of each user in the training data.
11. The method of claim 10, wherein, The obtaining of the graph representation vector of the subgraph of each user in the training data comprises: inputting the graph representation vector of the subgraph of each user in the training data into a graph neural network; extracting features of the subgraph of each user based on network parameters of the graph neural network to obtain the graph representation vector of the subgraph of each user.
12. The method of claim 10, wherein, The determining of the global correlation coefficient between variables in the graph representation vector according to the graph representation vectors of the subgraphs of all users in the training data comprises: determining a first correlation coefficient between variables in the graph representation vector of the subgraph of each user according to the graph representation vector of the subgraph of each user in the training data; determining a second correlation coefficient between the average values of variables of the graph representation vectors of the subgraphs of all users according to the graph representation vectors of the subgraphs of all users in the training data; determining the global correlation coefficient between variables in the graph representation vector according to the first correlation coefficient between variables in the graph representation vector of the subgraph of each user and the second correlation coefficient between the average values of variables of the graph representation vectors of the subgraphs of all users.
13. The method of claim 10, wherein, The determining of the weight value corresponding to the subgraph of each user in the training data according to the clustering result of variables in the graph representation vector and the graph representation vector of the subgraph of each user in the training data comprises: adjusting the weight value of the subgraph of each user according to the clustering center of variables in the graph representation vector, the graph representation vector of the subgraph of each user in the training data and the initial weight value corresponding to the subgraph of each user until the norm value of the cross-covariance matrix corresponding to the training data converges, to determine the weight value corresponding to the subgraph of each user in the training data; The cross-covariance matrix is determined according to the graph representation vectors of the subgraphs of all users in the training data and the weight values corresponding to the subgraphs of each user.
14. A data processing method of a behavior prediction model, characterized by, The method is applied to an end-side device connected with a cloud server, and comprises: obtaining behavior data of multiple users and constructing a subgraph of each user according to the behavior data of each user; the subgraph of each user comprises a user node and nodes of behavior objects within a preset number of hops centered on the user node; obtaining a behavior label of each subgraph, and taking the subgraphs of the multiple users and the behavior label of each subgraph as a set of training data; repeating the above steps to construct multiple sets of training data; sending the multiple sets of training data to the cloud server to enable the cloud server to perform the data processing method of the behavior prediction model according to any one of claims 1-9.
Citation Information
Patent Citations
Graph data processing method and device, electronic equipment and computer storage medium
CN113011282A
Behavioral Prediction for Targeted End Users
US20170053208A1