Application recommendation method, device, computer equipment and storage medium
By obtaining and fusing the application representation vector and category representation vector of the target object and using machine learning models for encoding and decoding, the problem of low accuracy in traditional application recommendations is solved, and higher recommendation accuracy and demand satisfaction are achieved.
Patent Information
- Application Number
- CN202110666604.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-16
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2041-06-16
AI Technical Summary
In traditional application recommendation technology, the recommended applications cannot meet user needs and have low accuracy.
By obtaining the application representation vector sequence of the target object, determining the category of the historical operation application, and fusing the application representation vector with the category representation vector to generate a fusion vector sequence, the machine learning model is used for encoding and decoding to determine the target recommended application.
The accuracy of application recommendations is improved, which can better meet the needs of target objects and reflect changes in their operating behaviors and intentions.
Smart Images

Figure CN115481312B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to an application recommendation method, apparatus, computer device, and storage medium. Background Art
[0002] With the development of computer technology, application recommendation technology has emerged, which can intelligently recommend applications to users. For example, in instant messaging applications, third-party sub-applications can be intelligently recommended to users.
[0003] In traditional technology, the user's recently used applications are saved and a list of saved applications is generated and recommended to the user when a recommendation is needed. However, when the user clicks on an application, the recommended application often does not meet the user's needs and the recommendation accuracy is low. Summary of the Invention
[0004] Based on this, it is necessary to provide an application recommendation method, device, computer equipment and storage medium that can improve the accuracy of application recommendation in response to the above technical problems.
[0005] A method for application recommendation, the method comprising: obtaining an application representation vector sequence corresponding to a target object; the application representation vector sequence comprising historical application representation vectors corresponding to a plurality of historical operation applications, the historical application representation vectors being arranged according to the operation order of the historical operation applications by the target object; determining the historical application category corresponding to the historical operation application, and determining the application category representation vector corresponding to the historical application category; fusing the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vector to obtain a fusion vector, and arranging the fusion vector according to the operation order to obtain a fusion vector sequence; and determining a target recommended application corresponding to the target object based on the fusion vector sequence.
[0006] An application recommendation device, the device comprising: a vector sequence acquisition module for acquiring an application representation vector sequence corresponding to a target object; the application representation vector sequence comprising historical application representation vectors corresponding to a plurality of historical operation applications, the historical application representation vectors being arranged according to the operation sequence of the historical operation applications by the target object; a category determination module for determining the historical application category corresponding to the historical operation application, and determining the application category representation vector corresponding to the historical application category; a vector fusion module for fusing the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vector to obtain a fused vector, and arranging the fused vector according to the operation sequence to obtain a fused vector sequence; and a recommended application determination module for determining a target recommended application corresponding to the target object based on the fused vector sequence.
[0007] In some embodiments, the recommended application determination module is also used to obtain the object representation vector of the target object; obtain the candidate application representation vector corresponding to each candidate application in the candidate application set; combine the object representation vector, the candidate application representation vector and the operation trend representation vector to obtain the recommendation degree corresponding to the candidate application; based on the recommendation degree corresponding to the candidate application, determine the target recommended application corresponding to the target object from the candidate application set.
[0008] In some embodiments, the recommended application determination module is further used to input the fusion vector sequence into an encoding model in a trained application recommendation model, encode the fusion vector sequence through the encoding model, and obtain the operation trend representation vector corresponding to the target object; combining the object representation vector, the candidate application representation vector and the operation trend representation vector to obtain the recommendation degree corresponding to the candidate application includes: inputting the object representation vector, the candidate application representation vector and the operation trend representation vector into a decoding model in the application recommendation model, decoding them through the decoding model, and obtaining the recommendation degree corresponding to the candidate application.
[0009] In some embodiments, the device further includes: a model training module for obtaining a training representation vector sequence corresponding to a training object; the training representation vector sequence includes historical training representation vectors corresponding to multiple historical training operation applications, and the historical training representation vectors are arranged according to the training operation sequence of the historical training operation applications by the training object; determining the training application category corresponding to the historical training operation application, and determining the training category representation vector corresponding to the training application category; fusing the historical training representation vectors in the training representation vector sequence with the corresponding training category representation vector to obtain a training fusion vector, and arranging the training fusion vector according to the training operation sequence to obtain a training fusion vector sequence; obtaining a current training representation vector corresponding to the current training application corresponding to the training object, and constructing a positive training sample based on the object representation vector corresponding to the training object, the training fusion vector sequence and the current training representation vector; training the application recommendation model based on the positive training sample to obtain a trained application recommendation model.
[0010] In some embodiments, the device also includes a representation vector determination module, which is used to obtain a training object set and a training application set; the training object set includes the target object, and the training application set includes the candidate application; the number of operations of each training object on each training application is counted, and the standard operation tendency of each training object on each training application is determined based on the number of operations of each training object on each training application; the current object representation vector corresponding to each training object and the current application representation vector corresponding to the training application are obtained, and the training operation tendency of the training object for each training application is obtained based on the current object representation vector and the current application representation vector; based on the difference between the training operation tendency and the standard operation tendency, the current object representation vector and the current application representation vector are adjusted to obtain the object representation vector corresponding to each training object and the application representation vector corresponding to each training application.
[0011] In some embodiments, the target recommended application is obtained by screening from a candidate application set, and the device also includes: a candidate application set determination module, used to determine the operation application set corresponding to the target object; determine the number of operations performed by the target object on each operation application in the operation application set; based on the number of operations of the operation application, select candidate applications from the operation application set to form a candidate application set.
[0012] In some embodiments, the recommended application determination module is also used to obtain the recommendation degree corresponding to each of the candidate applications based on the fusion vector sequence; select a candidate recommended application that meets the recommendation degree conditions from the candidate application set as the target recommended application corresponding to the target object; the recommendation degree conditions include at least one of the recommendation degree being greater than the recommendation degree threshold or the recommendation degree ranking being before the ranking threshold.
[0013] In some embodiments, the category determination module is further used to cluster the historical application representation vectors in the application representation vector sequence to obtain multiple cluster categories; and use the cluster category corresponding to the historical application representation vector as the historical application category corresponding to the historical operation application.
[0014] In some embodiments, the category determination module is also used to determine a set of historical application representation vectors corresponding to the clustering category; perform statistics on the historical application representation vectors in the set of historical application representation vectors to obtain a statistical vector; and use the statistical vector as the application category representation vector corresponding to the historical application category.
[0015] In some embodiments, the category determination module is also used to obtain the number of vectors in the application representation vector sequence; determine the quantity interval corresponding to the number of vectors, and obtain the number of categories corresponding to the quantity interval; the number of categories is positively correlated with the numerical value corresponding to the quantity interval; cluster the historical application representation vectors in the application representation vector sequence based on the number of categories, and obtain the clustering category of the number of categories.
[0016] A computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the following steps when executing the computer program: obtaining an application representation vector sequence corresponding to a target object; the application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications, and the historical application representation vectors are arranged according to the operation order of the historical operation applications by the target object; determining the historical application category corresponding to the historical operation application, and determining the application category representation vector corresponding to the historical application category; fusing the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vector to obtain a fusion vector, and arranging the fusion vector according to the operation order to obtain a fusion vector sequence; and determining a target recommended application corresponding to the target object based on the fusion vector sequence.
[0017] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps: obtaining an application representation vector sequence corresponding to a target object; the application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications, and the historical application representation vectors are arranged according to the operation order of the target object on the historical operation applications; determining the historical application category corresponding to the historical operation application, and determining the application category representation vector corresponding to the historical application category; fusing the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vector to obtain a fusion vector, and arranging the fusion vector according to the operation order to obtain a fusion vector sequence; and determining a target recommended application corresponding to the target object based on the fusion vector sequence.
[0018] The above-mentioned application recommendation method, device, computer equipment and storage medium first obtain the application representation vector sequence corresponding to the target object. Since the application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications, and the historical application representation vectors are arranged according to the operation order of the target object on the historical operation application, then the application representation vector sequence can reflect the historical operation behavior of the target object on the application, further determine the historical application category corresponding to the historical operation application, determine the application category representation vector corresponding to the historical application category, fuse the historical application representation vector in the application representation vector sequence with the corresponding application category representation vector to obtain a fusion vector, arrange the fusion vector according to the operation order to obtain a fusion vector sequence, and determine the target recommended application corresponding to the target object based on the fusion vector sequence. The application category representation vector can reflect the target object's operation intention on the application in the historical time period, then the obtained fusion vector sequence can simultaneously reflect the change information of the target object's historical operation application and operation intention. The target recommended application determined according to the fusion vector sequence can better meet the needs of the target object, and the accuracy of application recommendation is high. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 A diagram of an application environment for applying the recommended method in some embodiments;
[0020] Figure 2 A flowchart illustrating a recommended method for applying the method in some embodiments;
[0021] Figure 3 is a schematic diagram of a process for encoding a fusion vector sequence in some embodiments;
[0022] Figure 4 A schematic diagram of the structure of a decoding model in some embodiments;
[0023] Figure 5 A schematic diagram of performing application recommendation in combination with an application recommendation model in some embodiments;
[0024] Figure 6 A flowchart illustrating the training steps of applying a recommendation model in some embodiments;
[0025] Figure 7 A schematic diagram of an object-application graph in some embodiments;
[0026] Figure 8 is a schematic diagram of the clustering process in some embodiments;
[0027] Figure 9 A structural block diagram of an application recommendation device in some embodiments;
[0028] Figure 101 is a diagram of the internal structure of a computer device in some embodiments. DETAILED DESCRIPTION
[0029] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0030] Artificial Intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also involves studying the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
[0031] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0032] Machine learning (ML) is a multidisciplinary field that encompasses probability theory, statistics, approximation theory, convex analysis, and algorithmic complexity theory. It specifically studies how computers can simulate or implement human learning behaviors to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is at the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications span all areas of AI. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and self-learning.
[0033] The solution provided in the embodiments of this application involves artificial intelligence machine learning technology, and application recommendations are achieved through machine learning technology, which is specifically illustrated by the following embodiments:
[0034] The application recommendation method provided in this application can be applied to Figure 1In the application environment shown in FIG. , the server 102 and the terminal 104 communicate via a network. The terminal 104 may include one or more terminals, and this application does not limit the number of terminals. Figure 1 , the multiple terminals may specifically include terminal 104a, terminal 104b, terminal 104c... The server can push applications to any terminal. For example, the server can obtain an application representation vector sequence corresponding to the target object corresponding to terminal 104a according to a preset time period, and the application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications, and these historical application representation vectors are arranged according to the operation order of the target object on the historical operation application. The server further determines the historical application category corresponding to the historical operation application, determines the application category representation vector corresponding to the historical application category, fuses the historical application representation vector in the application representation vector sequence with the corresponding application category representation vector to obtain a fusion vector, arranges the fusion vector according to the operation order to obtain a fusion vector sequence, and determines the target recommended application corresponding to the target object based on the fusion vector sequence. Then, when the server receives the application recommendation request from terminal 104a, it can push the target recommended application to terminal 104a.
[0035] The server 102 may be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing 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, CDN, and big data and artificial intelligence platforms. The terminal 104 may be, but is not limited to, various personal computers, laptops, smartphones, smart TVs, tablet computers, and portable wearable devices.
[0036] In some embodiments, as Figure 2 As shown, an application recommendation method is provided, which is applied to Figure 1 The following steps are used as an example to illustrate the server in the example:
[0037] Step 202 : Obtain an application representation vector sequence corresponding to the target object. The application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications. The historical application representation vectors are arranged according to the operation sequence of the target object on the historical operation applications.
[0038] Among them, the application can be a child application or a parent application. The parent application is a native application. A native application is an application program that can be run directly on the operating system. The child application is an application that can be used without downloading. It can be implemented in the environment provided by the parent application and started, run, and closed through the parent application to provide corresponding business services to users. The parent application can be a social application, a dedicated application that specifically supports child applications, a file management application, an email application, a shopping application, a payment application, or a game application. Social applications include instant messaging applications, SNS (Social Network Service, social networking site) applications, or live broadcast applications. The child application can be a social application, a file management application, an email application, or a game application.
[0039] The target user refers to the user for whom an app recommendation is intended. Specifically, this user can be the user of an app that has an app recommendation feature. For example, if an instant messaging app can recommend sub-apps, the target user could be a registered user of the instant messaging app. Alternatively, if an app that provides a download service can recommend apps that users need to download, the target user could be the user of the app that provides the download service.
[0040] The application representation vector sequence corresponding to the target object includes historical application representation vectors corresponding to multiple historical operation applications, and the historical application representation vectors are arranged according to the operation order of the target object on the historical operation application. Multiple refers to at least two. Historical operation application refers to the application that the target object has operated in a historical period before the current time. The operation here refers to the selection operation of the application, and the selection operation can specifically be an operation of selecting the application through voice, gesture or click. The historical application representation vector corresponding to the historical operation application refers to the vector that represents the historical operation application. It can be understood that the user can operate the same application multiple times within the historical time period. Therefore, the same historical application representation vector can be included in the application representation vector sequence.
[0041] The target object's operation sequence for historical operation applications refers to the time sequence in which the target object operated on the application in a period of historical time before the current time. The historical application representation vectors are arranged according to the target object's operation sequence for historical operation applications, which means that the arrangement order of each historical application representation vector in the application representation vector sequence is consistent with the target object's operation sequence for each historical application representation vector corresponding to each historical operation application. For example, assuming that the target object is user u, the application operated by user u is a mini program, and user u has operated K u The first operation is applet 1, and the application representation vector corresponding to applet 1 is l u,1The second operation is for applet 2, and the application representation vector corresponding to applet 2 is l u,2 , ..., Kth u The operation is for the mini program K u , the application representation vector corresponding to applet 2 is Then the application representation vector sequence of user u is
[0042] Specifically, the server can pre-store a sequence of application representation vectors for each target object. Each time a target object operates an application, the server obtains the application representation vector corresponding to that application and adds it to the target object's corresponding application representation vector sequence to update the target object's corresponding application representation vector sequence. When recommending an application, the server queries the pre-stored application representation vector sequence dataset based on the target object's object identifier to obtain the corresponding application representation vector sequence.
[0043] In some embodiments, the server can make application recommendations according to a preset time period, for example, making application recommendations every other day. The server then obtains the application representation vector sequence corresponding to the target object according to the preset period to make application recommendations to the target object based on the obtained application representation vector sequence.
[0044] In some other embodiments, when the server receives an access request, it determines the target object based on the object identifier carried in the access request, and then obtains the application representation vector sequence corresponding to the target object based on the object identifier, so as to make application recommendations for the target object based on the obtained application representation vector sequence.
[0045] Step 204 : Determine the historical application category corresponding to the historical operation application, and determine the application category representation vector corresponding to the historical application category.
[0046] The historical application category corresponding to a historical operation application refers to the application classification to which the historical operation application belongs. Application categories can be specifically divided by function, for example, entertainment, news, shopping, and so on. The historical application category can reflect the target user's intention when operating the historical operation application at a high level. For example, a news application can reflect the user's intention to browse news. The application category representation vector corresponding to the historical application category refers to the vector representing the historical application category.
[0047] Specifically, after obtaining the application representation vector sequence corresponding to the target object, for each historical application representation vector in the application representation vector sequence, the server determines the historical application category corresponding to the historical operation application corresponding to the historical application representation vector, and further determines the application category representation vector corresponding to the historical application category.
[0048] In some embodiments, the server may classify historically operated applications using a trained application category classification model to determine the historical application categories corresponding to the historically operated applications. The application category classification model is a machine learning model obtained through supervised training. During the supervised training process, a preset number of application categories are predetermined, and application categories are labeled for different user operations to obtain training samples. The application category classification model is trained based on the training samples. When the training process meets convergence conditions, a trained application category classification model is obtained.
[0049] In other embodiments, taking into account the differences between different target objects, if only a preset number of application categories are pre-defined, it cannot accurately reflect the characteristics of the target object itself. Then, when determining the historical application category corresponding to the historical operation application, the server can also cluster the historical application representation vectors in the application representation vector sequence to obtain multiple cluster categories, and then use the cluster category corresponding to each historical application representation vector as the application category of the historical operation application corresponding to each historical application representation vector.
[0050] Step 206 : Fusing the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vectors to obtain a fused vector, and arranging the fused vectors in an operation order to obtain a fused vector sequence.
[0051] Among them, vector fusion refers to using one vector to represent multiple vectors. Fusion can be splicing. Splicing can be horizontal splicing. For example, suppose the historical application represents the vector (x1, x2, ..., x n ), application category representation vector (y1,y2,……,y n ), then the server fuses the historical application representation vector in the historical application representation vector sequence with the corresponding application category representation vector, and the resulting fusion vector is (x1, x2, ..., x n ,y1,y2,……,y n ).
[0052] The application category representation vector corresponding to the historical application representation vector refers to the application category representation vector corresponding to the historical application category to which the historical operation application corresponding to the historical application representation vector belongs. For example, assuming that the historical application representation vector (x1, x2, ..., x n ) corresponds to the historical operation application "XX application", the historical application category to which this application belongs is Y, and the application category representation vector corresponding to the historical application category Y is (c1, c2, ..., c n ), then the historical application represents the vector (x1, x2, ..., x n) corresponds to the application category representation vector (c1, c2, ..., c n ).
[0053] Specifically, for each historical application representation vector in the application representation vector sequence, the server fuses the historical application representation vector with the application category representation vector corresponding to the historical application representation vector to obtain a fusion vector corresponding to the historical application representation vector, and arranges each fusion vector according to the operation order of the target object's historical operation application to obtain a fusion vector sequence.
[0054] For example, suppose the historical application representation vector sequence of user u is The application category representation vectors corresponding to each historical application representation vector in the historical application representation vector sequence are: The obtained fusion vector sequence is Here, || means concatenating two vectors.
[0055] Step 208: Determine the target recommended application corresponding to the target object based on the fused vector sequence.
[0056] The target recommended application corresponding to the target object refers to the application that needs to be recommended to the target object.
[0057] Specifically, the server may determine the recommendation degree corresponding to each candidate application in the candidate application set based on the fusion vector sequence, and determine the target recommended application corresponding to the target object from the candidate application set based on the recommendation degree corresponding to each candidate application.
[0058] In some embodiments, the server may perform encoding based on the fused vector sequence to obtain an operation trend representation vector corresponding to the target object, and then determine a target recommended application corresponding to the target object based on the operation trend representation vector.
[0059] In some embodiments, the server may further push the target recommended application to the terminal corresponding to the target object to recommend the target recommended application.
[0060] In the above application recommendation method, the application representation vector sequence corresponding to the target object is first obtained. Since the application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications, and the historical application representation vectors are arranged according to the operation order of the target object on the historical operation application, the application representation vector sequence can reflect the historical operation behavior of the target object on the application, further determine the historical application category corresponding to the historical operation application, determine the application category representation vector corresponding to the historical application category, and fuse the historical application representation vector in the application representation vector sequence with the corresponding application category representation vector to obtain a fusion vector. The fusion vector is arranged according to the operation order to obtain a fusion vector sequence. Based on the fusion vector sequence, the target recommended application corresponding to the target object is determined. The application category representation vector can reflect the target object's operation intention on the application in the historical time period. The obtained fusion vector sequence can simultaneously reflect the change information of the target object's historical operation application and operation intention. The target recommended application determined according to the fusion vector sequence can better meet the needs of the target object, and the accuracy of application recommendation is high.
[0061] In some embodiments, determining the target recommended application corresponding to the target object based on the fusion vector sequence includes: encoding based on the fusion vector sequence to obtain the operation trend representation vector corresponding to the target object; and determining the target recommended application corresponding to the target object based on the operation trend representation vector.
[0062] Encoding is the process of converting information from one form or format to another. Encoding a fused vector sequence refers to the process of expressing the trend information contained in the fused vector sequence. This trend information includes, at a micro level, information about the changing trends of the applications operated by the target object, and, at a macro level, information about the changing trends of the target object's intentions in operating the applications.
[0063] Specifically, the server encodes based on the fusion vector sequence to obtain the operation trend representation vector corresponding to the target object. Based on the operation trend representation vector, the recommendation degree corresponding to each candidate application in the candidate application set can be determined. Based on the recommendation degree corresponding to each candidate application, the target recommended application corresponding to the target object is determined from the candidate application set.
[0064] In some embodiments, the computer device may select a traditional encoding function to sequentially encode each vector in the fused vector sequence. Traditional encoding functions, such as encoding functions based on the SIFT (Scale Invariant Feature Transform) algorithm or the HOG (Histogram of Oriented Gradient) algorithm, may be used.
[0065] In some other embodiments, the computer device may also select a neural network based on machine learning to encode each vector in the fused vector sequence. The encoding model may be a neural network used for encoding, specifically an encoding model based on convolution operations, such as a recurrent neural network (RNN), a convolutional neural network (CNN), a long short-term memory network (LSTM), a BiLSTM, a gated recurrent unit (GRU), a BiGRU, and the like. Among them, CNN is a type of feedforward neural network (Feedforward Neural Networks) that includes convolution calculations and has a deep structure; RNN is a type of recursive neural network (Recursive Neural Network) that takes sequence data as input, performs recursion in the direction of sequence evolution, and all nodes (recurrent units) are connected in a chain manner; LSTM is a time recurrent neural network that is specially designed to solve the long-term dependency problem existing in general RNN (recurrent neural network). All RNNs have a chain form of repeated neural network modules. The forward LSTM and backward LSTM are combined into BiLSTM; GRU is a type of RNN. Like LSTM, it is also proposed to solve problems such as long-term memory and gradients in backpropagation. The forward GRU and backward GRU are combined into BiGRU.
[0066] Taking LSTM as an example, the process of encoding the fusion vector sequence is as follows Figure 3 Reference Figure 3 , assuming that the obtained fusion vector sequence is The vectors in the fused vector sequence are input into the LSTM model one by one for encoding. Each time encoding, the LSTM model combines the current input and the output of the previous encoding to encode. The specific implementation is as follows (1)-(6):
[0067] f t =σ(W f ·[h t-1 ||x t ]+b f ) (1)
[0068] i t =σ(W i ·[h t-1 ||x t ]++b i ) (2)
[0069]
[0070] C t =f t *C t-1 +i t *C t-1 (4)
[0071] o t =σ(W o ·[h t-1 ||x t ]++b o ) (5)
[0072] h t =o t *tanh(C t ) (6)
[0073] Among them, [W f ,b f ,W i ,b i ,W o ,b o ] are the corresponding weights, which are the network model parameters of LSTM; f t is the output of the forget gate at time t in the LSTM network, σ is the sigmoid function, x t Input for the current moment, h t-1 is the output of the LSTM network at time t-1, h t is the output of the LSTM network at time t; i t is the output of the input gate in the LSTM network; o t is the output of the output gate in the LSTM network; c t is the cell memory at time t, c t-1 is the cell memory at time t-1, It is the temporary cell memory at time t-1.
[0074] In this embodiment, the server encodes based on the fusion vector sequence to obtain the operation trend representation vector corresponding to the target object, and determines the target recommended application corresponding to the target object based on the operation trend representation vector. Since the operation trend representation vector can include the changing trend information of the application operated by the target object from a micro perspective, and include the changing trend information of the target object's intention to operate the application from a macro perspective, the target recommended application determined based on the operation trend representation vector can better describe the target object's current usage intention and the trend of intention change, thereby better meeting the needs of the target object and further improving the accuracy of application recommendations.
[0075] In some embodiments, determining the target recommended application corresponding to the target object based on the operation trend representation vector includes: obtaining the object representation vector of the target object; obtaining the candidate application representation vector corresponding to each candidate application in the candidate application set; combining the object representation vector, the candidate application representation vector and the operation trend representation vector to obtain the recommendation degree corresponding to the candidate application; based on the recommendation degree corresponding to the candidate application, determining the target recommended application corresponding to the target object from the candidate application set.
[0076] Among them, the object representation vector of the target object refers to the vector that expresses the target object. The candidate application representation vector corresponding to the candidate application refers to the vector that expresses the target object. The recommendation degree is used to characterize the degree of match between the candidate application and the target object. The greater the recommendation degree, the higher the degree of match between the candidate application and the target object. After the candidate application is recommended to the target object, the greater the possibility that the target object will operate it. In other words, the greater the recommendation degree of the candidate application, the more likely it is to meet the current needs of the target object. Conversely, the greater the recommendation degree, the lower the degree of match between the candidate application and the target object. The candidate application in the candidate application set can be an application that has been operated by the target object.
[0077] Specifically, the server pre-stores the object representation vector of each target object in the object set and the candidate application representation vector corresponding to each candidate application in the candidate application set. The server queries the corresponding object representation vector according to the object identifier of the target object to obtain the object representation vector of the target object. The server further obtains the candidate application representation vector corresponding to each candidate application in the candidate application set, and then the server fuses each candidate application representation vector with the object representation vector and the operation trend representation vector to obtain multiple fusion vectors, and determines the recommendation degree corresponding to each candidate application based on the obtained multiple fusion vectors. After obtaining the recommendation degree corresponding to each candidate application, the server selects the candidate recommended application that meets the recommendation degree conditions from the candidate application set as the target recommended application corresponding to the target object. The fusion can specifically be splicing.
[0078] For example, assuming that the object representation vector of the target object is X1, the candidate application set includes 3 candidate applications, namely candidate application 1, candidate application 2 and candidate application 3, the candidate application representation vectors corresponding to candidate application 1 are Y1, the candidate application representation vectors corresponding to candidate application 2 are Y2, the candidate application representation vectors corresponding to candidate application 3 are Y3, and the operation trend representation vector is Z1. The server fuses the object representation vector X1, the candidate application representation vector Y1 and the operation trend representation vector Z1 to obtain the fused vector X1Y1Z1, and obtains the candidate application based on the fused vector X1Y1Z1. The recommendation degree w1 of application 1 is obtained by fusing the object representation vector X2, the candidate application representation vector Y2 and the operation trend representation vector Z2 to obtain the fusion vector X2Y2Z2. The recommendation degree w2 of candidate application 2 is obtained based on the fusion vector X2Y2Z2. The object representation vector X3, the candidate application representation vector Y3 and the operation trend representation vector Z3 are fused to obtain the fusion vector X3Y3Z3. The recommendation degree w3 of candidate application 3 is obtained based on the fusion vector X3Y3Z3. The target recommended application corresponding to the target object is determined from the candidate application set based on the recommendation degrees w1, w2 and w3.
[0079] In some embodiments, when the server determines the recommendation degree corresponding to each candidate application based on the obtained multiple fusion vectors, the server can input the fusion vector into a trained machine learning model to obtain the recommendation degree corresponding to each candidate application.
[0080] In some embodiments, the server can construct an object-application matrix based on the operational behavior of the objects in the object set on the application, and obtain the object representation vector of each target object in the object set and the candidate application representation vector corresponding to each candidate application in the candidate application set by performing matrix decomposition on the object-application matrix.
[0081] In some other embodiments, the server can construct an object-application graph based on the operation behavior of objects in the object set on the application, and obtain the object representation vector of each target object in the object set and the candidate application representation vector corresponding to each candidate application in the candidate application set by performing a random walk on the object-application graph.
[0082] In the above embodiment, by obtaining the object representation vector of the target object, obtaining the candidate application representation vector corresponding to each candidate application in the candidate application set, and combining the object representation vector, the candidate application representation vector and the operation trend representation vector, the recommendation degree corresponding to the candidate application is obtained. Since the recommendation degree is obtained by combining the object representation vector, the candidate application representation vector and the operation trend representation vector, it can better reflect the matching degree between the target object and the candidate application, and the obtained recommendation degree is more accurate.
[0083] In some embodiments, encoding is performed based on a fusion vector sequence to obtain an operation trend representation vector corresponding to the target object, including: inputting the fusion vector sequence into an encoding model in a trained application recommendation model, encoding the fusion vector sequence through the encoding model, and obtaining an operation trend representation vector corresponding to the target object; combining the object representation vector, the candidate application representation vector, and the operation trend representation vector to obtain a recommendation degree corresponding to the candidate application, including: inputting the object representation vector, the candidate application representation vector, and the operation trend representation vector into a decoding model in the application recommendation model, decoding through the decoding model, and obtaining a recommendation degree corresponding to the candidate application.
[0084] Among them, the application recommendation model refers to a machine learning model that can be used for application recommendation. The application recommendation model includes an encoding model and a decoding model. The application recommendation model can be obtained through supervised training. During the training process, the server can construct positive training samples based on the object representation vector corresponding to the target object, the candidate application representation vector of the candidate application currently operated by the target object, and the fusion vector sequence corresponding to the target object, and train the application recommendation model based on the positive training samples, or construct negative training samples based on the object representation vector corresponding to the target object, the candidate application representation vector of the candidate application not currently operated by the target object, and the fusion vector sequence corresponding to the target object, and train the application recommendation model based on the negative training samples.
[0085] Specifically, the server inputs the fusion vector sequence into the encoding model in the trained application recommendation model, encodes the fusion vector sequence through the encoding model to obtain the operation trend representation vector corresponding to the target object, fuses the object representation vector, the candidate application representation vector and the operation trend representation vector to obtain a fusion vector, inputs the fusion vector into the decoding model in the application recommendation model, decodes it through the decoding model, and obtains the recommendation degree corresponding to the candidate application.
[0086] In some embodiments, the decoding model can be a Multi-Layer Perception (MLP). MLP consists of three layers: input layer, hidden layer and output layer. The different layers of the MLP neural network are fully connected. Here, full connection means that any neuron in the previous layer is connected to all neurons in the next layer. Figure 4 , which is a schematic structural diagram of a decoding model, including an input layer 402 , a first hidden layer 404 , a first hidden layer 406 and an output layer 408 .
[0087] like Figure 5 FIG. 1 is a schematic diagram of application recommendation in combination with an application recommendation model in some embodiments. Figure 5The server inputs the fusion vector sequence into the encoding model of the application recommendation model, encodes the fusion vector sequence through the encoding model, and obtains the operation trend representation vector corresponding to the target object. Then, the operation trend representation vector, the object representation vector and the candidate application representation vector are input into the decoding model of the application recommendation model, and decoded by the decoding model to predict the recommendation degree of the candidate application for the target object.
[0088] In the above embodiment, encoding and decoding are performed respectively by the encoding model and the decoding model in the trained application recommendation model to obtain the recommendation degree corresponding to the candidate application, so that the recommendation degree can be accurately predicted, thereby improving the accuracy of application recommendation.
[0089] In some embodiments, as Figure 6 As shown in Figure 2, the training steps for the application recommendation model include:
[0090] Step 602: Obtain a training representation vector sequence corresponding to the training object; the training representation vector sequence includes historical training representation vectors corresponding to multiple historical training operation applications, and the historical training representation vectors are arranged according to the training operation sequence of the training object for the historical training operation applications.
[0091] Step 604 : Determine the training application category corresponding to the historical training operation application, and determine the training category representation vector corresponding to the training application category.
[0092] Among them, the training object can be any object in the object set. The training representation vector sequence is the application representation vector sequence corresponding to the training object. The training representation vector sequence includes historical training representation vectors corresponding to multiple historical training operation applications. The historical training operation application is the application that the training object has operated in a period of time before the current time. The historical training representation vector refers to a vector used to express the historical training operation application. The historical training representation vectors corresponding to each historical training operation application are arranged according to the training operation sequence of the historical training operation application by the training object. The training operation sequence refers to the time sequence in which the training object operates on the application in a period of time before the current time. The training application category corresponding to the historical training operation application refers to the application category to which the historical training operation application belongs. The training category representation vector is a vector that expresses the training application category.
[0093] Specifically, after obtaining the training representation vector sequence corresponding to the training object, the server determines the training application category corresponding to the historical training operation application corresponding to each historical training representation vector in the training representation vector sequence, and further determines the training category representation vector corresponding to the training application category.
[0094] Step 606: Fuse the historical training representation vectors in the training representation vector sequence with the corresponding training category representation vectors to obtain a training fusion vector, and arrange the training fusion vectors in the training operation sequence to obtain a training fusion vector sequence.
[0095] Among them, the training category representation vector corresponding to the historical training representation vector refers to the training category representation vector corresponding to the training application category corresponding to the historical training operation application corresponding to the historical training representation vector.
[0096] Specifically, for each historical training representation vector in the training representation vector sequence, the server fuses the historical training representation vector with the training category representation vector corresponding to the historical training representation vector to obtain a fusion vector corresponding to the historical training representation vector, and arranges each fusion vector according to the order of training operations applied by the training object to the historical training operations to obtain a training fusion vector sequence.
[0097] Step 608: Obtain a current training representation vector corresponding to the current training application corresponding to the training object, and construct a positive training sample based on the object representation vector corresponding to the training object, the training fusion vector sequence, and the current training representation vector.
[0098] The current training application corresponding to the training object refers to the application currently operated by the training object. The current training representation vector refers to the vector used to express the current training application. The object representation vector corresponding to the training object refers to the vector used to express the training object.
[0099] Specifically, after obtaining the current training representation vector corresponding to the current training application corresponding to the training object, the server constructs a positive training sample based on the object representation vector corresponding to the training object, the training fusion vector sequence and the current training representation vector. For the positive training sample, its recommendation degree is 1.
[0100] Step 610: Train the application recommendation model based on the positive training samples to obtain a trained application recommendation model.
[0101] Specifically, the application recommendation model includes an encoding model and a decoding model. During training, the server first initializes the model parameters of the encoding and decoding models. In practice, the model parameters of the initial feature extraction model can be initialized with different small random numbers. The "small random numbers" are used to ensure that the model does not reach saturation due to excessive weights, which could lead to training failure. The "different" numbers are used to ensure that the model can learn normally.
[0102] The server inputs the training fusion vector sequence into the initialized encoding model, encodes the training fusion vector sequence through the encoding model, obtains the operation trend representation vector corresponding to the training object, splices the object representation vector corresponding to the training object, the operation trend representation vector corresponding to the training object, and the current training representation vector corresponding to the training object, and inputs them into the initialized decoding model. The decoding model decodes and obtains the predicted recommendation degree of the current training application for the training object. The specific formula is as follows (7): u is the operation trend representation vector corresponding to the training object, E u is the object representation vector corresponding to the training object, I i is the current training representation vector corresponding to the training object:
[0103]
[0104] After calculating by the above formula (7), based on and the true value y ui The difference between them is used to calculate the loss value, which is positively correlated with the difference. In specific implementation, the calculation of the loss value can refer to the following formula (8):
[0105]
[0106] In the above formula (8), the true value y ui When the loss value is 1, the parameters of the encoding model and decoding model are adjusted through backpropagation until the training stop condition is met, thereby obtaining a trained application recommendation model. The training stop condition can be when the loss value reaches the minimum value, or when the training time reaches a preset time, or when the training times reach a preset number.
[0107] In some embodiments, the above method also includes: obtaining a training object set and a training application set; the training object set includes a target object, and the training application set includes candidate applications; counting the number of operations of each training object on each training application, and determining the standard operation tendency of each training object for each training application based on the number of operations of each training object on each training application; obtaining the current object representation vector corresponding to each training object and the current application representation vector corresponding to the training application, and obtaining the training operation tendency of the training object for each training application based on the current object representation vector and the current application representation vector; based on the difference between the training operation tendency and the standard operation tendency, adjusting the current object representation vector and the current application representation vector to obtain the object representation vector corresponding to each training object and the application representation vector corresponding to each training application.
[0108] The training object set includes multiple objects, including at least a target object, and the training application set includes multiple applications, including at least a candidate application. The training object's operating tendency for the training application is positively correlated with the number of operations performed by the training object on the training application.
[0109] Specifically, the server obtains a set of training objects and a set of training applications. For each training object in the training object set, the server counts the number of operations performed by the training object on each training application in the training application set, and multiplies the number of operations by the preset operation tendency corresponding to each operation to obtain the standard operation tendency of the training object for each training application in the training application set. The standard operation tendency reflects the actual operation of the training object on the training application. For example, assuming that the number of operations performed by training object u on a training application X in the training application set is N, and each operation corresponds to an operation tendency a, then the standard operation tendency of training object u on training application X is N*a.
[0110] The server can further initialize the current object representation vector corresponding to each training object and the current application representation vector corresponding to the training application, and then predict the training operation tendency of the training object for each training application based on the vector dot product result between each initialized current object representation vector and each current application representation vector, obtain the loss value based on the difference between the training operation tendency and the standard operation tendency, and then use the gradient descent direction to adjust each current object representation vector and each current application representation vector in the direction of reducing the loss value until convergence, to obtain the object representation vector corresponding to each training object and the application representation vector corresponding to each training application.
[0111] In the above embodiment, the current object representation vector corresponding to the training object and the current application representation vector corresponding to the training application are adjusted based on the difference between the standard operation tendency obtained by the actual operation behavior of the training object on the training application and the training operation tendency predicted based on the current object representation vector corresponding to the training object and the current application representation vector corresponding to the training application. The object representation vector and application representation vector finally obtained reflect the relationship between the training object and the training application, so that the target recommended application determined based on the object representation vector and the application representation vector is more accurate.
[0112] In some embodiments, the above method further includes: obtaining a training object set and a training application set; the training object set includes multiple training objects; the training application set includes multiple training applications; determining the corresponding object node based on the training object, and determining the corresponding application node based on the training application; establishing a relationship edge between the object node and the application node based on the operation behavior of the training object on the training application to generate a target relationship graph; walking in the target relationship graph based on a preset walking strategy to obtain multiple walking trajectories, performing graph embedding based on the walking trajectories to obtain the representation vector corresponding to the object node and the representation vector corresponding to the application node; determining the representation vector corresponding to the object node as the object representation vector of the corresponding training object, and determining the representation vector corresponding to the application node as the application representation vector of the corresponding training application. Among them, the multiple training objects include the target object; and the multiple training applications include the candidate application.
[0113] like Figure 7 FIGURE 1 shows a schematic diagram of a target relationship diagram in some embodiments. Figure 7 , where the nodes represented by circles are the nodes corresponding to the training objects, and the nodes represented by boxes are the nodes corresponding to the training applications.
[0114] In some embodiments, the target recommended application is obtained by screening from a candidate application set, and the steps of obtaining the candidate application set include: determining the operation application set corresponding to the target object; determining the number of operations performed by the target object on each operation application in the operation application set; and selecting candidate applications from the operation application set based on the number of operations of the operation application to form a candidate application set.
[0115] The operation application set refers to the set of all applications that can be operated by the target object. For example, in the mini-program recommendation, the operation application set refers to the set of all mini-programs.
[0116] Specifically, after determining the operation application set corresponding to the target object, the server further determines the number of operations N (N is greater than or equal to 0) performed by the target object on each operation application in the operation application set, and selects candidate applications from the operation application set based on the number of operations corresponding to each operation application and the preset filtering conditions to form a candidate application set.
[0117] In some embodiments, the filtering condition may be that the number of operations is greater than 0. Then the server selects all applications with a number of operations greater than 0 from the operation application set to obtain candidate applications and form a candidate application set. In this case, the candidate application set is a set of applications that have been operated by the user.
[0118] In other embodiments, the filtering condition may be to select a preset number of operation applications with a large number of operation times as candidate applications to form a candidate application set. The server may then sort the operation applications in the operation application set in descending order based on the number of operation times, and select a preset number of operation applications with the highest ranking as candidate applications to form the candidate application set.
[0119] In the above embodiment, candidate applications are selected from the operation application set based on the number of operations performed by the target object on each operation application in the operation application set to form a candidate application set. This allows a candidate application set for the target object to be obtained, and target recommended applications can be screened based on the candidate application set to further improve the accuracy of the recommendation.
[0120] In some embodiments, determining the target recommended application corresponding to the target object based on the fusion vector sequence includes: obtaining the recommendation degree corresponding to each candidate application based on the fusion vector sequence; selecting a candidate recommended application that meets the recommendation degree condition from the candidate application set as the target recommended application corresponding to the target object; the recommendation degree condition includes at least one of the recommendation degree being greater than the recommendation degree threshold or the recommendation degree ranking being before the ranking threshold.
[0121] Specifically, for each candidate application, the server can concatenate the object representation vector of the target object, the candidate application representation vector of the candidate application, and the fusion vector sequence and input them into the application recommendation model. The application recommendation model predicts the recommendation degree corresponding to the candidate application, matches the recommendation degree corresponding to each candidate application with the recommendation degree condition, and uses the candidate recommended application that meets the recommendation degree condition as the target recommended application corresponding to the target object. Among them, the recommendation degree condition includes at least one of the following: the recommendation degree is greater than the recommendation degree threshold, or the recommendation degree ranking is before the ranking threshold. Both the recommendation degree threshold and the ranking threshold can be set as needed.
[0122] For example, assuming the sorting threshold is 10, the candidate application set includes N (N is greater than 10) candidate applications, namely candidate application 1, candidate application 2, ..., candidate application N, and the recommendation degrees of these candidate applications are w1, w2, ..., wN respectively. The recommendation degrees are sorted from large to small as w1>w2>...>w2. Then, the candidate applications ranked before 10 can be selected as the target recommended applications corresponding to the target object, namely candidate application 1, candidate application 2, ..., candidate application 9.
[0123] In the above embodiment, by selecting candidate recommended applications that meet the recommendation degree conditions from the candidate application set as the target recommended applications corresponding to the target object, candidate recommended applications with higher recommendation degrees can be screened out as target recommended applications, so that the target recommended applications can better meet the needs of the target object and further improve the accuracy of the recommendation.
[0124] In some embodiments, determining the historical application category corresponding to the historical operation application includes: clustering the historical application representation vectors in the application representation vector sequence to obtain multiple cluster categories; and using the cluster category corresponding to the historical application representation vector as the historical application category corresponding to the historical operation application.
[0125] Clustering is the process of dividing a collection of physical or abstract objects into clusters of similar objects. A cluster generated by clustering is a set of data objects that are similar to objects in the same cluster and different from objects in other clusters.
[0126] Specifically, the server clusters all historical application representation vectors in the application representation vector sequence to obtain multiple clusters, each representing a cluster category, thereby obtaining multiple cluster categories. For the historical operation application corresponding to the target object, the server uses the cluster category of the historical application representation vector corresponding to the historical operation application as the historical application category corresponding to the historical operation application.
[0127] In some embodiments, the server clusters all historical application representation vectors in the application representation vector sequence as follows:
[0128] 1. First, a k value is given, which is usually set according to the number of historical application representation vectors in the application representation vector sequence, ranging from 3 to 10.
[0129] 2. After k is determined, k cluster centers are randomly initialized, and the historical application representation vectors in the application representation vector sequence are clustered into k categories based on these k cluster centers.
[0130] 3. Recalculate the values of k cluster centers based on the clustering results.
[0131] 4. Repeat steps 1-3 until convergence or reaching the specified round.
[0132] like Figure 8 FIGURE 1 is a schematic diagram of the clustering process in some embodiments. Figure 8 In this embodiment, the server clusters all historical application representation vectors in the application representation vector sequence to obtain three clusters, each cluster representing a cluster category, where the five-pointed stars in each cluster represent the cluster centers corresponding to each cluster category.
[0133] In the above embodiment, by clustering the historical application representation vectors in the application representation vector sequence, multiple cluster categories are obtained, and the cluster categories corresponding to the historical application representation vectors are used as the historical application categories corresponding to the historical operation applications. Since the application categories are divided according to the application categories operated by the target object itself, they can better reflect the operation behavior characteristics of the target object, and the obtained historical application categories are more accurate.
[0134] In some embodiments, determining the application category representation vector corresponding to the historical application category includes: determining a set of historical application representation vectors corresponding to the cluster category; performing statistics on the historical application representation vectors in the set of historical application representation vectors to obtain a statistical vector; and using the statistical vector as the application category representation vector corresponding to the historical application category.
[0135] Specifically, after determining the set of historical application representation vectors corresponding to each cluster category, the server performs statistics on the historical application representation vectors in each set to obtain a statistical vector. The statistical vector is a vector that represents the set of historical application representation vectors. Specifically, the statistics may be calculated as the mean vector or median vector of all historical application representation vectors. The server then uses the statistical vector of the set of historical application representation vectors as the application category representation vector for the historical application category corresponding to the set of historical application representation vectors.
[0136] In the above embodiment, by performing statistics on the historical application representation vectors in the historical application representation vector set, a statistical vector is obtained as the application category representation vector. The obtained application category representation vector can better reflect the intention of the target object.
[0137] In some embodiments, clustering historical application representation vectors in an application representation vector sequence to obtain multiple cluster categories includes: obtaining the number of vectors in the application representation vector sequence; determining the quantity interval corresponding to the number of vectors, and obtaining the number of categories corresponding to the quantity interval; the number of categories is positively correlated with the numerical value corresponding to the quantity interval; clustering historical application representation vectors in the application representation vector sequence based on the number of categories to obtain cluster categories of the number of categories.
[0138] Specifically, the server can pre-divide the number of vectors into multiple number intervals and set a corresponding number of categories for each number interval. Then, when performing clustering, the server can determine the corresponding number interval based on the number of vectors in the application representation vector sequence, then obtain the number of categories corresponding to the number interval, cluster the application representation vector sequence based on the number of categories, and obtain cluster categories with the number of categories. It is understandable that when the number of historical application representation vectors in the application representation vector sequence is greater, the more feature categories these application representation vectors involve. Therefore, the categories can be further subdivided to obtain more classes, thereby more accurately reflecting the intent of the target object.
[0139] For example, assume that the number of vectors is divided into 4 intervals, where the first interval is (0, a1), the second interval is (a1, a2), the third interval is (a2, a3), and the fourth interval is (a3, a4). The interval corresponding to the number of vectors in the application representation vector sequence is the third interval, and the number of categories pre-set for the third interval is 5. The server clusters the historical application representation vectors in the application representation vector sequence and finally obtains 5 cluster categories.
[0140] In the above embodiment, by determining the quantity interval corresponding to the number of vectors and obtaining the number of categories corresponding to the quantity interval, the number of categories can be automatically determined, thereby clustering the historical application representation vectors in the application representation vector sequence based on the number of categories, and obtaining cluster categories of the number of categories, which can perform clustering more quickly and improve clustering efficiency.
[0141] In a specific embodiment, a method for application recommendation is provided, comprising the following steps:
[0142] 1. Obtain a training object set and a training application set; the training object set includes target objects, and the training application set includes candidate applications.
[0143] 2. Count the number of operations performed by each training subject on each training application, and determine the standard operation tendency of each training subject on each training application based on the number of operations performed by each training subject on each training application.
[0144] For example, assuming that the number of operations performed by training subject u on a training application X in the training application set is N, and each operation corresponds to an operation tendency a, then the standard operation tendency of training subject u on training application X is N*a.
[0145] 3. Obtain the current object representation vector corresponding to each training object and the current application representation vector corresponding to the training application, and obtain the training operation tendency of the training object for each training application based on the current object representation vector and the current application representation vector.
[0146] 4. Based on the difference between the training operation tendency and the standard operation tendency, the current object representation vector and the current application representation vector are adjusted to obtain the object representation vector corresponding to each training object and the application representation vector corresponding to each training application.
[0147] 5. Obtain a training representation vector sequence corresponding to the training object; the training representation vector sequence includes historical training representation vectors corresponding to multiple historical training operation applications, and the historical training representation vectors are arranged according to the training operation order of the training object for the historical training operation application.
[0148] 6. Determine the training application category corresponding to the historical training operation application, and determine the training category representation vector corresponding to the training application category.
[0149] 7. Fuse the historical training representation vectors in the training representation vector sequence with the corresponding training category representation vectors to obtain a training fusion vector, and arrange the training fusion vectors in the order of training operations to obtain a training fusion vector sequence.
[0150] 8. Obtain the current training representation vector corresponding to the current training application corresponding to the training object, construct a positive training sample based on the object representation vector corresponding to the training object, the training fusion vector sequence and the current training representation vector, train the application recommendation model based on the positive training sample, and obtain a trained application recommendation model.
[0151] 9. Obtain an application representation vector sequence corresponding to the target object; the application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications, and the historical application representation vectors are arranged according to the operation order of the target object on the historical operation applications.
[0152] For example, assume that the target object is user u, the application operated by user u is a mini program, and user u has operated K u The first operation is applet 1, and the application representation vector corresponding to applet 1 is l u,1 The second operation is for applet 2, and the application representation vector corresponding to applet 2 is l u,2 , ..., Kth u The operation is for the mini program K u , the application representation vector corresponding to applet 2 is Then the application representation vector sequence of user u is
[0153] 10. Obtain the number of vectors in the application representation vector sequence; determine the quantity interval corresponding to the number of vectors, and obtain the number of categories corresponding to the quantity interval. The number of categories is positively correlated with the numerical value corresponding to the quantity interval.
[0154] 11. Cluster the historical application representation vectors in the application representation vector sequence based on the number of categories to obtain cluster categories of the number of categories, and use the cluster categories corresponding to the historical application representation vectors as the historical application categories corresponding to the historical operation applications.
[0155] 12. Determine a set of historical application representation vectors corresponding to the clustering category, perform statistics on the historical application representation vectors in the set of historical application representation vectors to obtain a statistical vector, and use the statistical vector as the application category representation vector corresponding to the historical application category.
[0156] 13. Fuse the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vectors to obtain a fusion vector, and arrange the fusion vectors in the order of operation to obtain a fusion vector sequence.
[0157] For example, suppose the historical application representation vector is (x1, x2, ..., x n ), application category representation vector (y1,y2,……,y n ), then the server fuses the historical application representation vector in the historical application representation vector sequence with the corresponding application category representation vector, and the resulting fusion vector is (x1, x2, ..., x n ,y1,y2,……,y n ).
[0158] 14. Input the fused vector sequence into the encoding model in the trained application recommendation model, encode the fused vector sequence through the encoding model, and obtain the operation trend representation vector corresponding to the target object.
[0159] 15. Obtain the object representation vector of the target object, obtain the candidate application representation vector corresponding to each candidate application in the candidate application set, input the object representation vector, candidate application representation vector and operation trend representation vector into the decoding model in the application recommendation model, decode them through the decoding model, and obtain the recommendation degree corresponding to the candidate application.
[0160] 16. Select a candidate recommended application that meets a recommendation degree condition from the candidate application set as the target recommended application corresponding to the target object; the recommendation degree condition includes at least one of a recommendation degree greater than a recommendation degree threshold or a recommendation degree ranking before a ranking threshold.
[0161] The step of obtaining a candidate application set includes: determining the operation application set corresponding to the target object; determining the number of operations performed by the target object on each operation application in the operation application set; and selecting candidate applications from the operation application set based on the number of operations performed on the operation applications to form a candidate application set.
[0162] For example, assuming the sorting threshold is 10, the candidate application set includes N (N is greater than 10) candidate applications, namely candidate application 1, candidate application 2, ..., candidate application N, and the recommendation degrees of these candidate applications are w1, w2, ..., wN respectively. The recommendation degrees are sorted from large to small as w1>w2>...>w2. Then, the candidate applications ranked before 10 can be selected as the target recommended applications corresponding to the target object, namely candidate application 1, candidate application 2, ..., candidate application 9.
[0163] This application also provides an application scenario that applies the above-mentioned application recommendation method. In this application scenario, the target object is the target user, and the recommended application is a sub-application in the instant messaging application, commonly known as a "mini program". When the user has a need to use a mini program in the instant messaging application, the server recommends the mini program to the user. Specifically, the application of the application recommendation method in this application scenario is as follows:
[0164] 1. The server constructs representation vectors for each user and mini-program based on the user's usage behavior of the mini-program. Assuming there are N users, then e u Representing the representation vector of user u, we get the user representation vector matrix U = {U0, U1, ..., U N}, also assuming there are M applets, e i Then it represents the representation vector of the i-th mini program, and the mini program representation vector matrix of the entire network mini programs from mini program 0 to mini program M is obtained. I = {I0, I1, ..., I M The server updates the user representation vector matrix and the mini-program representation vector matrix every month based on the user's usage behavior of the mini-program and saves them simultaneously.
[0165] The physical meaning of the user representation vector and the mini-program representation vector is that if user u frequently uses mini-program i, then the dot product of the user u vector and the mini-program i vector is e′ u ·e i A larger value indicates that user u frequently uses mini program i. On the contrary, if u rarely uses mini program i, the corresponding dot product result should be as small as possible.
[0166] Specifically, the server can generate a user-mini-program matrix and then obtain the user representation vector matrix and the mini-program representation vector matrix through matrix decomposition, or construct a user-mini-program graph and then obtain the user representation vector matrix and the mini-program representation vector matrix through a random walk algorithm.
[0167] 2. The server trains and saves the application recommendation model, which includes the encoding model and the decoding model. The specific training process is as follows:
[0168] 1) Obtain the mini-program click sequence of the training user in the historical time period; the mini-program click sequence includes mini-program representation vectors corresponding to multiple historically clicked mini-programs, and the mini-program representation vectors are arranged according to the order in which the training user clicked the historically clicked mini-programs.
[0169] 2) Determine the mini-program category corresponding to the historically clicked mini-programs, and determine the category representation vector corresponding to the mini-program category.
[0170] 3) Fuse the mini-program representation vector in the mini-program click sequence with the corresponding category representation vector to obtain a training fusion vector, and arrange the training fusion vector according to the order in which the training user clicks on the historical mini-programs to obtain a training fusion vector sequence.
[0171] 4) Input the fused vector sequence into the encoding model in the trained application recommendation model, encode the fused vector sequence through the encoding model, and obtain the operation trend representation vector corresponding to the target object.
[0172] 5) Obtain the mini-program representation vector corresponding to the mini-program currently operated by the training user, input the mini-program representation vector, the user representation vector of the training user, and the operation trend representation vector into the decoding model in the application recommendation model, and decode through the decoding model to obtain the matching degree between the training user and the mini-program currently operated by the training user.
[0173] 6) Calculate the loss value based on the difference between the matching degree and the training label. Use the gradient descent algorithm to adjust the model parameters of the encoding and decoding models in the direction of decreasing loss value until convergence, thereby obtaining the trained application recommendation model. Since the mini-program representation vector corresponds to the mini-program currently operated by the training user, the training label is 1 when constructing the training sample based on the training user and the mini-program.
[0174] 3. When a user u pulls down the mini-program menu in the instant messaging application, a request is sent to the server. After receiving the request, the server determines the target user based on the user ID carried in the request and obtains the mini-program click sequence of the target user in the historical time period. (i.e., the application representation vector sequence mentioned above), the mini-program click sequence is obtained by arranging the mini-program representation vectors corresponding to the mini-programs clicked by the user in the historical time period in the order of the user's clicks.
[0175] 4. Cluster the mini-program representation vectors in the mini-program click sequence to obtain k clusters, and the cluster centers of each cluster are The cluster center can reflect the user's intention to click on the mini program.
[0176] 5. Concatenate the mini-program representation vectors in the mini-program click sequence with the corresponding cluster centers to obtain a fused vector sequence. The fused vector sequence is input one by one into the encoding model of the application recommendation model, and encoded by the encoding model to obtain the operation trend representation vector.
[0177] Among them, the encoding model adopts the LSTM model.
[0178] 6. Obtain the user representation vector of the target user from the user representation vector matrix, and obtain the mini-program representation vector of the candidate mini-program from the mini-program representation vector matrix. Concatenate the user representation vector, mini-program representation vector, and operation trend representation vector and input them into the decoding model of the application recommendation model. Decode them through the decoding model to predict the matching degree between the target user and the candidate mini-program (i.e., the recommendation degree mentioned above).
[0179] Among them, the candidate mini-programs can be all the mini-programs on the entire network, or the mini-programs that the target users have used.
[0180] 7. Arrange all candidate mini-programs from highest to lowest according to their matching degree, and recommend a preset number of mini-programs ranked at the top to the target user's terminal.
[0181] It should be understood that although Figure 2 、 Figure 6 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 2 、 Figure 6 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The order of execution of these steps or stages is not necessarily one by one, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0182] In some embodiments, as Figure 9 As shown, an application recommendation device 900 is provided. The device can be a software module or a hardware module, or a combination of the two to form a part of a computer device. The device specifically includes:
[0183] Vector sequence acquisition module 902, configured to acquire an application representation vector sequence corresponding to a target object; the application representation vector sequence includes historical application representation vectors corresponding to a plurality of historical operation applications, the historical application representation vectors being arranged in the order in which the target object operates on the historical operation applications;
[0184] Category determination module 904, used to determine the historical application category corresponding to the historical operation application, and determine the application category representation vector corresponding to the historical application category;
[0185] A vector fusion module 906 is configured to fuse the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vectors to obtain a fused vector, and arrange the fused vectors in an operation order to obtain a fused vector sequence;
[0186] The recommended application determination module 908 is configured to determine a target recommended application corresponding to the target object based on the fused vector sequence.
[0187] The above-mentioned application recommendation device first obtains the application representation vector sequence corresponding to the target object. Since the application representation vector sequence includes historical application representation vectors corresponding to multiple historical operation applications, and the historical application representation vectors are arranged according to the operation order of the target object on the historical operation application, the application representation vector sequence can reflect the historical operation behavior of the target object on the application, further determine the historical application category corresponding to the historical operation application, determine the application category representation vector corresponding to the historical application category, fuse the historical application representation vector in the application representation vector sequence with the corresponding application category representation vector to obtain a fusion vector, arrange the fusion vector according to the operation order to obtain a fusion vector sequence, and determine the target recommended application corresponding to the target object based on the fusion vector sequence. The application category representation vector can reflect the target object's operation intention on the application in the historical time period. The obtained fusion vector sequence can simultaneously reflect the change information of the target object's historical operation application and operation intention. The target recommended application determined according to the fusion vector sequence can better meet the needs of the target object, and the accuracy of application recommendation is high.
[0188] In some embodiments, the recommended application determination module 908 is further configured to: perform encoding based on the fused vector sequence to obtain an operation trend representation vector corresponding to the target object; and determine a target recommended application corresponding to the target object based on the operation trend representation vector.
[0189] In some embodiments, the recommended application determination module 908 is also used to: obtain the object representation vector of the target object; obtain the candidate application representation vector corresponding to each candidate application in the candidate application set; combine the object representation vector, the candidate application representation vector and the operation trend representation vector to obtain the recommendation degree corresponding to the candidate application; based on the recommendation degree corresponding to the candidate application, determine the target recommended application corresponding to the target object from the candidate application set.
[0190] In some embodiments, the recommended application determination module 908 is further used to: input the fusion vector sequence into the encoding model in the trained application recommendation model, encode the fusion vector sequence through the encoding model, and obtain the operation trend representation vector corresponding to the target object; input the object representation vector, the candidate application representation vector and the operation trend representation vector into the decoding model in the application recommendation model, decode them through the decoding model, and obtain the recommendation degree corresponding to the candidate application.
[0191] In some embodiments, the above-mentioned device also includes: a model training module, which is used to obtain a training representation vector sequence corresponding to the training object; the training representation vector sequence includes historical training representation vectors corresponding to multiple historical training operation applications, and the historical training representation vectors are arranged according to the training operation order of the training object for the historical training operation application; determining the training application category corresponding to the historical training operation application, and determining the training category representation vector corresponding to the training application category; fusing the historical training representation vector in the training representation vector sequence with the corresponding training category representation vector to obtain a training fusion vector, and arranging the training fusion vector according to the training operation order to obtain a training fusion vector sequence; obtaining the current training representation vector corresponding to the current training application corresponding to the training object, and constructing a positive training sample based on the object representation vector corresponding to the training object, the training fusion vector sequence and the current training representation vector; training the application recommendation model based on the positive training sample to obtain a trained application recommendation model.
[0192] In some embodiments, the above-mentioned device also includes a representation vector determination module, which is used to obtain a training object set and a training application set; the training object set includes a target object, and the training application set includes candidate applications; the number of operations of each training object on each training application is counted, and the standard operation tendency of each training object on each training application is determined based on the number of operations of each training object on each training application; the current object representation vector corresponding to each training object and the current application representation vector corresponding to the training application are obtained, and the training operation tendency of the training object for each training application is obtained based on the current object representation vector and the current application representation vector; based on the difference between the training operation tendency and the standard operation tendency, the current object representation vector and the current application representation vector are adjusted to obtain the object representation vector corresponding to each training object and the application representation vector corresponding to each training application.
[0193] In some embodiments, the target recommended application is obtained by screening from a candidate application set, and the above-mentioned device also includes: a candidate application set determination module, used to determine the operation application set corresponding to the target object; determine the number of operations of the target object on each operation application in the operation application set; based on the number of operations of the operation application, select candidate applications from the operation application set to form a candidate application set.
[0194] In some embodiments, the recommended application determination module 908 is also used to obtain the recommendation degree corresponding to each candidate application based on the fusion vector sequence; select the candidate recommended application that meets the recommendation degree conditions from the candidate application set as the target recommended application corresponding to the target object; the recommendation degree conditions include at least one of the recommendation degree being greater than the recommendation degree threshold or the recommendation degree ranking being before the ranking threshold.
[0195] In some embodiments, the category determination module 904 is further used to: cluster the historical application representation vectors in the application representation vector sequence to obtain multiple cluster categories; and use the cluster category corresponding to the historical application representation vector as the historical application category corresponding to the historical operation application.
[0196] In some embodiments, the category determination module 904 is further used to: determine a set of historical application representation vectors corresponding to the clustering category; perform statistics on the historical application representation vectors in the set of historical application representation vectors to obtain a statistical vector; and use the statistical vector as the application category representation vector corresponding to the historical application category.
[0197] In some embodiments, the category determination module 904 is also used to: obtain the number of vectors in the application representation vector sequence; determine the quantity interval corresponding to the number of vectors, and obtain the number of categories corresponding to the quantity interval; the number of categories is positively correlated with the numerical value corresponding to the quantity interval; cluster the historical application representation vectors in the application representation vector sequence based on the number of categories, and obtain cluster categories of the number of categories.
[0198] For the specific definition of the application recommendation device, please refer to the definition of the application recommendation method above and will not be repeated here. Each module in the above application recommendation device can be implemented in whole or in part through software, hardware, or a combination thereof. Each of the above modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each of the above modules.
[0199] In some embodiments, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 10As shown. The computer device includes a processor, a memory, and a network interface connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store application recommendation data. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, an application recommendation method is implemented.
[0200] Those skilled in the art will understand that Figure 10 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0201] In some embodiments, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0202] In some embodiments, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above-mentioned method embodiments when executed by a processor.
[0203] In some embodiments, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of each of the above method embodiments.
[0204] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0205] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0206] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present patent application shall be determined by the appended claims.
Claims
1. An application recommendation method, characterized in that: The method comprises: Obtaining an application representation vector sequence corresponding to the target object; the application representation vector sequence includes historical application representation vectors corresponding to a plurality of historical operation applications, the historical application representation vectors being arranged according to the operation order of the target object on the historical operation applications; Determining a historical application category corresponding to the historical operation application, and determining an application category representation vector corresponding to the historical application category; Fusing the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vectors to obtain a fused vector, and arranging the fused vectors according to the operation order to obtain a fused vector sequence; Inputting the fused vector sequence into an encoding model in a trained application recommendation model, encoding the fused vector sequence through the encoding model to obtain an operation trend representation vector corresponding to the target object; Obtaining an object representation vector of the target object; Obtaining a candidate application representation vector corresponding to each candidate application in the candidate application set; Inputting the object representation vector, the candidate application representation vector, and the operation trend representation vector into a decoding model in the application recommendation model, decoding the vectors through the decoding model, and obtaining a recommendation degree corresponding to the candidate application; Based on the recommendation degrees corresponding to the candidate applications, a target recommended application corresponding to the target object is determined from the candidate application set.
2. The method according to claim 1, characterized in that The training steps of the application recommendation model include: Obtaining a training representation vector sequence corresponding to the training object; the training representation vector sequence includes historical training representation vectors corresponding to multiple historical training operation applications, and the historical training representation vectors are arranged according to the training operation sequence of the training object for the historical training operation applications; Determining a training application category corresponding to the historical training operation application, and determining a training category representation vector corresponding to the training application category; Fusing the historical training representation vectors in the training representation vector sequence with the corresponding training category representation vectors to obtain a training fusion vector, and arranging the training fusion vectors according to the training operation sequence to obtain a training fusion vector sequence; Obtaining a current training representation vector corresponding to a current training application corresponding to the training object, and constructing a positive training sample based on the object representation vector corresponding to the training object, the training fusion vector sequence, and the current training representation vector; The application recommendation model is trained based on the positive training samples to obtain a trained application recommendation model.
3. The method according to claim 2, characterized in that The method further comprises: Acquire a training object set and a training application set; the training object set includes the target object, and the training application set includes the candidate application; Counting the number of operations performed by each training subject on each training application, and determining a standard operation tendency of each training subject on each training application according to the number of operations performed by each training subject on each training application; Obtaining a current object representation vector corresponding to each of the training objects and a current application representation vector corresponding to the training application, and obtaining a training operation tendency of the training object for each of the training applications based on the current object representation vector and the current application representation vector; Based on the difference between the training operation tendency and the standard operation tendency, the current object representation vector and the current application representation vector are adjusted to obtain the object representation vector corresponding to each training object and the application representation vector corresponding to each training application.
4. The method according to claim 1, wherein The target recommended application is obtained by screening a set of candidate applications, and the step of obtaining the set of candidate applications includes: Determine the operation application set corresponding to the target object; Determine the number of operations performed by the target object on each operation application in the operation application set; Based on the number of operations of the operation application, candidate applications are selected from the operation application set to form a candidate application set.
5. The method according to claim 4, characterized in that The method further comprises: Obtaining a recommendation degree corresponding to each of the candidate applications based on the fusion vector sequence; Selecting a candidate recommended application that meets a recommendation degree condition from the candidate application set as a target recommended application corresponding to the target object; The recommendation degree condition includes at least one of the recommendation degree being greater than a recommendation degree threshold or the recommendation degree ranking being before a ranking threshold.
6. The method according to any one of claims 1 to 5, characterized in that Determining the historical application category corresponding to the historical operation application includes: Clustering the historical application representation vectors in the application representation vector sequence to obtain a plurality of cluster categories; The cluster category corresponding to the historical application representation vector is used as the historical application category corresponding to the historical operation application.
7. The method according to claim 6, characterized in that Determining the application category representation vector corresponding to the historical application category includes: Determining a set of historical application representation vectors corresponding to the cluster category; Performing statistics on the historical application representation vectors in the historical application representation vector set to obtain a statistical vector; The statistical vector is used as an application category representation vector corresponding to the historical application category.
8. The method according to claim 6, characterized in that The clustering of the historical application representation vectors in the application representation vector sequence to obtain multiple cluster categories includes: Obtaining the number of vectors in the application representation vector sequence; Determine a quantity interval corresponding to the quantity of the vectors, and obtain the number of categories corresponding to the quantity interval; the number of categories is positively correlated with the value corresponding to the quantity interval; The historical application representation vectors in the application representation vector sequence are clustered based on the number of categories to obtain cluster categories of the number of categories.
9. An application recommendation device, characterized in that: The device comprises: a vector sequence acquisition module, configured to acquire an application representation vector sequence corresponding to a target object; the application representation vector sequence comprising historical application representation vectors corresponding to a plurality of historical operation applications, the historical application representation vectors being arranged in the order in which the target object operates on the historical operation applications; a category determination module, configured to determine a historical application category corresponding to the historical operation application, and determine an application category representation vector corresponding to the historical application category; a vector fusion module, configured to fuse the historical application representation vectors in the application representation vector sequence with the corresponding application category representation vectors to obtain a fused vector, and arrange the fused vectors according to the operation sequence to obtain a fused vector sequence; an encoding module, configured to input the fused vector sequence into an encoding model in a trained application recommendation model, encode the fused vector sequence through the encoding model, and obtain an operation trend representation vector corresponding to the target object; An acquisition module, configured to acquire an object representation vector of the target object; and acquire a candidate application representation vector corresponding to each candidate application in the candidate application set; a decoding module, configured to input the object representation vector, the candidate application representation vector, and the operation trend representation vector into a decoding model in the application recommendation model, and decode the vectors through the decoding model to obtain a recommendation degree corresponding to the candidate application; The recommended application determining module is configured to determine a target recommended application corresponding to the target object from the candidate application set based on the recommendation degree corresponding to the candidate application.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
11. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Establishment method and device of application program prediction model, storage medium and terminal
CN111258593A
Application recommendation method and server
US20190114668A1