Data processing method, prediction model training method and related device
By obtaining and processing the virtual interaction information of players in the game and virtual resource usage information, combining feature extraction and sharing feature technology to predict the player's churn probability, the problem of poor prediction accuracy in the existing technology is solved, and more accurate churn probability prediction is achieved.
Patent Information
- Application Number
- CN202311436636.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2025-05-02
AI Technical Summary
The prior art is not accurate when predicting the probability of player loss, and is based only on a single target and player game situation, and fails to fully consider the interaction between players and the use of virtual resources in the game.
By obtaining the player's virtual interaction information and virtual resource usage information in the game, feature extraction and sharing features are combined, and input into the prediction model, the first loss probability based on the virtual interaction situation and the second loss probability based on the virtual resource usage situation are predicted.
It improves the accuracy of predicting player churn probability, comprehensively considers the player's interaction in the game and the use of virtual resources, and enhances the accuracy of prediction results.
Smart Images

Figure CN119909384A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a data processing method and a prediction model training method and related devices. Background Art
[0002] With the popularization and development of the Internet, online games have gradually become one of the important ways for people to relax and entertain. At present, online games have become a huge industry, and the competition among major game manufacturers is becoming increasingly fierce. In order to improve their competitiveness, game manufacturers need to pay attention to player retention and reduce player churn in addition to innovation in game modes and operating activities.
[0003] With the development of artificial intelligence, the current mainstream player churn prediction method is usually based on machine learning to build models to predict the probability of player churn. The current prediction models are mostly based on a single goal and only make predictions based on the player's game situation, and the prediction accuracy is poor. Summary of the invention
[0004] The embodiments of the present application provide a data processing method and a prediction model training method and related devices for improving the accuracy of player churn probability prediction.
[0005] The first aspect of the present application provides a churn prediction method and a prediction model training method, including:
[0006] Acquire a first feature and a second feature, wherein the first feature is used to indicate a virtual interaction situation of the target object, and the second feature is used to indicate a virtual resource usage situation of the target object;
[0007] Perform feature extraction on the first feature and the second feature to obtain a shared sub-feature;
[0008] Combining the shared sub-feature with the first feature to obtain a first shared feature;
[0009] Combining the shared sub-feature with the second feature to obtain a second shared feature;
[0010] The first shared feature and the second shared feature are input into the prediction model to obtain a first churn probability of the target object based on the virtual interaction situation and a second churn probability of the target object based on the virtual resource usage situation.
[0011] In a possible implementation method, obtaining the first feature and the second feature specifically includes:
[0012] Acquire the virtual interaction status and virtual resource usage status of the target object, wherein the virtual interaction status includes at least one of login information, interaction information, and interaction status, and the virtual resource usage status includes at least one of resource usage times, resource usage amount, and resource usage status;
[0013] Extracting features of the virtual interaction situation to obtain a first feature;
[0014] Feature extraction is performed on the virtual resource usage to obtain a second feature.
[0015] In a possible implementation method, before the first shared feature and the second shared feature are input into the prediction model, the method further includes:
[0016] Acquire a training feature set, the training feature set includes training features of multiple training objects, the training features include a first training feature and a second training feature, the first training feature is used to indicate a virtual interaction situation of the training object, and the second training feature is used to indicate a virtual resource usage situation of the training object;
[0017] Perform feature extraction on each training feature in the training feature set to obtain a shared training sub-feature corresponding to each training object;
[0018] Combining the shared training sub-feature with the first training feature to obtain a first shared training feature corresponding to each training object;
[0019] Combining the shared training sub-feature with the second training feature to obtain a second shared training feature corresponding to each training object;
[0020] According to the first shared training feature and the second shared training feature, training is performed based on a neural network to obtain a prediction model.
[0021] In a possible implementation method, the prediction model includes a first prediction model and a second prediction model;
[0022] According to the first shared training feature and the second shared training feature, training is performed based on a neural network to obtain a prediction model, including:
[0023] Inputting the first shared training feature into the first tower network to obtain a first prediction model, where the first prediction model is used to predict a first churn probability of the target object;
[0024] The second shared training features are input into the second tower network to obtain a second prediction model, and the second prediction model is used to predict the second churn probability of the target object.
[0025] In a possible implementation method, the training feature set further includes training object features of the training object;
[0026] According to the first shared training feature and the second shared training feature, training is performed based on a neural network to obtain a prediction model, including:
[0027] Inputting the first shared training features into the first tower network;
[0028] Combine the training object features with each layer output of the first tower network to obtain a first prediction model;
[0029] Inputting the second shared training features into the second tower network;
[0030] The training object features are combined with the output of each layer of the second tower network to obtain the second prediction model.
[0031] In a possible implementation method, before training based on a neural network according to the first shared training feature and the second shared training feature to obtain a prediction model, the method further includes:
[0032] Inputting the training object features into the multi-layer gated neural network, the multi-layer gated neural network, the first tower network and the second tower network have the same number of layers;
[0033] Combining the training object features with each layer output of the first tower network, and combining the training object features with each layer output of the second tower network, including:
[0034] Combine the output of each layer of the multi-layer gated neural network with the output of each layer of the first tower network;
[0035] Combine the output of each layer of the multi-layer gated neural network with the output of each layer of the second tower network.
[0036] In a possible implementation method, each layer of the multi-layer gated neural network includes a first fully connected layer and a second fully connected layer; the activation function of the first fully connected layer is a rectified linear unit ReLU function, and the activation function of the second fully connected layer is a sigmoid function;
[0037] Input the training object features into the multi-layer gated neural network, including:
[0038] The training object feature input is sequentially input into each layer of the multi-layer gated neural network, wherein the output of the first fully connected layer is the input of the second fully connected layer.
[0039] In a possible implementation method, after training based on a neural network according to the first shared training feature and the second shared training feature to obtain a prediction model, the method further includes:
[0040] Acquire sample features, where the sample features include a first sample feature and a second sample feature of the sample object;
[0041] Inputting the sample features into the prediction model to obtain the first churn probability and the second churn probability of the sample object;
[0042] The prediction model is trained according to a loss function, where the loss function indicates a similarity between an actual churn probability corresponding to the sample object and the first churn probability and / or the second churn probability.
[0043] In one possible implementation, the loss function includes a cross entropy loss function;
[0044] The cross entropy loss function includes the area under the elasticity curve AUUC indicator, which is calculated based on sample characteristics.
[0045] In a possible implementation method, the loss function also includes a mean square error loss function; the number of sample objects is multiple;
[0046] The cross entropy function includes an area under the curve AUC indicator, and the AUC indicator is calculated based on the first churn probability and / or the second churn probability of the multiple sample objects.
[0047] A second aspect of the present application provides a prediction model training method, comprising:
[0048] Acquire a first feature and a second feature, wherein the first feature is used to indicate a virtual interaction situation of the target object, and the second feature is used to indicate a virtual resource usage situation of the target object;
[0049] Perform feature extraction on the first feature and the second feature to obtain a shared sub-feature;
[0050] Combining the shared sub-feature with the first feature to obtain a first shared feature;
[0051] Combining the shared sub-feature with the second feature to obtain a second shared feature;
[0052] According to the first shared feature and the second shared feature, a prediction model is obtained by training based on a neural network. The prediction model is used to predict a first churn probability of the target object based on the virtual interaction situation and a second churn probability of the target object based on the virtual resource usage situation.
[0053] In a possible implementation method, the prediction model includes a first prediction model and a second prediction model;
[0054] According to the first shared feature and the second shared feature, a prediction model is obtained by training based on a neural network, which specifically includes:
[0055] Inputting the first shared feature into the first tower network to obtain a first prediction model, where the first prediction model is used to predict a first churn probability of the target object;
[0056] The second shared feature is input into the second tower network to obtain a second prediction model, and the second prediction model is used to predict the second churn probability of the target object.
[0057] In a possible implementation method, the method further includes: obtaining object features;
[0058] According to the first shared feature and the second shared feature, training is performed based on a neural network to obtain a prediction model, which specifically includes:
[0059] inputting a first shared feature into a first tower network;
[0060] Combining the object features with each layer output of the first tower network to obtain a first prediction model;
[0061] inputting the second shared characteristic into the second tower network;
[0062] The object features are combined with the output of each layer of the second tower network to obtain the second prediction model.
[0063] In a possible implementation method, before obtaining a prediction model by training based on a neural network according to the first shared feature and the second shared feature, the method further includes:
[0064] Inputting the object features into a multi-layer gated neural network, wherein the multi-layer gated neural network, the first tower network, and the second tower network have the same number of layers;
[0065] Combining the object features with the output of each layer of the first tower network, and combining the object features with the output of each layer of the second tower network, specifically including:
[0066] Combine the output of each layer of the multi-layer gated neural network with the output of each layer of the first tower network;
[0067] Combine the output of each layer of the multi-layer gated neural network with the output of each layer of the second tower network.
[0068] In a possible implementation method, each layer of the multi-layer gated neural network includes a first fully connected layer and a second fully connected layer; the activation function of the first fully connected layer is a rectified linear unit ReLU function, and the activation function of the second fully connected layer is a sigmoid function;
[0069] The object features are fed into a multi-layer gated neural network, including:
[0070] The object feature input is sequentially input into each layer of the multi-layer gated neural network, where the output of the first fully connected layer is the input of the second fully connected layer.
[0071] In a possible implementation method, after the prediction model is obtained by training based on a neural network according to the first shared feature and the second shared feature, the method further includes:
[0072] Acquire sample features, where the sample features include a first sample feature and a second sample feature of the sample object;
[0073] Inputting the sample features into the prediction model to obtain the first churn probability and the second churn probability of the sample object;
[0074] The prediction model is evaluated according to a loss function, where the loss function indicates a similarity between an actual churn probability corresponding to the sample object and the first churn probability and / or the second churn probability.
[0075] In one possible implementation, the loss function includes a cross entropy loss function;
[0076] The cross entropy loss function includes the area under the elasticity curve AUUC indicator, which is calculated based on sample characteristics.
[0077] In a possible implementation method, the loss function also includes a mean square error MSE loss function; the number of sample objects is multiple;
[0078] The cross entropy function includes an area under the curve AUC indicator, and the AUC indicator is calculated based on the first churn probability and / or the second churn probability of the multiple sample objects.
[0079] A third aspect of the present application provides a churn prediction device, comprising:
[0080] A first acquisition module, used to acquire a first feature and a second feature, the first feature is used to indicate the virtual interaction of the target object, and the second feature is used to indicate the virtual resource usage of the target object;
[0081] A first sharing module, used for extracting features from the first feature and the second feature to obtain a shared sub-feature;
[0082] A first feature combining module, used to combine the shared sub-feature with the first feature to obtain a first shared feature; and to combine the shared sub-feature with the second feature to obtain a second shared feature;
[0083] The prediction module is used to input the first shared feature and the second shared feature into the prediction model to obtain a first churn probability of the target object based on the virtual interaction situation and a second churn probability of the target object based on the virtual resource usage situation.
[0084] In a possible implementation method, the first acquisition module is specifically used to obtain the virtual interaction status and virtual resource usage status of the target object, wherein the virtual interaction status includes: at least one of login information, interaction information, and interaction status; the virtual resource usage status includes: at least one of resource usage times, resource usage amount, and resource usage status; feature extraction is performed on the virtual interaction status to obtain a first feature; feature extraction is performed on the virtual resource usage status to obtain a second feature.
[0085] A fourth aspect of the present application provides a prediction model training device, comprising:
[0086] A second acquisition module, used to acquire a first feature and a second feature, wherein the first feature is used to indicate a virtual interaction situation of a target object, and the second feature is used to indicate a virtual resource usage situation of the target object;
[0087] A second sharing module is used to extract the first feature and the second feature to obtain a shared sub-feature;
[0088] A second feature combining module is used to combine the shared sub-feature with the first feature to obtain the first shared feature; and to combine the shared sub-feature with the second feature to obtain the second shared feature;
[0089] The training module is used to perform training based on a neural network according to the first shared feature and the second shared feature to obtain a prediction model, wherein the prediction model is used to predict a first churn probability of a target object based on a virtual interaction situation, and a second churn probability of a target object based on a virtual resource usage situation.
[0090] In a possible implementation method, the prediction model includes a first prediction model and a second prediction model;
[0091] The training module is specifically used to input the first shared feature into the first tower network to obtain a first prediction model, and the first prediction model is used to predict the first churn probability of the target object; the second shared feature is input into the second tower network to obtain a second prediction model, and the second prediction model is used to predict the second churn probability of the target object.
[0092] In a possible implementation method, it further includes: a second acquisition module, further used to acquire object features;
[0093] Among them, the training module is specifically used to input the first shared feature into the first tower network; combine the object feature with the output of each layer of the first tower network to obtain a first prediction model; input the second shared feature into the second tower network; combine the object feature with the output of each layer of the second tower network to obtain a second prediction model.
[0094] In a possible implementation method, the training module is also used to input object features into a multi-layer gated neural network, and the multi-layer gated neural network, the first tower network and the second tower network have the same number of layers; the output of each layer of the multi-layer gated neural network is combined with the output of each layer of the first tower network to obtain a first prediction model; the output of each layer of the multi-layer gated neural network is combined with the output of each layer of the second tower network to obtain a second prediction model.
[0095] In a possible implementation method, each layer of the multi-layer gated neural network includes a first fully connected layer and a second fully connected layer; the activation function of the first fully connected layer is a rectified linear unit ReLU function, and the activation function of the second fully connected layer is a sigmoid function;
[0096] The object features are fed into a multi-layer gated neural network, including:
[0097] The object feature input is sequentially input into each layer of the multi-layer gated neural network, where the output of the first fully connected layer is the input of the second fully connected layer.
[0098] In a possible implementation method, the method further includes:
[0099] The optimization module is used to obtain sample features, the sample features include a first sample feature and a second sample feature of the sample object; input the sample features into a prediction model to obtain a first churn probability and a second churn probability of the sample object; and optimize the prediction model according to a loss function, wherein the loss function indicates the similarity between an actual churn probability corresponding to the sample object and the first churn probability and / or the second churn probability.
[0100] In one possible implementation, the loss function includes a cross entropy loss function;
[0101] The cross entropy loss function includes the area under the elasticity curve AUUC indicator, which is calculated based on sample characteristics.
[0102] In a possible implementation method, the loss function also includes a mean square error MSE loss function; the number of sample objects is multiple;
[0103] The cross entropy function includes an area under the curve AUC indicator, and the AUC indicator is calculated based on the first churn probability and / or the second churn probability of the multiple sample objects.
[0104] A fifth aspect of the present application provides a computer device, including:
[0105] memories, transceivers, processors, and bus systems;
[0106] Wherein, the memory is used to store programs;
[0107] The processor is used to execute the program in the memory, including executing the above-mentioned methods;
[0108] The bus system is used to connect the memory and the processor so that the memory and the processor can communicate with each other.
[0109] In a sixth aspect, the present application provides a computer-readable storage medium, in which instructions are stored. When the computer-readable storage medium is run on a computer, the computer executes the methods in the above aspects.
[0110] The seventh aspect of the present application provides a computer program product or a computer program, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided by the above aspects.
[0111] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:
[0112] The present application provides a data processing method and a prediction model training method and related devices, which extract common features from the features corresponding to the virtual interaction information and virtual resource usage information of the target object, then strengthen the single features according to the common features, and finally input the strengthened features into the prediction model to predict the churn probability, and obtain the first churn probability corresponding to the virtual interaction information and the second churn probability corresponding to the virtual resource usage information. The solution provided by the embodiment of the present application comprehensively considers the interaction of the object in the game and the virtual resource usage, and combines the dependency between the two situations through shared features, which is conducive to improving the accuracy of the final prediction result. BRIEF DESCRIPTION OF THE DRAWINGS
[0113] Figure 1a and Figure 1b A schematic diagram of a game interface;
[0114] Figure 2 This is an application environment diagram of the data processing method in the embodiment of the present application;
[0115] Figure 3 A method flow chart of a data processing method provided in an embodiment of the present application;
[0116] Figure 4 A schematic diagram of a shared neural network provided in an embodiment of the present application;
[0117] Figure 5 A method flow chart of a method for training a prediction model in a data processing method provided in an embodiment of the present application;
[0118] Figure 6 This is the architecture diagram of the PEPNet model;
[0119] Figure 7 A method flow chart of a method for training a prediction model provided in an embodiment of the present application;
[0120] Figure 8 A prediction flow chart of the prediction system provided in the embodiment of the present application;
[0121] Fig. 9 A schematic diagram of the software part of the prediction system provided in the embodiment of the present application;
[0122] Fig.10 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;
[0123] Fig.11 A schematic diagram of the structure of a training device for a prediction model provided in an embodiment of the present application;
[0124] Fig.12 A schematic diagram of a server structure provided in an application embodiment. DETAILED DESCRIPTION
[0125] The embodiments of the present application provide a data processing method, a prediction model training method and related devices, which comprehensively consider the player's interaction and resource usage in the game, and combine the dependency between the two situations through shared features, which is conducive to improving the accuracy of the final prediction results.
[0126] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein, for example. In addition, the terms "including" and "corresponding to" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0127] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.
[0128] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0129] Machine Learning (ML) is a multi-disciplinary subject that involves probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. It specializes in studying how computers simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning usually include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and self-learning.
[0130] With the research and advancement of artificial intelligence technology, artificial intelligence technology has been studied and applied in many fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, automatic driving, drones, robots, smart medical care, smart customer service, etc. I believe that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.
[0131] The solution provided in the embodiment of the present application involves machine learning technology, which is trained by using known data (sample data) to identify and predict patterns and trends in target data. In the embodiment of the present application, a churn prediction model for game objects is established based on machine learning technology to predict the churn probability of the target object in the current state. If the churn probability is higher than a preset threshold, certain measures can be taken to compensate the game object, thereby improving the player's retention rate. This is specifically described in the embodiments below.
[0132] With the popularization and development of the Internet, online games have gradually become one of the important ways for people to relax and entertain themselves. At present, online games have become a huge industry. The scale of the game market continues to expand, and the number of players continues to increase. Therefore, the competition among major game manufacturers is becoming more and more fierce. In the game industry, the loss of game objects is a common problem, and how to prevent the loss of game objects, identify core game objects, and improve the game experience of game players are important issues that game operators need to solve.
[0133] like Figure 1a and Figure 1b As shown, Figure 1a and Figure 1b A schematic diagram of a game interface.
[0134] See also Figure 1a , this interface displays multiple battle modes of the target game, including matching, human-computer, opening a room and drafting. Among them, matching mode corresponds to randomly matching other game players to play games; human-computer mode corresponds to playing games with AI players; opening a room mode corresponds to players can create a room and invite friends to play games together; drafting mode means that this game mode has some special rules.
[0135] See also Figure 1b , which shows the game object in the selection Figure 1a In the corresponding matching interface after the "matching" mode, the current player 101 can invite friends to participate in the game in the friend list 102 on the right, or directly click the "start matching" button 103 to have the game system randomly match other players. For example: after the player directly clicks button 103 to start matching, the player 101 will be matched with 4 other players as teammates, and will also be matched with 5 other players as opponents to play the game together. In this game system, the system will consider what difficulty of opponent to match the current player based on the historical victory and defeat of the current player. If the system determines that the current player wants to give up playing the game because of the poor experience of failure, it will match the current player with an opponent of lower difficulty, thereby appropriately reducing the difficulty for the current player so that his experience is not too bad, thereby avoiding the loss of current players.
[0136] With the development of artificial intelligence, the current mainstream player churn prediction method is usually based on machine learning to build models to predict the probability of player churn or non-churn. The current mainstream models for preventing churn in games include the XGB model and the uplift-based gain model.
[0137] XGB model: XGBoost (eXtreme Gradient Boosting) is an efficient gradient boosting decision tree algorithm for classification problems. In this anti-churn model, XGBoost is used to determine whether the game object will churn, that is, whether the game object will continue to play the game. By analyzing the historical data of the game object, the model can predict the probability of game object churn.
[0138] Gain model based on uplift: This model is used to evaluate the impact of different strategies on the loss of game objects. Specifically, it calculates the probability of the game object losing in the next game if it wins or loses based on the data of the game object's recent historical games, and uses this to determine the gain of the loss compensation. This model can help game operators understand which strategies can effectively prevent the loss of game objects.
[0139] In the gain model, DragonNet is widely used in the industry. DragonNet is a causal inference model that uses deep learning methods to find potential latent variable representations, so that even when confounding variables cannot be observed, causal inference can be turned into a solvable statistical problem by controlling the latent vector. In the problem of preventing churn, the causal inference model can predict the probability of churn of game objects and identify the key factors that lead to churn of game objects by analyzing the behavior and characteristics of game objects.
[0140] However, the above models are mostly based on a single goal. For example, based on the player's recent historical games, the probability of churn after winning the next game and the probability of churn after losing are calculated, and the game object is given a corresponding churn compensation gain based on the probabilities of the two. The above models only make predictions based on the game object's historical game situation, without considering the game object's gaming habits, degree of dependence, etc., and the prediction accuracy is poor. For example, for paid games, the more a player spends in the game, the lower the possibility of churn; similarly, if a player is predicted to be a high-spending game object, then when the predicted churn probability of the player exceeds the threshold, the retention efforts may need to be greater.
[0141] In order to solve the above problems, the present application provides a data processing method, a prediction model training method and related devices, which adopt a multi-task prediction model based on multiple objectives, so that game operators can comprehensively consider multiple factors, including the loss of game objects, the identification of core objects, the game experience and the desire to pay, etc., in order to formulate a more comprehensive anti-loss strategy.
[0142] For easier understanding, see Figure 2 , Figure 2 FIG. 1 is an application environment diagram of the data processing method in the embodiment of the present application, such as Figure 2As shown, the data processing method in the embodiment of the present application is applied to a data processing system. The data processing system includes: a server and a terminal device; wherein the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), and big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiments of the present application.
[0143] The terminal can send the collected training feature set to the server. The training feature set includes training features of multiple training objects. The training features include a first training feature and a second training feature. The first training feature is used to indicate the virtual interaction information of the training object, and the second training feature is used to indicate the virtual resource usage information of the training object. The server extracts features from each training feature in the training feature set to obtain a shared training sub-feature corresponding to each training object; the server combines the training sub-feature with the first training feature to obtain a first shared training feature corresponding to each training object; the server combines the training sub-feature with the second training feature to obtain a second shared training feature corresponding to each training object; the server performs training based on a neural network according to the first shared training feature and the second shared training feature to obtain a prediction model. When the terminal sends the first feature and the second feature of the target object to the server, the server can input the first feature and the second feature into the prediction model, and predict the first churn probability of the object based on the virtual interaction information and the second churn probability of the target object based on the virtual resource usage information through the prediction model.
[0144] The following is an introduction to the data processing method in this application from the perspective of the server. Figure 3 , the data processing method provided in the embodiment of the present application includes:
[0145] 301, obtaining a first feature and a second feature, where the first feature is used to indicate virtual interaction information of a target object, and the second feature is used to indicate virtual resource usage information of the target object.
[0146] In this embodiment, a multi-objective approach can be used to calculate the churn probability of the target object. Compared with the prior art of predicting churn based only on the target object's historical games, the embodiment of the present application also requires virtual resource usage information and other virtual interaction information based on the target object.
[0147] Among them, the target object can be a game player, and the virtual interaction information refers to the interaction between the game player and other players or non-player characters (NPC) in the specified game. The interaction can be logging into the game, starting a game, performing game tasks, receiving game rewards, etc., that is, the virtual interaction information can be represented as the active situation in the specified game; the virtual resource usage information refers to the situation of the game player using the game virtual resources in the corresponding game. For example, the game player can obtain virtual assets, game points and other virtual resources in the game by completing game tasks or transactions. The game player can use such virtual resources to redeem game props, virtual decorations, etc. in the game.
[0148] In a possible implementation method, the virtual interaction information includes at least one of login information, interaction information, and interaction status. The virtual resource usage information includes at least one of resource usage times, resource usage amount, and resource usage status.
[0149] Among them, in the virtual interactive information: login information indicates the number of times the target object logs into the game interface or starts a game, which may specifically include the number of logins and games in the past day / week / month / season (a custom settlement period in the game); interactive information indicates the interaction of the target object in the specified game, which may be a game game situation, which may specifically include the number of games in the last one game / seven games / games within a week, the number of wins / losses, the number of consecutive wins / losses, the number of most valuable players (MVP), the winning rate, etc.; interactive status indicates the classification of players based on the login information and interactive information of the target object in the specified game, which may specifically be divided into highly active players, medium active players, low active players, novice players, returning players, etc.
[0150] To facilitate the understanding of the active state, the following is an explanation of this part of the definition:
[0151] Highly active players: These players are very active in the game and often participate in various game activities and dungeons. They may be the core objects of the game or masters of the game.
[0152] Moderately active players: These players are relatively active in the game and will participate in some game activities and dungeons, but perhaps not very frequently.
[0153] Low-activity players: These players are not very active in the game, rarely participate in game activities and dungeons, and may be light gamers or novices.
[0154] Novice players: These players have just started playing games and are not familiar with the game content and gameplay, so they need more guidance and help.
[0155] Returning players: These are players who used to play the game but left the game for some reason and are now back.
[0156] In addition, in the virtual interactive information: the number of resource usage times indicates the number of times the target object uses virtual resources in a specified game within a specific period, which may specifically include the total number of resource usage times, resource usage, average resource usage, maximum / minimum resource usage, resource usage cycle, etc. in the past day / week / month / season, etc.; resource usage can be expressed as the total amount of virtual resources used by the target object in the specified game, and based on the resource usage, players are specifically divided into high-consumption players, medium-consumption players, low-consumption players, and novice consumption players; resource usage status indicates the classification of players based on the resource usage of the target object in the specified game, which may specifically include the resource usage rising period, resource usage mature period, resource usage declining period, etc.
[0157] To facilitate understanding of resource usage status, the following is an explanation of this part of the definition:
[0158] Resource usage rise period: This stage is when players begin to play the game and gradually become familiar with it. Players may try to redeem some basic items or services in the game to help themselves experience the game better. At the same time, the game will also attract players to use virtual resources by providing novice gift packages, preferential activities, etc.
[0159] Resource usage maturity stage: This stage is when players have become loyal to the game and are willing to exchange some advanced items or services in the game. Players may often use virtual resources to exchange for advanced props, skins, characters, etc. in the game to improve their gaming experience and strength. At the same time, the game will also meet the needs of these players by providing more advanced items or services, as well as customized trading experiences.
[0160] Resource usage decline period: This stage is when players' enthusiasm for the game begins to decline and they gradually reduce their use of virtual resources in the game. Players may no longer use virtual resources to redeem advanced items or services in the game, or the frequency of redemption will be significantly reduced. At the same time, the game also needs to attract these players to continue trading by providing better gaming and trading experiences, as well as incentive activities.
[0161] In the embodiment of the present application, the first feature corresponding to the virtual interaction information of the target object and the second feature corresponding to the virtual resource usage information of the target object are first obtained to calculate the loss probability of the target object, which is beneficial to improving the prediction accuracy of the loss probability.
[0162] In a possible implementation method, step 301 specifically includes:
[0163] 3011, obtaining virtual interaction information and virtual resource usage information of the target object;
[0164] 3012, extracting features from the virtual interaction information to obtain a first feature;
[0165] 3013, extract features from the virtual resource usage information to obtain a second feature.
[0166] In an embodiment of the present application, the virtual interaction information and virtual resource usage information of the target object are first obtained, and then feature extraction is performed respectively, that is, the first feature and the second feature are obtained by feature extraction of the virtual interaction information and virtual resource usage information of the target object respectively.
[0167] 302 , extract the first feature and the second feature to obtain a shared sub-feature.
[0168] In the embodiment of the present application, the first feature and the second feature are extracted together to obtain a shared sub-feature. For example, the login information and the virtual resource usage in the virtual interaction information can be added to obtain a new index, which can consider the player's virtual interaction information and virtual resource usage information at the same time.
[0169] 303, combining the shared sub-feature with the first feature to obtain a first shared feature;
[0170] 304, combining the shared sub-feature with the second feature to obtain a second shared feature.
[0171] In the embodiment of the present application, after obtaining the shared sub-features, it also includes strengthening one of the features according to the shared sub-features.
[0172] For easier understanding, see Figure 4 In one possible case, an embodiment of the present application trains a shared neural network, which includes a shared layer (sharelayer) and a specific task neural layer, wherein the specific task neural layer includes a first task neural layer (task1 neural layer) and a second task neural layer (task2 neural layer).
[0173] After obtaining the first feature and the second feature, the shared sub-features are first obtained through shared layer training, and then the shared sub-features are respectively combined with the first feature and the second feature, and then trained through the first task neural layer and the second task neural layer respectively to obtain the corresponding first shared feature and the second shared feature.
[0174] 305 , input the first shared feature and the second shared feature into a prediction model to obtain a first churn probability of the target object based on the virtual interaction information and a second churn probability of the target object based on the virtual resource usage information.
[0175] In the embodiment of the present application, the first shared feature and the second shared feature are input into the prediction model to obtain the first churn probability of the target object based on the virtual interaction information and the second churn probability based on the virtual resource usage information. These prediction models can be statistical models, machine learning models, or deep learning models, etc. The specific model selection will depend on the characteristics of the data and the scope of application of the model.
[0176] After the server inputs the first shared feature and the second shared feature into the prediction model, two outputs are obtained, one of which is the first churn probability of the target object based on the virtual interaction information, and the other is the second churn probability of the target object based on the virtual resource usage information. After the terminal obtains these two probabilities, it can perform a union process, for example: the first churn probability > the first churn threshold, or the second churn probability > the second churn threshold. The first churn threshold and the second churn threshold can be given according to the game operation situation, the actual experience of technicians in this field, big data statistics and other methods. When the churn probability is greater than the churn threshold, the terminal can compensate the target object.
[0177] In this embodiment, common features are extracted from the features corresponding to the virtual interaction information and virtual resource usage information of the object, and then the single features are enhanced according to the common features. Finally, the enhanced features are input into the prediction model to predict the churn probability, and the first probability and the second probability are obtained respectively, wherein the first probability is the first churn probability corresponding to the virtual interaction information, and the second probability is the second churn probability corresponding to the virtual resource usage information. The scheme provided in the embodiment of the present application comprehensively considers the virtual interaction information and the virtual resource usage information of the object, and combines the dependency between the two probabilities through shared features, which is conducive to improving the accuracy of the final prediction result.
[0178] In a possible implementation method, before step 305, a prediction model training method is also included. Figure 5 , Figure 5 A method flow chart of a method for training a prediction model provided in an embodiment of the present application includes:
[0179] 501, obtaining a training feature set, the training feature set including training features of multiple training objects, the training features including a first training feature and a second training feature, the first training feature is used to indicate virtual interaction information of the training object, and the second training feature is used to indicate virtual resource usage information of the training object.
[0180] First, features of multiple training objects are collected, including first training features and second training features. The first training features are used to represent the virtual interaction information of the training objects, such as the frequency of live game logins, game duration, etc., while the second training features are used to represent the virtual resource usage information of the training objects, such as the resource usage amount, resource usage frequency, etc.
[0181] It is understandable that the source of the training feature set may be a game database or other data source, and these data may be data in a log file, a database or other storage system. The first training feature and the second training feature are extracted from the preprocessed data. The extracted first training feature and the second training feature are combined into a training feature, and the set of multiple training features is a training feature set. This training feature set will be used for subsequent training and prediction tasks.
[0182] In a possible implementation method, the server may directly obtain the virtual interaction information of multiple training objects and the virtual resource usage information, and then perform feature extraction, such as the above steps 302 to 304. Please refer to the above for related descriptions, which will not be repeated here.
[0183] 502 , extracting features from each training feature in the training feature set to obtain shared training sub-features corresponding to each training object.
[0184] It is understandable that this step is similar to the above Figure 3 Similar to step 302 in the corresponding embodiment, since each training feature includes the first training feature and the second training feature, feature extraction is performed on each training feature, which means extracting shared training sub-features from the first training feature and the second training feature of each training object to obtain the shared training sub-features corresponding to each training object.
[0185] 503, combining the shared training sub-feature with the first training feature to obtain a first shared training feature corresponding to each training object;
[0186] 504 , combining the shared training sub-feature with the second training feature to obtain a second shared training feature corresponding to each training object.
[0187] It is understandable that this step is similar to the above Figure 3Similar to steps 303 and 304 in the corresponding embodiment, for each training object, after obtaining the shared training sub-features, the shared training sub-features are respectively combined with the first training feature and the second training feature to obtain the corresponding first shared feature and the second shared feature.
[0188] 505 , training is performed based on a neural network according to the first shared training feature and the second shared training feature to obtain a prediction model.
[0189] It is understandable that after obtaining the first shared training feature and the second shared training feature, a suitable neural network model can be selected for training. During the training process, the neural network will automatically learn the inherent laws and patterns of the data based on the input features, and gradually optimize the parameters of the model to minimize the prediction error. The trained neural network model is the above-mentioned prediction model. After the first feature and the second feature of the target object are input into the prediction model, the prediction results based on the virtual interaction information and the virtual resource usage information can be obtained, including the first churn probability of the target object based on the virtual interaction information, and the second churn probability of the target object based on the virtual resource usage information.
[0190] In a possible implementation method, the prediction model includes a first prediction model and a second prediction model. In this case, step 505 specifically includes:
[0191] 5051, inputting the first shared training feature into the first tower network to obtain a first prediction model, where the first prediction model is used to predict a first churn probability of the target object;
[0192] 5052, input the second shared training feature into the second tower network to obtain a second prediction model, where the second prediction model is used to predict a second churn probability of the target object.
[0193] It can be understood that, in this embodiment, the first prediction model and the second prediction model are both task-specific models, and the specific tasks are obtained through tower network training.
[0194] Tower Network: Each subtask is linked to an independent network, that is, each subtask has its own neural network layer, which is called a tower. The output of each tower network is the network output for each independent task. Each tower network is trained for a specific task to obtain a more accurate task output.
[0195] By inputting the first shared training feature into the first tower network, a first prediction model can be trained to measure the second churn probability of the target object; by inputting the second shared training feature into the second tower network, a corresponding second prediction model can be obtained to predict the second churn probability of the target object.
[0196] In a possible implementation method, the training feature set further includes training object features of the training object. In this case, step 5051 and step 5052 specifically include:
[0197] 50511, input the first shared training feature into the first tower network;
[0198] 50512, combining the training object feature with each layer output of the first tower network to obtain a first prediction model;
[0199] 50521, input the second shared training feature into the second tower network;
[0200] 50522, combining the training object features with each layer output of the second tower network to obtain a second prediction model.
[0201] It is understandable that the training object features are used to represent the general information of each object, and the general information is usually the same for virtual interaction information and virtual resource usage information. This information may include the game player's rank, basic information (such as game style, game character type, etc.), registration information (such as registration time, registration channel, etc.), friend information (such as the number of friends, friend activity, etc.), etc. Among them, the rank is a way of expressing the player's game level in a certain game. The higher the rank, the higher the player's game level. These general information can also be combined with virtual interaction information and / or virtual resource usage information to predict the player's first churn probability and / or second churn probability. For example, the player's rank can reflect their skill level and game experience, while the registration information and friend information can reflect their social experience and social relationship with the game. These features can provide more comprehensive player information, help better understand the player's interests, needs and behaviors, thereby optimizing game design, improving player retention and resource conversion.
[0202] It can be understood that, since the tower network includes multiple neural network layers, the training object features can be combined with the output of each neural network layer as the input of the next neural network layer.
[0203] In a possible implementation method, the training object features may also be trained through a multi-layer gated neural network, that is, the method provided in this embodiment further includes:
[0204] The training object features are input into the multi-layer gated neural network, and the multi-layer gated neural network, the first tower network and the second tower network have the same number of layers.
[0205] At this time, step 50512 and step 50522 specifically include:
[0206] 50512, combining the output of each layer of the multi-layer gated neural network with the output of each layer of the first tower network to obtain a first prediction model;
[0207] 50522, combining the output of each layer of the multi-layer gated neural network with the output of each layer of the second tower network to obtain a second prediction model.
[0208] It is understandable that in the embodiment of the present application, the training object features are trained through a multi-layer gated neural network, so that the network can learn more complex feature representations. The multi-layer gated neural network will learn different levels according to the input features, and each level will perform different transformations and processing on the input features to obtain a more advanced feature representation. The output of each layer of the multi-layer gated neural network is combined with the output of each layer of the tower network, and then used as the feature input of the next layer of the tower network, and the prediction model is obtained through this process.
[0209] In a possible implementation method, each layer of the multi-layer gated neural network includes a first fully connected layer and a second fully connected layer; the activation function of the first fully connected layer is a rectified linear unit ReLU function, and the activation function of the second fully connected layer is a sigmoid function;
[0210] Input the training object features into the multi-layer gated neural network, including:
[0211] The training object feature input is sequentially input into each layer of the multi-layer gated neural network, wherein the output of the first fully connected layer is the input of the second fully connected layer.
[0212] It is understandable that in the embodiment of the present application, the structure of the multi-layer gated neural network is described in detail. The multi-layer gated neural network includes two layers of neural networks, specifically a first fully connected layer and a second fully connected layer.
[0213] In the fully connected layer, each node is connected to all nodes in the previous layer, which is used to integrate the features extracted previously. In the fully connected layer, each node is connected to all nodes in the previous layer, so the fully connected layer can play the role of mapping the learned "distributed feature representation" to the sample label space.
[0214] The activation function of the first fully connected layer is the rectified linear unit (ReLU) function, while the activation function of the second fully connected layer is the sigmoid function. The rectified linear unit (ReLU) function is a commonly used neural network activation function, and its expression is f(x) = max(0,x). The characteristic of the ReLU function is that when the input is greater than 0, the output is equal to the input, and when the input is less than 0, the output is 0. This nonlinear characteristic can introduce the expressive power of the neural network and accelerate the training of the model. The sigmoid function is a commonly used neural network activation function, and its expression is f(x) = 1 / (1+exp(-x)). The Sigmoid function can map the output of the neural network to the range of 0 to 1, and has the advantage of an adjustable output range. In some cases, the Sigmoid function can also map the output to other specified ranges by adjusting parameters.
[0215] The combination of the first fully connected layer and the second fully connected layer can effectively capture the characteristics of the input data and achieve more complex mapping relationships through the combination of nonlinear and linear layers.
[0216] In one possible application, the prediction model training method provided in the embodiment of the present application can be combined with the PEPNet (parameter and embedding personalized network for infusing with personalized prior information) model. Figure 6 , Figure 6 This is the architecture diagram of the PEPNet model.
[0217] PEPNet mainly consists of three parts: Gate NU (Gate Neural Unit), EPNet (Embedding Personalized Network) and PPNet (Parameter Personalized Network). Among them, Gate NU: a gating structure based on prior information, is the basic unit of EPNet and PPNet; EPNet: scene information is used as input to enhance the model's underlying perception of cross-domain behaviors of objects; PPNet: object and item information is used as gated input to adapt parameters of each layer of different tasks and balance the interdependencies between top-level tasks.
[0218] Figure 6The upper left corner is Gate NU: It consists of two fully connected layers (FC). The activation function of the first layer is relu, and the activation function of the second layer is sigmoid. The result of the second layer is multiplied by 2 as the output, thereby converting the output value from [0,1] to [0,2].
[0219] Figure 6 The lower left corner is EPNet: the scene feature (domain id feature, scene ID or scene-specific feature) is used as input, and the gated network result is obtained through Gate NU. The gated network result and the embedding layer result are element-wise multiplied to obtain the embedding result that incorporates the scene information as the subsequent DNN and PPNet input.
[0220] Figure 6 The right side is PPNet: [Embedding results with scene information, object id (user id), project id (item id), author id (author id)] are combined as input, and the gated result is obtained through Gate NU, and then multiplied by the DNN layer result in an element-wise manner as the input of the next layer of DNN. Among them, the Embedding results with scene information are used as input. In order not to affect EPNet's update and learning of embedding, the gradient is not back-propagated during training.
[0221] Combine PEPNet with the training method of the prediction model provided in the embodiment of the present application. At this time, in PEPNet, the scene features of EPNet are the first features and the second features (or the first training features and the second training features) in the embodiment of the present application, which are used to indicate the virtual interaction information and virtual resource usage information of the object, respectively. The general feature (GeneralInput) is the training object feature corresponding to the training object in the embodiment of the present application. It can be understood that game players usually have corresponding ids in game applications. However, when the number of daily active players in the game scene is large and there are many players, the general features of the training object can be used as id features, that is, the id features of PPNet are the training object features corresponding to the training object.
[0222] Specifically, the neural layers are all composed of FC layers, the number of nodes is [512, 64], and the activation function is relu. The id feature updates quickly. In the case of online learning, in order to better capture the underlying embedding changes and stably update the top-level DNN parameters, different update strategies are used for the embedding and DNN parameters. The embedding layer can use the AdaGrad optimizer with a learning rate of 0.05, while the DNN layer can use the Adam optimizer with a learning rate of 5e-6.
[0223] In a possible implementation method, after obtaining the prediction model, the prediction model learning can also be guided by the loss function, including:
[0224] 506, obtaining sample features, where the sample features include a first sample feature and a second sample feature of the sample object;
[0225] 507, inputting the sample features into the prediction model to obtain a first churn probability and a second churn probability of the sample object;
[0226] 508 , training the prediction model according to a loss function, where the loss function indicates a similarity between an actual churn probability corresponding to the sample object and the first churn probability and / or the second churn probability.
[0227] It is understandable that after obtaining the prediction model, the prediction model is trained by obtaining sample features. The sample features are input into the prediction model, and the output of the model is the prediction result based on the sample features, that is, the first churn probability and the second churn probability of the sample object. The loss function calculates the difference or similarity between the churn probability predicted by the model and the actual churn probability. This difference or similarity will be used to optimize the parameters of the model so that under new query conditions, the model can better predict the actual churn probability.
[0228] Through continuous iteration and optimization of the above three steps, the model can perform better on a specific prediction model, thereby providing more accurate and useful predictions and results in practice.
[0229] In one possible implementation, the loss function includes a cross entropy loss function;
[0230] The cross entropy loss function includes the area under the elasticity curve AUUC indicator, which is calculated based on sample characteristics.
[0231] It is understandable that in the embodiment of the present application, the loss function includes a cross-entropy loss function, that is, the loss function may refer to the cross-entropy loss between the actual churn probability and the first churn probability and / or the second churn probability. Cross-entropy loss is a loss function commonly used in deep learning, which measures the gap between the model prediction results and the actual results. The essence of cross-entropy loss is to measure the distance between two probability distributions. One of the probability distributions is the distribution of the true label, and the other is the probability distribution predicted by the model. When the two probability distributions are closer, the cross-entropy loss is smaller, indicating that the model prediction result is more accurate.
[0232] Specifically, the cross entropy loss function uses the area under the uplift curve (AUUC) to evaluate the accuracy of the model. AUUC is an indicator for evaluating the prediction effect of the model. It is calculated based on the Uplift Curve and is used to measure the model's ability to distinguish between positive and negative samples. The Uplift Curve is a curve used to evaluate the prediction effect of a binary classification model. It draws the curve by sorting the positive samples from large to small according to the predicted value, and randomly sorting the negative samples, and then calculating the incremental effect under different classification thresholds. AUUC gives the area under the uplift curve, that is, the average incremental effect of the model under all possible classification thresholds. The higher the AUUC value, the better the prediction effect of the model.
[0233] In a possible implementation method, the loss function further includes a mean squared error (MSE) loss function; the number of sample objects is multiple;
[0234] The cross entropy function includes an area under the curve AUC indicator, and the AUC indicator is calculated based on the first churn probability and / or the second churn probability of the multiple sample objects.
[0235] It is understandable that in the embodiment of the present application, the loss function also includes the MSE loss function. MSE is defined as the mean of the sum of the squared errors between the y value estimated by the model and the true y value, which can help the estimator optimize and maximize the accuracy of the given sample data, thereby maximizing the ability of the model to work on unknown data. The MSE loss function is mainly used for regression problems, which calculates the mean of the squared errors between the model predicted value and the true value. The cross entropy loss function is mainly used for classification problems, which calculates the difference between the probability distribution predicted by the model and the true probability distribution. The present application combines the two.
[0236] Specifically, the cross entropy loss function also uses the area under the curve (AUC) indicator to evaluate the performance of the model. Using AUC as an evaluation indicator in the cross entropy loss function can evaluate the classification accuracy of the model at different classification thresholds, thereby more comprehensively evaluating the performance of the model.
[0237] The data processing method provided in the embodiment of the present application also includes a prediction model training method. The prediction model obtained by the prediction model training method not only trains the model according to the virtual interaction information and virtual resource usage information of the object, but also establishes the dependency relationship between the virtual interaction information and the virtual resource usage information, realizes multi-objective and multi-task modeling, and thus improves the accuracy of the prediction model. In addition, the embodiment of the present application also evaluates and trains the prediction model through the AUC and AUUC indicators to further improve the performance of the prediction model.
[0238] This application also provides a separate method for training a prediction model, see Figure 7 , Figure 7 A method flow chart of a method for training a prediction model provided in an embodiment of the present application includes:
[0239] 701, obtaining a first feature and a second feature, where the first feature is used to indicate virtual interaction information of a target object, and the second feature is used to indicate virtual resource usage information of the target object;
[0240] 702, extracting features from the first feature and the second feature to obtain shared sub-features;
[0241] 703, combining the shared sub-feature with the first feature to obtain a first shared feature;
[0242] 704, combining the shared sub-feature with the second feature to obtain a second shared feature;
[0243] 705. According to the first shared feature and the second shared feature, a prediction model is obtained by training based on a neural network. The prediction model is used to predict a first churn probability of the target object based on the virtual interaction information and a second churn probability of the target object based on the virtual resource usage information.
[0244] It is understandable that the above steps 701 to 705 are Figure 5 The steps 501 to 505 in the corresponding embodiment are similar. It should be noted that the first feature and the second feature in the embodiment of the present application can be either training features or test features. Please refer to the above for a detailed description, which will not be repeated here.
[0245] In a possible implementation method, the prediction model includes a first prediction model and a second prediction model;
[0246] Step 705 specifically includes:
[0247] 7051, input the first shared feature into the first tower network to obtain a first prediction model, where the first prediction model is used to predict a first churn probability of the target object;
[0248] 7052, input the second shared feature into the second tower network to obtain a second prediction model, where the second prediction model is used to predict a second churn probability of the target object.
[0249] In a possible implementation method, the method further includes: obtaining object features;
[0250] Wherein, step 705 specifically includes:
[0251] 70511, inputting the first shared feature into the first tower network;
[0252] 70512, combining the object feature with each layer output of the first tower network to obtain a first prediction model;
[0253] 70521, inputting the second shared feature into the second tower network;
[0254] 70522, combining the object features with each layer output of the second tower network to obtain a second prediction model.
[0255] In a possible implementation method, before step 705, the method further includes:
[0256] Inputting the object features into a multi-layer gated neural network, wherein the multi-layer gated neural network, the first tower network, and the second tower network have the same number of layers;
[0257] Step 70512 and step 70522 specifically include:
[0258] 70512, combining the output of each layer of the multi-layer gated neural network with the output of each layer of the first tower network to obtain a first prediction model;
[0259] 70522, combining the output of each layer of the multi-layer gated neural network with the output of each layer of the second tower network to obtain a second prediction model.
[0260] In a possible implementation method, each layer of the multi-layer gated neural network includes a first fully connected layer and a second fully connected layer; the activation function of the first fully connected layer is a rectified linear unit ReLU function, and the activation function of the second fully connected layer is a sigmoid function;
[0261] The object features are fed into a multi-layer gated neural network, including:
[0262] The object feature input is sequentially input into each layer of the multi-layer gated neural network, where the output of the first fully connected layer is the input of the second fully connected layer.
[0263] In a possible implementation method, after step 705, the method further includes:
[0264] 706, obtaining sample features, where the sample features include a first sample feature and a second sample feature of the sample object;
[0265] 707, input the sample features into the prediction model to obtain a first churn probability and a second churn probability of the sample object;
[0266] 708 , the prediction model is evaluated according to a loss function, where the loss function indicates a similarity between an actual churn probability corresponding to the sample object and the first churn probability and / or the second churn probability.
[0267] In one possible implementation, the loss function includes a cross entropy loss function;
[0268] The cross entropy loss function includes the area under the elasticity curve AUUC indicator, which is calculated based on sample characteristics.
[0269] In a possible implementation method, the loss function also includes a mean square error MSE loss function; the number of sample objects is multiple;
[0270] The cross entropy function includes an area under the curve AUC indicator, and the AUC indicator is calculated based on the first churn probability and / or the second churn probability of the multiple sample objects.
[0271] Next, the workflow of the prediction model provided in the embodiment of the present application is introduced, including:
[0272] S1, first obtain online features. These features include active features (first features) corresponding to virtual interaction information, paid features (second features) corresponding to virtual resource usage information, and general features (object features) corresponding to object information. Specifically, active features can be divided into 470 dimensions, paid features can be divided into 120 dimensions, and general features can be divided into 135 dimensions. When combined with the PPNet network, it also includes id features, and the general features are input as id features.
[0273] S2, model training and prediction. The prediction model is exported as a pb file and tf-serving is used for model service. Typically, the churn prediction service can be deployed by one machine and start 10 processes. The service allows loading multiple model versions. When a new model is trained, the AUC and AUUC indicators are calculated offline. If the new model has better indicators, it will be automatically pushed to the model service and given a new version number. Then, the corresponding request can use the new version.
[0274] S3, request service. The game side sends a request before the game starts and gets two values: one value is the predicted first churn probability. The other value is the predicted second churn probability. Then, the game side can perform a union process. For example, if the first churn probability is greater than the active churn threshold or the second churn probability is greater than the paid churn threshold, some compensation will be given to the object.
[0275] In practical application, this application solves the multi-task problem of virtual interactive information loss and virtual resource usage loss. Using the prediction model provided in the embodiment of this application, better results are achieved in both paid loss and active loss tasks than the single-task prediction of the XGB model used in conventional technology. For specific calculation results, please refer to Table 1, which shows the AUC and AUUC indicators of the prediction model provided in the embodiment of this application and the conventional XGB model.
[0276] Table 1 Evaluation of the prediction model and xgb model
[0277]
[0278] The prediction method provided in the embodiment of the present application can be applied to a prediction system. Figure 8 , Figure 8 The prediction flow chart of the prediction system provided in the embodiment of the present application includes an offline process and an online process.
[0279] Online process, including:
[0280] Login / Battle: When the game object logs in to the game or enters the battle interface, the system can perform model prediction operations, including obtaining the activity and payment status of the game object.
[0281] Model prediction: A prediction model is trained in the offline process. After obtaining the activity and payment status of the game object, the churn probability of the game object can be predicted based on the trained prediction model.
[0282] Prediction results are logged: The prediction results of the model are stored in the game log. The prediction results can be used as sample data or test data to facilitate the system to optimize the model.
[0283] Compensation for lost gain objects: After predicting the possibility of loss of game objects based on the model, when it is found that the game objects show signs of loss, the game objects are given gains or compensation to avoid loss of game objects.
[0284] Normal objects remain unchanged: After predicting the possibility of loss of game objects based on the model, no prediction will be made or measures will be taken for objects that do not show signs of loss, ensuring that their gaming experience is not affected.
[0285] Offline process, including:
[0286] Game log table: When the game is running, the system will record various events in the game log. In this embodiment, the game log table includes the activity status (interaction status) and transaction status (virtual resource usage) of the game object, which can be used to train and predict the prediction model of the probability of loss of game objects.
[0287] Extracting features: extracting features related to the prediction model from the log, namely, the first feature and the second feature corresponding to the activity and transaction status of the game object.
[0288] Sample sampling: Sample representative samples from a large amount of log data for model training.
[0289] Model training: The sampled samples are used to train the prediction model, which can learn the mapping relationship between game behavior (activity and / or transaction) and game object churn.
[0290] For easier understanding, see Fig. 9 , Fig. 9 A schematic diagram of the software portion of the prediction system provided in an embodiment of the present application, including a server backend, a churn prediction service, and a churn compensation system.
[0291] The server backend is a master control. After calling the churn prediction service, it determines whether churn intervention is needed. If necessary, churn compensation is performed through the churn compensation system. If not, no changes are made.
[0292] This application also provides a data processing device, see Fig.10 , Fig.10 The structural diagram of the data processing device provided in the embodiment of the present application includes:
[0293] A first acquisition module 1001 is used to acquire a first feature and a second feature, wherein the first feature is used to indicate the virtual interaction of the target object, and the second feature is used to indicate the virtual resource usage of the target object;
[0294] A first sharing module 1002 is used to extract the first feature and the second feature to obtain a shared sub-feature;
[0295] The first feature combining module 1003 is used to combine the shared sub-feature with the first feature to obtain the first shared feature; and combine the shared sub-feature with the second feature to obtain the second shared feature;
[0296] The prediction module 1004 is used to input the first shared feature and the second shared feature into the prediction model to obtain a first churn probability of the target object based on the virtual interaction situation and a second churn probability of the target object based on the virtual resource usage situation.
[0297] It can be understood that the data processing device provided in the embodiment of the present application is Figure 3 The data processing method in the illustrated embodiment corresponds to and is used to implement the functions of the method.
[0298] In a possible implementation method, the first acquisition module 1001 is specifically used to obtain the virtual interaction status and virtual resource usage status of the target object, wherein the virtual interaction status includes: at least one of login information, interaction information, and interaction status; the virtual resource usage status includes at least one of resource usage times, resource usage amount, and resource usage status; feature extraction is performed on the virtual interaction status to obtain a first feature; feature extraction is performed on the virtual resource usage to obtain a second feature.
[0299] This application also provides a training device for the prediction model, see Fig.11 , Fig.11 A schematic diagram of the structure of a training device for a prediction model provided in an embodiment of the present application includes:
[0300] The second acquisition module 1101 is used to acquire a first feature and a second feature, wherein the first feature is used to indicate the virtual interaction of the target object, and the second feature is used to indicate the virtual resource usage of the target object;
[0301] The second sharing module 1102 is used to extract the first feature and the second feature to obtain a shared sub-feature;
[0302] The second feature combining module 1103 is used to combine the shared sub-feature with the first feature to obtain the first shared feature; and combine the shared sub-feature with the second feature to obtain the second shared feature;
[0303] The training module 1104 is used to perform training based on a neural network according to the first shared feature and the second shared feature to obtain a prediction model, wherein the prediction model is used to predict a first churn probability of the target object based on the virtual interaction situation, and to predict a second churn probability of the target object based on the virtual resource usage situation.
[0304] It is understandable that the training device of the prediction model provided in the embodiment of the present application is Figure 5 or Figure 7 The training method of the prediction model in the illustrated embodiment corresponds to and is used to implement the function of the method.
[0305] In a possible implementation method, the prediction model includes a first prediction model and a second prediction model;
[0306] The training module 1104 is specifically used to input the first shared feature into the first tower network to obtain a first prediction model, and the first prediction model is used to predict the first churn probability of the target object; input the second shared feature into the second tower network to obtain a second prediction model, and the second prediction model is used to predict the second churn probability of the target object.
[0307] In a possible implementation method, it further includes: a second acquisition module 1101, further used to acquire object features;
[0308] Among them, the training module 1104 is specifically used to input the first shared feature into the first tower network; combine the object feature with the output of each layer of the first tower network to obtain a first prediction model; input the second shared feature into the second tower network; combine the object feature with the output of each layer of the second tower network to obtain a second prediction model.
[0309] In a possible implementation method, the training module 1104 is also used to input object features into a multi-layer gated neural network, and the multi-layer gated neural network, the first tower network and the second tower network have the same number of layers; the output of each layer of the multi-layer gated neural network is combined with the output of each layer of the first tower network to obtain a first prediction model; the output of each layer of the multi-layer gated neural network is combined with the output of each layer of the second tower network to obtain a second prediction model.
[0310] In a possible implementation method, each layer of the multi-layer gated neural network includes a first fully connected layer and a second fully connected layer; the activation function of the first fully connected layer is a rectified linear unit ReLU function, and the activation function of the second fully connected layer is a sigmoid function;
[0311] The object features are fed into a multi-layer gated neural network, including:
[0312] The object feature input is sequentially input into each layer of the multi-layer gated neural network, where the output of the first fully connected layer is the input of the second fully connected layer.
[0313] In a possible implementation method, the method further includes:
[0314] The optimization module 1105 is used to obtain sample features, which include first sample features and second sample features of the sample object; input the sample features into the prediction model to obtain a first churn probability and a second churn probability of the sample object; and optimize the prediction model according to a loss function, wherein the loss function indicates the similarity between an actual churn probability corresponding to the sample object and the first churn probability and / or the second churn probability.
[0315] In one possible implementation, the loss function includes a cross entropy loss function;
[0316] The cross entropy loss function includes the area under the elasticity curve AUUC indicator, which is calculated based on sample characteristics.
[0317] In a possible implementation method, the loss function also includes a mean square error MSE loss function; the number of sample objects is multiple;
[0318] The cross entropy function includes an area under the curve AUC indicator, and the AUC indicator is calculated based on the first churn probability and / or the second churn probability of the multiple sample objects.
[0319] Fig.12 A schematic diagram of a server structure provided in an embodiment of the application, the server 300 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPU) 322 (for example, one or more processors) and memory 332, one or more storage media 330 (for example, one or more mass storage devices) storing application programs 342 or data 344. Among them, the memory 332 and the storage medium 330 can be short-term storage or permanent storage. The program stored in the storage medium 330 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the server. Furthermore, the central processing unit 322 can be configured to communicate with the storage medium 330 to execute a series of instruction operations in the storage medium 330 on the server 300.
[0320] The server 300 may also include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input and output interfaces 358, and / or one or more operating systems 341, such as Windows Server 2000. TM , Mac OS X TM , Unix TM ,Linux TM , FreeBSD TM etc.
[0321] The steps performed by the server in the above embodiment can be based on the Fig.12 The server structure.
[0322] Specifically, CPU 322 may be used to execute the following operations: Figure 3 Steps 301 to 305 in the corresponding embodiment can also be used to perform the following steps: Figure 5 In the corresponding embodiment, steps 501 to 508, the CPU 322 may be used to execute the following steps: Figure 7 This corresponds to step 701 to step 708 in the embodiment.
[0323] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0324] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0325] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0326] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0327] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., and other media that can store program codes.
[0328] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some of the technical features therein by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A data processing method, characterized in that: include: Acquire a first feature and a second feature, wherein the first feature is used to indicate virtual interaction information of a target object, and the second feature is used to indicate virtual resource usage information of the target object; Performing feature extraction on the first feature and the second feature to obtain a shared sub-feature; Combining the shared sub-feature with the first feature to obtain a first shared feature; Combining the shared sub-feature with the second feature to obtain a second shared feature; The first shared feature and the second shared feature are input into a prediction model to obtain a first churn probability of the target object based on the virtual interaction information and a second churn probability of the target object based on the virtual resource usage information.
2. The method according to claim 1, characterized in that The obtaining of the first feature and the second feature specifically includes: Acquire the virtual interaction information and the virtual resource usage information of the target object, wherein the virtual interaction information includes at least one of login information, interaction information, and interaction status, and the virtual resource usage information includes at least one of resource usage times, resource usage amount, and resource usage status; Extracting features from the virtual interaction information to obtain the first feature; Feature extraction is performed on the virtual resource usage information to obtain the second feature.
3. The method according to claim 1, characterized in that: Before inputting the first shared feature and the second shared feature into the prediction model, the method further includes: Acquire a training feature set, the training feature set including training features of a plurality of training objects, the training features including a first training feature and a second training feature, the first training feature being used to indicate the virtual interaction information of the training object, and the second training feature being used to indicate the virtual resource usage information of the training object; Performing feature extraction on each training feature in the training feature set to obtain a shared training sub-feature corresponding to each training object; Combining the shared training sub-feature with the first training feature to obtain a first shared training feature corresponding to each of the training objects; Combining the shared training sub-feature with the second training feature to obtain a second shared training feature corresponding to each of the training objects; The prediction model is obtained by training based on a neural network according to the first shared training features and the second shared training features.
4. The method according to claim 3, characterized in that The prediction model includes a first prediction model and a second prediction model; The step of training based on a neural network according to the first shared training feature and the second shared training feature to obtain the prediction model includes: Inputting the first shared training feature into a first tower network to obtain a first prediction model, wherein the first prediction model is used to predict the first churn probability of the target object; The second shared training features are input into a second tower network to obtain a second prediction model, where the second prediction model is used to predict the second churn probability of the target object.
5. The method according to claim 4, characterized in that The training feature set further includes training object features of the training object; The step of training based on a neural network according to the first shared training feature and the second shared training feature to obtain the prediction model includes: inputting the first shared training features into the first tower network; Combining the training object features with each layer output of the first tower network to obtain the first prediction model; inputting the second shared training features into the second tower network; The training object features are combined with each layer output of the second tower network to obtain the second prediction model.
6. The method according to claim 5, characterized in that Before the prediction model is obtained by training based on a neural network according to the first shared training feature and the second shared training feature, the method further includes: Inputting the training object features into a multi-layer gated neural network, wherein the multi-layer gated neural network, the first tower network, and the second tower network have the same number of layers; The combining of the training object feature with each layer output of the first tower network and the combining of the training object feature with each layer output of the second tower network include: Combining the output of each layer of the multi-layer gated neural network with the output of each layer of the first tower network; The output of each layer of the multi-layer gated neural network is combined with the output of each layer of the second tower network.
7. The method according to claim 6, characterized in that Each layer of the multi-layer gated neural network includes a first fully connected layer and a second fully connected layer; the activation function of the first fully connected layer is a rectified linear unit ReLU function, and the activation function of the second fully connected layer is a sigmoid function; The step of inputting the training object features into a multi-layer gated neural network comprises: The training object feature input is sequentially input into each layer of the multi-layer gated neural network, wherein the output of the first fully connected layer is the input of the second fully connected layer.
8. The method according to any one of claims 3 to 7, characterized in that: After the prediction model is obtained by training based on a neural network according to the first shared training feature and the second shared training feature, the method further includes: Acquire sample features, where the sample features include a first sample feature and a second sample feature of the sample object; Inputting the sample features into the prediction model to obtain the active churn probability and the paid churn probability of the sample object; The prediction model is trained according to a loss function, where the loss function indicates a similarity between an actual churn probability corresponding to the sample object and the first churn probability and / or the second churn probability.
9. The method according to claim 8, characterized in that The loss function includes a cross entropy loss function; The cross entropy loss function includes an area under the elasticity curve (AUUC) indicator, and the AUUC indicator is calculated based on the sample characteristics.
10. The method according to claim 9, characterized in that The loss function also includes a mean square error loss function; the number of the sample objects is multiple; The cross entropy function includes an area under the curve (AUC) indicator, and the AUC indicator is calculated based on the first churn probability and / or the second churn probability of a plurality of the sample objects.
11. A method for training a prediction model, characterized in that: include: Acquire a first feature and a second feature, wherein the first feature is used to indicate virtual interaction information of a target object, and the second feature is used to indicate virtual resource usage information of the target object; Performing feature extraction on the first feature and the second feature to obtain a shared sub-feature; Combining the shared sub-feature with the first feature to obtain a first shared feature; Combining the shared sub-feature with the second feature to obtain a second shared feature; According to the first shared feature and the second shared feature, a prediction model is obtained by training based on a neural network. The prediction model is used to predict a first churn probability of the target object based on the virtual interaction information, and to predict a second churn probability of the target object based on the virtual resource usage information.
12. A data processing device, characterized in that: include: A first acquisition module, used to acquire a first feature and a second feature, wherein the first feature is used to indicate virtual interaction information of a target object, and the second feature is used to indicate virtual resource usage information of the target object; A first sharing module, used for performing feature extraction on the first feature and the second feature to obtain a shared sub-feature; A first feature combining module, used for combining the shared sub-feature with the first feature to obtain a first shared feature; Combining the shared sub-feature with the second feature to obtain a second shared feature; A prediction module is used to input the first shared feature and the second shared feature into a prediction model to obtain a first churn probability of the target object based on the virtual interaction information and a second churn probability of the target object based on the virtual resource usage information.
13. A prediction model training device, characterized in that: include: A second acquisition module, used to acquire a first feature and a second feature, wherein the first feature is used to indicate virtual interaction information of a target object, and the second feature is used to indicate virtual resource usage information of the target object; A second sharing module is used to extract the first feature and the second feature to obtain a shared sub-feature; A second feature combining module, used for combining the shared sub-feature with the first feature to obtain a first shared feature; Combining the shared sub-feature with the second feature to obtain a second shared feature; A training module is used to perform training based on a neural network according to the first shared feature and the second shared feature to obtain a prediction model, wherein the prediction model is used to predict a first churn probability of the target object based on the virtual interaction information, and to predict a second churn probability of the target object based on the virtual resource usage information.
14. A computer device, characterized in that: include: memories, transceivers, processors, and bus systems; Wherein, the memory is used to store programs; The processor is used to execute the program in the memory, including executing the data processing method according to any one of claims 1 to 10, or executing the training method of the prediction model according to claim 11; The bus system is used to connect the memory and the processor so that the memory and the processor can communicate with each other.
15. A computer-readable storage medium comprising instructions, which, when executed on a computer, enables the computer to execute the data processing method according to any one of claims 1 to 10, or the prediction model training method according to claim 11.