Information push method, device and computer readable storage medium
By obtaining user characteristics and historical interaction information, combining alternative resource information, and using joint recommendation model to determine the push probability, the problem of joint recommendation in the existing technology cannot be achieved, and the recommendation efficiency and effect are improved.
Patent Information
- Application Number
- CN202110038579.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-12
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2041-01-12
AI Technical Summary
Existing network platforms cannot achieve joint recommendations of multiple types of goals, resulting in the recommended resources being unable to be used for recommended objects. Users need to check the matching situation by themselves, and the recommendation efficiency and effectiveness are not good.
By obtaining the characteristic information, historical interaction information and alternative resource information of the users to be pushed, the joint recommendation model is used to determine the push probability of alternative resources and application objects, and select appropriate resources and objects for pushing.
It realizes that users can obtain alternative resources and application objects at the same time, improving the efficiency and effectiveness of recommendations.
Smart Images

Figure CN113761338B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to an information push method, device and computer-readable storage medium. Background Art
[0002] With the development of Internet technology, users will receive more personalized and intelligent services when browsing websites. For example, websites recommend different objects (e.g., music, videos, news, commodities, etc.) to different users or recommend different resources (e.g., available traffic, virtual resources, etc.) to different users. Currently, object recommendations and resource recommendations are performed separately. Summary of the invention
[0003] The inventors found that general network platforms use different recommendation models to determine the resources and objects recommended to users, that is, they can only recommend a single type of target and cannot achieve joint recommendation of multiple types of targets. In this case, the recommended resources may not be used for the recommended objects, and users need to check the matching of various objects and resources by themselves, which is inconvenient and leads to low recommendation efficiency and poor results.
[0004] A technical problem to be solved by the present disclosure is: how to improve the efficiency and effect of recommendation.
[0005] According to some embodiments of the present disclosure, a method for pushing information is provided, comprising: obtaining characteristic information of a user to be pushed, historical interaction information of the user to be pushed, and alternative resource information, wherein the historical interaction information comprises: attribute information of each historical resource interacted within a historical preset time, attribute information of an application object of each historical resource, and the alternative resource information comprises: attribute information of each alternative resource and attribute information of an application object of each alternative resource; determining a push probability of each alternative resource and a push probability of an application object of each alternative resource according to a correlation between the historical interaction information and the alternative resource information, and characteristic information of the user to be pushed; selecting one or more alternative resources according to the push probability of each alternative resource and a push probability of an application object of each alternative resource, and selecting one or more application objects for the selected alternative resources and pushing them to the user to be pushed.
[0006] In some embodiments, determining the push probability of each candidate resource and the push probability of the application object of each candidate resource based on the correlation between historical interaction information and candidate resource information, as well as characteristic information of the user to be pushed includes: determining the correlation between the attribute information of the application object of each candidate resource and the attribute information of the application object of each historical resource as a first correlation; determining the fusion feature of the attribute information of each candidate resource and the attribute information of the application object of each candidate resource as a first fusion feature, and the fusion feature of the attribute information of each historical resource and the attribute information of the application object of each historical resource as a second fusion feature; determining the correlation between the first fusion feature and the second fusion feature as a second correlation; determining the push probability of each candidate resource and the push probability of the application object of each candidate resource based on the first correlation and the second correlation, as well as the characteristic information of the user to be pushed.
[0007] In some embodiments, determining the correlation between the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource includes: inputting the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource into the first feature extraction module and the second feature extraction module of the joint recommendation model respectively, and obtaining a feature matrix corresponding to the attribute information of the application objects of each candidate resource and a fused feature vector corresponding to the attribute information of the application objects of each historical resource, wherein the feature matrix includes the feature vector corresponding to the attribute information of the application objects of each candidate resource; inputting the feature matrix corresponding to the attribute information of the application objects of each candidate resource and the fused feature vector corresponding to the attribute information of the application objects of each historical resource into the first attention mechanism layer, and obtaining the attention weight of the feature vector corresponding to the attribute information of the application objects of each candidate resource relative to the fused feature vector.
[0008] In some embodiments, determining a fusion feature of attribute information of each candidate resource and attribute information of an application object of each candidate resource as a first fusion feature includes: determining a first attention feature vector according to an attention weight of a feature vector corresponding to the attribute information of the application object of each candidate resource with respect to a fusion feature vector; concatenating the feature vector corresponding to the attribute information of each candidate resource with the first attention feature vector to obtain a fusion feature vector of the attribute information of each candidate resource and the attribute information of the application object of each candidate resource as the first fusion feature.
[0009] In some embodiments, the fusion feature of the attribute information of each historical resource and the attribute information of the application object of each historical resource, as the second fusion feature, includes: splicing the feature vector corresponding to the attribute information of each historical resource with the fusion feature vector corresponding to the attribute information of the application object of each historical resource, to obtain the fusion feature vector of the attribute information of each historical resource and the attribute information of the application object of each historical resource as the second fusion feature.
[0010] In some embodiments, determining the correlation between the first fused feature and the second fused feature as the second correlation includes: inputting the first fused feature and the second fused feature into a second attention mechanism layer to obtain an attention weight of the second fused feature relative to the first fused feature.
[0011] In some embodiments, determining the push probability of each candidate resource and the push probability of the application object of each candidate resource based on the first relevance and the second relevance, as well as the characteristic information of the user to be pushed includes: determining the second attention feature vector based on the attention weight of the second fusion feature relative to the first fusion feature; inputting the first fusion feature, the second attention feature vector and the user feature vector corresponding to the characteristic information of the user to be pushed into the multi-layer perceptron of the joint recommendation model; inputting the features output by the multi-layer perceptron into the softmax layer of the joint recommendation model to obtain the output push probability of each candidate resource and the push probability of the application object of each candidate resource.
[0012] In some embodiments, the user feature vector is the result of inputting the feature information of the user to be pushed into the first embedding layer of the joint recommendation model; the feature vector corresponding to the attribute information of each candidate resource is the result of inputting the feature information of the user to be pushed into the second embedding layer of the joint recommendation model.
[0013] In some embodiments, inputting the attribute information of the application objects of each candidate resource into the first feature extraction module of the joint recommendation model to obtain a feature matrix corresponding to the attribute information of the application objects of each candidate resource includes: inputting the attribute information of the application objects of each candidate resource into the embedding layer of the first feature extraction module to obtain the embedded code of the attribute information of the application objects of each candidate resource; inputting the attribute information of the application objects of each candidate resource into the position coding function to obtain the position coding of the attribute information of the application objects of each candidate resource; adding the embedded code and the position coding of the attribute information of the application objects of each candidate resource to generate a preliminary feature matrix; inputting the preliminary feature matrix into multiple first coding layers for feature extraction to obtain the feature matrix corresponding to the attribute information of the application objects of each candidate resource.
[0014] In some embodiments, each first coding layer includes a self-attention mechanism layer and a front neural network layer, and inputting the preliminary feature matrix into multiple first coding layers for feature extraction includes: inputting the preliminary feature matrix into the self-attention mechanism layer and the front neural network layer of each first coding layer in turn for feature extraction.
[0015] In some embodiments, the attribute information of the application objects of each historical resource is input into the second feature extraction module of the joint recommendation model to obtain a fused feature vector corresponding to the attribute information of the application objects of each historical resource, including: inputting the attribute information of the application objects of each historical resource into the embedding layer of the second feature extraction module to obtain the embedded code of the attribute information of the application objects of each historical resource; inputting the attribute information of the application objects of each historical resource into the position coding function to obtain the position code of the attribute information of the application objects of each historical resource; adding the embedded code and the position code of the attribute information of the application objects of each historical resource to obtain a preliminary code of the attribute information of the application objects of each historical resource; inputting the preliminary code into multiple second coding layers for feature extraction to obtain the feature code corresponding to the attribute information of the application objects of each historical resource; inputting the feature code corresponding to the attribute information of the application objects of each historical resource into the average pooling layer to obtain the fused feature vector corresponding to the attribute information of the application objects of each historical resource.
[0016] In some embodiments, each second encoding layer includes a self-attention mechanism layer and a front neural network layer, and inputting the preliminary code into multiple second encoding layers for feature extraction includes: inputting the preliminary code into the self-attention mechanism layer and the front neural network layer of each second encoding layer in turn for feature extraction.
[0017] In some embodiments, the method further includes: obtaining characteristic information of the training user, historical interaction information of the training user, alternative resource information, and alternative resources actually selected by the training user and application objects of the alternative resources, wherein the historical interaction information includes: attribute information of each historical resource interacted within a historical preset time, attribute information of the application objects of each historical resource, and the alternative resource information includes: attribute information of each alternative resource and attribute information of the application objects of each alternative resource; inputting the characteristic information, historical interaction information, and alternative resource information of the training user into a joint recommendation model; determining a loss function based on the push probability of each alternative resource, the push probability of each application object of the alternative resource, and the alternative resources actually selected by the training user and the application objects of the alternative resources output by the joint recommendation model; and adjusting the parameters of the joint recommendation model based on the loss function until the training is completed.
[0018] According to some other embodiments of the present disclosure, an information push device is provided, including: an acquisition module, used to acquire characteristic information of a user to be pushed, historical interaction information of the user to be pushed, and alternative resource information, wherein the historical interaction information includes: attribute information of each historical resource interacted within a historical preset time, attribute information of an application object of each historical resource, and the alternative resource information includes: attribute information of each alternative resource and attribute information of an application object of each alternative resource; a determination module, used to determine the push probability of each alternative resource and the push probability of the application object of each alternative resource according to the correlation between the historical interaction information and the alternative resource information, and the characteristic information of the user to be pushed; a push module, used to select one or more alternative resources according to the push probability of each alternative resource and the push probability of the application object of each alternative resource, and select one or more application objects for the selected alternative resources and push them to the user to be pushed.
[0019] According to some further embodiments of the present disclosure, an information push device is provided, comprising: a processor; and a memory coupled to the processor, for storing instructions, which, when executed by the processor, causes the processor to execute the information push method of any of the aforementioned embodiments.
[0020] According to some further embodiments of the present disclosure, a non-transitory computer-readable storage medium is provided, on which a computer program is stored, wherein the program, when executed by a processor, implements the steps of the information push method of any of the aforementioned embodiments.
[0021] In the present disclosure, the push probability of each candidate resource and the push probability of the application object of each candidate resource are determined according to the correlation between the historical interaction information of the user to be pushed and the candidate resource information, as well as the characteristic information of the user to be pushed. Since the historical interaction information includes the attribute information of each historical resource interacted within the historical preset time and the attribute information of the application object of each historical resource, and the candidate resource information includes the attribute information of each candidate resource and the attribute information of the application object of each candidate resource, the scheme of the present disclosure takes into account the correlation between the historical resources, the application objects of the historical resources and the candidate resources and the application objects of the candidate resources, and at the same time takes into account the characteristics of the user to be pushed, realizes the joint recommendation of the candidate resources and the application objects, so that the user to be pushed can obtain the pushed candidate resources and the application objects of the candidate resources at the same time, and improves the efficiency and effect of the recommendation.
[0022] Other features and advantages of the present disclosure will become apparent from the following detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0024] Figure 1 A schematic diagram showing a flow chart of an information push method according to some embodiments of the present disclosure.
[0025] Figure 2 A schematic diagram showing the structure of a joint recommendation model according to some embodiments of the present disclosure.
[0026] Figure 3 A schematic diagram showing a flow chart of an information push method according to other embodiments of the present disclosure.
[0027] Figure 4 A schematic diagram showing the structure of an information push device according to some embodiments of the present disclosure.
[0028] Figure 5 A schematic diagram showing the structure of an information push device according to some other embodiments of the present disclosure.
[0029] Figure 6 A schematic diagram showing the structure of an information push device according to some other embodiments of the present disclosure. DETAILED DESCRIPTION
[0030] The technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. The following description of at least one exemplary embodiment is actually only illustrative and is by no means intended to limit the present disclosure and its application or use. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0031] The present invention provides an information push method. Figures 1 to 3 Give a description.
[0032] Figure 1 Flowcharts of some embodiments of the information push method disclosed in the present invention. Figure 1 As shown, the method of this embodiment includes: steps S102 to S106.
[0033] In step S102, characteristic information of the user to be pushed, historical interaction information of the user to be pushed, and candidate resource information are obtained.
[0034] In some embodiments, the historical interaction information includes: the attribute information of each historical resource interacted within the historical preset time, the attribute information of the application object of each historical resource, and the alternative resource information includes: the attribute information of each alternative resource and the attribute information of the application object of each alternative resource. The characteristic information of the user to be pushed includes, for example, the identification, age, gender and other demographic characteristics of the user to be pushed, which can be selected and configured according to actual needs. The attribute information of the historical resource includes, for example, the identification of the historical resource. In the case where the historical resource is a virtual resource, it can also include the discount rate of the historical resource. For example, the actual resource required by an application object is 100. After using a certain historical resource, 20 can be used as a discount. Then the discount rate of the historical resource is 20%. The attribute information of the alternative resource may include: the identification of the alternative resource, the discount rate of the alternative resource, etc. The attribute information of the application object includes: at least one of the identification of the application object, the type of the application object, and the provider to which the application object belongs.
[0035] Interaction refers to the behavior of the user to be pushed, such as clicking or using. The interactive behavior of the user to be pushed, such as click stream, can be stored in the Kafka system in real time. The click stream can include the identifier of the resource clicked by the user to be pushed, and is pre-processed with other attribute information of the resource, attribute information of the application object, and feature information of the user to be pushed, such as using Flink and BDP technology to perform feature cleaning, feature aggregation, feature completion and other pre-processing, and then enter the message queue (MQ) to wait for being called.
[0036] In step S104, the push probability of each candidate resource and the push probability of the application object of each candidate resource are determined according to the correlation between the historical interaction information and the candidate resource information and the characteristic information of the user to be pushed.
[0037] In some embodiments, the correlation between the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource is determined as a first correlation; a fusion feature of the attribute information of each candidate resource and the attribute information of the application objects of each candidate resource is determined as a first fusion feature, and a fusion feature of the attribute information of each historical resource and the attribute information of the application objects of each historical resource is determined as a second fusion feature; the correlation between the first fusion feature and the second fusion feature is determined as a second correlation; based on the first correlation and the second correlation, as well as the feature information of the user to be pushed, the push probability of each candidate resource and the push probability of the application objects of each candidate resource are determined.
[0038] In some embodiments, determining the correlation between the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource includes: inputting the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource into the first feature extraction module and the second feature extraction module of the joint recommendation model respectively, obtaining a feature matrix corresponding to the attribute information of the application objects of each candidate resource and a fused feature vector corresponding to the attribute information of the application objects of each historical resource, wherein the feature matrix includes the feature vector corresponding to the attribute information of the application objects of each candidate resource; inputting the feature matrix and the feature vector into the first attention mechanism layer, obtaining the attention weight of the feature vector corresponding to the attribute information of the application objects of each candidate resource relative to the fused feature vector.
[0039] The feature information of the user to be pushed, the historical interaction information of the user to be pushed, and the candidate resource information are all input into the joint recommendation model for calculation. For continuous features, such as resource utilization rate and age, the features can be directly standardized and input into the model. For discrete features, such as the ID of the user to be pushed and the ID of the resource, they can be one-hot encoded and input into the model.
[0040] In some embodiments, the attribute information of the application objects of each candidate resource is input into the first feature extraction module and mainly processed as follows: the attribute information of the application objects of each candidate resource is input into the embedding layer of the first feature extraction module to obtain the embedded code of the attribute information of the application objects of each candidate resource; the attribute information of the application objects of each candidate resource is input into the position coding function to obtain the position coding of the attribute information of the application objects of each candidate resource; the embedded coding and the position coding of the attribute information of the application objects of each candidate resource are added to generate a preliminary feature matrix; the preliminary feature matrix is input into multiple first coding layers for feature extraction to obtain the feature matrix corresponding to the attribute information of the application objects of each candidate resource.
[0041] like Figure 2 As shown, the first feature extraction module includes an embedding layer, a position encoding layer and a first encoding layer. The following describes them one by one. The function of the embedding layer is to convert a high-dimensional sparse vector into a low-dimensional dense vector. The attribute information of the application object of each candidate resource can be converted into a binary vector before input. The attribute information of the application object of each candidate resource is assumed to be a feature. For feature i, K i represents the total number of feature i, and D represents the embedding dimension of feature i. Let the embedding weight of feature i be but It can represent the embedding vector of dimension D of the jth feature i. For the one-hot vector ti , if t i [j] = 1, j∈{i1, ..., i k}, then t i The embedding vector e obtained by the embedding layer i It is expressed as:
[0042] The position encoding layer includes a position encoding function. When embedding the input information, the position encoding function can also be used to encode the position information of the input information, and then the encoded output is added to the embedding to generate a preliminary feature matrix. For example, the position encoding function can be expressed by the following formula:
[0043] PE(pos,2i)=sin(pos / 10000 2i / d ) (1)
[0044] PE(pos,2i+1)=cos(pos / 10000 2i / d ) (2)
[0045] Among them, pos represents a certain position, i represents a certain dimension of embedding, and d represents the dimension of input features. The position encoding function can adopt an existing position encoding function, for example, the position encoding function in the Transformer model.
[0046] In some embodiments, each first coding layer includes a self-attention mechanism layer and a front neural network layer, and inputting the preliminary feature matrix into multiple first coding layers for feature extraction includes: inputting the preliminary feature matrix into the self-attention mechanism layer and the front neural network layer of each first coding layer in turn for feature extraction, and obtaining a feature matrix corresponding to the attribute information of the application objects of each candidate resource.
[0047] Multiple first encoding layers (encoders) can adopt the structure of the Transformer model. Each first encoding layer contains an attention mechanism layer (Self-attention) and a front neural network layer. For each first encoding layer, its input first passes through the self-attention layer and then the front neural network layer. The function of the self-attention layer is to encode the features of each position while also paying attention to the features of other positions. It can be expressed by the following formula:
[0048]
[0049] Among them, d is the dimension of the input feature X (each vector in the preliminary feature matrix), Q, K, and V correspond to the query, key, and value vectors respectively. These three vectors are the result of the input feature vector X and the three matrices W Q , W K , They are linearly mapped respectively.
[0050]
[0051]
[0052]
[0053] We can use the multi-head attention in the prior art to obtain multiple sets of self-attention through multiple sets of different linear mappings, and then concatenate the multiple sets of attention through the mapping matrix Perform linear mapping, for example, refer to the following formula for calculation.
[0054] S=MultiHead(Q,K,V)=Concat(head1,...,head h )W O (7)
[0055]
[0056] Among them, h represents the total number of heads, W O It is an additional mapping matrix, the purpose of which is to map the concatenated heads into a feature vector of dimension d. i represents the vector generated by the i-th head, Represents a set of mapping matrices corresponding to the i-th head.
[0057] The main function of the feedforward neural network layer is to increase nonlinearity while further extracting features. The feedforward neural network consists of a dropout layer, layer normalization, residual connection, and a fully connected layer. For example, refer to the following formula for calculation.
[0058] S′=LayerNorm(S+Dropout(MH(S))) (9)
[0059] F=LayerNorm(S′+Dropout(LeakyReLU(S′W (1) +b (1) )W (2) +b(2) )) (10)
[0060] Among them, W (1) , b (1) , W (2) , b (2) is a trainable parameter, LayerNorm represents the normalization layer (Layernormalization), Dropout represents the dropout layer, S is the output of multi-head attention, and S′ is the output of the intermediate layer in the front neural network.
[0061] Through the processing of each layer in the above-mentioned first feature extraction module, the key features of the attribute information of the application object of each candidate resource can be mined, so as to determine the first relevance more accurately later.
[0062] In some embodiments, the attribute information of the application objects of each historical resource is input into the second feature extraction module and mainly processed as follows: the attribute information of the application objects of each historical resource is input into the embedding layer of the second feature extraction module to obtain the embedded code of the attribute information of the application objects of each historical resource; the attribute information of the application objects of each historical resource is input into the position coding function to obtain the position coding of the attribute information of the application objects of each historical resource; the embedded coding and the position coding of the attribute information of the application objects of each historical resource are added to obtain the preliminary coding of the attribute information of the application objects of each historical resource; the preliminary coding is input into multiple second coding layers for feature extraction to obtain the feature coding corresponding to the attribute information of the application objects of each historical resource; the feature coding corresponding to the attribute information of the application objects of each historical resource is input into the average pooling layer to obtain the fused feature vector corresponding to the attribute information of the application objects of each historical resource.
[0063] Furthermore, each second coding layer includes a self-attention mechanism layer and a front neural network layer, and inputting the preliminary code into multiple second coding layers for feature extraction includes: inputting the preliminary code into the self-attention mechanism layer and the front neural network layer of each second coding layer in turn for feature extraction.
[0064] like Figure 2 As shown, the second feature extraction module includes an embedding layer, a position encoding layer, and a second encoding layer, which are similar to the embedding layer, the position encoding layer, and the first encoding layer in the first feature extraction module, respectively, and reference can be made to the aforementioned embodiments. Further, the second feature extraction module also includes an average pooling layer. The function of the average pooling layer is to fuse multiple feature vectors into a single feature vector. The average pooling layer is represented, for example, by the following formula.
[0065]
[0066] It represents the feature code corresponding to the attribute information of the application objects of each historical resource of user i, and k represents the total number of application objects.
[0067] Through the processing of each layer in the above-mentioned second feature extraction module, the key features of the attribute information of the application objects of each historical resource can be mined and fused to obtain a fused feature vector, so as to determine the first relevance more accurately later.
[0068] In some embodiments, after obtaining the feature matrix corresponding to the attribute information of the application objects of each candidate resource and the fused feature vector corresponding to the attribute information of the application objects of each historical resource through the first feature extraction module and the second feature extraction module respectively, they are input into the first attention mechanism layer to obtain the attention weight of the feature vector corresponding to the attribute information of the application objects of each candidate resource relative to the fused feature vector.
[0069] In some embodiments, the first fused feature and the second fused feature are input into a second attention mechanism layer to obtain an attention weight of the second fused feature relative to the first fused feature.
[0070] like Figure 2 As shown, the joint recommendation model includes a first attention mechanism layer and a second attention mechanism layer. The structures of the first attention mechanism layer and the second attention mechanism layer are similar. The first attention mechanism layer is mainly used to learn the correlation between the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource, and the second attention mechanism layer is mainly used to learn the correlation between the first fusion feature and the second fusion feature. For example, the first attention mechanism layer can be expressed by the following formula.
[0071]
[0072] Among them, {e1,...,e H} is the feature vector corresponding to the attribute information of the application object of each candidate resource (the vector in the aforementioned feature matrix), 1≤j≤H, v A is the fused feature vector corresponding to the attribute information of the application objects of each historical resource, a(·) is a pre-neural network, and the output value is the attention weight, w j represents the attention weight, v U (A) can represent the first attention feature vector. The second attention mechanism layer is similar to the first attention mechanism layer and will not be described in detail.
[0073] In some embodiments, the first fusion feature and the second fusion feature can be determined by the following method. Determine the first attention feature vector according to the attention weight of the feature vector corresponding to the attribute information of the application object of each candidate resource with respect to the fusion feature vector; concatenate the feature vector corresponding to the attribute information of each candidate resource with the first attention feature vector to obtain a fusion feature vector of the attribute information of each candidate resource and the attribute information of the application object of each candidate resource as the first fusion feature. Concatenate the feature vector corresponding to the attribute information of each historical resource with the fusion feature vector corresponding to the attribute information of the application object of each historical resource to obtain a fusion feature vector of the attribute information of each historical resource and the attribute information of the application object of each historical resource as the second fusion feature.
[0074] The feature vectors corresponding to the attribute information of each candidate resource and the feature vectors corresponding to the attribute information of each historical resource can be obtained through an embedding algorithm or other encoding algorithms. For example, the user feature vector is the result of inputting the feature information of the user to be pushed into the first embedding layer of the joint recommendation model; the feature vectors corresponding to the attribute information of each candidate resource are the result of inputting the feature information of the user to be pushed into the second embedding layer of the joint recommendation model.
[0075] The second attention mechanism layer can not only obtain the attention weight of the second fusion feature relative to the first fusion feature, but also determine the second attention feature vector according to the attention weight of the second fusion feature relative to the first fusion feature.
[0076] Further, if Figure 2 As shown, the joint recommendation model also includes a multi-layer perceptron (MLP). The main function of the MLP layer is to automatically learn and combine various features generated previously to further mine feature information. For example, multiple LeakyReLU activation functions are used in the MLP, which is expressed by the following formula.
[0077] F l =LeakyRelu(XW T )+b (13)
[0078] X represents the input of the MLP layer, W is the trainable parameter matrix of the MLP layer, b is the bias parameter of the MLP layer, and LeakyRelu represents the activation function.
[0079] In some embodiments, Figure 2As shown, the joint recommendation model also includes a softmax layer. The first fusion feature, the second attention feature vector, and the user feature vector corresponding to the feature information of the user to be pushed are input into the multi-layer perceptron (MLP) of the joint recommendation model; the features output by the multi-layer perceptron are input into the softmax layer of the joint recommendation model to obtain the push probability of each candidate resource and the push probability of the application object of each candidate resource.
[0080] In step S106, one or more candidate resources are selected according to the push probability of each candidate resource and the push probability of the application object of each candidate resource, and one or more application objects are selected from the selected candidate resources and pushed to the user to be pushed.
[0081] For example, one or more candidate resources whose push probability is greater than the first threshold value may be selected, or the candidate resources may be sorted from large to small according to the push probability, and one or more candidate resources sorted before the first preset position may be selected. For the selected candidate resources, one or more application objects whose push probability is greater than the second threshold value may be selected from the application objects of these candidate resources, or the application objects of these candidate resources may be sorted from large to small according to the push probability, and one or more application objects sorted before the second preset position may be selected.
[0082] The aforementioned embodiment mentioned that the acquired characteristic information of the user to be pushed, the historical interaction information of the user to be pushed, and the alternative resource information are pre-processed and then enter the message queue (MQ) to wait for being called. The information in the MQ is called for real-time calculation, for example, online reasoning of the push probability of each candidate resource and the push probability of the application object of each candidate resource, to achieve the sorting of each candidate resource and application object, and send the sorting result to the message queue, which can then be sent to the database for storage, and the database includes, for example: Redis, MySQL, HBase, etc. Further, a recommendation interface can be set. The recommendation interface can use RPC (remote procedure call interface). After obtaining the sorting results from the database, data transfer can be performed, the results can be parsed and filtered in real time to obtain the pushed alternative resources and application objects as recommended data, which are sent out through the recommendation interface, and the recommended data can also be sent to the database for storage.
[0083] In the above embodiment, the push probability of each candidate resource and the push probability of the application object of each candidate resource are determined based on the correlation between the historical interaction information of the user to be pushed and the candidate resource information, as well as the characteristic information of the user to be pushed. Since the historical interaction information includes the attribute information of each historical resource interacted within the historical preset time and the attribute information of the application object of each historical resource, and the candidate resource information includes the attribute information of each candidate resource and the attribute information of the application object of each candidate resource, the scheme of the above embodiment takes into account the correlation between the historical resources, the application objects of the historical resources, the candidate resources and the application objects of the candidate resources, and takes into account the characteristics of the user to be pushed, so as to realize the joint recommendation of the candidate resources and the application objects, so that the user to be pushed can obtain the pushed candidate resources and the application objects of the candidate resources at the same time, thereby improving the efficiency and effect of the recommendation.
[0084] Combine the following Figure 3 Describe some other embodiments of the information push method disclosed in the present invention.
[0085] Figure 3 Flowcharts of other embodiments of the information push method disclosed in the present invention. Figure 3 As shown, the method of this embodiment includes: steps S302 to S308.
[0086] In step S302, characteristic information of the training user, historical interaction information of the training user, candidate resource information, and candidate resources actually selected by the training user and application objects of the candidate resources are obtained.
[0087] A large amount of user data can be used every day to train offline to obtain a joint recommendation model; the trained model can be deployed as a service and provide an RPC interface; at the same time, real-time data of users, resources, and application objects can be collected through Flink, and after feature processing, it can be used as input parameters to call the model interface to obtain the returned recommended candidate resources and application objects. The joint recommendation process includes the following parts: offline data collection, offline model training, model deployment, real-time data collection, real-time reasoning, front-end display of recommendation results, and evaluation of recommendation effects.
[0088] Offline data collection includes collecting feature information of training users, historical interaction information of training users, candidate resource information, and candidate resources and application objects of candidate resources actually selected by training users. Historical interaction information includes, for example, attribute information of various historical resources interacted within a historical preset time, attribute information of application objects of various historical resources, and candidate resource information includes, for example, attribute information of various candidate resources and attribute information of application objects of various candidate resources.
[0089] For example, we extract the information of historical resources of all user interactions within a preset historical time (for example, within the past 90 days) from the data warehouse of the network platform, and generate several window training samples for each user. Table 1 shows the part about historical resources in the training samples constructed for a certain user. The identifiers of the historical resources used by the user in the past 90 days are 1, 1916, 1345, 1376, and 1452 in chronological order. According to the sliding window method, positive and negative samples of different windows are constructed on the user's history list in turn. The sample with label 1 is a positive sample, that is, the alternative resource actually selected by the user; conversely, the negative sample with label 0 represents that the user did not select the alternative resource. The negative sample of each user is randomly sampled from the set of alternative resources not selected by the user.
[0090] Table 1
[0091]
[0092] In step S304, the feature information, historical interaction information, and candidate resource information of the training user are input into the joint recommendation model.
[0093] In step S306, a loss function is determined according to the push probability of each candidate resource and the push probability of the application object of each candidate resource output by the joint recommendation model, and the candidate resources and the application objects of the candidate resources actually selected by the training user.
[0094] For example, the loss function may adopt a negative log-likelihood function, which may be expressed by the following formula.
[0095]
[0096] S is the training set, x is the input, y∈{0,1} is the label of the sample, and p(x) is the output of the model, which is the probability of recommending x.
[0097] After the model is built, it usually takes some time to train the model. The training time is usually determined by the performance of the model, the complexity of the model, the hardware capabilities used to train the model, and the business scenario of the model. In the joint recommendation scenario, considering the user behavior and the high frequency of updating of backup resources, we need to train the model once a day, and the data used for each training is the historical data of several days before the current time.
[0098] In step S308, the parameters of the joint recommendation model are adjusted according to the loss function until the training is completed.
[0099] For example, convergence conditions include the loss function value reaching the minimum, the loss function value reaching the threshold, or the number of iterations reaching the threshold.
[0100] The joint recommendation model can be trained offline using all users as training users. Each part of the joint model still needs to perform operations on the input information as in the above embodiments, which will not be repeated here.
[0101] Deploy offline trained models as services for clients to call interfaces. You can use Tensorflowserving to complete model deployment. Tensorflow serving is a flexible, high-performance service system for machine learning models provided by Tensorflow. It comes with a model version management function, which not only provides services for multiple versions of models, but also automatically deploys the latest updated models as services.
[0102] After the deployment of the model is completed, the processing of the above embodiment can be performed for the real-time users to be pushed. For example, obtain the characteristic information of the users to be pushed, the historical interaction information of the users to be pushed, and the real-time alternative resource information. Use these data as input parameters to call the model service interface to obtain real-time push results. The Flink framework can be used to access the real-time click stream and real-time alternative resource change stream of the network platform, and the alternative resource information and the behavior data of the users to be pushed collected within a preset time (for example, 5 minutes) are aggregated separately, and finally the aggregated data is obtained and sent to the message queue, and the subsequent computing module consumes the message and performs calculations.
[0103] Table 2 shows some attribute information of the historical resources to be pushed to the user, and Table 3 shows some attribute information of the candidate resources. Table 2 shows the identifiers of the historical resources that user_1, user_2, and user_3 have interacted with within five minutes. For example, user_1 interacted with the five historical resources 774, 18, 788, 112, and 219 within five minutes. Table 3 shows the attribute information of the latest candidate resources currently obtained, and three of them are specifically shown here. Each candidate resource has a corresponding application object. For example, the application object of the candidate resource identified as 33 has identifiers of 70, 7, 73, and so on. You can also selectively add other attributes of some candidate resources, such as the discount rate of the candidate resources, etc. The selection of attributes needs to be determined according to the specific business scenario.
[0104] Table 2
[0105] Window User Identification of historical resources user_1 774,18,788,112,219 user_2 258,779,972 user_3 2,682,664,504,719,290,437,325
[0106] Table 3
[0107]
[0108] The information in Table 2 and Table 3, as well as other information of the user to be pushed listed in the above embodiment, are used as input information, and by calling the deployed joint recommendation model service, the inference result is finally obtained, such as shown in Table 4. For example, Table 4 shows the push probability of the three-way candidate resources calculated for user_1, among which the probability of candidate resource 738 is the highest, which is 0.82. In the application object list of candidate resource 738, the push probability corresponding to each application object calculated for user_1 is shown in the table in sequence. For example, the push probability of the application object marked as 71 is the highest, which is 0.4. When the front end is actually displayed to the user, it can be sorted according to the probability of the candidate resources shown in the table. In this example, the front-end page will display the candidate resources 738, 855, and 33 in sequence. At the same time, the front-end page will display the application objects in sequence according to the order of the calculated push probability of the application objects. For candidate resource 738, the page will display its application objects 71, 50, 59, ..., and so on in sequence.
[0109] Table 4
[0110]
[0111] In order to ensure real-time performance, the push list for each user can be calculated in advance on the backend, and the calculated results can be stored in the database (such as Redis). This process is called near-line computing. Whenever there is a new user behavior or a new resource change, the system will automatically perform a calculation and update the result to the database. The recommendation system will provide an additional interface for the front-end to call. The front-end only needs to pass in the user's ID, and the recommendation interface will obtain the push list corresponding to the user from Redis and return it to the front-end caller. The front-end will then parse the push list and display the candidate resources and application objects corresponding to the push list on the front-end page.
[0112] The joint recommendation of alternative resources and application objects is displayed on the front end, with each row corresponding to an alternative resource, and the several application object images in each row corresponding to the pushed application objects corresponding to the alternative resource. Users can browse more pushed application objects by sliding the application objects in each row. At the same time, users can click on these application object images to jump directly to the application object details page. Finally, if the user is interested in a certain alternative resource, he can click the red button on the far right of the alternative resource to claim it.
[0113] The final push effect can be evaluated, for example, by using AUC as an indicator for evaluating the overall solution, for example, by using the following formula to calculate AUC.
[0114]
[0115] AUC iis the AUC value of user i, #impression i is the total number of alternative resources clicked by user i. This improved version of AUC actually weights the impression according to the user dimension.
[0116] The present disclosure also provides an information push device, Figure 4 Give a description.
[0117] Figure 4 FIG. 1 is a structural diagram of some embodiments of the information push device disclosed in the present invention. Figure 4 As shown, the device 40 of this embodiment includes: an acquisition module 410 , a determination module 420 , and a push module 430 .
[0118] The acquisition module 410 is used to obtain the characteristic information of the user to be pushed, the historical interaction information of the user to be pushed, and the alternative resource information, wherein the historical interaction information includes: the attribute information of each historical resource interacted within the historical preset time, the attribute information of the application object of each historical resource, and the alternative resource information includes: the attribute information of each alternative resource and the attribute information of the application object of each alternative resource.
[0119] The determination module 420 is used to determine the push probability of each candidate resource and the push probability of the application object of each candidate resource according to the correlation between the historical interaction information and the candidate resource information and the characteristic information of the user to be pushed.
[0120] In some embodiments, the determination module 420 is used to determine the correlation between the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource as a first correlation; determine the fusion feature of the attribute information of each candidate resource and the attribute information of the application objects of each candidate resource as a first fusion feature, and the fusion feature of the attribute information of each historical resource and the attribute information of the application objects of each historical resource as a second fusion feature; determine the correlation between the first fusion feature and the second fusion feature as a second correlation; determine the push probability of each candidate resource and the push probability of the application objects of each candidate resource based on the first correlation and the second correlation, as well as the characteristic information of the user to be pushed.
[0121] In some embodiments, the determination module 420 is used to input the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource into the first feature extraction module and the second feature extraction module of the joint recommendation model respectively, to obtain the feature matrix corresponding to the attribute information of the application objects of each candidate resource and the fused feature vector corresponding to the attribute information of the application objects of each historical resource, wherein the feature matrix includes the feature vector corresponding to the attribute information of the application objects of each candidate resource; the feature matrix corresponding to the attribute information of the application objects of each candidate resource and the fused feature vector corresponding to the attribute information of the application objects of each historical resource are input into the first attention mechanism layer, to obtain the attention weight of the feature vector corresponding to the attribute information of the application objects of each candidate resource relative to the fused feature vector.
[0122] In some embodiments, the determination module 420 is used to determine a first attention feature vector based on the attention weight of the feature vector corresponding to the attribute information of the application object of each candidate resource with respect to the fused feature vector; concatenate the feature vector corresponding to the attribute information of each candidate resource with the first attention feature vector to obtain a fused feature vector of the attribute information of each candidate resource and the attribute information of the application object of each candidate resource as the first fused feature.
[0123] In some embodiments, the determination module 420 is used to concatenate the feature vector corresponding to the attribute information of each historical resource with the fused feature vector corresponding to the attribute information of the application object of each historical resource to obtain the fused feature vector of the attribute information of each historical resource and the attribute information of the application object of each historical resource as the second fused feature.
[0124] In some embodiments, the determination module 420 is used to input the first fused feature and the second fused feature into the second attention mechanism layer to obtain the attention weight of the second fused feature relative to the first fused feature.
[0125] In some embodiments, the determination module 420 is used to determine the second attention feature vector based on the attention weight of the second fusion feature relative to the first fusion feature; input the first fusion feature, the second attention feature vector and the user feature vector corresponding to the feature information of the user to be pushed into the multi-layer perceptron of the joint recommendation model; input the features output by the multi-layer perceptron into the softmax layer of the joint recommendation model to obtain the output push probability of each candidate resource and the push probability of the application object of each candidate resource.
[0126] In some embodiments, the determination module 420 is used to input the attribute information of the application objects of each candidate resource into the embedding layer of the first feature extraction module to obtain the embedded code of the attribute information of the application objects of each candidate resource; input the attribute information of the application objects of each candidate resource into the position coding function to obtain the position coding of the attribute information of the application objects of each candidate resource; add the embedded coding and the position coding of the attribute information of the application objects of each candidate resource to generate a preliminary feature matrix; input the preliminary feature matrix into multiple first coding layers for feature extraction to obtain the feature matrix corresponding to the attribute information of the application objects of each candidate resource.
[0127] In some embodiments, the determination module 420 is used to input the attribute information of the application objects of each historical resource into the embedding layer of the second feature extraction module to obtain the embedded code of the attribute information of the application objects of each historical resource; input the attribute information of the application objects of each historical resource into the position coding function to obtain the position coding of the attribute information of the application objects of each historical resource; add the embedded coding and the position coding of the attribute information of the application objects of each historical resource to obtain the preliminary coding of the attribute information of the application objects of each historical resource; input the preliminary coding into multiple second coding layers for feature extraction to obtain the feature coding corresponding to the attribute information of the application objects of each historical resource; input the feature coding corresponding to the attribute information of the application objects of each historical resource into the average pooling layer to obtain the fused feature vector corresponding to the attribute information of the application objects of each historical resource.
[0128] The push module 430 is used to select one or more candidate resources according to the push probability of each candidate resource and the push probability of the application object of each candidate resource, and select one or more application objects for the selected candidate resources and push them to the user to be pushed.
[0129] In some embodiments, the device 40 also includes: a training module 440 is used to obtain the characteristic information of the training user, the historical interaction information of the training user, the alternative resource information, and the alternative resources and application objects of the alternative resources actually selected by the training user, wherein the historical interaction information includes: the attribute information of each historical resource interacted within the historical preset time, the attribute information of the application objects of each historical resource, and the alternative resource information includes: the attribute information of each alternative resource and the attribute information of the application objects of each alternative resource; the characteristic information, historical interaction information, and alternative resource information of the training user are input into the joint recommendation model; the loss function is determined according to the push probability of each alternative resource, the push probability of the application object of each alternative resource, and the alternative resources and application objects of the alternative resources actually selected by the training user output by the joint recommendation model; the parameters of the joint recommendation model are adjusted according to the loss function until the training is completed.
[0130] The information push device in the embodiment of the present disclosure can be implemented by various computing devices or computer systems. Figure 5 as well as Figure 6 Give a description.
[0131] Figure 5 FIG. 1 is a structural diagram of some embodiments of the information push device disclosed in the present invention. Figure 5 As shown, the device 50 of this embodiment includes: a memory 510 and a processor 520 coupled to the memory 510, and the processor 520 is configured to execute the information push method in any of the embodiments of the present disclosure based on the instructions stored in the memory 510.
[0132] The memory 510 may include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory may store, for example, an operating system, an application program, a boot loader, a database, and other programs.
[0133] Figure 6 FIG. 2 is a structural diagram of some other embodiments of the information push device disclosed in the present invention. Figure 6 As shown, the device 60 of this embodiment includes: a memory 610 and a processor 620, which are similar to the memory 510 and the processor 520 respectively. It can also include an input and output interface 630, a network interface 640, a storage interface 650, etc. These interfaces 630, 640, 650 and the memory 610 and the processor 620 can be connected, for example, through a bus 660. Among them, the input and output interface 630 provides a connection interface for input and output devices such as a display, a mouse, a keyboard, and a touch screen. The network interface 640 provides a connection interface for various networked devices, for example, it can be connected to a database server or a cloud storage server. The storage interface 650 provides a connection interface for external storage devices such as SD cards and USB flash drives.
[0134] Those skilled in the art will appreciate that the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present disclosure may take the form of a computer program product implemented on one or more computer-usable non-transient storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0135] The present disclosure is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present disclosure. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0136] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0137] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0138] The above description is only a preferred embodiment of the present disclosure and is not intended to limit the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure should be included in the protection scope of the present disclosure.
Claims
1. An information push method, comprising: Acquire characteristic information of the user to be pushed, historical interaction information of the user to be pushed, and candidate resource information, wherein the historical interaction information includes: attribute information of various historical resources interacted within a historical preset time, attribute information of application objects of various historical resources, and the candidate resource information includes: attribute information of various candidate resources and attribute information of application objects of various candidate resources; Determine the push probability of each candidate resource and the push probability of the application object of each candidate resource according to the correlation between the historical interaction information and the candidate resource information and the characteristic information of the user to be pushed; One or more candidate resources are selected according to the push probability of each candidate resource and the push probability of the application object of each candidate resource, and one or more application objects are selected for the selected candidate resources and pushed to the to-be-pushed user.
2. The information push method according to claim 1, wherein: Determining the push probability of each candidate resource and the push probability of the application object of each candidate resource according to the correlation between the historical interaction information and the candidate resource information and the characteristic information of the user to be pushed includes: Determine the correlation between the attribute information of the application object of each candidate resource and the attribute information of the application object of each historical resource as a first correlation; Determine a fusion feature of attribute information of each candidate resource and attribute information of an application object of each candidate resource as a first fusion feature, and a fusion feature of attribute information of each historical resource and attribute information of an application object of each historical resource as a second fusion feature; determining a correlation between the first fused feature and the second fused feature as a second correlation; The push probability of each candidate resource and the push probability of the application object of each candidate resource are determined according to the first relevance and the second relevance, and the characteristic information of the user to be pushed.
3. The information push method according to claim 2, wherein: Determining the correlation between the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource includes: Input the attribute information of the application objects of each candidate resource and the attribute information of the application objects of each historical resource into the first feature extraction module and the second feature extraction module of the joint recommendation model respectively, and obtain the feature matrix corresponding to the attribute information of the application objects of each candidate resource and the fused feature vector corresponding to the attribute information of the application objects of each historical resource, wherein the feature matrix includes the feature vector corresponding to the attribute information of the application objects of each candidate resource; The feature matrix corresponding to the attribute information of the application objects of each candidate resource and the fused feature vector corresponding to the attribute information of the application objects of each historical resource are input into the first attention mechanism layer to obtain the attention weight of the feature vector corresponding to the attribute information of the application objects of each candidate resource relative to the fused feature vector.
4. The information push method according to claim 3, wherein: The fusion feature of determining the attribute information of each candidate resource and the attribute information of the application object of each candidate resource, as a first fusion feature, includes: Determine a first attention feature vector according to the attention weight of the feature vector corresponding to the attribute information of the application object of each candidate resource with respect to the fused feature vector; The feature vector corresponding to the attribute information of each candidate resource is concatenated with the first attention feature vector to obtain a fused feature vector of the attribute information of each candidate resource and the attribute information of the application object of each candidate resource as the first fused feature.
5. The information push method according to claim 3, wherein: The fusion features of the attribute information of each historical resource and the attribute information of the application object of each historical resource, as the second fusion feature, include: The feature vector corresponding to the attribute information of each historical resource is concatenated with the fused feature vector corresponding to the attribute information of the application object of each historical resource to obtain a fused feature vector of the attribute information of each historical resource and the attribute information of the application object of each historical resource as the second fused feature.
6. The information push method according to claim 4, wherein: The determining the correlation between the first fused feature and the second fused feature as a second correlation comprises: The first fused feature and the second fused feature are input into a second attention mechanism layer to obtain an attention weight of the second fused feature relative to the first fused feature.
7. The information push method according to claim 6, wherein: The determining, according to the first relevance and the second relevance, and the characteristic information of the user to be pushed, the push probability of each candidate resource and the push probability of the application object of each candidate resource comprises: Determining a second attention feature vector according to an attention weight of the second fused feature relative to the first fused feature; Inputting the first fusion feature, the second attention feature vector, and the user feature vector corresponding to the feature information of the user to be pushed into the multi-layer perceptron of the joint recommendation model; The features output by the multi-layer perceptron are input into the softmax layer of the joint recommendation model to obtain the push probability of each candidate resource and the push probability of the application object of each candidate resource.
8. The information push method according to claim 7, wherein: The user feature vector is the result of inputting the feature information of the user to be recommended into the first embedding layer of the joint recommendation model; The feature vector corresponding to the attribute information of each candidate resource is the result of outputting the feature information of the user to be pushed into the second embedding layer of the joint recommendation model.
9. The information push method according to claim 3, wherein: The step of inputting the attribute information of the application objects of each candidate resource into the first feature extraction module of the joint recommendation model to obtain the feature matrix corresponding to the attribute information of the application objects of each candidate resource comprises: Inputting the attribute information of the application object of each candidate resource into the embedding layer of the first feature extraction module to obtain the embedded code of the attribute information of the application object of each candidate resource; Input the attribute information of the application object of each candidate resource into the position coding function to obtain the position coding of the attribute information of the application object of each candidate resource; The embedded codes and position codes of the attribute information of the application objects of each candidate resource are added together to generate a preliminary feature matrix; The preliminary feature matrix is input into a plurality of first coding layers for feature extraction to obtain a feature matrix corresponding to the attribute information of the application object of each candidate resource.
10. The information push method according to claim 9, wherein: Each first coding layer includes a self-attention mechanism layer and a front neural network layer, and inputting the preliminary feature matrix into multiple first coding layers for feature extraction includes: The preliminary feature matrix is sequentially input into the self-attention mechanism layer and the front neural network layer of each first encoding layer for feature extraction.
11. The information push method according to claim 3, wherein: The inputting the attribute information of the application objects of each historical resource into the second feature extraction module of the joint recommendation model to obtain the fusion feature vector corresponding to the attribute information of the application objects of each historical resource includes: Inputting the attribute information of the application objects of each historical resource into the embedding layer of the second feature extraction module to obtain the embedded code of the attribute information of the application objects of each historical resource; Input the attribute information of the application object of each historical resource into the position coding function to obtain the position coding of the attribute information of the application object of each historical resource; The embedded codes and position codes of the attribute information of the application objects of each historical resource are added together to obtain the preliminary codes of the attribute information of the application objects of each historical resource; Input the preliminary codes into multiple second coding layers for feature extraction to obtain feature codes corresponding to attribute information of application objects of various historical resources; The feature codes corresponding to the attribute information of the application objects of each historical resource are input into the average pooling layer to obtain the fused feature vectors corresponding to the attribute information of the application objects of each historical resource.
12. The information push method according to claim 11, wherein: Each second encoding layer includes a self-attention mechanism layer and a front neural network layer, and inputting the preliminary encoding into multiple second encoding layers for feature extraction includes: The preliminary code is sequentially input into the self-attention mechanism layer and the front neural network layer of each second coding layer for feature extraction.
13. The information push method according to claim 3, further comprising: Acquire characteristic information of the training user, historical interaction information of the training user, candidate resource information, and candidate resources and application objects of the candidate resources actually selected by the training user, wherein the historical interaction information includes: attribute information of various historical resources interacted within a historical preset time, attribute information of application objects of various historical resources, and the candidate resource information includes: attribute information of various candidate resources and attribute information of application objects of various candidate resources; Inputting the training user's feature information, historical interaction information, and candidate resource information into the joint recommendation model; Determine a loss function according to the push probability of each candidate resource, the push probability of the application object of each candidate resource output by the joint recommendation model, and the candidate resources and application objects of the candidate resources actually selected by the training user; The parameters of the joint recommendation model are adjusted according to the loss function until the training is completed.
14. An information push device, comprising: An acquisition module is used to acquire characteristic information of the user to be pushed, historical interaction information of the user to be pushed, and candidate resource information, wherein the historical interaction information includes: attribute information of various historical resources interacted within a historical preset time, attribute information of application objects of various historical resources, and the candidate resource information includes: attribute information of various candidate resources and attribute information of application objects of various candidate resources; A determination module, configured to determine the push probability of each candidate resource and the push probability of the application object of each candidate resource according to the correlation between the historical interaction information and the candidate resource information and the characteristic information of the user to be pushed; The push module is used to select one or more candidate resources according to the push probability of each candidate resource and the push probability of the application object of each candidate resource, and select one or more application objects for the selected candidate resources and push them to the user to be pushed.
15. An information push device, comprising: processor; as well as A memory coupled to the processor, for storing instructions, wherein when the instructions are executed by the processor, the processor executes the information push method according to any one of claims 1 to 13.
16. A non-transitory computer-readable storage medium having a computer program stored thereon, wherein: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 13 are implemented.
Citation Information
Patent Citations
User recommendation method and device
CN110046304A
Information recommendation method and device based on deep learning, equipment and storage medium
CN110825957A