Information push method, device, electronic device and computer readable medium
By using a method of combining dual-model structure and attention model in the recommendation system, the weighted parameters are dynamically adjusted, and the problem of inaccurate user interest results in the existing recommendation system is solved, and more accurate user interest calculation and information push effect are achieved. .
Patent Information
- Application Number
- CN202010096871.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-02-17
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2040-02-17
AI Technical Summary
The existing recommendation system is not accurate enough when determining user interest results, which leads to inaccurate information push results. This is mainly because the weighted parameter settings of the dual-model structure rely on experience and cannot be associated with the content to be pushed and user data, resulting in a fusion effect. Not good.
Using a dual-model structure combined with the attention model, the first interest factor and the second interest factor are obtained respectively by obtaining the content to be pushed and the user data, and their weights are calculated according to the attention model, the weighted parameters are dynamically adjusted, and the two models are reasonably fused. Results are to improve the accuracy of user interest.
By dynamically adjusting the weighted parameters, the accuracy of the push results of the dual-model structure is improved, so that the user interest calculation is more in line with the actual interests of the user, thereby improving the accuracy and effect of information push.
Smart Images

Figure CN113271325B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information processing, and more specifically, to an information push method, device, electronic device and computer-readable medium. Background Art
[0002] The Internet brings a large amount of information to users, satisfying their demand for information in the information age. However, it also makes it impossible for users to quickly obtain truly useful information from a large amount of information. Therefore, the efficiency of information use is reduced.
[0003] The recommendation system can effectively help users quickly discover interesting and high-quality information. It is a tool that automatically connects users and items. It can find information that interests users in an environment with too much information and push the information to users.
[0004] However, the interest results determined by current recommendation systems are often not accurate enough, resulting in inaccurate push results. Summary of the invention
[0005] The present application proposes an information push method, device, electronic device and computer-readable medium to improve the above-mentioned defects.
[0006] In a first aspect, an embodiment of the present application provides an information push method, comprising: obtaining content to be pushed and user data corresponding to a user, obtaining a first interest factor and a second interest factor based on a push model, and obtaining an interest weight based on an attention model, wherein the interest weight comprises a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor; obtaining the user interest level of the content to be pushed based on at least the first interest factor, the second interest factor and the interest weight; and pushing the content to be pushed based on the user interest level.
[0007] In the second aspect, the embodiment of the present application also provides an information push device, including: an acquisition unit, a determination unit and a push unit. The acquisition unit is used to acquire the content to be pushed and the user data corresponding to the user, obtain the first interest factor and the second interest factor according to the push model, and obtain the interest weight according to the attention model, wherein the interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor. The determination unit is used to obtain the user interest in the content to be pushed based on at least the first interest factor, the second interest factor and the interest weight. The push unit is used to push the content to be pushed to the user terminal according to the user interest.
[0008] In a third aspect, an embodiment of the present application further provides an electronic device, comprising: one or more processors; a memory; one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the above method.
[0009] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, wherein the readable storage medium stores a program code executable by a processor, and when the program code is executed by the processor, the processor executes the above method.
[0010] The information push method, device, electronic device and computer-readable medium provided in the present application obtain the first interest factor and the second interest factor according to the push model of the dual-model structure and the user data corresponding to the content to be pushed and the user, and the weights of the first interest factor and the second interest factor can be determined according to the attention model. That is, the content to be pushed and the user data are input into the attention model to obtain the first weight corresponding to the first interest factor and the second weight corresponding to the second interest factor, and then the user interest in the content to be pushed is obtained according to the first interest factor, the second interest factor, the first weight and the second weight, and then the content to be pushed is pushed according to the user interest. Therefore, the respective weights of the first interest factor and the second interest factor obtained by the two models can be obtained by the attention model according to the content to be pushed and the user data, so that the setting of the weights is more reasonable, so that the fusion effect of the interest results obtained by the two models is better, that is, the obtained user interest is more accurate. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0012] Figure 1 A schematic diagram showing an application scenario of the information push method provided in an embodiment of the present application;
[0013] Figure 2 A schematic diagram of a push system is shown;
[0014] Figure 3 A method flow chart of an information push method provided by an embodiment of the present application is shown;
[0015] Figure 4 A schematic diagram showing an interface of a target client provided in an embodiment of the present application is shown;
[0016] Figure 5 A schematic diagram showing another interface of a target client provided in an embodiment of the present application is shown;
[0017] Figure 6 A method flow chart of an information push method provided by another embodiment of the present application is shown;
[0018] Figure 7 A schematic diagram showing the calculation process of the push model of the dual model structure;
[0019] Figure 8 A schematic diagram showing the computational flow of the attention model;
[0020] Fig. 9 A schematic diagram showing the calculation process of the push model of the dual-model structure provided in an embodiment of the present application;
[0021] Fig.10 A module block diagram of an information push device provided by an embodiment of the present application is shown;
[0022] Fig.11 A module block diagram of an information push device provided by another embodiment of the present application is shown;
[0023] Fig.12 A module block diagram of an electronic device provided in an embodiment of the present application is shown;
[0024] Fig.13 A storage unit provided in an embodiment of the present application and used to store or carry program codes for implementing the information push method according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0025] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0026] With the development of Internet technology, information is growing rapidly. How to quickly and effectively filter information so as to accurately recommend personalized content suitable for users (such as goods, advertisements, news information, APPs, etc.) to users is an important research topic at present. In order to solve this problem, recommendation systems based on feature engineering came into being. Recommendation systems can effectively help users quickly find interesting and high-quality information. It is a tool that automatically connects users and items. It can find information that interests users in an environment with too much information and push the information to users.
[0027] See also Figure 1 , Figure 1A schematic diagram showing an application scenario of the information push method provided in an embodiment of the present application is shown. Figure 1 As shown in , the user terminal 100 and the server 200 are located in a wireless network or a wired network, and the user terminal 100 and the server 200 perform data exchange. The server 200 can be a separate server or a server cluster, a local server or a cloud server.
[0028] The server 200 can collect user data through the user terminal 100. Among them, the user data may include user basic data, user interest data, user terminal data, user terminal operation data, and user application data. Among them, the user basic data may include basic information such as the user's height, weight, and gender. The user basic data may be sent to the server 200 and stored by the user through the user terminal 100. For example, when the user registers and logs in to the account of the user terminal 100, the user enters the data and sends it to the server 200, and the server 200 stores the data corresponding to the user identity. The user interest data may be a user interest tag, which may be entered and stored in the server 200 by the user through the user terminal 100. The user interest tag may include content that the user often pays attention to, such as food, music, video, and games. The user terminal data may include attribute information of the terminal used by the user, such as memory capacity, battery capacity, or screen size, etc. The server may obtain the user terminal data by reporting by the user or collecting through the SDK component in the user terminal. User terminal operation data refers to the operation data of the user operating the user terminal. The operation data may be data generated by the user operating the power button, volume button and other physical buttons of the user terminal or the system application or operating system of the user terminal. The server may obtain the user terminal operation data by collecting it through the SDK component in the operating system of the user terminal. User application data may be the operation data of the user operating the application installed in the user terminal, for example, the video watched by the user in the video application, the destination searched by the user in the map APP and the webpage browsed by the user in the browser. The server may obtain the user application data by user reporting or collecting it through the SDK component in each application in the user terminal.
[0029] The above recommendation system can be deployed in a server, and the server can push content to users based on user data and through a push system. Figure 2 As shown, Figure 2 The schematic diagram of a push system is shown. The recommendation system 20 includes a user portrait module 201, a recall module 202, a CTR estimation module 203 and a rearrangement module 204.
[0030] Among them, the user portrait module 201 is used to provide the above-mentioned user data, and the recall module 202, the CTR estimation module 203 and the rearrangement module 204 are used to determine the content to be pushed to the user from the massive content according to the user data.
[0031] The recall module 202 is used to preliminarily screen out a part of the content from the content pool, which is equivalent to roughly sorting the content in the content pool. The screened content can be used as the content to be pushed, and then the content to be pushed is sent to the CTR estimation module 203. Specifically, the recall module 202 roughly sorts the content pool according to the user data. Assuming that the content in the content pool is news, blogs, or posts, the recall module 202 can first preliminarily screen out the content to be pushed from the content pool according to the gender of the user contained in the above user data. For example, for female users, articles related to beauty are at the front of the rough sorting results. Then, based on the results of the rough sorting, the beauty-related articles with the highest ranking are used as the content to be pushed to female users. Similarly, the content related to sports is pushed to male users. In addition, the recall module 202 can also screen out the hotter content from the content pool as the content to be pushed.
[0032] The CTR estimation module 203 is used to further screen the content output by the recall module 202, that is, to precisely sort the content recalled by the recall module 202. CTR is the click-through rate, that is, Click-Through-Rate. The CTR estimation module 203 can perform click-through rate estimation calculations on the content to be pushed according to the feature list and the sorting model, wherein the sorting model can be a logistic regression (LR) model, a factorization machine (FM) model, or a neural network (NN) model. The feature list can be a feature vector input to the CTR estimation module 203. For example, the feature list can be the content to be pushed and user data output by the recall module 202. The CTR estimation module 203 can calculate the click-through rate corresponding to each content in the content to be pushed output by the recall module 202, and sort according to the click-through rate of each content to obtain multiple contents after precise sorting. In some embodiments, the CTR estimation module 203 sends the recommended content obtained after the fine sorting to the rearrangement module 204 according to the size of each click rate, and then the top ranked content in the fine sorting result is used as the recommended content.
[0033] The rearrangement module 204 is used to reorder the recommended content according to the user data to increase the diversity and style mixing effect of the recommended content. For example, the recommended content includes multiple types, such as sports, food, and clothing. The rearrangement module 204 can form a push content set with n contents with high click rates in the sports content, m contents with high click rates in the sports content, and k contents with high click rates in the sports content, and push the contents in the set to the user. The multiple contents obtained by the user include sports, food, and clothing contents, which increases the diversity of the content.
[0034] It can be seen from the above records that the CTR estimation module 203 plays an important role, and the CTR estimation module 203 depends on the sorting model. The quality of the sorting model directly affects the accuracy of the recommendation results. At present, the sorting model often adopts a dual-model structure. For example, the dual-model structure includes a first model and a second model. Usually, the strategies used by the first model and the second model can be different. For example, the first model can predict the content that the user is interested in based on the user's long-term interests, and the second model can predict the content that the user is interested in based on the user's short-term behavior. Therefore, inputting the content to be pushed into the first model can obtain a prediction result, and inputting the content to be pushed into the second model can obtain another prediction result, and then combining the prediction results of each model to determine whether to push the content to the user.
[0035] However, the inventors found in their research that the current strategy of combining the interest results obtained by each model is not perfect, making the push results inaccurate. This is because the current dual-model structure simply adds the prediction results obtained by the two models or adds them after weighting, and uses the result after addition as the output result. Among them, the setting of weighted parameters often depends on experience, and the weighted parameters are fixed. Therefore, the weighted parameters cannot be associated with the content to be pushed and the user data, so that the fusion results obtained based on the weighted parameters are not accurate enough, and the weighted parameters set based on experience are very likely to have errors. If there are errors in the weighted parameters, the combination effect of the dual models will be weakened, and the dual models cannot play a good role.
[0036] Therefore, in order to overcome the above defects, the present application embodiment provides an information push method, such as Figure 3 As shown, the information push method includes S301 to S304. The execution subject of the method may be the above-mentioned server.
[0037] S301: Obtain the content to be pushed and the user data corresponding to the user, obtain a first interest factor and a second interest factor according to the push model, and obtain an interest weight according to the attention model, wherein the interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor.
[0038] As an implementation method, the content to be pushed and the user data corresponding to the user are input into a push model to obtain a first interest factor and a second interest factor, and the content to be pushed and the user data are input into an attention model to obtain an interest weight.
[0039] The content to be pushed may be videos, articles, etc. As an implementation, the content to be pushed may be content obtained by the recall module 202 after rough sorting in the content pool. The user data corresponding to the user may be user data corresponding to the user identifier, and the user data may be the aforementioned user data.
[0040] The user identifier may be a user account used by the user to log in to the client, or a terminal identifier of the user terminal. The client may be an application installed in the user terminal, through which the server pushes content to the user, and the user may also enter user data into the server through the client. The terminal identifier of the user terminal may be a device ID of the user terminal, or may be information such as a MAC address of the user terminal that can be used as an identity identifier of the user terminal. The device ID may be a processor identifier of the user terminal.
[0041] After acquiring the user data corresponding to the user identifier, the server stores the user identifier and the user data in correspondence with each other, so as to search for the user data corresponding to the user according to the user identifier.
[0042] The push model may be a dual-model structure or a multi-model structure, wherein the multi-model structure refers to a structure including 3 or more models.
[0043] In the embodiment of the present application, the push model is a dual-model structure, consisting of two models. As an implementation method, the two models are different, and the two models each predict the user's interest in the content to be pushed, that is, the click rate of the content to be pushed, based on different prediction strategies.
[0044] Assume that the two models in the push model of the dual-model structure are the first model and the second model, and the prediction strategies of the first model and the second model are different. Input the user data corresponding to the content to be pushed and the user into the first model, obtain the first click rate of the content to be pushed obtained by the first model according to the preset strategy of the first model, and record the first click rate of the content to be pushed as the first interest factor. Input the user data corresponding to the content to be pushed and the user into the second model, obtain the second click rate of the content to be pushed obtained by the second model according to the preset strategy of the second model, and record the second click rate of the content to be pushed as the second interest factor. The data input into the first model and the second model may be the same or different, and even if the user data input into the two models is the same, two different prediction results may be obtained due to the different prediction strategies of the first model and the second model.
[0045] In the embodiment of the present application, the two models each predict the click rate of the content to be pushed based on different prediction strategies, and the user data input into the two models are also different.
[0046] In some embodiments, user data includes user portrait data and user browsing data. User portrait data is a visual display of data associated with the user, which can be understood as user information labeling, which may include user interest data, user basic data, user social circle data and other data. Based on user portrait data, recommendation systems, search engines, advertising delivery systems, etc. can be built to improve the accuracy of services.
[0047] In an embodiment of the present application, the user portrait data may include user basic tags and user interest tags. Among them, the user basic tags may be obtained based on the aforementioned user basic data labeling. In addition to the aforementioned user input method obtained by the user through the user terminal, the user interest tags may also include the interest tags obtained by the server based on the data browsed by the user in the first reference time period. Among them, the reference time period can be set according to demand. For example, the reference time period can be within one year or one month. Assuming that the browsed data is an article, the server collects multiple articles browsed by the user in the first reference time period, and can collect the keywords corresponding to each article, and count the number of times each keyword appears, and obtain the type corresponding to the high-frequency keyword with a large number of times, and obtain the user interest tag according to the type. As an implementation method, the type corresponding to the high-frequency keyword can be used as a user interest tag. For example, if the keyword "NBA" appears more times, the type corresponding to the keyword is sports or basketball, and the tag "basketball" is used as a user interest tag.
[0048] Among them, the user browsing data is the content browsed by the user in the second reference time period. Among them, the content can be articles such as news, blogs or posts, and can also be video or audio multimedia data. As an implementation method, the content browsed by the user refers to the content viewed by the user. Among them, when each content is displayed in the application of the user terminal, the content corresponds to the operation area. For example, for an article, the operation area can be a touch area or touch button for providing interactive functions with the user, such as "comment", "like", "forward", "share" or "full text display" displayed by the application when displaying the content of the article. If the user triggers the operation area, the user terminal can record this trigger and determine that the user has viewed the content, and the content corresponding to this trigger is used as the content browsed by the user. Therefore, the user browsing data can be recorded in the user application data corresponding to the application that displays the content, and the user browsing data can be obtained by counting the user's operations on the above-mentioned operation area of the application included in the user application data.
[0049] Wherein, the second reference time period is less than the first reference time period. In some embodiments, the second reference time period can be set based on the first reference time period, and the first reference time period is N times the second reference time period, where N is a positive number greater than 9. For example, if N is 10 and the first reference time period is 30 days, then the second reference time period is 3 days. In other embodiments, the second reference time period can be a fixed value, for example, the second reference time period is 1 day. Wherein, the end time of the second reference time period is the current moment, then compared with the user interest data counted based on the first reference time period, the user browsing data is the user's recently browsed data.
[0050] As another implementation, the user browsing data is M content browsed by the user before the current moment, where M is a positive integer and can be set according to actual needs. For example, M is 10, and the user browsing data is 10 content browsed by the user recently.
[0051] In some embodiments, the prediction strategy of the first model is to predict the click rate of the content to be pushed based on the user's long-term interests, and the prediction strategy of the second model is to predict the click rate of the content to be pushed based on the user's short-term behavior. The implementation method of inputting the content to be pushed and the user data into the push model of the dual-model structure to obtain the first interest factor and the second interest factor can be: obtain the content to be pushed and the user portrait data, and obtain the first interest factor according to the first model; obtain the content to be pushed and the user browsing data, and obtain the second interest factor according to the second model.
[0052] In some embodiments, the first model may be a FM model, a Field-aware Factorization Machines (FFM), a deepFM model, or other models based on a factorization machine algorithm. The second model may be a NN model, a Recurrent Neural Network (RNN), or other models based on a neural network algorithm.
[0053] In an embodiment of the present application, the first model may be an FM model, and the FM model may obtain a first interest factor based on the input content to be pushed, user portrait data, and context features, and the first interest factor is the click rate of the content to be pushed predicted by the FM model. Among them, the context features are used to represent the current environment information. The current environment information may include the current access time and the current network type, etc. For example, the context features may characterize when and where the user uses various types of terminals to log in to the client and whether to use Wi-Fi or 4G network to communicate with the server. Among them, the content to be pushed can be recorded as I (i.e., item) features, the user portrait data can be recorded as U (i.e., user) features, and the context features can be recorded as C (i.e., context) features.
[0054] The functional expression of the FM model is:
[0055]
[0056] Among them, y fm The value of is the output result of the FM model, that is, the first interest factor, w0 is the initial weight, which can also be called bias, x i is the i-th input vector, x j is the jth input vector. This input vector is the vector formed by concatenating the above-mentioned I feature, U feature, and C feature. i For x i The corresponding weight. <v i ,v j > represents v i and v j The inner product of x i x j The fusion parameter, x i x j For x i and x j combination characteristics.
[0057] in, Represents a first-order feature linear combination, in which each feature is regarded as independent of each other, that is, the content to be pushed and the user portrait data are independent of each other.
[0058] in, represents the second-order cross-feature combination, taking into account the correlation of features, that is, x i x j For x i and x j of relevance.
[0059] In an embodiment of the present application, the second model may be an NN model. The NN model may include multiple fully connected layers. For example, the multiple fully connected layers are two, and are respectively the first fully connected layer and the second fully connected layer. The first fully connected layer is 128-dimensional, i.e., includes 128 neurons, and the second fully connected layer is 1-dimensional, i.e., includes 1 neuron. According to the input content to be pushed and the user browsing data, multiple click-through rate prediction results can be obtained in the first fully connected layer. Then, the second fully connected layer determines a result from the multiple click-through rate prediction results obtained by the first fully connected layer as the click-through rate of the content to be pushed predicted by the NN model, i.e., the second interest factor. Among them, the algorithm based on the NN model may be a latent semantic algorithm, a Bayesian algorithm, a clustering algorithm, or a collaborative filtering algorithm. In an embodiment of the present application, the NN model predicts the click-through rate of the content to be pushed based on the collaborative filtering algorithm. Among them, the collaborative filtering algorithm finds out the content that the user likes based on the similarity between the user browsing data and the content to be pushed, and predicts the user's rating of the content to be pushed, so that the highest-rated content to be pushed can be found and recommended to the user.
[0060] As another implementation, the two models each predict the click rate of the content to be pushed based on the same prediction strategy, but the user data input into the two models are different. For example, both models predict the click rate of the content to be pushed based on the user's short-term behavior, and the user data input into the first model are the 10 contents that the user has browsed most recently, while the user data input into the second model are all the contents that the user has browsed in the past day. Although the prediction strategies of the two models are the same, two different prediction results can be obtained if the user data input into the two models are different.
[0061] The interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor.
[0062] The essence of the Attention Model comes from the human visual attention mechanism. When people perceive things, they usually do not watch a scene from beginning to end every time, but often observe and pay attention to a specific part according to their needs. And when people find that a scene often has something they want to observe in a certain part, they will learn to pay attention to that part when similar scenes appear in the future, and focus more attention on the useful parts. The essence of the attention model is weighting, that is, a weight parameter allocation mechanism, the goal is to help the model capture important information. The Attention model can calculate the weight of each input feature, and then perform a weighted sum of the features. The larger the weight of the feature, the greater the contribution of the feature to the current recognition result. For example, given a set of<key,value> , and a target (query) vector query. By calculating the similarity between the query and each set of keys, the weight coefficient of each key is obtained, and then the final output result is obtained by weighted summation of the value.
[0063] The first weight obtained by the attention model corresponds to the first interest factor, and the first weight can be used as an auxiliary of the attention model to the click rate of the content to be pushed predicted by the first model. Therefore, when the first interest factor and the first weight are combined, the click rate predicted by the first model can be more accurate and more in line with the user's interests.
[0064] Similarly, the second weight obtained by the attention model corresponds to the second interest factor, and the second weight can be used as an auxiliary to the attention model for the click rate of the content to be pushed predicted by the second model. Therefore, when the second interest factor and the second weight are combined, the click rate predicted by the second model can be more accurate and more in line with the user's interests.
[0065] As an implementation mode, according to the above analysis, the user data input into the first model and the second model may be the same, and the first weight corresponding to the first interest factor and the second weight corresponding to the second interest factor may also be the same. For example, the content to be pushed and the user data are input into the attention model to obtain a weight, which can be used as the first weight or the second weight.
[0066] As another implementation, the user data input into the first model and the second model may be different, for example, the user data input into the first model is user portrait data, and the user data input into the second model is user browsing data. Then the content to be pushed and the user data are input into the attention model, and the specific implementation method of obtaining the interest weight is to input the content to be pushed and the user portrait data into the attention model to obtain a first weight corresponding to the first interest factor, and input the content to be pushed and the user browsing data into the attention model to obtain a second weight corresponding to the second interest factor. The specific implementation method is introduced in the subsequent embodiments.
[0067] S302: Obtaining the user interest in the content to be pushed based at least on the first interest factor, the second interest factor, and the interest weight.
[0068] Among them, the user interest in the content to be pushed can be used as a basis for judging whether to push the content to be pushed to the user, that is, the server can push the content to be pushed to the user based on the user interest. The first interest factor is the click rate of the user to the content to be pushed predicted by the first model, and the second interest factor is the click rate of the user to the content to be pushed predicted by the second model. The first interest factor and the second interest factor respectively represent the click rates of the content to be pushed predicted from two different angles, and if the first interest factor and the second interest factor are fused, the fusion result obtained can combine the results obtained by the two models, so as to more accurately obtain the click rate of the content to be pushed. Among them, the fusion method can be addition or calculation of the average value, and the first weight and the second weight respectively represent the proportion of the first interest factor and the second interest factor in the fusion process. That is to say, at least according to the first interest factor, the second interest factor, and the interest weight, the process of obtaining the user interest in the content to be pushed can be regarded as an interest degree obtained by the influence of the first weight on the proportion of the first interest factor in the fusion, and another interest degree obtained by the influence of the second weight on the proportion of the second interest factor in the fusion, and then, the user interest in the content to be pushed is obtained at least according to the two interest degrees.
[0069] In some embodiments, the implementation method of obtaining the user interest in the content to be pushed based on at least the first interest factor, the second interest factor, and the interest weight is as follows: obtaining the first interest based on the first interest factor and the first weight; obtaining the second interest based on the second interest factor and the second weight; and obtaining the user interest based on the first interest and the second interest.
[0070] As an implementation method, the product of the first interest factor and the first weight can be used as the first interest level. As another implementation method, the first interest level can also be obtained based on the product of the first interest factor and the first weight. For example, the arithmetic square root of the product is used as the first interest level. Therefore, the first interest level can be used as the click rate of the content to be pushed obtained by combining the first model and the attention model to predict.
[0071] Similarly, as an implementation method, the product of the second interest factor and the second weight can be used as the second interest level. As another implementation method, the second interest level can also be obtained based on the product of the second interest factor and the second weight. For example, the arithmetic square root of the product is used as the second interest level. Therefore, the second interest level can be used as the click rate of the content to be pushed obtained by combining the second model and the attention model to predict.
[0072] As an implementation manner, the sum of the first interest level and the second interest level may be used as the user interest level. As another implementation manner, the average value of the first interest level and the second interest level may be used as the user interest level.
[0073] In an embodiment of the present application, the product of the first interest factor and the first weight is taken as the first interest level, the product of the second interest factor and the second weight is taken as the second interest level, and the sum of the first interest level and the second interest level is taken as the user interest level. Therefore, the first weight and the second weight are not fixed values set based on experience, but are related to the content to be pushed and the user data, so that the first interest factor and the second interest factor obtained by the push model of the dual-model structure can be affected by the attention model, so that the attention model can improve the accuracy of the sum of the first interest level and the second interest level. Therefore, according to the attention distribution of the user data of the content to be pushed in the first model and the second model, the fusion ratio of the first model and the second model is dynamically set, and it no longer relies on the weighting parameters set by experience, but determines the size of the weighting parameters through the attention model, so as to achieve dynamic adjustment and give full play to the best fusion effect of the dual models.
[0074] S303: Pushing the content to be pushed according to the user's interest level.
[0075] As an implementation mode, after obtaining the user interest in the content to be pushed, it is determined whether the user interest is greater than a specified value, and if so, the content to be pushed is pushed. The specified value may be a value set based on experience, and if the user interest in the content to be pushed is greater than the specified value, it indicates that the probability of the pushed content being clicked by the user is relatively high, and the pushed content may be pushed to the user.
[0076] As another implementation, the server obtains the user interest levels of multiple contents to be pushed according to the above method, and then sorts the multiple contents to be pushed according to the user interest level of each content to be pushed.
[0077] In some embodiments, the user interest is a numerical value, and the larger the numerical value is, the higher the probability that the content to be pushed corresponding to the user interest is clicked by the user. Then, according to the user interest of each content to be pushed, the multiple contents to be pushed are sorted in descending order of the user interest to obtain a recommendation sequence, and then the top M contents to be pushed in the recommendation sequence are pushed to the user according to the push strategy. Wherein, M is a positive integer, and the specific value can be set according to actual needs.
[0078] In other embodiments, the smaller the value of the user interest, the higher the probability that the content to be pushed corresponding to the user interest is clicked by the user. Then, according to the user interest of each content to be pushed, the multiple contents to be pushed are sorted in order from small to large according to the user interest, and a recommendation sequence is obtained. Then, the top N contents to be pushed in the recommendation sequence are pushed to the user according to the push strategy. Wherein N is a positive integer, and the specific value can be set according to actual needs.
[0079] The implementation method of pushing the content to be pushed may be to push the content to be pushed to the user terminal corresponding to the user, and the user terminal displays the content to be pushed in the target interface of the target client. The target client may be the client corresponding to the pushed content, and the client corresponding to the pushed content means that the pushed content is pushed by the server corresponding to the client. For example, if a certain news is pushed by the server of a certain APP, then the target client is the APP, that is, when the APP is installed in the user terminal, the pushed content can be received and displayed through the APP.
[0080] The target interface may be an interface in the target client for displaying the content pushed by the server to the user. Figure 4 As shown, the target client may be a news client, and the target interface may be a "headlines" interface of the news client.
[0081] In some embodiments, when the target client is started in the user terminal, a message is sent to the server, through which the server can know that the target client in the user terminal has been started, and then send the content to be pushed to the user terminal, and display the content to be pushed in the target interface of the target client.
[0082] Furthermore, the server can count the number of times the target client is started within the statistical time period, that is, the server can obtain the number of times the target client is started before this time in the statistical time period. If the number of starts is greater than the specified number, the content to be pushed will be stopped from being sent to the user terminal. Alternatively, the content to be pushed can still be sent to the user terminal, but the user terminal is instructed not to display the content to be pushed in the target interface of the target client, so as to avoid the user receiving the same content multiple times within the statistical time period. The statistical time period and the specified number of times can be set in advance according to needs. For example, the statistical time period can be 24 hours, and the specified number of times can be 3 times, so as to avoid pushing the same content to the user repeatedly within one day.
[0083] In some embodiments, the above-mentioned target client is started, which means that the target client is in the foreground running state and the interface currently displayed by the target client is the target interface. Among them, the status of the client includes the foreground running state, the background running state and the non-running state. The foreground running state means that the client is running on the screen by the interface, and the user can interact with the client through the interface, for example, input execution instructions or observe some information from the interface. The background running state means that the client runs in the system's resource manager, but generally has no interface. When the user starts the client for the first time, the client runs on the screen, that is, it is in the foreground running state. When the user clicks the home button, or switches other applications to the foreground or locks the user terminal, the status of the client changes to the background running state. The non-running state means that the client is not started, that is, it is not in the foreground running state, nor in the background running state, also known as the closed state.
[0084] Therefore, when the user terminal detects that the target client is running in the foreground for the first time and the displayed interface is the target interface, it is recorded as the target client is started once, and the target client is running in the foreground, but the displayed interface is not the target interface, such as Figure 5 As shown in the figure, the interface displayed by the target client is the "Video" interface. Although the target client is running in the foreground, it will not be counted as a startup. For example, a startup parameter is pre-set to record the number of startups. The initial value of the startup parameter is 0. The target client is running in the foreground for the first time and displays Figure 4 The interface shown in the figure is changed to 1, and then the interface of the target client is switched to Figure 5 The interface shown in the figure has the same startup parameter as 1. After that, the interface of the target client is switched back to Figure 4In the interface shown, the startup parameter is modified to 2. Therefore, compared with counting the target client being in the foreground running state as one startup or counting the target client switching from the non-running state to the running state as one startup, by counting the target client being started once when it is running in the foreground and the displayed interface is the target interface, the number of times the user sees the content to be pushed through the target client can be counted more accurately.
[0085] In addition, when it is necessary to explain, the target interface may be different according to the type of the pushed content. For example, if the content to be pushed is video content, the target interface may be Figure 5 The "Video" interface shown.
[0086] As another implementation, the target client may be a default client set by the user terminal for displaying the content to be pushed, that is, the user terminal opens the client of the content to be pushed by default. After the user terminal obtains the content to be pushed sent by the server, it determines the default client corresponding to the content to be pushed as the target client, and displays the content to be pushed on the target interface of the target client.
[0087] As another embodiment, the target client may be a client installed in the user terminal and having the function of displaying the content to be pushed. In some embodiments, the server obtains the types of all clients currently installed in the user terminal, determines the type of the content to be pushed, searches for the types of all clients that match the type of the content to be pushed, and uses the client corresponding to the matched type as the target client. If the matched type corresponds to multiple clients, one client may be selected from the multiple clients as the target client. For example, the client most frequently used by the multiple clients may be selected as the target client, or a client may be randomly selected from the multiple clients as the target client. The type of the client may be the type of content supported by the client. For example, if the type of the client is a video class, it means that the client supports playing video content.
[0088] It should be noted that the client can have multiple types. As an implementation, each client corresponds to a type description content, and the type description content is used to record the type of the client. For example, the type description content is (type 1, type 2, type 3, type 4, type 5), and the multiple types in the type description content are sorted according to the number of times the client processes the type of data, such as the aforementioned (type 1, type 2, type 3, type 4, type 5), indicating that the types of data that the client can process include type 1, type 2, type 3, type 4 and type 5, but the most commonly processed data type is type 1, followed by type 2. Among them, the order of the multiple types can be determined based on counting the number of times the type of data processed by the client.
[0089] Therefore, when there are multiple clients obtained from the above matching results, the order of the matched type in the type description content of each client can be determined, and the client whose matched type is the type of data most commonly processed is used as the target client. For example, the content to be pushed is type 1, and the matched clients include client 1, client 2, and client 3, wherein the order of type 1 in the type description content of client 1, client 2, and client 3 is 1, 3, and 2 respectively, then it can be determined that client 1 is the client that most frequently processes type 1 data, and client 1 is used as the target client.
[0090] In addition, the type of the client may be a category of the client, which is a classification of the client, such as games, videos, social networking, news, and browsers. The implementation method of the server searching for all client types that match the type of content to be pushed may be that the server pre-stores a matching type corresponding to each content type, and the matching type is the type of client that can process content of that type. For example, if the type of content to be pushed is an article, then the matching type corresponding to the content to be pushed is social networking, news, and browsers.
[0091] The category of the client can be the category set by the developer of the client when developing the client, or it can be the category set by the user after the client is installed on the user terminal. For example, when the user installs a client on the user terminal, after the installation is completed and the client is entered, a dialog box will be displayed to instruct the user to set the category for the client. The specific category of the client can be set by the user according to the needs. For example, the user can set a social software to the audio category, the video category, or the social category.
[0092] In addition, if some clients have diversified functions, the category of the client needs to be determined based on the specific operation behavior of the client. If some clients can play both videos and audio, for example, some video playback software can play both pure audio files and videos, then the category of the client can be determined based on the specific operation behavior of the client, that is, based on the usage record of the client within a certain period of time, determine whether the user tends to use the client to play videos or to play audio.
[0093] Specifically, the server corresponding to the client is a data server, and the data server obtains the operation behavior data of multiple users on the client within a target time period, wherein the multiple users refer to users who have installed the client, and the operation behavior data can be obtained from the data server corresponding to the client. In other words, when the user uses the client, he will log in to the client using the user account corresponding to the user, and the operation behavior data corresponding to the user account will be sent to the data server corresponding to the client, and the data server will store the obtained operation behavior data in correspondence with the user account. In some embodiments, the user terminal sends an operation behavior query request for the client to the data server corresponding to the client, and the data server sends the operation behavior data of all users within a certain preset time period to the electronic device.
[0094] The operation behavior data includes the name and time of the audio file played, and the name and time of the video file played. By analyzing the operation behavior data, the number and total time of the audio files played by the client in a certain time period can be determined, and the number and total time of the video files played by the client can also be obtained. Then, the category of the client is determined according to the proportion of the total playing time of the audio and video files in the predetermined time period. Specifically, the proportion of the total playing time of the audio and video files in the predetermined time period is obtained. For the convenience of description, the proportion of the total playing time of the audio files in the predetermined time period is recorded as the audio playing proportion, and the proportion of the total playing time of the video files in the predetermined time period is recorded as the video playing proportion. If the video playing proportion is greater than the audio playing proportion, the category of the client is set to the video type. If the audio playing proportion is greater than the video playing proportion, the category of the client is set to the audio type. For example, the preset time period is 30 days, or 720 hours, and the total playback time of audio files is 200 hours, then the audio playback ratio is 27.8%, and the total playback time of video files is 330 hours, then the video playback ratio is 45.8%. If the video playback ratio is greater than the audio playback ratio, the client category is set to the video type.
[0095] Furthermore, in some embodiments, the server may set a designated time point, at which the content to be pushed is pushed to the user terminal. The server may count the time period when the user uses the target client for a relatively long time, that is, count the time period when the user intensively uses the target client, and determine the designated time point according to the time period. For example, if the time period when the user intensively uses the target client is from 8:00 to 9:00, then 8:00 to 9:00 every day is used as the designated time period.
[0096] In other embodiments, the server may also push the content to be pushed to the user terminal according to the location information of the user terminal. For example, the server obtains the current location information of the user terminal and determines the correlation between the location information and the content to be pushed, wherein the correlation indicates the possibility of the user viewing the content to be pushed at the location information, that is, the higher the correlation, the greater the possibility of the user viewing the content to be pushed at the location information.
[0097] As an implementation method, the server can count the location information of the user terminal when the user uses the target client, and use the frequently appearing location information as the target location information. The server then obtains the current location information of the user terminal. If the location information matches the target location information, it is determined that the correlation between the location information and the content to be pushed is a strong correlation, and the content to be pushed is pushed to the user terminal. If the location information does not match the target location information, it is determined that the correlation between the location information and the content to be pushed is a weak correlation, and the content to be pushed is not pushed to the user terminal, thereby avoiding waste of resources.
[0098] As another implementation, the server obtains commercial information near the current location information of the user terminal, determines whether the commercial information matches the content to be pushed, and if so, determines that the correlation between the location information and the content to be pushed is a strong correlation, thereby pushing the content to be pushed to the user terminal; if not, determines that the correlation between the location information and the content to be pushed is a weak correlation, and does not push the content to be pushed to the user terminal. Among them, the implementation method of whether the commercial information matches the content to be pushed can be that the commercial information includes the type of goods sold, and then determines whether the type of goods matches the type of the content to be pushed. If so, determines that the commercial information matches the content to be pushed, otherwise, determines that the commercial information does not match the content to be pushed. For example, the type of the product is fruit, and if the content to be pushed is an article related to fruit, then the type of the product matches the type of the content to be pushed. Or, if the content to be pushed is video content related to fruit, then the type of the product matches the type of the content to be pushed.
[0099] It should be noted that the above method of pushing the content to be pushed can be that the target client pushes the content to be pushed in the push mode of the target client when the push function is activated, for example, a message corresponding to the content to be pushed pops up in the top status bar of the user terminal.
[0100] See also Figure 6 , Figure 6 An information push method provided by an embodiment of the present application is shown, and the execution subject of the method may be the above-mentioned server. Figure 6 As shown, the information push method includes S601 to S606.
[0101] S601: Acquire the content to be pushed and the user portrait data, and obtain the first interest factor based on the first model.
[0102] As an implementation method, the server inputs the content to be pushed and the user portrait data into the first model to obtain the first interest factor.
[0103] S602: Acquire the content to be pushed and the user browsing data, and obtain the second interest factor according to the second model.
[0104] As an implementation mode, the content to be pushed and the user browsing data are input into the second model to obtain the second interest factor.
[0105] In some embodiments, Figure 7 In the calculation process of the push model with a dual-model structure shown in the figure, the content to be pushed and the user portrait data are input into the FM model to obtain the first interest factor, the content to be pushed and the user browsing data are input into the concatenation function in the NN model, and the vector after the concatenation of the content to be pushed and the user browsing data is output, and then the second interest factor is output after passing through the first fully connected layer and the second fully connected layer in sequence.
[0106] The server can directly obtain the user interest in the content to be pushed based on the first interest factor and the second interest factor. For example, the sum of the first interest factor and the second interest factor is used as the user interest in the content to be pushed. Figure 7 As shown, the calculation formula for user interest is: y=y_fm+y_clk_seq, where y_fm is the first interest factor, y_clk_seq is the second interest factor, and y is the user interest in the content to be pushed, that is, the click rate of the content to be pushed predicted by the push model of the dual-model structure.
[0107] It can be seen that in the formula, the first weight of y_fm is 1, and the second weight of y_clk_seq is also 1. That is to say, when the first interest factor and the second interest factor are fused, the first interest factor and the second interest factor are simply added together, and the weight used is a fixed value, which will result in the aforementioned defects. Therefore, in the embodiment of the present application, the weights of the first interest factor and the second interest factor are determined by the attention model, so as to achieve dynamic adjustment and give play to the best fusion effect of the dual models. Please refer to the subsequent description for details.
[0108] S603: Obtain the content to be pushed and the user portrait data, and obtain the first weight based on the attention model.
[0109] As an implementation method, the server inputs the content to be pushed and the user portrait data into the attention model to obtain the first weight.
[0110] Among them, the first weight corresponds to the first interest factor. Therefore, the content to be pushed and the user portrait data input into the first model are also input into the attention model, so that the attention model predicts the click rate of the content to be pushed based on the content to be pushed and the user portrait data as the first weight.
[0111] In some embodiments, before the attention model processes the content to be pushed and the user portrait data, it is necessary to convert the content to be pushed and the user portrait data into vectors. Then, the content to be pushed and the user portrait data are obtained, and the implementation method of obtaining the first weight according to the attention model may be to obtain the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user portrait data by the first model, and obtain the first weight according to the attention model.
[0112] The method of vectorizing the content to be pushed and the user portrait data may be a word frequency statistics method or a one-hot encoding method.
[0113] In addition, assuming that the first model is an FM model, the FM model can vectorize the content to be pushed and the user portrait data. For example, the FM model first generates multiple one-dimensional vectors from the content to be pushed and the user portrait data by one-hot encoding, and then converts the multiple vectors into embedding vectors, i.e., embedding vectors. The embedding vector refers to the representation of features as distributed vectors. For the FM model, the above v i or v j It is the embedding vector.
[0114] As an implementation method, the feature vector corresponding to the content to be pushed is recorded as PredictAid Embedding_1, and the feature vector corresponding to the user portrait data is recorded as UserEmbedding_1. PredictAid Embedding_1 and UserEmbedding_1 are input into the attention model to obtain the first weight, which is recorded as attention_score_long.
[0115] Among them, the attention function corresponding to the attention model is:
[0116]
[0117] Q, K and V correspond to vector query, vector key and vector value respectively.
[0118] The calculation process of the attention model is as follows Figure 8 As shown, Figure 8The Matmul function in is used to calculate the product of two matrices, the Scale function is used to normalize the output of the Matmul function, and the Softmax function is used in the multi-classification process. It maps the output of multiple neurons to the interval (0,1), which can be regarded as probability, so as to perform multi-classification. Then Q and K are used as the input of the Matmul function. The output of the Matmul function is input into the Scale function to obtain a standardized vector, and then input into the Softmax function to obtain the similarity between the query and each group of keys, and obtain the weight coefficient of each key, and then the final output result is obtained by weighted summation of the value.
[0119] Assign the feature vector corresponding to the content to be pushed to Q, and assign the feature vector corresponding to the user portrait data to K and V, d k is the dimension of K, that is, the dimension of the feature vector corresponding to the user portrait data. Then the result Attention (Q, K, V) is the first weight.
[0120] S604: Acquire the content to be pushed and the user browsing data, and obtain the second weight according to the attention model.
[0121] As an implementation method, the server inputs the content to be pushed and the user browsing data into the attention model to obtain the second weight.
[0122] Similarly, the second weight corresponds to the second interest factor. Therefore, the content to be pushed and the user browsing data input into the second model are also input into the attention model. The attention model predicts the click rate of the content to be pushed based on the content to be pushed and the user browsing data as the second weight.
[0123] In some embodiments, before the attention model processes the content to be pushed and the user browsing data, it is necessary to convert the content to be pushed and the user browsing data into vectors. Then, the content to be pushed and the user browsing data are obtained, and the implementation method of obtaining the second weight according to the attention model may be to obtain the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data by the second model, and obtain the second weight according to the attention model.
[0124] The method of vectorizing the content to be pushed and the user portrait data may be a word frequency counting method or a one-hot encoding method. Similarly, the second model may first vectorize the content to be pushed and the user browsing data, and then convert them into an embedding vector, i.e., an Embedding vector.
[0125] As an implementation method, the feature vector corresponding to the content to be pushed is recorded as PredictAid Embedding_2, the feature vector corresponding to the user browsing data is recorded as UserEmbedding_2, and PredictAid Embedding_2 and UserEmbedding_2 are input into the attention model to obtain a second weight, recorded as attention_score_short.
[0126] The calculation of the second weight still uses the above attention function, assigning the feature vector corresponding to the content to be pushed to Q, and assigning the feature vector corresponding to the user browsing data to K and V, d k is the dimension of K, that is, the dimension of the feature vector corresponding to the user browsing data. Then the result Attention (Q, K, V) is the first weight.
[0127] S605: Obtaining the user interest in the content to be pushed according to the first interest factor, the second interest factor, and the interest weight.
[0128] The interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor. Fig. 9 The calculation process of the push model of the dual model structure shown in FIG. Fig. 9 The two fully connected layers in Figure 7 The first fully connected layer and the second fully connected layer in the . The content to be pushed and the user portrait data are input into the FM model to obtain the first interest factor. The content to be pushed and the user browsing data are input into the concatenation function in the NN model to output the vector after the concatenation of the content to be pushed and the user browsing data. Then, the vector passes through the first fully connected layer and the second fully connected layer in sequence to output the second interest factor. The feature vector corresponding to the content to be pushed and the feature vector corresponding to the user portrait data are obtained from the FM model and input into the attention model. The attention model outputs the first weight. The feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data are obtained from the NN model and input into the attention model. The attention model outputs the second weight.
[0129] The formula for the server to obtain the user's interest is:
[0130] y=y_fm*attention_score_long+y_clk_seq*attention_score_short.
[0131] Among them, y_fm is the first interest factor, attention_score_long is the first weight, y_clk_seq is the second interest factor, and attention_score_short is the second weight.
[0132] y_fm*attention_score_long and y_clk_seq*attention_score_short are the first interest level and the second interest level respectively, and y is the user interest level. Fig. 9 and Figure 7 It can be seen that in the embodiment of the present application, the feature vector corresponding to the content to be pushed in the FM model and the feature vector corresponding to the user portrait data are input into the attention model to obtain the weight attention_score_long of y_fm, and the feature vector corresponding to the content to be pushed in the NN model and the feature vector corresponding to the user browsing data are input into the attention model to obtain the weight attention_score_short of y_clk_seq.
[0133] S606: Pushing the content to be pushed according to the user's interest level.
[0134] It should be noted that for the parts of the above method steps that are described in detail, please refer to the aforementioned embodiments and will not be repeated here.
[0135] See also Fig.10 , which shows a structural block diagram of an information pushing device 1000 provided in an embodiment of the present application. The device may include: an acquisition unit 1001, a determination unit 1002 and a pushing unit 1003.
[0136] The acquisition unit 1001 is used to obtain the content to be pushed and the user data corresponding to the user, obtain the first interest factor and the second interest factor according to the push model, and obtain the interest weight according to the attention model, wherein the interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor.
[0137] The determining unit 1003 is configured to obtain the user interest in the content to be pushed based at least on the first interest factor, the second interest factor and the interest weight.
[0138] The pushing unit 1004 is configured to push the content to be pushed to the user terminal according to the user interest level.
[0139] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.
[0140] See also Fig.11 , which shows a structural block diagram of an information pushing device 1000 provided in an embodiment of the present application. The device may include: an acquisition unit 1110, a determination unit 1120 and a pushing unit 1130.
[0141] The acquisition unit 1110 is used to obtain the content to be pushed and the user data corresponding to the user, obtain the first interest factor and the second interest factor according to the push model, and obtain the interest weight according to the attention model, wherein the interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor.
[0142] Furthermore, the push model of the dual-model structure includes a first model and a second model, and the user data includes user portrait data and user browsing data corresponding to the user.
[0143] The acquisition unit 1110 is also used to acquire the content to be pushed and the user portrait data, and obtain the first interest factor based on the first model; acquire the content to be pushed and the user browsing data, and obtain the second interest factor based on the second model.
[0144] Furthermore, the acquisition unit 1110 includes a first weight subunit 1111 and a second weight subunit 1112 .
[0145] The first weight subunit 1111 is used to obtain the content to be pushed and the user portrait data, and obtain the first weight according to the attention model.
[0146] Furthermore, the first weight subunit 1111 is also used to obtain, from the first model, a feature vector corresponding to the content to be pushed and a feature vector corresponding to the user portrait data, and obtain the first weight based on the attention model.
[0147] Furthermore, the first weight subunit 1111 is further used to substitute the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user portrait data into the attention function to obtain the first weight, wherein the attention function is:
[0148]
[0149] Among them, Attention (Q, K, V) is the first weight, Q is the feature vector corresponding to the content to be pushed, K and V are the feature vectors corresponding to the user portrait data, d k is the dimension of the feature vector corresponding to the user portrait data.
[0150] The second weight subunit 1112 is used to obtain the content to be pushed and the user browsing data, and obtain the second weight according to the attention model.
[0151] Furthermore, the second weight subunit 1122 is also used to obtain the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data from the second model, and obtain the second weight according to the attention model.
[0152] Furthermore, the second weight subunit 1122 is further used to substitute the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data into the attention function to obtain the second weight, wherein the attention function is:
[0153]
[0154] Among them, Attention (Q, K, V) is the second weight, Q is the feature vector corresponding to the content to be pushed, K and V are the feature vectors corresponding to the user browsing data, d k is the dimension of the feature vector corresponding to the user portrait data.
[0155] The determination unit 1120 is configured to obtain the user interest in the content to be pushed based at least on the first interest factor, the second interest factor, and the interest weight.
[0156] Furthermore, the determination unit 1120 is also used to obtain a first interest level according to the first interest factor and the first weight; obtain a second interest level according to the second interest factor and the second weight; and obtain the user interest level according to the first interest level and the second interest level.
[0157] Furthermore, the determination unit 1120 is also used to take the product of the first interest factor and the first weight as the first interest level; take the product of the second interest factor and the second weight as the second interest level; and take the sum of the first interest level and the second interest level as the user interest level.
[0158] The pushing unit 1130 is configured to push the content to be pushed to the user terminal according to the user interest level.
[0159] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.
[0160] In several embodiments provided in the present application, the coupling between modules may be electrical, mechanical or other forms of coupling.
[0161] In addition, each functional module in each embodiment of the present application can be integrated into a processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or software functional modules.
[0162] Please refer to Fig.12 , which shows a structural block diagram of an electronic device provided in an embodiment of the present application. The electronic device 10 may be an electronic device capable of running applications, such as a smart phone, a tablet computer, an e-book, a computer, etc. The electronic device 10 in the present application may be the above-mentioned server, and may include one or more of the following components: a processor 110, a memory 120, and one or more applications, wherein one or more applications may be stored in the memory 120 and configured to be executed by one or more processors 110, and one or more programs are configured to execute the method described in the aforementioned method embodiment.
[0163] The processor 110 may include one or more processing cores. The processor 110 uses various interfaces and lines to connect various parts of the entire electronic device 100, and executes various functions and processes data of the electronic device 100 by running or executing instructions, programs, code sets or instruction sets stored in the memory 120, and calling data stored in the memory 120. Optionally, the processor 110 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 110 can integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. Among them, the CPU mainly processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing display content; and the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the processor 110, but may be implemented separately through a communication chip.
[0164] The memory 120 may include a random access memory (RAM) or a read-only memory (ROM). The memory 120 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 120 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the following various method embodiments, etc. The data storage area may also store data (such as a phone book, audio and video data) created by the terminal 100 during use.
[0165] Please refer to Fig.13 , which shows a structural block diagram of a computer-readable storage medium provided in an embodiment of the present application. The computer-readable medium 1300 stores program codes, which can be called by a processor to execute the method described in the above method embodiment.
[0166] The computer-readable storage medium 1300 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer-readable storage medium 1300 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 1300 has storage space for program code 1310 for executing any method steps in the above method. These program codes may be read from or written to one or more computer program products. The program code 1310 may be compressed, for example, in a suitable form.
[0167] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. An information push method, characterized in that: include: Obtain content to be pushed and user data corresponding to the user, obtain a first interest factor and a second interest factor according to a push model, and obtain an interest weight according to an attention model, wherein the interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor; the first weight is obtained by inputting the content to be pushed and the user data into the attention model, and the second weight is obtained by inputting the content to be pushed and the user data into the attention model; The first weight is used to represent the proportion of the first interest factor and the second interest factor in a fusion process, and the second weight is used to represent the proportion of the second interest factor in a fusion process; The attention model is used to analyze the contribution of input features to the current recognition result; The user data includes user portrait data and user browsing data corresponding to the user, and obtaining the first interest factor and the second interest factor according to the push model includes: obtaining the first interest factor according to the first model in the push model, the content to be pushed and the user portrait data; obtaining the second interest factor according to the second model in the push model, the content to be pushed and the user browsing data; Obtaining the user interest in the content to be pushed at least according to the first interest factor, the second interest factor and the interest weight, including: obtaining a first interest according to the first interest factor and the first weight; obtaining a second interest according to the second interest factor and the second weight; obtaining the user interest according to the first interest and the second interest; the user interest is used to represent the probability of the content to be pushed being clicked by the user; Pushing the content to be pushed according to the user's interest level; Wherein, obtaining the interest weight according to the attention model includes: substituting the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user portrait data into the attention function to obtain the first weight; substituting the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data into the attention function to obtain the second weight; wherein, the attention function is: Wherein, Attention (Q, K, V) is the first weight or the second weight; Q is the feature vector corresponding to the content to be pushed; d k is the dimension of the feature vector corresponding to the user portrait data; when Attention (Q, K, V) is the first weight, K and V are both the feature vectors corresponding to the user portrait data; when Attention (Q, K, V) is the second weight, K and V are both the feature vectors corresponding to the user browsing data.
2. The method according to claim 1, characterized in that The push model is a dual-model structure.
3. The method according to claim 2, characterized in that Obtaining the interest weight according to the attention model includes: The content to be pushed and the user portrait data are obtained, and the first weight is obtained according to the attention model.
4. The method according to claim 3, characterized in that: The acquiring the content to be pushed and the user portrait data, and obtaining the first weight according to the attention model, includes: The first model obtains a feature vector corresponding to the content to be pushed and a feature vector corresponding to the user portrait data, and obtains the first weight based on the attention model.
5. The method according to claim 2, characterized in that: The step of obtaining the content to be pushed and the user data corresponding to the user, and obtaining the interest weight according to the attention model, includes: The content to be pushed and the user browsing data are obtained, and the second weight is obtained according to the attention model.
6. The method according to claim 5, characterized in that The acquiring the content to be pushed and the user browsing data, and obtaining the second weight according to the attention model, includes: The feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data are obtained by the second model, and the second weight is obtained according to the attention model.
7. The method according to claim 1, characterized in that The obtaining a first interest level according to the first interest factor and the first weight, and obtaining a second interest level according to the second interest factor and the second weight, comprises: taking the product of the first interest factor and the first weight as the first interest degree; The product of the second interest factor and the second weight is used as the second interest level.
8. The method according to claim 7, characterized in that The obtaining the user interest degree according to the first interest degree and the second interest degree includes: The sum of the first interest level and the second interest level is used as the user interest level.
9. An information push device, characterized in that: include: an acquisition unit, configured to acquire content to be pushed and user data corresponding to the user, obtain a first interest factor and a second interest factor according to a push model, and obtain an interest weight according to an attention model, wherein the interest weight includes a first weight corresponding to the first interest factor and a second weight corresponding to the second interest factor; the first weight is obtained by inputting the content to be pushed and the user data into the attention model, and the second weight is obtained by inputting the content to be pushed and the user data into the attention model; The first weight is used to represent the proportion of the first interest factor and the second interest factor in a fusion process, and the second weight is used to represent the proportion of the second interest factor in a fusion process; The attention model is used to analyze the contribution of input features to the current recognition result; the user data includes user portrait data and user browsing data corresponding to the user; a determining unit, configured to obtain the user interest in the content to be pushed based at least on the first interest factor, the second interest factor and the interest weight; The user interest level is used to represent the probability of the content to be pushed being clicked by the user; A push unit, configured to push the content to be pushed to a user terminal according to the user's interest level; The acquisition unit is further configured to obtain the first interest factor according to the first model in the push model, the content to be pushed and the user portrait data; and obtain the second interest factor according to the second model in the push model, the content to be pushed and the user browsing data; The determining unit is further configured to obtain a first interest level according to the first interest factor and the first weight; obtain a second interest level according to the second interest factor and the second weight; and obtain the user interest level according to the first interest level and the second interest level; The acquisition unit is further used to substitute the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user portrait data into the attention function to obtain the first weight; substitute the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data into the attention function to obtain the second weight; wherein the attention function is: Wherein, Attention (Q, K, V) is the first weight or the second weight; Q is the feature vector corresponding to the content to be pushed; d k is the dimension of the feature vector corresponding to the user portrait data; when Attention (Q, K, V) is the first weight, K and V are both the feature vectors corresponding to the user portrait data; when Attention (Q, K, V) is the second weight, K and V are both the feature vectors corresponding to the user browsing data.
10. The device according to claim 9, characterized in that The push model is a dual-model structure, including a first model and a second model. The user data includes user portrait data and user browsing data corresponding to the user. The acquisition unit is also used to acquire the content to be pushed and the user portrait data, and obtain the first interest factor based on the first model; and acquire the content to be pushed and the user browsing data, and obtain the second interest factor based on the second model.
11. The device according to claim 10, characterized in that The acquisition unit comprises: The first weight subunit is used to obtain the content to be pushed and the user portrait data, and obtain the first weight according to the attention model.
12. The device according to claim 11, characterized in that The first weight subunit is also used to obtain, from the first model, a feature vector corresponding to the content to be pushed and a feature vector corresponding to the user portrait data, and obtain the first weight based on the attention model.
13. The device according to claim 10, characterized in that The acquisition unit comprises: The second weight subunit is used to obtain the content to be pushed and the user browsing data, and obtain the second weight according to the attention model.
14. The device according to claim 13, characterized in that The second weight subunit is further used to obtain the feature vector corresponding to the content to be pushed and the feature vector corresponding to the user browsing data from the second model, and obtain the second weight according to the attention model.
15. The device according to claim 9, characterized in that The determination unit is further configured to use the product of the first interest factor and the first weight as the first interest level; use the product of the second interest factor and the second weight as the second interest level; and use the sum of the first interest level and the second interest level as the user interest level.
16. An electronic device, characterized in that: include: one or more processors; Memory; One or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the method according to any one of claims 1-8.
17. A computer readable medium, characterized in that The readable medium stores a program code executable by a processor, and when the program code is executed by the processor, the processor executes the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Content pushing method and device, computer equipment and storage medium
CN110162701A
Information recommendation method and device and terminal
CN110543598A