A resource pushing processing method and device, electronic equipment and storage medium
By combining silent push with machine learning models, local push is performed based on the time period with the highest user click rate, which solves the problem of low click rate in existing resource push technologies and achieves personalized and efficient resource push.
Patent Information
- Application Number
- CN202110948116.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-18
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2041-08-18
AI Technical Summary
In existing mobile resource push notification mechanisms, the delivery rate of remote server pushes is difficult to guarantee, which affects the click-through rate, while local timed pushes cannot take into account the preferences of individual users, which also affects the click-through rate.
By receiving resource pushes in a silent push mode and using machine learning models to predict the time period with the highest user click rate, the push mode is converted to local push, and the push time is set to the time unit with the highest click rate. Personalized pushes are then performed by combining user attribute and resource attribute information.
It improves the click-through rate and reach rate of resource pushes by dynamically updating the machine learning model to match user habits, thereby achieving personalized resource pushes and reducing the impact of network latency.
Smart Images

Figure CN113792211B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, and in particular, to a resource pushing processing method and device, electronic equipment and storage medium. BACKGROUND
[0002] With the rapid development of mobile Internet, mobile terminals such as smart phones have gradually become the main platform for human-computer interaction. In the development process of mobile terminal applications, not only normal business logic needs to be completed, but also user experience and system performance need to be considered. At present, the business volume of applications is becoming larger and larger, and the business scope is becoming more and more diversified. In order to improve the use rate of applications by different users or understand application-related information in time, the application service party generally pushes messages, audio and video files and other resources to the mobile terminal. In order to prompt the mobile terminal user to view the resources, a message reminding mechanism is needed to remind the mobile terminal.
[0003] In the related art, in the push reminding mechanism of the mobile terminal, the reminding of the resource pushing is generally performed in the following ways: one is to send a reminding message to the user by a remote server; the other is a local push scheme at regular intervals. However, the reach rate of the push reminding mechanism based on the remote server is difficult to guarantee, which can easily affect the click rate of the resources. The local push at regular intervals is difficult to consider the preferences of individual users, which also affects the click rate of the resources. SUMMARY
[0004] The embodiments of the present application provide a resource pushing processing method and device, electronic equipment and storage medium to solve the problem of high maintenance and management cost of the existing data management mode.
[0005] In order to solve the above technical problems, the present application is implemented as follows:
[0006] In a first aspect, the embodiments of the present application provide a resource pushing processing method, comprising:
[0007] receiving the resource pushing in a silent pushing mode;
[0008] obtaining, by a first machine learning model, resource click rate data of the current user in a time period after the current time based on click rate related parameters, the time period being composed of a plurality of continuous time units, the resource click rate data including resource click rates of the user in each time unit, and the click rate related parameters including at least one of resource attribute information of the pushing resource and user attribute information of the current user;
[0009] converting the pushing mode of the resource pushing from the silent pushing to the local pushing, and setting the local pushing time of the pushing resource as the time unit with the highest resource click rate of the user.
[0010] Optionally, the step of obtaining the resource click rate data of the current user in the specified time period after the current time by the first machine learning model comprises:
[0011] Obtaining the business identifier of the business to which the pushed resource belongs, and obtaining the resource click rate data of the current user in the specified time period by the first machine learning model adapted to the business identifier.
[0012] Optionally, before the step of obtaining the resource click rate data of the current user in the specified time period after the current time by the first machine learning model, the method further comprises:
[0013] Obtaining the click behavior data of different users for different historical pushed resources, and click rate related parameters;
[0014] According to the click behavior data and the click rate related parameters, obtaining the resource click rate data of each user in at least one time period to obtain training data, wherein the training data contains multiple training samples that are different from each other, and each training sample includes the resource click rate data and the click rate related parameters of any one user in any time period;
[0015] Training the first machine learning model by the training sample.
[0016] Optionally, the first machine learning model comprises a machine learning model based on a proximity algorithm, and a K value of the proximity algorithm is determined by a cross-validation method, and the step of training the first machine learning model by the training sample comprises:
[0017] Dividing the training sample according to a target proportion to be training data and verification data of the first machine learning model, respectively;
[0018] For any alternative K value in a specified value range, training the first machine learning model by the training data and verifying the accuracy of the trained first machine learning model by the verification data;
[0019] Obtaining the alternative K value with the highest accuracy as the K value of the first machine learning model;
[0020] The target proportion is in a specified proportion range, the ratio of the training data to the verification data is between 9:1 and 5:4, and the specified value range is an integer greater than or equal to 3 and less than or equal to 10.
[0021] Optionally, the method further comprises:
[0022] obtaining historical behavior data of the current user before a current time for a pushed resource;
[0023] constructing, based on the historical behavior data, a real-time decision vector of the current user by a vector generation model;
[0024] obtaining, based on the real-time decision vector, a preference degree of the current user for different resource types by a second machine learning model, so as to sort pushed resources in a same time unit in an order from high to low according to the preference degree when performing local push;
[0025] The vector generation model is trained by a plurality of first samples, and the first sample is a combination of a decision vector of any user sample for any resource sample and historical behavior data of the user sample for the resource sample. The second machine learning model is constructed by a plurality of second samples, and the second sample is a combination of a preference degree sample of any user sample for a resource type to which any resource sample belongs and a decision vector of the user sample for the resource sample.
[0026] Optionally, the resource includes at least one of a message, a post, a web page, and a file.
[0027] In a second aspect, an embodiment of the present application provides a resource pushing processing apparatus, comprising:
[0028] a resource receiving module configured to receive a resource push in a silent push mode;
[0029] a click rate obtaining module configured to obtain, based on a click rate related parameter, resource click rate data of a current user in a time period after a current time by a first machine learning model, the time period being composed of a plurality of continuous time units, the resource click rate data including resource click rates of the user in each of the time units, and the click rate related parameter including at least one of resource attribute information of the pushed resource and user attribute information of the current user;
[0030] a push time setting module configured to convert a push mode of the resource push from the silent push to a local push, and set a local push time of the pushed resource as a time unit in which the resource click rate of the user is the highest.
[0031] Optionally, the click rate obtaining module is specifically configured to:
[0032] obtain a business identifier of a business to which the pushed resource belongs, and obtain the resource click rate data of the current user in the specified time period by a first machine learning model adapted to the business identifier.
[0033] Optionally, the apparatus further comprises:
[0034] a historical data collection module, configured to acquire click behavior data of different users for different historical push resources and click rate related parameters;
[0035] a training data acquisition module, configured to acquire resource click rate data of each user in at least one time period according to the click behavior data and the click rate related parameters, to obtain training data, wherein the training data contains a plurality of mutually different training samples, and each training sample includes resource click rate data and click rate related parameters of any one user in any time period;
[0036] a model training module, configured to train the first machine learning model through the training samples.
[0037] Optionally, the first machine learning model includes a machine learning model based on a proximity algorithm, a K value of the proximity algorithm is determined through cross-validation method, and the model training module includes:
[0038] a sample data division submodule, configured to divide the training samples according to a target proportion to serve as training data and verification data of the first machine learning model respectively;
[0039] a model training and verification submodule, configured to train the first machine learning model with the training data for any candidate K value in a specified value range, and verify the accuracy of the trained first machine learning model with the verification data;
[0040] a model K value determination submodule, configured to acquire the candidate K value with the highest accuracy as the K value of the first machine learning model;
[0041] wherein, the value range of the target proportion is within a specified proportion range, the ratio of the training data to the verification data is between 9:1 and 5:4 in the specified proportion range, and the specified value range is an integer greater than or equal to 3 and less than or equal to 10.
[0042] Optionally, the apparatus further includes:
[0043] a user behavior data acquisition module, configured to acquire historical behavior data of the current user for the pushed resources before the current time;
[0044] a real-time decision vector construction module, configured to construct a real-time decision vector of the current user through a vector generation model based on the historical behavior data;
[0045] The resource preference acquisition module is configured to acquire, based on the real-time decision vector, a preference degree of the current user for different resource types by using a second machine learning model, so as to sort the push resources in the same time unit according to the preference degrees from high to low when performing local push.
[0046] The vector generation model is trained by a plurality of first samples, and the first sample is a combination of a decision vector of any user sample for any resource sample and historical behavior data of the user sample for the resource sample. The second machine learning model is constructed by a plurality of second samples, and the second sample is a combination of a preference degree sample of any user sample for a resource type to which any resource sample belongs and a decision vector of the user sample for the resource sample.
[0047] Optionally, the resource includes at least one of a message, a post, a webpage, and a file.
[0048] In a third aspect, an electronic device is additionally provided in the embodiments of the present application, and the electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program implements the steps of the resource push processing method when executed by the processor.
[0049] In a fourth aspect, a computer readable storage medium is additionally provided in the embodiments of the present application, and the computer readable storage medium stores a computer program, and the computer program implements the steps of the resource push processing method when executed by a processor.
[0050] In the embodiments of the present application, the resource push is received by using the silent push mode, and the time period with a high click rate of the user is predicted by using the machine learning model, the silent push is converted into the local push, and the push is delayed to the corresponding time period. Meanwhile, the machine learning model can be updated when the user clicks the push, the machine learning model can more accurately predict the click behavior of the user, the accuracy of the push time of the resource can be improved, and the click rate of the pushed resource can be improved. BRIEF DESCRIPTION OF DRAWINGS
[0051] Figure 1 is a step flowchart of a resource push processing method in the embodiments of the present application;
[0052] Figure 2 is a step flowchart of another resource push processing method in the embodiments of the present application;
[0053] Figure 3 is a training and use flowchart of a first machine learning model in the embodiments of the present application;
[0054] Figure 4 is a schematic diagram of a training and updating process of a vector generation model and a second machine learning model in an embodiment of the present application;
[0055] Figure 5 is a structural schematic diagram of a resource pushing processing device in an embodiment of the present application;
[0056] Figure 6 is a structural schematic diagram of another resource pushing processing device in an embodiment of the present application. DETAILED DESCRIPTION
[0057] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0058] Referring to Figure 1 , a step flowchart of a resource pushing processing method in an embodiment of the present application is shown.
[0059] Step 110, receiving a resource push in a silent push manner;
[0060] Step 120, obtaining, by a first machine learning model, resource click rate data of a current user in a time period after a current time based on a click rate related parameter, the time period being composed of a plurality of continuous time units, the resource click rate data including resource click rates of the user in each of the time units, and the click rate related parameter including at least one of resource attribute information of the pushed resource and user attribute information of the current user.
[0061] Step 130, converting a push manner of the resource push from a silent push to a local push, and setting a local push time of the pushed resource as a time unit with the highest resource click rate of the user.
[0062] In the embodiment of the present application, the behavior of the user clicking push is abstractly processed by the capability on the mobile terminal, the machine learning model is dynamically updated, the user habit is automatically matched, and the personalized model for the user is generated.
[0063] Specifically, in order to improve the click rate of the user on the pushed resource, the resource needs to be pushed to the user at the time period with the highest click rate of the user on the currently received resource as much as possible. In order to ensure that the resource can be pushed in time at the time period with the highest click rate, and avoid delay of the resource pushing due to poor network and the like, the resource pushing can be received through a silent pushing manner, that is, the resource pushing is received at the time through silent pushing when the server or the like pushes the resource to the mobile terminal of the user, and then the silent pushing is converted into local pushing at the mobile terminal. At this time, only the local pushing time needs to be determined at the mobile terminal, without affecting the arrival rate of the pushed resource, and without the need for special setting of the server or the like for pushing the resource.
[0064] Moreover, for the mobile terminal of the user, the click rate related parameters of the user can be collected, and then the click rate of the user in each time unit in a future time period is predicted based on the collected click rate related parameters (for example, including the resource category of the resource Push, user information, city information and the like) through the first machine learning model of the mobile terminal. The time unit with the highest click rate is taken as the time period of this resource pushing, and then the pushing time can be delayed to the corresponding time period. The application scenario of the embodiment of the present application can be an APP (Application, application program), and then the first machine learning model can be integrated into the corresponding APP; or the first machine learning model can be integrated into an application program that can manage global resource pushing of the mobile terminal, and the embodiment of the present application is not limited in this regard.
[0065] The first machine learning model can be any available machine learning model, and the embodiment of the present application is not limited in this regard.
[0066] Moreover, in order to train the first machine learning model, the historical resource click rate data of each user in each historical time unit (assuming one hour as a time unit) in each historical time period (assuming 24 hours as a time period) can be obtained by collecting the data of different users (including the category of the Push, user information, city information, and clicked time), and then the data is counted. The time unit with the highest click amount is taken as the default data corresponding to the user, and in order to improve the accuracy and comprehensiveness of the first machine learning model, the maximum number of users can be covered as much as possible. The data can be used to generate initial training data of the first machine learning model.
[0067] Moreover, in the use of the first machine learning model in different clients, new sample data can be constructed based on the real-time click behavior data of the users in each client, and the first machine learning model of the corresponding client is updated in real time, so that the first machine learning model can more accurately predict the user click behavior, and the click rate of the pushed resource can be further improved.
[0068] That is, in the embodiment of the application, the first machine learning model can be integrated into the APP, and the prediction result is generated based on the user data, that is, it is predicted that the user has the highest click rate on the pushed resource in which time period, and the local push of the pushed resource (such as the push reminder message through the pop-up window, the notification bar, the status bar, or the corresponding resource is directly displayed in the form of a thumbnail box in the page, etc.) is delayed to the corresponding time period and pushed to the user, and the model is continuously updated and optimized based on the data generated on the APP end of the user, so as to improve the prediction accuracy.
[0069] Reference Figure 2 In the embodiment of the application, the step 120 can further include:
[0070] Step 121, obtaining the business identifier of the business to which the pushed resource belongs, and obtaining the resource click rate data of the current user in the specified time period through the first machine learning model adapted to the business identifier.
[0071] In actual application, due to the needs of users in different businesses, the click behavior and click time distribution of the same user in different business scenarios can be different. For example, in the food delivery business scenario, the click rate of the user on the related push is generally high during meal time, especially during lunch time, and in the car-hailing business scenario, the click rate of the user on the related push is generally high during the commuting time period.
[0072] Therefore, in the embodiment of the application, training data in each business scenario can be constructed respectively, and the first machine learning model in different business scenarios can be trained respectively, so that when real-time resource pushing is performed, the business identifier of the business to which the current pushed resource belongs can be obtained, and the resource click rate data of the current user in the corresponding specified time period can be obtained through the first machine learning model adapted to the business identifier.
[0073] The specific machine learning model used by the first machine learning model in different business scenarios can be different or completely the same, and the embodiments of the present application do not limit this. In general, in order to reduce the size of the first machine learning model and avoid occupying too much storage space on the client and affecting the running performance, the first machine learning model can be set as a lightweight machine learning model, and the embodiments of the present application do not limit this. For example, the first machine learning model can be set as a machine learning model based on the KNN (k-Nearest Neighbor, nearest neighbor algorithm) algorithm, etc.
[0074] In addition, in the embodiments of the present application, a general first machine learning model can also be trained for different business scenarios. At this time, in order to distinguish each training sample, the business identifier of the business to which each training sample belongs can be obtained, and the business identifier of each training sample is input when training the first machine learning model. Then, when using the first machine learning model, the business identifier of the business to which the current pushed resource belongs can be obtained accordingly, and the click rate related parameters are combined to obtain the resource click rate data through the trained first machine learning model.
[0075] Reference Figure 2 In the embodiments of the present application, before the step 120, the following steps can also be included:
[0076] Step 210, obtaining the click behavior data of different users for different historical pushed resources and the click rate related parameters;
[0077] Step 220, obtaining the resource click rate data of each user in at least one time period according to the click behavior data and the click rate related parameters, obtaining training data, the training data containing a plurality of different training samples, and each training sample including the resource click rate data and the click rate related parameters of any user in any time period;
[0078] Step 230, training the first machine learning model through the training sample.
[0079] The training of the first machine learning model requires a data source, and in order to improve the accuracy of the model, a large amount of data is generally required for training. The present scheme is a model generated based on user information and user click behavior, so the main part of the data is real-time data generated in the user's use process. In addition, the data required to generate the initial model is the data collected in advance.
[0080] The data is closely related to the personal click behavior of the user, so the data can be divided into two types. One is the statistical data collected in advance, which is used to generate the data required for the initial model training. The other is the data generated in real time during the user's use process.
[0081] The first collected data can be collected in advance by burying points in the APP, and then the basic data is obtained by classification statistics, and the model is updated when the APP calls the first machine learning for the first time. The second kind of real-time generated data, the data generated by the user behavior in the real-time use process of the user, is synchronized to the first machine learning model, so that the model prediction is more accurate.
[0082] In addition, the data collected by burying points in advance and the data generated by the user in use are complex, so in order to ensure the consistency of the data, the data can also be cleaned. Specifically, the integrity of each piece of data is ensured, for example, each click rate related parameter includes the resource attribute information of the corresponding historical push resource, the user attribute information of the user receiving the historical push resource, and the user attribute information of the user receiving the historical push resource. In addition, each piece of user attribute information can include user information, gender, city, and the like, and the resource attribute information can include push source, push time period, and the like. If a click rate related parameter is missing any of the above dimensions, it is considered as error data and is filtered out to avoid affecting the result.
[0083] Then in the embodiment of the application, for any user, the click behavior of the user in each time unit in each time period for each historical push resource received can be counted to obtain the resource click rate of the user in each time unit for each historical push resource. After obtaining the click rate related parameter of the user for each historical push resource in a time period, a training sample can be obtained by combining the click rate related parameter of the user corresponding to the historical push resource.
[0084] Then considering a plurality of different users and a plurality of different historical push resources, a plurality of different training samples can be constructed respectively, and then the first machine learning model is trained by the training samples.
[0085] After that, in the use process of the first machine learning model, the data generated by the user behavior in the real-time use process of the user can also be synchronized to the first machine learning model, so that the model prediction is more accurate and more accurately adapts to the current real-time user demand.
[0086] Optionally, in the embodiment of the application, the first machine learning model includes a machine learning model based on a proximity algorithm, and the K value of the proximity algorithm is determined by cross-validation method. Correspondingly, step 230 can further include:
[0087] Step 231, dividing the training sample according to a target proportion to serve as training data and verification data of the first machine learning model respectively;
[0088] Step 232, training the first machine learning model with the training data and verifying the accuracy of the trained first machine learning model with the verification data for any alternative K value in a specified value range;
[0089] Step 233, obtaining the alternative K value with the highest accuracy as the K value of the first machine learning model; wherein the value range of the target ratio is within a specified ratio range, the specified ratio range is that the ratio of the training data to the verification data is between 9:1 and 5:4, and the specified value range is an integer greater than or equal to 3 and less than or equal to 10.
[0090] The principle of KNN is that when predicting a new value x, according to the class of the K nearest points, it is determined that x belongs to which class. Therefore, the selection of K value is important. How to select K value? The answer is cross-validation method.
[0091] Cross-validation, the sample data is divided into training data and verification data according to a certain proportion (for example: 8:2), a smaller K value is selected, the value of K is increased, the verification set accuracy is calculated, and finally a suitable K value is found.
[0092] The KNN algorithm does not need to train a large amount of data, it has no explicit training data process, or the process is very fast, a model can be obtained quickly, data updating is performed on the APP side, and continuous updating can be performed.
[0093] That is, in the embodiment of the application, in order to determine the appropriate K value, the training samples can be divided into two groups of data according to the target ratio when training the first machine learning model, which are used as the training data and the verification data of the first machine learning model respectively; then for each alternative K value in a specified value range, the first machine learning model is trained with the training data, and the accuracy of the trained first machine learning model is verified with the verification data, and finally the alternative K value with the highest verification accuracy is obtained as the K value of the first machine learning model; wherein the value range of the target ratio is within a specified ratio range, the specified ratio range is that the ratio of the training data to the verification data is between 9:1 and 5:4, and the specified value range is an integer greater than or equal to 3 and less than or equal to 10.
[0094] Correspondingly, the first machine learning model with the highest accuracy can also be used as the final trained first machine learning model.
[0095] In addition, in the embodiment of the application, when the first machine learning model is trained for different services respectively, the K value of the KNN algorithm in the first machine learning model under different services can also be determined respectively, which is not limited in the embodiment of the application.
[0096] Of course, in the embodiments of the present application, the K value of the KNN algorithm in the first machine learning model can also be directly set according to requirements, and the embodiments of the present application are not limited in this regard.
[0097] For example, the K value of the first machine learning model can be preferably set to 6, and the K value in different business scenarios can be slightly higher than the general K value, for example, the K value of the KNN algorithm in the first machine learning model in the recruitment business can be set to 8, the K value of the KNN algorithm in the first machine learning model in the used car business can be set to any value in 7-9, and so on.
[0098] As shown in FIG. 1, a first machine learning model training and use flowchart is shown. The data model training and updating process can generally include the following parts: Figure 3
[0099] 1. Generating a basic model stage: first collect data, clean the data according to the data standard, obtain data meeting the standard, then implement the KNN algorithm, and train the data model based on the algorithm. The trained basic model needs to be updated later to achieve accurate prediction.
[0100] 2. Model updating stage: integrate the basic model into the APP. When the user initially uses it, based on the standard format and the pre-statistical data information, an initial data set is generated, and the data obtained is used to update the model, further improving the accuracy of the model's personalized prediction of the user. This is a continuous updating and iteration process.
[0101] 3. Through the model output result stage: through the updated and iterated model, a certain personalized accuracy is achieved, the prediction result is output, and the user is pushed with a personalized time period according to the result. At the same time, the current data is updated to the model, and the model is continuously trained.
[0102] Referring to Figure 2 In the embodiments of the present application, the following can also be included:
[0103] Step 310, obtaining historical behavior data of the current user before the current time for the pushed resources;
[0104] Step 320, constructing a real-time decision vector of the current user through a vector generation model based on the historical behavior data;
[0105] Step 330, obtaining the preference degree of the current user for different resource types through a second machine learning model based on the real-time decision vector, so as to sort the push resources in the same time unit according to the preference degree from high to low when performing local push;
[0106] The vector generation model is trained using multiple first samples, where each first sample is a combination of the decision vector of any user sample for any resource sample and the historical behavior data of the user sample for the resource sample. The second machine learning model is constructed using multiple second samples, where each second sample is a combination of the preference degree sample of any user sample for the resource type of any resource sample and the decision vector of the user sample for any resource sample.
[0107] In practical applications, if multiple resources are pushed to users within a single time unit, users may easily ignore some or all of the content. Furthermore, if users are not interested in the resources that are pushed first within a time unit, they may directly ignore the other resources pushed within that time unit, thus ultimately affecting the click-through rate of the pushed resources.
[0108] To avoid the above problems, in this embodiment of the invention, the local push resources within each time unit can be sorted so that resources with higher user preference are pushed first, thereby increasing the click-through rate of each push resource.
[0109] Specifically, the system can obtain historical behavior data of the current user regarding pushed resources before the current time; based on the historical behavior data, a real-time decision vector of the current user can be constructed using a vector generation model; based on the real-time decision vector, a second machine learning model can be used to obtain the current user's preference level for different resource types, so that when making local pushes, the push resources within the same time unit can be sorted according to the preference level from high to low and the resource type of each push resource.
[0110] The historical behavioral data of the current user regarding the pushed resources prior to the current time may include, but is not limited to, the current user's click behavior data for each pushed resource, as well as information related to the resource's content itself, such as the resource type, whether it contains images or videos, and information related to user behavior, such as the browsing duration, completion rate, likes, follows, replies, and reports. Furthermore, the pushed resources may include those clicked by the current user within a certain time period prior to the current time, or may include all pushed resources to the current user within a certain time period prior to the current time, etc., and this embodiment of the invention does not limit this.
[0111] Further, the real-time decision vector of the current user can be constructed by a vector generation model based on the historical behavior data to convert the historical behavior data into a vector for subsequent use. Specifically, the historical behavior data can be labeled by the vector generation model to obtain a decision vector. The specific content contained in the decision vector can be customized according to requirements, and the conversion relationship between the historical behavior data and the decision vector can also be customized according to requirements. For example, the decision vector can mainly include resource type, resource popularity, and interest level, etc.
[0112] The vector generation model can convert the original historical behavior data of the user into a vector model. Specifically, each browsing record of the user can be labeled.
[0113] The following table shows an example of labeling browsing records:
[0114]
[0115] In the above data, there are positive data and negative data, and the proportions of various data dimensions are different. For example, as long as there is a report, it is considered negative data with the largest proportion. Secondly, if there is a like and a follow, it indicates a high interest and is marked as positive data. In addition, a browsing duration greater than 60s, a post browsing completion degree greater than or equal to 85%, and a reply are all positive data, and vice versa.
[0116] In actual application, when constructing the training sample of the vector generation model, the positive and negative samples can be determined according to the above-mentioned positive and negative data. For example, based on the above-mentioned principle, the first 5 resource samples in the above-mentioned example can be determined as positive samples, and the last 4 resource samples can be determined as negative samples.
[0117] The resource type can be divided according to different dimensions or a combination of multiple dimensions, such as resource content (e.g., whether it contains text, pictures, audio and video, etc.), resource belonging business (e.g., second-hand cars, second-hand houses, housekeeping, etc.), resource attributes (e.g., messages, files, links, audio and video resources, etc.), etc. The present embodiment is not limited in this regard.
[0118] In the present embodiment, the user's click resource behavior is abstracted by the machine learning capability on the terminal to output a decision result, i.e., to decide which type of resource to preferentially recommend to the user. There are two processes. In the first step, the user's click resource behavior is abstracted as model input data, and a decision vector is obtained by a machine learning model (i.e., the above-mentioned vector generation model). In the second step, the decision vector obtained in the first step is taken as a data source, and a decision result is obtained by processing the data source by a decision model (i.e., the above-mentioned second machine learning model), i.e., to recommend a post of interest to the user.
[0119] The model training of machine learning needs data source, and the training needs a large amount of data. In the embodiment of the application, the historical behavior based on user clicks can be abstracted into data, which is real-time data generated in the use process of the user.
[0120] From user behavior to decision vector, the user behavior in the user click process is abstracted into data source, and the data mainly collected is: post type, post browsing time, post browsing completion, whether there is a picture, whether there is a video, like, follow, reply, report and other behavior information. The data is labeled to obtain a decision vector.
[0121] From decision vector to decision (user preference result), the decision vector is the data obtained from the previous step, which can mainly include: post type, post heat, and interest level. These vectors are converted into final decisions by a decision model, i.e. the preference degree of the current user for each type of resource.
[0122] Among them, the user behavior data is closely related to the user's personal click behavior, so the data source is generated in the use process of the user, the data is collected by burying points in the APP, and then the data is classified, and corresponding labels are added to different user behaviors. The labeled data will be used as the data source for model training. In the use process of the user, the data generated by the user behavior is used as the prediction input data, and the prediction result is obtained.
[0123] In addition, the data collected by burying points in advance and the data generated in the use process of the user are complex, so it is necessary to clean the data. The integrity of each piece of data must be ensured, i.e. whether the collected data meets the requirements, whether the user behavior data is within the current use range, whether the data can be labeled, whether it can be converted into training data, etc. Filtering is performed based on these conditions to avoid affecting the result.
[0124] As shown in Figure 4 The training and updating process of a vector generation model and a second machine learning model is shown in the figure. The process mainly includes the following steps:
[0125] 1. Generate vector model: collect data, clean the data according to the data standard, obtain data meeting the standard, then realize the historical behavior data to decision vector conversion algorithm, and train the data model based on the algorithm. The trained is a decision vector model (i.e. the above-mentioned vector generation model / vector model), and the output result is a decision vector, which will be used as the input source for the next model training and prediction.
[0126] 2. Generate decision model: take the decision vector as the data source, train again to obtain the decision model (i.e. the second machine learning model described above). The decision model is to derive the final result, recommend which type of resource, or not recommend, etc. The training data can be a pre-set decision vector, or the result output by the model in the previous step, which is repeatedly trained and verified to produce the final decision model.
[0127] 3. Output the result through the model: the two models obtained in the previous two steps, the vector model and the decision model, are integrated into the app. The user clicks on the list of resources, goes to the details, browses, and user operation behavior can all be used as data sources to obtain the decision vector through the vector model. When the user returns to the list, input these decision vectors into the decision model to obtain the final decision result. The result may recommend a certain type of resource, which may be the resource that the user prefers or likes. Based on the current recommendation result, when performing local resource pushing, the order of such resources is adjusted, and resources of this type are preferentially pushed, which can make it easier for the user to browse to the resource push of their own preference, increase the click rate of the user, and achieve the effect of improving the user traffic conversion rate.
[0128] It should be noted that in the embodiments of the present application, before performing local pushing in each time unit, the preference degree of the current user for different resource types in the corresponding time unit can be predicted based on the historical behavior data of the current user for the pushed resources in the specified time period before each time unit, to ensure the accuracy of the prediction result of the user preference in each time unit. Moreover, during real-time use of the user, the vector generation model and the second machine learning model can also be updated in real time or periodically based on the real-time generated user behavior data, which is not limited by the embodiments of the present application.
[0129] Optionally, in the embodiments of the present application, the resources include at least one of messages, posts, web pages, and files.
[0130] In the embodiments of the present application, a machine learning model based on KNN algorithm is used to improve the click rate of pushed resources. When the APP receives a silent push, the machine learning model predicts the time period with a high user click rate, converts the silent push into a local push, and delays the push to the corresponding time period. Moreover, the machine learning model can be updated when the user clicks the push, which can make the machine learning model more accurately predict user click behavior, further improve the click rate of push messages, and increase the daily active users of the APP.
[0131] Moreover, the preference degree of the user for different resource types in each time unit can also be predicted, and the pushed resources in the same time unit can be sorted and pushed in order from high to low according to the preference degree, thereby increasing the click rate of the user in each time unit.
[0132] Reference Figure 5 The diagram shows a schematic representation of a resource push processing device according to an embodiment of the present invention.
[0133] The resource push processing device of this invention includes: a resource receiving module 410, a click rate acquisition module 420, and a push time setting module 430.
[0134] The functions of each module and the interaction between them are described in detail below.
[0135] The resource receiving module 410 is used to receive resource pushes in a silent push mode.
[0136] Click-through rate acquisition module 420 is used to acquire resource click-through rate data of the current user within a time period after the current time based on click-through rate related parameters and through a first machine learning model. The time period consists of multiple consecutive time units. The resource click-through rate data includes the resource click-through rate of the user in each time unit. The click-through rate related parameters include at least one of the resource attribute information of the pushed resource and the user attribute information of the current user.
[0137] The push time setting module 430 is used to change the push method of the resource push from silent push to local push, and set the local push time of the pushed resource to the time unit with the highest click rate of the user's resource.
[0138] Optionally, in this embodiment of the invention, the click-through rate acquisition module 420 may specifically be used for:
[0139] Obtain the business identifier of the business to which the pushed resource belongs, and obtain the resource click-through rate data of the current user within the specified time period through a first machine learning model adapted to the business identifier.
[0140] Reference Figure 6 In this embodiment of the invention, the device may further include:
[0141] The historical data acquisition module 510 is used to acquire click behavior data of different users for different historical push resources, as well as click-through rate related parameters;
[0142] The training data acquisition module 520 is used to acquire resource click rate data of each user in at least one time period based on the click behavior data and the click rate related parameters, and obtain training data. The training data contains multiple different training samples, and each training sample includes resource click rate data and click rate related parameters of any user in any time period.
[0143] a model training module 530, configured to train the first machine learning model by using the training samples.
[0144] Optionally, in the embodiment of the present application, the first machine learning model comprises a machine learning model based on a proximity algorithm, a K value of the proximity algorithm is determined by a cross-validation method, and the model training module 530 further comprises:
[0145] a sample data division sub-module, configured to divide the training samples according to a target proportion to serve as training data and verification data of the first machine learning model respectively;
[0146] a model training and verification sub-module, configured to train the first machine learning model by using the training data for any candidate K value in a specified value range and verify the accuracy of the trained first machine learning model by using the verification data;
[0147] a model K value determination sub-module, configured to obtain the candidate K value with the highest accuracy as the K value of the first machine learning model;
[0148] wherein, the target proportion is in a specified proportion range, the specified proportion range is a ratio of the training data to the verification data between 9:1 and 5:4, and the specified value range is an integer greater than or equal to 3 and less than or equal to 10.
[0149] Reference Figure 6 In the embodiment of the present application, the apparatus can further comprise:
[0150] a user behavior data acquisition module 610, configured to acquire historical behavior data of the current user for the pushed resources before the current time;
[0151] a real-time decision vector construction module 620, configured to construct a real-time decision vector of the current user by using a vector generation model based on the historical behavior data;
[0152] a resource preference acquisition module 630, configured to acquire a preference degree of the current user for different resource types by using a second machine learning model based on the real-time decision vector, so as to sort the pushed resources in the same time unit according to the preference degree from high to low when performing local pushing;
[0153] The vector generation model is trained by a plurality of first samples, and the first sample is a combination of a decision vector of any user sample for any resource sample and historical behavior data of the user sample for the resource sample.
[0154] Optionally, the resource includes at least one of a message, a post, a webpage, and a file.
[0155] The resource pushing processing apparatus provided by the embodiment of the present application can realize the method embodiment Figures 1 to 2 The various processes realized in the method embodiment are not repeated here to avoid repetition.
[0156] Preferably, the embodiment of the present application further provides an electronic device, which comprises a processor, a memory, a computer program stored in the memory and executable on the processor, and the computer program realizes the various processes of the above-mentioned resource pushing processing method embodiment and achieves the same technical effects when executed by the processor, and the various processes are not repeated here to avoid repetition.
[0157] The embodiment of the present application further provides a computer readable storage medium, and the computer readable storage medium stores a computer program, and the computer program realizes the various processes of the above-mentioned resource pushing processing method embodiment and achieves the same technical effects when executed by the processor, and the various processes are not repeated here to avoid repetition. The computer readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0158] It should be noted that, in this document, the term "comprising" or "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or apparatus including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such a process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of another identical element in the process, method, article or apparatus including the element.
[0159] Those skilled in the art can clearly understand that the above-mentioned embodiment method can be realized by means of software and necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes a plurality of instructions for making a terminal (which can be a mobile phone, computer, server, air conditioner, or network device) execute the method described in each embodiment of the present application.
[0160] The embodiments of the present application are described above with reference to the accompanying drawings, but the present application is not limited to the above-mentioned specific embodiments, and the above-mentioned specific embodiments are only illustrative, not restrictive. Those skilled in the art can make many forms without departing from the purpose of the present application and the scope protected by the claims under the inspiration of the present application, which all belong to the protection of the present application.
[0161] Those skilled in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in the embodiments of the present application can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solutions. Those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0162] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-mentioned system, device and unit can refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.
[0163] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed units can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0164] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0165] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit.
[0166] The functions, if realized in the form of software functional units and sold or used as independent products, can be stored in a computer readable storage medium. Based on such understanding, the technical scheme of the present application or the part of the present application that essentially contributes to the prior art or the part of the technical scheme can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various storage media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a RAM, a magnetic disk or an optical disk.
[0167] The above is only a specific embodiment of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A resource push processing method characterized by comprising: The method comprises: receiving a resource push in a silent push mode; based on a click rate related parameter, obtaining, by a first machine learning model, resource click rate data of a current user in a time period after a current time, the time period being composed of a plurality of continuous time units, the resource click rate data including resource click rates of the user in each of the time units, the click rate related parameter including at least one of resource attribute information of a pushed resource and user attribute information of the current user, the first machine learning model including a machine learning model based on a proximity algorithm; converting a push mode of the resource push from a silent push to a local push, and setting a local push time of the pushed resource as a time unit with the highest resource click rate of the user; The method further comprises: obtaining historical behavior data of the current user before the current time for a pushed resource; based on the historical behavior data, constructing, by a vector generation model, a real-time decision vector of the current user; wherein the constructing, by the vector generation model, of the real-time decision vector of the current user comprises: labeling the historical behavior data based on the vector generation model to obtain a decision vector; based on the real-time decision vector, obtaining, by a second machine learning model, a preference degree of the current user for different resource types, so as to sort pushed resources in a same time unit according to the preference degree from high to low when performing a local push; wherein the vector generation model is trained by a plurality of first samples, the first sample being a combination of a decision vector of any user sample for any resource sample and historical behavior data of the user sample for the resource sample, and the second machine learning model is constructed by a plurality of second samples, the second sample being a combination of a preference degree sample of any user sample for a resource type to which any resource sample belongs and a decision vector of the user sample for the resource sample.
2. The method of claim 1, wherein, The step of obtaining, by the first machine learning model, resource click rate data of the current user in a specified time period after the current time comprises: obtaining a business identifier of a business to which the pushed resource belongs, and obtaining, by a first machine learning model adapted to the business identifier, resource click rate data of the current user in the specified time period.
3. The method according to claim 1 or 2, characterized in that, Before the step of obtaining, by the first machine learning model, resource click rate data of the current user in a specified time period after the current time, the method further comprises: obtaining click behavior data and click rate related parameters of different users for different historical pushed resources; obtaining resource click rate data of each user in at least one time period according to the click behavior data and the click rate related parameters, to obtain training data, the training data containing a plurality of mutually different training samples, and each training sample including resource click rate data and click rate related parameters of any one user in any time period; training the first machine learning model by the training samples.
4. The method of claim 3, wherein, The K value of the proximity algorithm is determined by cross-validation, and the step of training the first machine learning model by using the training sample comprises: dividing the training sample according to a target ratio to obtain training data and verification data of the first machine learning model; training the first machine learning model by using the training data and verifying the accuracy of the trained first machine learning model by using the verification data for any candidate K value in a specified value range; obtaining the candidate K value with the highest accuracy as the K value of the first machine learning model; wherein the value range of the target ratio is within a specified ratio range, the ratio of the training data to the verification data is between 9:1 and 5:4, and the specified value range is an integer greater than or equal to 3 and less than or equal to 10.
5. The method of claim 1, wherein, The resources include at least one of messages, posts, web pages, and files.
6. A resource pushing processing apparatus characterized by comprising: comprises: a resource receiving module configured to receive resource pushing in a silent pushing mode; a click rate obtaining module configured to obtain resource click rate data of a current user in a time period after a current time by using a first machine learning model based on click rate related parameters, the time period comprising a plurality of continuous time units, the resource click rate data comprising resource click rates of the user in each of the time units, and the click rate related parameters comprising at least one of resource attribute information of pushed resources and user attribute information of the current user; the first machine learning model comprises a machine learning model based on a proximity algorithm; a pushing time setting module configured to convert the pushing mode of the resources from the silent pushing mode to a local pushing mode and set a local pushing time of the pushed resources as a time unit with the highest resource click rate of the user; The device further comprises: a user behavior data obtaining module configured to obtain historical behavior data of the current user before the current time for the pushed resources; a real-time decision vector construction module configured to construct a real-time decision vector of the current user by using a vector generation model based on the historical behavior data; wherein the construction of the real-time decision vector of the current user by using the vector generation model comprises: labeling the historical behavior data based on the vector generation model to obtain a decision vector; a resource preference obtaining module configured to obtain a preference degree of the current user for different resource types by using a second machine learning model based on the real-time decision vector, so as to sort the pushed resources in the same time unit in descending order of the preference degree when performing the local pushing; wherein the vector generation model is trained by using a plurality of first samples, the first sample is a combination of a decision vector of any user sample for any resource sample and historical behavior data of the user sample for the resource sample, and the second machine learning model is constructed by using a plurality of second samples, the second sample is a combination of a preference degree sample of any user sample for a resource type to which any resource sample belongs and a decision vector of the user sample for the resource sample.
7. The apparatus of claim 6, wherein, The click rate obtaining module is specifically configured to: Obtaining a service identifier of a service to which the push resource belongs, and obtaining resource click rate data of the current user in a specified time period through a first machine learning model adapted to the service identifier.
8. The apparatus of claim 6 or 7, wherein, The device further comprises: a historical data collection module configured to obtain click behavior data of different users for different historical push resources and click rate related parameters; a training data obtaining module configured to obtain resource click rate data of each user in at least one time period according to the click behavior data and the click rate related parameters, to obtain training data, the training data comprising a plurality of mutually different training samples, and each training sample comprising resource click rate data and click rate related parameters of any one user in any one time period; a model training module configured to train the first machine learning model through the training samples.
9. The apparatus of claim 8, wherein, The first machine learning model comprises a machine learning model based on a proximity algorithm, a K value of the proximity algorithm being determined through cross-validation, and the model training module comprising: a sample data division submodule configured to divide the training samples according to a target proportion to serve as training data and verification data of the first machine learning model respectively; a model training and verification submodule configured to train the first machine learning model with the training data for any candidate K value in a specified value range, and verify the accuracy of the trained first machine learning model with the verification data; a model K value determination submodule configured to obtain the candidate K value with the highest accuracy as the K value of the first machine learning model; wherein the target proportion is in a specified proportion range, the specified proportion range being a ratio of the training data to the verification data being between 9:1 and 5:4, and the specified value range being an integer greater than or equal to 3 and less than or equal to 10.
10. The apparatus of claim 6, wherein, The resource comprises at least one of a message, a post, a webpage, and a file.
11. An electronic device, comprising: The device further comprises: a processor, a memory, and a computer program stored on the memory and executable on the processor, the computer program being executed by the processor to implement the steps of the resource push processing method according to any one of claims 1 to 5.
12. A computer-readable storage medium, characterized in that, The computer program is stored on the computer readable storage medium and is executed by the processor to implement the steps of the resource push processing method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Method and device for providing user personalized resource message pushing
CN104462593A
Account classification method and device, computer equipment and storage medium
CN110457576A
Notification message pushing method and device
CN112600902A