WO2021196639A1 - 消息推送方法、装置、计算机设备及存储介质 - Google Patents

消息推送方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
WO2021196639A1
WO2021196639A1 PCT/CN2020/129450 CN2020129450W WO2021196639A1 WO 2021196639 A1 WO2021196639 A1 WO 2021196639A1 CN 2020129450 W CN2020129450 W CN 2020129450W WO 2021196639 A1 WO2021196639 A1 WO 2021196639A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
user
characteristic information
push
preset
Prior art date
Application number
PCT/CN2020/129450
Other languages
English (en)
French (fr)
Inventor
何雪枫
魏安康
谢兴波
Original Assignee
汉海信息技术(上海)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 汉海信息技术(上海)有限公司 filed Critical 汉海信息技术(上海)有限公司
Publication of WO2021196639A1 publication Critical patent/WO2021196639A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the embodiments of the present application relate to the field of deep learning technology, and in particular, to a message pushing method, device, computer equipment, and storage medium.
  • the message push method is specifically as follows: the application server collects the historical running records of a certain application in different terminals, and statistically analyzes the above historical running records to obtain the time when all users of the station open the push message, and the operators are statistically analyzing the results The period during which most users open the push message is screened out as the sending period of the push message, and the server pushes the message in the determined sending period.
  • the sending period of push messages is determined based on user groups, without considering individual differences, resulting in a low open rate of push messages.
  • the embodiments of the present application provide a message pushing method, device, computer equipment, and storage medium.
  • the technical solution is as follows:
  • an embodiment of the present application provides a message pushing method, and the method includes:
  • each piece of characteristic information in the n pieces of characteristic information is used to describe a one-dimensional characteristic of the first user, and the n is a positive integer;
  • the timing estimation model is called to process the n pieces of characteristic information, and the expected opening rate of the first user in m preset time periods is obtained.
  • the expected opening rate refers to the predicted target terminal being triggered to open the push message The probability that the target terminal is the terminal corresponding to the first user, and the m is a positive integer;
  • an embodiment of the present application provides a message pushing device, and the device includes:
  • An information acquisition module configured to acquire n pieces of characteristic information of the first user, each piece of characteristic information in the n pieces of characteristic information is used to describe a one-dimensional characteristic of the first user, and the n is a positive integer;
  • the probability prediction module is used to call the timing prediction model to process the n pieces of characteristic information to obtain the expected opening rate of the first user in m preset time periods, where the expected opening rate refers to the predicted target Probability that the terminal is triggered to open the push message, the target terminal is the terminal corresponding to the first user, and the m is a positive integer;
  • a time period determining module configured to determine a target time period in the m preset time periods based on the expected opening rate of the first user in the m preset time periods;
  • the message push module is configured to send the push message to the target terminal within the target time period.
  • an embodiment of the present application provides a computer device, the computer device includes a processor and a memory, the memory stores at least one instruction (or computer program), and the instruction is loaded and executed by the processor In order to realize the message push method as described in the above aspect.
  • an embodiment of the present application provides a computer-readable storage medium having at least one instruction (or computer program) stored in the computer-readable storage medium, and the instruction is loaded and executed by a processor to achieve the above The message push method described above.
  • the embodiments of the present application provide a computer program product in which at least one instruction (or computer program) is stored, and the instruction is loaded and executed by a processor to realize the message push as described above. method.
  • the user's characteristic information is processed by calling the timing estimation model to predict the probability of the user opening the push message in different time periods, and then the best time to send the push message is determined based on the probability of the user opening the push message in different time periods.
  • the message is pushed in the determined time period. Because the timing prediction model combines the characteristic information of individual users to make probability predictions, this process fully considers individual differences and realizes intelligent push for different users, making the determined message push timing more accurate. This will increase the open rate of push messages.
  • Fig. 1 is a schematic diagram of user characteristics shown in an exemplary embodiment of the present application
  • Fig. 2 is a schematic diagram of an implementation environment shown in an exemplary embodiment of the present application.
  • FIG. 3 is a schematic diagram of message push shown in an exemplary embodiment of the present application.
  • Fig. 4 is a flowchart of a message pushing method shown in an exemplary embodiment of the present application.
  • Fig. 5 is a diagram showing the relationship between training time and test AUC gain under different negative sampling rates according to an exemplary embodiment of the present application
  • Fig. 6 is a schematic diagram of sample data shown in an exemplary embodiment of the present application.
  • Fig. 7 is a schematic diagram of test data shown in an exemplary embodiment of the present application.
  • Fig. 8 is a flowchart of a message pushing method shown in another exemplary embodiment of the present application.
  • FIG. 9 is a diagram showing the relationship between "time and the number of visitors" shown in an exemplary embodiment of the present application.
  • FIG. 10 is a schematic diagram of message push shown in an exemplary embodiment of the present application.
  • FIG. 11 is a comparison diagram of the number of openers between the related technology shown in an exemplary embodiment of the present application and the embodiment of the present application;
  • FIG. 12 is a comparison diagram of the number of people who are closed between the related technology shown in an exemplary embodiment of the present application and the embodiment of the present application;
  • FIG. 13 is a structural block diagram of a message pushing device shown in another exemplary embodiment of the present application.
  • Fig. 14 is a structural block diagram of a computer device shown in an exemplary embodiment of the present application.
  • Timing prediction model A mathematical model that predicts the probability of a user opening a push message in different time periods based on the user's characteristic information.
  • the timing prediction model is trained using the characteristic information of sample users.
  • the server collects data that the third-party application is triggered to run in a certain period of time, and determines the user corresponding to the terminal running the third-party application in the period as the sample user.
  • the time period can be set by the server or by the relevant operators. For example, the time period is the last three days and the last two weeks.
  • the server After the server counts the users corresponding to the terminal running the third-party application program within the preset time period, it filters the above-stated users based on the activity. Specifically, the server determines a user whose activity degree is greater than a preset threshold among users corresponding to the terminal running the third-party application program within the time period as the sample user.
  • the user's characteristic information includes but is not limited to: user tag characteristics, user activity characteristics, user attribute characteristics, and scene characteristics.
  • User tag features are used to define user attributes to outline a complete user portrait.
  • User tag features can be used to describe the user's marriage and childbirth status (such as unmarried, married, childbearing, etc.).
  • User tag features can also describe user interests (such as food, tourism, sports, etc.).
  • User attribute characteristics are used to describe the basic attributes of the user (for example, age, gender, etc.).
  • User activity characteristics are used to describe how often users operate on third-party applications.
  • Fig. 1 shows a schematic diagram of user characteristic information shown in an embodiment of the present application.
  • User attribute characteristics include three aspects: registration, basic, and level.
  • the registration characteristics include user star rating, registration days, life cycle, etc.; basic characteristics include gender, age, occupation, etc.; level characteristics include education level, income level, consumption level, etc.
  • User activity characteristics include the number of active days, the duration of active days, the number of active hours, and the duration of active hours.
  • User tag features include two aspects, such as crowd and interest.
  • the characteristics of the population may include having a baby, marriage, pregnancy, etc.; the characteristics of interest include home, gluttony, beauty, travel, sports, etc.
  • Scene characteristics include current time, day of the week, and so on.
  • the timing prediction model includes but is not limited to: Xgboost model, Logistic Regression (LR) model, Field-aware Factorization Machines (FFM) model, Deep Neural Network, DNN) at least one of the models.
  • Xgboost model Logistic Regression (LR) model
  • FFM Field-aware Factorization Machines
  • DNN Deep Neural Network
  • the Xgboost model uses a tree model as a classifier to output the probability value of each category in the multi-classification.
  • the Xgboost model outputs the open probability of the user in different time periods.
  • the mathematical expression of the Xgboost model is as follows:
  • K represents the number of trees
  • f k (x i ) represents the weight of the leaves where the i-th sample falls in the k-th tree
  • F represents all the function spaces in the regression forest.
  • the objective function Obj of the Xgboost model is as follows:
  • ⁇ (f) is a regular term used to express the complexity of the tree, which can be expressed by the following formula:
  • T represents the number of leaf nodes
  • represents the leaf node score
  • ⁇ and ⁇ are coefficients.
  • the objective function can use an additive training algorithm (Additive Training), and the process can be expressed by the following formula:
  • Represents the model prediction for the tth iteration Represents the model prediction of the t-1th time
  • f t (x i ) represents the prediction of the t-th tree, that is, the model prediction after the t-th iteration is equal to the previous t-1 model prediction plus the t-th tree Prediction.
  • FIG. 2 shows a schematic diagram of an implementation environment involved in an embodiment of the present application.
  • the implementation environment includes at least one terminal 21 and a server 22.
  • the terminal 21 is used to receive push messages.
  • the terminal 21 may be a smart phone, a tablet computer, a personal computer (Personal Computer, PC), a smart wearable device, and so on.
  • a third-party application is installed in the terminal 21, and the third-party application has message push permission, that is, the third-party application is allowed to send push messages to the notification bar of the terminal for the user to view.
  • the third-party applications include but are not limited to: shopping applications, social applications, information applications, music applications, and life service applications.
  • the server 22 is used to send push messages to at least one terminal 21.
  • the server 22 is a background server corresponding to the aforementioned third-party application.
  • the server 22 may be one server, a server cluster composed of multiple servers, or a cloud computing service center.
  • the server 22 stores a timing estimation model, and the timing estimation model is used to predict the probability of the user opening the push message in different time periods according to the characteristics of the user.
  • the server 22 is used to call the timing estimation model to determine the probability of a certain user opening a push message in different time periods, and to determine what the user holds based on the multiple probabilities output by the timing estimation model.
  • Some terminals send push messages during the best time period, and finally send push messages to the terminal held by the user in the best time period determined above, so as to increase the open rate of push messages.
  • the terminal 21 and the server 22 establish a communication connection through a wireless network or a wired network.
  • the aforementioned wireless network or wired network uses standard communication technologies and/or protocols.
  • the network is usually the Internet, but it can also be any other network, including but not limited to Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), mobile, wired or Any combination of wireless network, private network or virtual private network).
  • technologies and/or formats including HyperText Mark-up Language (HTML), Extensible Markup Language (XML), etc. are used to represent data exchanged over the network.
  • SSL Secure Socket Layer
  • TLS Transport Layer Security
  • VPN Virtual Private Network
  • IPsec Internet Protocol Security
  • the timing of message push needs to be optimized.
  • the message push timing is optimized by predicting the open rate of push messages in different time periods.
  • the embodiment of the application provides a message push method, which processes the user's characteristic information by calling the timing estimation model to predict the probability of the user opening the push message in different time periods, and then based on the user opening the message in different time periods The probability of pushing a message determines the best time to send a push message, and pushes the message in the determined time period. Because the timing estimation model combines the characteristic information of individual users to make probability predictions, this process fully considers individual differences and achieves targeting for different users. The intelligent push of the, makes the determined message push timing more accurate, thereby increasing the open rate of push messages.
  • the server 31 stores the timing estimation model 33.
  • the server inputs the target user's characteristic information 32 into the timing estimation model 33, and the timing estimation model 33 outputs that the user is within m preset time periods
  • the server 31 screens out the target time period (that is, the time period for sending push messages) based on the expected open rate.
  • the server 31 sends a push message 34 to the terminal 35, and then the terminal displays it on the notification bar Push message 34.
  • FIG. 4 shows a flowchart of a message pushing method shown in an embodiment of the present application. This method is applied to the server 22 in the embodiment shown in FIG. 2. The method may include the following steps:
  • Step 401 Obtain n pieces of characteristic information of the first user, where n is a positive integer.
  • Each piece of characteristic information in the n pieces of characteristic information is used to describe a one-dimensional characteristic of the first user.
  • the n pieces of feature information include but are not limited to: user tag features, user activity features, user attribute features, scene features, etc.
  • the value of n can be actually determined according to the accuracy requirements of the timing estimation model, which is not limited in the embodiment of the present application.
  • Step 402 Invoke the timing estimation model to process the n pieces of feature information, and obtain the expected opening rate of the first user in m preset time periods, where m is a positive integer.
  • the timing prediction model is obtained by training the neural network with at least two sets of sample data.
  • Each set of sample data in the at least two sets of sample data includes: at least one piece of characteristic information of the sample user, and the message opening rate of the sample terminal corresponding to the sample user within a preset time period.
  • the message opening rate is the probability that the sample terminal of the indicator will trigger to open the push message within the preset time period.
  • the message opening rate may be a first preset value or a second preset value, and the first preset value and the second preset value are different.
  • the first preset value is used to indicate that the sample terminal will trigger to open the push message within the preset time period.
  • the second preset value is used to indicate that the sample terminal will not trigger the opening of the push message within the preset time period.
  • the first preset value is 1, and the second preset value is 0.
  • the sample data with the message opening rate of the first preset value is positive sample data
  • the sample data with the message opening rate of the second preset value is negative sample data.
  • the ratio between the positive sample data and the negative sample data can be set according to actual needs.
  • the negative sampling rate that is, the ratio between the negative sample data and all the sample data
  • the negative sampling rate can be set to 1%.
  • FIG. 5 shows the training duration at different negative sampling rates and the area under the test receiver operating characteristic curve (Receiver Operating Characteristic curve, ROC) curve (Area Under Curve, AUC) provided by an embodiment of the present application.
  • ROC Receiveiver Operating Characteristic curve
  • AUC Average Under Curve
  • the message opening rate is determined according to the historical access records corresponding to the sample terminal.
  • Historical access records are used to record the time information of the first user's access to the third-party application (access timestamp and duration), operation information (the type of operation performed by the first user on the third-party application, such as favorites, sharing, etc.) .
  • the server obtains the occurrence time of valid access from the historical access record corresponding to the sample terminal, and sets the message opening rate corresponding to the preset time period in which the occurrence time is to the first preset value, and divides the occurrence time into the first preset value.
  • the message opening rate corresponding to other preset time periods outside the preset time period in which the time is located is set to a second preset value.
  • the effective access refers to the access for which the sample terminal accesses the third-party application program for a preset period of time.
  • the foregoing preset period can be set according to actual needs, which is not limited in the embodiment of the present application.
  • the preset duration is 10 seconds.
  • FIG. 6 shows a schematic diagram of sample data provided by an embodiment of the present application.
  • the message open rate from 9:00 to 10:00 is 0, the message open rate from 10:00 to 11:00 is 1, and the message open rate from 11:00 to 12:00 Is 1, the open rate of messages between 12:00 and 13:00 is 0, the open rate of messages between 13:00 and 14:00 is 0, the open rate of messages between 14:00 and 15:00 is 0, and the rate of open messages between 14:00 and 15:00 is 0.
  • the message open rate from 00:00 to 16:00 is 0, the message open rate from 16:00 to 17:00 is 1, and the message open rate from 17:00 to 18:00 is 1.
  • the neural network can be any of Xgboost model, LR model, FFM model, and DNN model. In the embodiments of the present application, only the neural network is the Xgboost model as an example for description.
  • the server obtains the following information from the historical visit records corresponding to the sample terminal: User A visits "xx reviews" at 10:49 and 16:25, and the visit time is 7 minutes and 11 minutes respectively, then It is determined that the message opening rate of user A in the two preset time periods of 10:00 to 11:00 and 16::00 to 17:00 is 1, and the message opening rate in other preset time periods is 0.
  • the training process of the timing prediction model is specifically as follows: input at least one characteristic information of the sample user into the neural network, and the neural network outputs the predicted open rate of the sample user in the corresponding preset time period, and then the expected open rate Compare with the message open rate. If the error between the open rate and the message open rate is expected to be greater than or equal to the error threshold, the parameters of each layer of the neural network are adjusted, and the step of inputting at least one characteristic information of the sample user into the neural network is restarted until It is expected that the error between the opening rate and the message opening rate is less than the error threshold. At this time, the neural network after the parameter adjustment is saved to obtain the timing estimation model for completing the training.
  • the parameters of each layer of the neural network include: the number of base classifiers, the depth of each tree, the minimum number of samples for internal node splitting and the minimum number of samples for leaf nodes; learning rate; number of features used; number of samples used and many more.
  • the expected opening rate refers to the predicted probability that the target terminal is triggered to open the push message, and the target terminal is the terminal corresponding to the first user.
  • the value of m can be set by the operator.
  • the time lengths of the m preset time periods may be the same or different. In the embodiment of the present application, only the m preset time periods have the same time length as an example for description.
  • the time length of the m preset time periods may be set by the server, or may be set by the operator, which is not limited in the embodiment of the present application.
  • the value of m is 12, and the time lengths of the m preset time periods are all the same, each of which is 1 hour.
  • the m preset time periods are 9:00 ⁇ 10:00, 10:00 ⁇ 11:00, 11:00 ⁇ 12:00, 12:00 ⁇ 13:00, 13:00 ⁇ 14:00, 14: 00 ⁇ 15:00, 15:00 ⁇ 16:00, 16:00 ⁇ 17:00, 17:00 ⁇ 18:00, 18:00 ⁇ 19:00, 19:00 ⁇ 20:00.
  • the server also stores at least two sets of test data, and the test data is used for testing timing to predict whether the model has been trained.
  • Each of the at least two sets of test data includes: at least one characteristic information of the test user, and the message opening rate of the test user in a preset time period. The message opening rate is determined according to the historical access records of the test terminal corresponding to the test user.
  • FIG. 7 shows a schematic diagram of test data provided by an embodiment of the present application.
  • the test user B Take the test user B as an example, its message open rate from 9:00 to 10:00 is 0, the message open rate from 10:00 to 11:00 is 0, and the message open rate from 11:00 to 12:00 Is 1, the open rate of messages between 12:00 and 13:00 is 1, the open rate of messages between 13:00 and 14:00 is 0, the open rate of messages between 14:00 and 15:00 is 0, and the open rate is 0 at 15
  • the message open rate from 00:00 to 16:00 is 0, the message open rate from 16:00 to 17:00 is 0, and the message open rate from 17:00 to 18:00 is 0.
  • the test procedure of the timing prediction model is specifically as follows: input at least one characteristic information of the test user into the timing prediction model, and the timing prediction model outputs the predicted opening rate of the test user in the corresponding preset time period, and then Compare the expected open rate with the message open rate. If the error between the expected open rate and the message open rate is less than the error threshold, the timing estimation model has completed training; if the error between the expected open rate and the message open rate is greater than or equal to the error threshold, then the timing estimation model The training has not been completed yet, and still need to continue to adjust.
  • Step 403 Determine the target time period in m preset time periods based on the expected opening rate of the first user in m preset time periods.
  • the target period is the period for sending push messages.
  • the target period can be one or multiple.
  • the embodiment of the present application does not limit the time length of the target period.
  • the server determines a preset time period in which the expected opening rate exceeds the preset probability as the target time period.
  • the preset probability can be set according to timing requirements, which is not limited in the embodiment of the present application. Exemplarily, the preset probability is 0.7.
  • the server sorts the expected opening rates of the first user in the m preset time periods in descending order, and determines the preset time period ranked in the top k as the target time period.
  • k is a positive integer less than or equal to m, which can be determined according to the number of required target periods.
  • k is 1, that is, the server determines the preset time period in which the expected open rate is the largest as the target time period.
  • Step 404 Send a push message to the target terminal within the target time period.
  • the server sends a push message to the target terminal within the target time period.
  • the server processes the user's feature information in multiple dimensions by invoking the timing estimation model to predict the probability of the user opening the push message in different time periods, and then determines the push message sending based on the predicted probability Time period, and push messages within the determined time period. Because this process fully considers individual differences, intelligent push for different users is realized, so that the determined message push timing is more accurate, and the open rate of push messages is improved.
  • the technical solution provided by the embodiments of the present application processes the user's characteristic information by invoking the timing estimation model to predict the probability of the user opening the push message in different time periods, and then based on the user opening the push message in different time periods The probability of the message determines the best time period for sending the push message, and pushes the message during the determined time period. Because the timing prediction model combines the characteristic information of individual users to make probability predictions, this process fully considers individual differences to achieve different users. Intelligent push makes the determined message push timing more accurate, thereby increasing the open rate of push messages.
  • the user's characteristic information is usually a semantic characteristic, it needs to be preprocessed before the timing estimation model is used to process the user's characteristic information.
  • the message pushing method may include the following steps:
  • Step 501 Determine the data distribution type of the i-th piece of characteristic information for the i-th piece of characteristic information in the n pieces of characteristic information, where i is a positive integer less than or equal to n.
  • the data distribution type of the i-th feature information can be any of the following: continuous features and categorical features.
  • continuous features For example, the number of active days, the duration of active days, the number of hourly actives, consumption level, income level, number of days of registration, life cycle, etc. are continuous features.
  • gender, day of the week, education level, occupation, etc. are characteristics of disordered categories.
  • Step 502 Based on the data distribution type of the i-th feature information, determine the preprocessing method corresponding to the i-th feature information.
  • the corresponding preprocessing method is vectorization processing.
  • Vectorization processing refers to transforming disordered category features into a numerical vector.
  • the server uses a vector of length 2 to represent it. If the gender is male, its corresponding vector is (1, 0), and if the gender is female, its corresponding vector It is (0, 1), or, if the gender is male, its corresponding vector is (0, 1), if the gender is female, its corresponding vector is (1, 0).
  • the corresponding preprocessing method is discretization.
  • Discretization refers to the mapping of finite individuals in an infinite space to a finite space, which can realize the corresponding reduction of the data without changing the relative size of the data.
  • the server first sets multiple value intervals according to the value range of the continuous feature, and each value interval corresponds to a dimensional vector. If the continuous feature of a user belongs to the target value interval, then The vector element corresponding to the target value interval is the first value, and the vector elements corresponding to other value intervals are the second value. For example, the server sets 4 value ranges (0,0.5), [0.5,1.5), [1.5,2.5), [2.5,24), etc. If user A’s daily visit time is 1.2 hours, it belongs to [0.5 ,1.5), then the vector corresponding to user A's daily visit time is (0, 1, 0, 0).
  • Step 503 Preprocess the i-th feature information according to the pre-processing method corresponding to the i-th feature information to obtain the i-th feature information after preprocessing.
  • the server preprocesses the feature information according to the preprocessing method corresponding to each feature information to obtain data suitable for the timing estimation model processing.
  • step 403 in the embodiment of FIG. 4 can be implemented as an alternative: calling the timing estimation model to process the i-th feature information after preprocessing, to obtain the expectations of the first user within m preset time periods Open rate.
  • the technical solutions provided by the embodiments of the present application adopt different preprocessing methods for the characteristics of different data distribution types to obtain data suitable for processing by the timing estimation model, which can make the timing estimation possible.
  • the model can converge quickly and improve the training efficiency of the timing estimation model.
  • the server After the server completes this message push, it can verify and modify the timing prediction model based on the open status of the push message, so that the timing prediction model can more accurately determine the timing of the message push, and further improve the open rate of the push message.
  • the message pushing method may further include the following steps:
  • Step 1 Receive feedback information sent by the target terminal.
  • Feedback information is used to describe the interaction of push messages.
  • the interaction of the push message may include at least one of the following: whether the push message is triggered to open, the display time of the message display page after the push message is opened, whether the user performs an interactive operation on the message display page, and the interaction performed by the user on the message display page
  • the operation type of the operation include but are not limited to: sharing, collecting, purchasing, etc.
  • Step 2 Revise the timing estimation model according to the feedback message to obtain the revised timing estimation model.
  • the server compares the expected opening rate output by the timing estimation model with the feedback information to obtain the error between the two, and then adjusts the parameters of each layer of the timing estimation model based on the above errors to obtain the revised timing estimation Model.
  • the revised timing estimation model is used to determine the expected opening rate of the second user in m preset time periods when the next message push is performed.
  • the technical solutions provided by the embodiments of the present application receive feedback information generated based on the user's interaction with the push message, and modify the timing estimation model based on the feedback information, so that the timing estimation model can be more improved. Accurately determine the time period for sending push messages, and further improve the open rate of push messages.
  • FIG. 8 shows a flowchart of a message pushing method shown in another embodiment of the present application. This method is applied to the server in the embodiment of FIG. 2. The method may include the following steps:
  • Step 801 Acquire the activity of the first user.
  • the activity of the first user is used to quantify the activity of the first user.
  • the user's activity level may be determined by one or more of the following characteristics: number of active days, duration of active day, number of hours of active activity, and so on.
  • the number of active days refers to the number of days that the application corresponding to the push message is triggered to run, and the active duration refers to the length of time the application corresponding to the push message is triggered to run.
  • the number of hourly active times refers to the number of times the application corresponding to the push message is triggered to run in one hour.
  • the above-mentioned activity is positively correlated with the number of active days, the duration of active days, and the number of hourly actives. That is, the greater the number of active days, the greater the degree of activity, on the contrary, the smaller the number of active days, the lower the degree of activity.
  • the server stores a first correspondence between different active days and score values, a second correspondence between different active days and score values, and the first correspondence between different hours of active times and score values.
  • Three correspondences The server determines the first score value corresponding to the active days of the first user according to the above first correspondence, determines the second score value corresponding to the first user’s daily active time according to the above second correspondence, and according to the above third
  • the correspondence relationship determines the third point value corresponding to the hourly active times of the first user, and then the first point value, the second point value, and the third point value are accumulated to obtain the activity level of the first user.
  • Step 802 In response to the activity of the first user being greater than or equal to the second threshold, obtain n pieces of characteristic information of the first user.
  • the second threshold may be set according to actual requirements, which is not limited in the embodiment of the present application.
  • the server adopts a uniform random strategy to push the message in a preset time period.
  • the preset time period is the preferred time period of most users, that is, the time period when most users access third-party applications or open push messages.
  • Fig. 9 in combination, which shows a graph between the number of visitors in a day and the time. According to FIG. 9, the message push period corresponding to the low-activity user can be determined as the lunch period (11:00-13:00), the dinner period (17:00-19:00), and so on.
  • the timing prediction model is used to predict the user's expected opening rate in different preset time periods, based on the above expected opening rate to determine the target time period for sending push messages, and then push the message within the target time period .
  • the operating staff specifies the time period for sending push messages, and pushes the messages during this time period.
  • Step 803 Invoke the timing estimation model to process the n pieces of feature information, and obtain the expected opening rate of the first user in m preset time periods.
  • the expected opening rate refers to the predicted probability that the target terminal is triggered to open the push message, the target terminal is the terminal corresponding to the first user, and m is a positive integer.
  • Step 804 Determine the target time period in m preset time periods based on the expected opening rate of the first user in m preset time periods.
  • Step 805 Detect whether the target terminal meets a preset anti-fatigue rule.
  • Pre-set anti-fatigue rules can be set by operators based on experience to reduce the probability of users turning off push messages.
  • the preset anti-fatigue rules include one or a combination of the following: the target terminal is triggered to open the application corresponding to the push message in the first time period, the time between the time stamp of the last message push and the target time period The interval is less than the first threshold, the type corresponding to the push message is a preset type, and the copywriting template corresponding to the push message is the preset template.
  • the first time period can be set according to the target time period. Specifically, the time interval between the first period and the target period is less than the time threshold. Exemplarily, the target time period is from 10:00 to 11:00, and the first time period is from 00:00 to 10:00.
  • the first threshold may be set according to an empirical value, which is not limited in the embodiment of the present application. Both the preset type and the preset template can be determined by the server according to the feedback information of the first user on the historical push message.
  • Step 806 In response to the target terminal not satisfying the preset anti-fatigue rule, send a push message to the target terminal within the target time period.
  • the type of push message and the copywriting template used for the push message do not meet user expectations At the time, no push message is sent, thereby reducing the probability of the push message being closed and improving the operation effect.
  • the technical solution provided by the embodiments of the present application uses a timing prediction model to predict the time period for message push for users with high activity levels, and the operator determines the time period for message push for users with low activity levels.
  • the time period of the push can improve the prediction accuracy and increase the open rate of push messages; further screening through pre-set anti-fatigue rules can reduce the probability of push messages being closed.
  • FIG. 10 shows a schematic diagram of message push provided by an embodiment of the present application.
  • the server predicts high-active users (users with higher activity) through the timing prediction model, and obtains different target periods corresponding to different high-active users.
  • a uniform random strategy is used to determine the target time period corresponding to low-active users (for example, 10:00-13:00, 16:00-19:00), and the target time period corresponding to the above-mentioned high-active users and the target time period corresponding to low-active users are carried out.
  • Integrate to obtain a distribution report which includes the correspondence between time periods and users who receive push messages, and then divides them through a clickthrough rate (CTR) model, a close rate model, and a strategy module based on manual rules.
  • CTR clickthrough rate
  • the publication is filtered, and then the content recall model is used to determine the push messages that need to be pushed to different users, and the sending queue is obtained, and then the server sends the push messages one by one according to the sending queue.
  • FIG. 11 shows a comparison diagram of the number of clicks when using the technical solutions provided by the embodiments of the present application and the technical solutions provided by related technologies for message push.
  • Curve 1 represents the number of clicks when the technical solution provided by the related technology is used for message push
  • curve 2 represents the number of clicks when the technical solution provided by the embodiment of the application is used for message push.
  • FIG. 12 shows a comparison diagram of the number of people who are closed when using the technical solutions provided by the embodiments of the present application and the technical solutions provided by related technologies to push messages.
  • Curve 3 represents the number of closed messages when the technical solutions provided by related technologies are used for message push
  • curve 4 represents the number of closed messages when the technical solutions provided by the embodiments of the present application are used for message push.
  • FIG. 13 shows a block diagram of a message pushing device provided by an exemplary embodiment of the present application.
  • the message pushing device can be implemented as all or a part of the terminal through software, hardware or a combination of the two.
  • the message pushing device includes:
  • the information acquiring module 1301 is configured to acquire n pieces of characteristic information of the first user, each piece of characteristic information in the n pieces of characteristic information is used to describe a one-dimensional characteristic of the first user, and the n is a positive integer.
  • the probability prediction module 1302 is configured to call the timing prediction model to process the n pieces of characteristic information to obtain the expected opening rate of the first user in m preset time periods, and the expected opening rate refers to the predicted opening rate
  • the time period determining module 1303 is configured to determine a target time period in the m preset time periods based on the expected opening rate of the first user in the m preset time periods.
  • the message push module 1304 is configured to send the push message to the target terminal within the target time period.
  • the technical solution provided by the embodiments of the present application processes the user's characteristic information by invoking the timing estimation model to predict the probability of the user opening the push message in different time periods, and then based on the user opening the push message in different time periods The probability of the message determines the best time period for sending the push message, and pushes the message during the determined time period. Because the timing prediction model combines the characteristic information of individual users to make probability predictions, this process fully considers individual differences to achieve different users. Intelligent push makes the determined message push timing more accurate, thereby increasing the open rate of push messages.
  • the timing estimation model is obtained by training the neural network using at least two sets of sample data, and each set of samples in the at least two sets of sample data
  • the data includes: at least one piece of characteristic information of the sample user, the message opening rate of the sample terminal corresponding to the sample user within a preset time period, and the message opening rate is determined according to the historical access record corresponding to the sample terminal.
  • the at least one set of sample data includes positive sample data and negative sample data; the message opening rate included in the positive sample data is a first preset value, and the negative sample data includes the The message opening rate is a second preset value, and the first preset value is different from the second preset value.
  • the device further includes: an information receiving module and a model correction module (not shown in FIG. 13).
  • the information receiving module is configured to receive feedback information sent by the target terminal, where the feedback information is used to describe the interaction of the push message.
  • the model modification module is used to modify the timing prediction model according to the feedback message to obtain a modified timing prediction model, and the modified timing prediction model is used to determine the second time when the next message is pushed.
  • the device further includes: a preprocessing module (not shown in FIG. 13).
  • Preprocessing module for:
  • the i-th piece of characteristic information in the n pieces of characteristic information determine the data distribution type of the i-th piece of characteristic information, and the i is a positive integer less than or equal to the n;
  • the i-th piece of characteristic information is preprocessed to obtain the i-th piece of characteristic information after preprocessing.
  • the probability prediction module 1302 is configured to call the timing prediction model to process the i-th feature information after the preprocessing, to obtain the expected opening rate of the first user in m preset time periods.
  • the device further includes: a rule detection module (not shown in FIG. 13).
  • the rule detection module is used to detect whether the target terminal satisfies a preset anti-fatigue rule, wherein the preset anti-fatigue rule includes one or a combination of the following: the target terminal is in the first period Is triggered to open the application corresponding to the push message, the time interval between the time stamp of the last message push and the target period is less than the first threshold, the type corresponding to the push message is a preset type, The copywriting template corresponding to the push message is a preset template.
  • the message push module 1304 is configured to send the push message to the target terminal in response to the target terminal not satisfying the preset anti-fatigue rule.
  • the device further includes: an activity acquisition module (not shown in FIG. 13).
  • the activity degree acquisition module is used to acquire the activity degree of the first user.
  • the information acquisition module 1301 is configured to start execution from the step of acquiring n pieces of characteristic information of the first user in response to the activity of the first user being greater than or equal to a second threshold.
  • FIG. 14 shows a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • the computer device 1400 is the server in FIG. 2.
  • the computer equipment 1400 includes a central processing unit (Central Processing Unit, CPU) 1401, a system including a random access memory (Random Access Memory, RAM) 1402 and a read-only memory (Read-Only Memory, ROM) 1403 A memory 1404, and a system bus 1405 connecting the system memory 1404 and the central processing unit 1401.
  • the computer device 1400 also includes a basic input/output (Input/Output, I/O) system 1406 that helps transfer information between various devices in the computer, and a module 1415 for storing an operating system 1413, application programs 1414, and other programs.
  • the basic input/output system 1406 includes a display 1408 for displaying information and an input device 1409 such as a mouse and a keyboard for the user to input information.
  • the display 1408 and the input device 1409 are both connected to the central processing unit 1401 through the input and output controller 1410 connected to the system bus 1405.
  • the basic input/output system 1406 may also include an input and output controller 1410 for receiving and processing input from multiple other devices such as a keyboard, a mouse, or an electronic stylus.
  • the input and output controller 1410 also provides output to a display screen, a printer, or other types of output devices.
  • the mass storage device 1407 is connected to the central processing unit 1401 through a mass storage controller (not shown) connected to the system bus 1405.
  • the mass storage device 1407 and its associated computer-readable medium provide non-volatile storage for the computer device 1400. That is, the mass storage device 1407 may include a computer-readable medium (not shown) such as a hard disk.
  • the computer-readable media may include computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media include RAM, ROM, Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory or Other solid-state storage technology, Digital Video Disc (DVD) or other optical storage, tape cartridges, magnetic tape, disk storage or other magnetic storage devices.
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • DVD Digital Video Disc
  • the computer device 1400 may also be connected to a remote computer on the network through a network such as the Internet to run. That is, the computer device 1400 can be connected to the network 1412 through the network interface unit 1411 connected to the system bus 1405, or in other words, the network interface unit 1411 can also be used to connect to other types of networks or remote computer systems (not shown) ).
  • the memory further includes one or more programs, the one or more programs are stored in the memory, and the one or more programs include steps for performing the message push method provided in the embodiments of the present application.
  • a computer-readable storage medium is also provided, and at least one instruction is stored in the computer-readable storage medium, and the at least one instruction is loaded and executed by a processor of a terminal to implement the foregoing method.
  • the message push method in the example.
  • the aforementioned computer-readable storage medium may be ROM, RAM, magnetic tape, floppy disk, optical data storage device, and the like.
  • a computer program product is also provided.
  • the computer program product When executed, it is used to implement the message pushing method provided in the above method embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种消息推送方法、装置、计算机设备及存储介质。消息推送方法包括:获取第一用户的n条特征信息(401),n为正整数;调用时机预估模型对n条特征信息进行处理,得到第一用户在m个预设时段内的期望打开率(402),m为正整数;基于第一用户在m个预设时段内的期望打开率,在m个预设时段中确定出目标时段(403);在目标时段内向目标终端发送推送消息(404)。通过结合个体用户的特征信息来进行概率预测,充分考虑了个体差异,可以更加精准地确定发送推送消息的时间段,进而提高推送消息的打开率。

Description

消息推送方法、装置、计算机设备及存储介质
本申请要求申请号为202010241839.X、申请日为2020年03月31日、发明名称为“消息推送方法、装置、计算机设备及存储介质”的中国发明申请的优先权,优先权文本的全部内容引用至本文中。
技术领域
本申请实施例涉及深度学习技术领域,特别涉及一种消息推送方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的发展,终端中的大部分应用程序均实现了消息推送功能,也即,大部分应用程序可以通过网络将消息主动推送到终端供用户查看。
在相关技术中,消息推送方法具体如下:应用服务器采集某一应用程序在不同终端中的历史运行记录,对上述历史运行记录统计分析得到全站用户打开推送消息的时间,运营人员在统计分析结果中筛选出大部分用户打开推送消息的时段作为推送消息的发送时段,服务器在确定出的发送时段进行消息推送。
在相关技术中,推送消息的发送时段是基于用户群体来确定的,没有考虑个体差异,导致推送消息的打开率较低。
发明内容
本申请实施例提供一种消息推送方法、装置、计算机设备及存储介质。所述技术方案如下:
一个方面,本申请实施例提供一种消息推送方法,所述方法包括:
获取第一用户的n条特征信息,所述n条特征信息中的每条特征信息用于描述所述第一用户的一个维度的特征,所述n为正整数;
调用时机预估模型对所述n条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率,所述期望打开率是指预测得到的目标终端被触发打开推送消息的概率,所述目标终端是所述第一用户对应的终端,所述m为正整数;
基于所述第一用户在m个预设时段内的期望打开率,在所述m个预设时段中确定出目标时段;
在所述目标时段内向所述目标终端发送所述推送消息。
另一方面,本申请实施例提供一种消息推送装置,所述装置包括:
信息获取模块,用于获取第一用户的n条特征信息,所述n条特征信息中的每条特征信息用于描述所述第一用户的一个维度的特征,所述n为正整数;
概率预测模块,用于调用时机预估模型对所述n条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率,所述期望打开率是指预测得到的目标终端被触发打开推送消息的概率,所述目标终端是所述第一用户对应的终端,所述m为正整数;
时段确定模块,用于基于所述第一用户在m个预设时段内的期望打开率,在所述m个预设时段中确定出目标时段;
消息推送模块,用于在所述目标时段内向所述目标终端发送所述推送消息。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令(或计算机程序),所述指令由所述处理器加载并执行以实现如上方面所述的消息推送方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令(或计算机程序),所述指令由处理器加载并执行以实现如上所述的消息推送方法。
另一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中存储有至 少一条指令(或计算机程序),所述指令由处理器加载并执行以实现如上所述的消息推送方法。
本申请实施例提供的技术方案可以带来的有益效果至少包括:
通过调用时机预估模型对用户的特征信息处理,以预测该用户在不同时段内打开推送消息的概率,之后基于用户在不同时段内打开推送消息的概率确定出发送推送消息的最佳时段,在确定出的时段进行消息推送,由于时机预估模型结合个体用户的特征信息来进行概率预测,该过程充分考虑个体差异,实现针对不同用户的智能推送,使得确定出的消息推送时机更为精准,进而提高推送消息的打开率。
附图说明
图1是本申请一个示例性实施例示出的用户特征的示意图;
图2是本申请一个示例性实施例示出的实施环境的示意图;
图3是本申请一个示例性实施例示出的消息推送的示意图;
图4是本申请一个示例性实施例示出的消息推送方法的流程图;
图5是本申请一个示例性实施例示出的不同负采样率下训练时间,以及测试AUC增益的关系图;
图6是本申请一个示例性实施例示出的样本数据的示意图;
图7是本申请一个示例性实施例示出的测试数据的示意图;
图8是本申请另一个示例性实施例示出的消息推送方法的流程图;
图9是本申请一个示例性实施例示出的“时间-访问人数”的关系图;
图10是本申请一个示例性实施例示出的消息推送的示意图;
图11是本申请一个示例性实施例示出的相关技术与本申请实施例的打开人数对比图;
图12是本申请一个示例性实施例示出的相关技术与本申请实施例的关闭人数对比图;
图13是本申请另一个示例性实施例示出的消息推送装置的结构框图;
图14是本申请一个示例性实施例示出的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请实施例涉及的相关名词进行介绍。
时机预估模型:一种根据用户的特征信息来预测用户在不同时段内打开推送消息的概率的数学模型。
时机预估模型是采用样本用户的特征信息训练得到的。服务器采集某一时段内第三方应用程序被触发运行的数据,将该时段内运行第三方应用程序的终端对应的用户确定为样本用户。其中,该时段可以由服务器设定,也可以由相关运营人员设定。例如,该时段是最近三天、最近两个星期。
进一步地,服务器在统计出预设时段内运行第三方应用程序的终端对应的用户后,结合活跃度对上述统计出的用户进行筛选。具体地,服务器将该时段内运行第三方应用程序的终端对应的用户中活跃度大于预设阈值的用户,确定为样本用户。
用户的特征信息包括但不限于:用户标签特征、用户活跃特征、用户属性特征、场景特征。
用户标签特征用于定义用户属性,以勾画完整的用户画像,用户标签特征可用于描述用户的婚育状况(例如未婚、已婚、已育等),用户标签特征还可以描述用户的兴趣爱好(例如美食、旅游、运动等)。用户属性特征用于描述用户的基础属性(例如年龄、性别等)。用户活跃特征用于描述用户对第三方应用程序的操作频次。
结合参考图1,其示出了本申请一个实施例示出的用户的特征信息的示意图。用户属性特征包括注册、基本、水平等三方面特征。其中,注册特征包括用户星级、注册天数、生命周期等;基本特征包括性别、年龄、职业等;水平特征包括教育水平、收入水平、消费水平等。用户活跃特征包括活跃天数、天活跃时长、小时活跃次数、活跃小时时长等。用户标签 特征包括人群、兴趣等两方面特征。其中,人群特征可以包括有娃、结婚、怀孕等;兴趣特征包括宅、贪吃、爱美、旅游、运动等。场景特征包括当前时间、星期几等等。
在一些实施例中,时机预估模型包括但不限于:Xgboost模型、逻辑回归(Logistic Regression,LR)模型、场感知因子分解机(Field-aware Factorization Machines,FFM)模型、深度神经网络(Deep Neural Network,DNN)模型中的至少一种。在本申请实施例中,仅以时机预估模型为Xgboost模型为例进行说明。
Xgboost模型采用树模型作为分类器,输出多分类中每个类别的概率值。在本申请实施例中,Xgboost模型输出用户在不同时段内的打开概率。Xgboost模型的数学表达式如下:
Figure PCTCN2020129450-appb-000001
其中,K表示树的颗数,f k(x i)表示第i个样本在第k棵树中落在的叶子的权重,F表示回归森林中的所有函数空间。
Xgboost模型的目标函数Obj如下:
Figure PCTCN2020129450-appb-000002
Figure PCTCN2020129450-appb-000003
表示训练误差,
Figure PCTCN2020129450-appb-000004
表示树的复杂度。
Ω(f)为正则项,用于表示树的复杂度,其可以采用如下公式表示:
Figure PCTCN2020129450-appb-000005
其中,T表示叶子节点的个数,ω表示叶节点分数。γ和λ为系数。
目标函数可以采用加法训练算法(Additive Training),该过程可以采用如下公式表示:
Figure PCTCN2020129450-appb-000006
Figure PCTCN2020129450-appb-000007
表示第t次迭代的模型预测,
Figure PCTCN2020129450-appb-000008
表示第t-1次的模型预测,f t(x i)表示第t棵树的预测,也即,第t次迭代后的模型预测等于前t-1次的模型预测加上第t棵树的预测。
请参考图2,其示出了本申请一个实施例涉及的实施环境的示意图。该实施环境包括至少一个终端21和服务器22。
终端21用于接收推送消息。终端21可以是智能手机、平板电脑、个人计算机(Personal Computer,PC)、智能可穿戴设备等等。在一些实施例中,终端21中安装有第三方应用程序,该第三方应用程序具有消息推送权限,也即该第三方应用程序被允许将推送消息发送至终端的通知栏以供用户查看。该第三方应用程序包括且不限于:购物类应用程序、社交类应用程序、资讯类应用程序、音乐类应用程序、生活服务类应用程序。
服务器22用于向至少一个终端21发送推送消息。在一些实施例中,服务器22是上述第三方应用程序对应的后台服务器。服务器22可以是一台服务器,还可以是多台服务器组成的服务器集群,还可以是一个云计算服务中心。在一些实施例中,服务器22存储有时机预估模型,该时机预估模型用于根据用户的特征来预测该用户在不同时段内打开推送消息的概率。
在本申请实施例中,服务器22用于调用时机预估模型来确定某一用户在不同时段内打开推送消息的概率,并基于时机预估模型所输出的多个概率来确定向该用户所持有的终端发送推送消息的最佳时段,最后在上述确定出的最佳时段向该用户所持有的终端发送推送消息,以提高推送消息的打开率。
在一些实施例中,终端21与服务器22之间通过无线网络或有线网络建立通信连接。上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是其它任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text  Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
为了提升运营效果,需要对消息推送时机进行优化。在本申请实施例中,通过预测不同时段内推送消息的打开率,来对消息推送时机进行优化。基于此,本申请实施例提供了一种消息推送方法,通过调用时机预估模型对用户的特征信息处理,以预测该用户在不同时段内打开推送消息的概率,之后基于用户在不同时段内打开推送消息的概率确定出发送推送消息的最佳时段,在确定出的时段进行消息推送,由于时机预估模型结合个体用户的特征信息来进行概率预测,该过程充分考虑个体差异,实现针对不同用户的智能推送,使得确定出的消息推送时机更为精准,进而提高推送消息的打开率。
下面将结合图3对本申请实施例涉及的消息推送流程的示意图。
服务器31中存储有时机预估模型33,在确定消息推送时机时,服务器将目标用户的特征信息32输入时机预估模型33,由该时机预估模型33输出该用户在m个预设时段内的期望打开率,之后服务器31基于期望打开率筛选出目标时段(也即发送推送消息的时段),在上述目标时段到达时,服务器31向终端35发送推送消息34,之后终端在通知栏上显示推送消息34。
请参考图4,其示出了本申请实施例示出的消息推送方法的流程图。该方法应用于图2所示实施例中的服务器22。该方法可以包括如下步骤:
步骤401,获取第一用户的n条特征信息,n为正整数。
n条特征信息中的每条特征信息用于描述第一用户的一个维度的特征。n条特征信息包括但不限于:用户标签特征、用户活跃特征、用户属性特征、场景特征等。n的取值可以根据时机预估模型的精度要求实际确定,本申请实施例对此不作限定。
步骤402,调用时机预估模型对n条特征信息进行处理,得到第一用户在m个预设时段内的期望打开率,m为正整数。
时机预估模型是采用至少两组样本数据对神经网络进行训练得到的。至少两组样本数据中的每组样本数据包括:样本用户的至少一条特征信息、样本用户对应的样本终端在一个预设时段内的消息打开率。
消息打开率是指标注的样本终端在该预设时段内触发打开推送消息的概率。在一些实施例中,消息打开率可以是第一预设值或者是第二预设值,第一预设值和第二预设值不相同。第一预设值用于指示样本终端在该预设时段内会触发打开推送消息。第二预设值用于指示样本终端在该预设时段内不会触发打开推送消息。在一个具体的例子中,第一预设值为1,第二预设值为0。其中,消息打开率为第一预设值的样本数据为正样本数据,消息打开率为第二预设值的样本数据为负样本数据。需要说明的是,正样本数据和负样本数据之间的比例可以根据实际需求设定。在一个具体的例子中,在训练时机预估模型时,可以将负采样率(也即负样本数据与所有样本数据之间的比值)设置为1%。
结合参考图5,其示出了本申请一个实施例提供的不同负采样率下的训练时长以及测试接受者操作特征曲线(Receiver Operating Characteristic curve,ROC)曲线下的面积(Area Under Curve,AUC)增益。其中,AUC用于衡量学习器优劣的性能指标。在图5中,当负样本率越低,则训练时长越小,AUC越大;当负样本率越高,则训练时长越长,AUC越小。
消息打开率根据样本终端对应的历史访问记录确定。历史访问记录用于记录第一用户访问第三方应用程序的时间信息(访问时间戳与访问时长)、操作信息(第一用户对第三方应用程序执行的操作的操作类型,比如收藏、分享等)。
在一些实施例中,服务器从样本终端对应的历史访问记录中获取有效访问的发生时间, 将该发生时间所处的预设时段对应的消息打开率设置为第一预设值,将除该发生时间所处的预设时段之外的其它预设时段对应的消息打开率设置为第二预设值。其中,有效访问是指样本终端访问第三方应用程序的访问时长达到预设时长的访问,上述预设时长可以根据实际需求设定,本申请实施例对此不作限定。例如,预设时长为10秒。
结合参考图6,其示出了本申请一个实施例提供的样本数据的示意图。以样本用户A为例,其在9:00~10:00的消息打开率为0,在10:00~11:00的消息打开率为1,在11:00~12:00的消息打开率为1,在12:00~13:00的消息打开率为0,在13:00~14:00的消息打开率为0,在14:00~15:00的消息打开率为0,在15:00~16:00的消息打开率为0,在16:00~17:00的消息打开率为1,在17:00~18:00的消息打开率为1。
神经网络可以是Xgboost模型、LR模型、FFM模型、DNN模型中的任意一种。在本申请实施例中,仅以神经网络为Xgboost模型为例进行说明。
在一个具体的例子中,服务器从样本终端对应的历史访问记录中获取到如下信息:用户A在10:49分以及16:25访问“xx点评”,访问时间分别为7分钟和11分钟,则确定用户A在10:00~11:00、16::00~17:00这两个预设时段的消息打开率为1,在其它预设时段的消息打开率为0。
对时机预估模型的训练流程具体如下:将样本用户的至少一个特征信息输入神经网络,由该神经网络输出预测得到的样本用户在对应的预设时段内的期望打开率,之后将期望打开率与消息打开率进行比对。若期望打开率与消息打开率之间的误差大于或等于误差阈值,则对神经网络的各个层的参数进行调整,并从将样本用户的至少一个特征信息输入神经网络的步骤重新开始执行,直至期望打开率与消息打开率之间的误差小于误差阈值,此时将参数调整后的神经网络保存,即可得到完成训练的时机预估模型。其中,神经网络的各个层的参数包括:基分类器的数量、每棵树的深度、内部节点分裂的最小样本数量和叶子节点的最小样本数量;学习率;使用的特征数量;使用的样本数量等等。
期望打开率是指预测得到的目标终端被触发打开推送消息的概率,目标终端是第一用户对应的终端。m的取值可以由运营人员设定。m个预设时段的时间长度可以相同,也可以不相同。在本申请实施例中,仅以m个预设时段的时间长度均相同为例进行说明。m个预设时段的时间长度可以由服务器设定,也可以由运营人员设定,本申请实施例对此不作限定。
在一个具体的例子中,m的取值为12,m个预设时段的时间长度均相同,均为1个小时。上述m个预设时段分别为9:00~10:00、10:00~11:00、11:00~12:00、12:00~13:00、13:00~14:00、14:00~15:00、15:00~16:00、16:00~17:00、17:00~18:00、18:00~19:00、19:00~20:00。
在一些实施例中,服务器还存储有至少两组测试数据,测试数据用于测试时机预估模型是否训练完成。至少两组测试数据中的每组测试数据包括:测试用户的至少一个特征信息、测试用户在一个预设时段内的消息打开率。该消息打开率根据测试用户对应的测试终端的历史访问记录确定。
结合参考图7,其示出了本申请一个实施例提供的测试数据的示意图。以测试用户B为例,其在9:00~10:00的消息打开率为0,在10:00~11:00的消息打开率为0,在11:00~12:00的消息打开率为1,在12:00~13:00的消息打开率为1,在13:00~14:00的消息打开率为0,在14:00~15:00的消息打开率为0,在15:00~16:00的消息打开率为0,在16:00~17:00的消息打开率为0,在17:00~18:00的消息打开率为0。
对时机预估模型的测试流程具体如下:将测试用户的至少一个特征信息输入时机预估模型,由该时机预估模型输出预测得到的测试用户在对应的预设时段内的期望打开率,之后将期望打开率与消息打开率进行比对。若期望打开率与消息打开率之间的误差小于误差阈值,则说明时机预估模型已完成训练;若期望打开率与消息打开率之间的误差大于或等于误差阈值,则说明时机预估模型尚未训练完成,仍需要继续调整。
步骤403,基于第一用户在m个预设时段内的期望打开率,在m个预设时段中确定出目标时段。
目标时段是用于发送推送消息的时段。目标时段可以是一个,也可以是多个。此外,本申请实施例对目标时段的时间长度不作限定。
在一些实施例中,服务器将期望打开率超过预设概率的预设时段确定为目标时段。预设概率可以根据时机需求设定,本申请实施例对此不作限定。示例性地,预设概率为0.7。
在另一些实施例中,服务器对第一用户在m个预设时段内的期望打开率按照由高到低的顺序进行排序,并将排序在前k位的预设时段确定为目标时段。k为小于或等于m的正整数,其可以根据所需的目标时段的数量确定。示例性地,k为1,也即,服务器将期望打开率最大的预设时段确定为目标时段。
步骤404,在目标时段内向目标终端发送推送消息。
服务器在目标时段内向目标终端发送推送消息。在本申请实施例中,服务器通过调用时机预估模型对用户多个维度的特征信息进行处理,来预测用户在不同时段内打开推送消息的概率,之后基于预测到的概率来确定发送推送信息的时段,并在确定出的时段内进行消息推送,由于该过程充分考虑了个体差异,实现了针对不同用户的智能推送,使得确定出的消息推送时机更为精准,进而提高推送消息的打开率。
综上所述,本申请实施例提供的技术方案,通过调用时机预估模型对用户的特征信息处理,以预测该用户在不同时段内打开推送消息的概率,之后基于用户在不同时段内打开推送消息的概率确定出发送推送消息的最佳时段,在确定出的时段进行消息推送,由于时机预估模型结合个体用户的特征信息来进行概率预测,该过程充分考虑个体差异,实现针对不同用户的智能推送,使得确定出的消息推送时机更为精准,进而提高推送消息的打开率。
由于用户的特征信息通常为语义特征,因此在调用时机预估模型对用户的特征信息进行处理之前,需要对其进行预处理。
在基于图4所示实施例提供的一个可选实施例中,在步骤401之后,该消息推送方法可以包括如下步骤:
步骤501,对于n条特征信息中的第i条特征信息,确定第i条特征信息的数据分布类型,i为小于或等于n的正整数。
第i条特征信息的数据分布类型可以是以下任意一种:连续(continuous)特征、无序类别(categorical)特征。例如,活跃天数、天活跃时长、小时活跃次数、消费水平、收入水平、注册天数、生命周期等为连续特征。再例如,性别、星期几、教育水平、职业等为无序类别特征。
步骤502,基于第i条特征信息的数据分布类型,确定第i条特征信息对应的预处理方式。
对于数据分布类型为无序类别特征的特征信息,其对应的预处理方式为向量化处理。向量化处理是指将无序类别特征转化为一个数值向量。示例性地,对于性别这一无序类别特征,服务器采用长度为2的向量来表示,如果性别是男,则其对应的向量为(1,0),如果性别是女,则其对应的向量为(0,1),或者,如果性别是男,则其对应的向量为(0,1),如果性别是女,则其对应的向量为(1,0)。
对于数据分布类型为连续特征的特征信息,其对应的预处理方式为离散化处理。离散化处理是指将无限空间中有限的个体映射到有限空间中去,可以实现在不改变数据相对大小的前提下,对数据进行相应的缩小。具体地,对于连续特征,服务器先根据该连续特征的取值范围设定多个取值区间,每个取值区间对应一个维度的向量,若某一用户的连续特征属于目标取值区间,则目标取值区间对应的向量元素为第一数值,其它取值区间对应的向量元素为第二数值。例如,服务器设定(0,0.5),[0.5,1.5),[1.5,2.5),[2.5,24)等4个取值区间,若用户A的天访问时长为1.2小时,其属于[0.5,1.5),则用户A的天访问时长对应的向量为(0,1,0,0)。
步骤503,按照第i条特征信息对应的预处理方式,对第i条特征信息进行预处理,得到预处理后的第i条特征信息。
服务器根据每条特征信息对应的预处理方式,对该条特征信息进行预处理,以得到适用 于时机预估模型处理的数据。
在该实施例中,图4实施例中的步骤403可以替代实现为:调用时机预估模型对预处理后的第i条特征信息进行处理,得到第一用户在m个预设时段内的期望打开率。
综上所述,本申请实施例提供的技术方案,通过对于不同数据分布类型的特征,采用不同的预处理方式进行预处理,以得到适用于时机预估模型处理的数据,可以使时机预估模型能快速收敛,提高时机预估模型的训练效率。
服务器在完成本次消息推送后,可以结合推送消息的打开情况来对时机预估模型进行验证、修正,以使得时机预估模型能够更加精准地确定消息推送时机,进一步提高推送消息的打开率。
在一些可能的实施例中,该消息推送方法还可以包括如下步骤:
步骤1,接收目标终端发送的反馈信息。
反馈信息用于描述推送消息的交互情况。推送消息的交互情况可以包括以下至少一种:推送消息是否被触发打开、推送消息被打开后的消息显示页面的显示时长、用户是否对消息显示页面执行交互操作、用户对消息显示页面执行的交互操作的操作类型。交互操作的操作类型包括且不限于:分享、收藏、购买等等。
步骤2,根据反馈消息对时机预估模型进行修正,得到修正后的时机预估模型。
服务器将时机预估模型输出的期望打开率与反馈信息进行比对,得到二者之间的误差,之后基于上述误差对时机预估模型的各层的参数进行调整,得到修正后的时机预估模型。修正后的时机预估模型用于在下一次进行消息推送时确定第二用户在m个预设时段内的期望打开率。
综上所述,本申请实施例提供的技术方案,通过接收基于用户对推送消息的交互情况所生成的反馈信息,并基于反馈信息对时机预估模型进行修正,可以使时机预估模型能够更加精准地确定发送推送消息的时段,进一步提高推送消息的打开率。
请参考图8,其示出了本申请另一个实施例示出的消息推送方法的流程图。该方法应用于图2实施例中的服务器。该方法可以包括如下步骤:
步骤801,获取第一用户的活跃度。
第一用户的活跃度用于量化第一用户的活跃程度。在一些实施例中,用户的活跃度可以通过以下一种或多种特征来确定:活跃天数、天活跃时长、小时活跃次数等。活跃天数是指推送消息对应的应用程序被触发运行的天数、天活跃时长是指推送消息对应的应用程序被触发运行的时间长度。小时活跃次数是指一个小时内推送消息对应的应用程序被触发运行的次数。
上述活跃度与活跃天数、天活跃时长、小时活跃次数均为正相关关系。也即,活跃天数越大,则活跃度越大,反之,活跃天数越小,则活跃度越小。天活跃时长越大,则活跃度越大,反之,天活跃时长越小,则活跃度越小。小时活跃次数越大,则活跃度越大,小时活跃次数越小,则活跃度越小。
在一个具体的例子中,服务器存储有不同活跃天数与分数值之间的第一对应关系、不同天活跃时长与分数值之间的第二对应关系、不同小时活跃次数与分数值之间的第三对应关系,服务器根据上述第一对应关系确定第一用户的活跃天数对应的第一分数值,根据上述第二对应关系确定第一用户的天活跃时长对应的第二分数值,根据上述第三对应关系确定第一用户的小时活跃次数对应的第三分数值,之后将第一分数值、第二分数值和第三分数值进行累加,得到第一用户的活跃度。
步骤802,响应于第一用户的活跃度大于或等于第二阈值,获取第一用户的n条特征信息。
第二阈值可以根据实际需求设定,本申请实施例对此不作限定。响应于第一用户的活跃度小于第二阈值,服务器采用均匀随机策略在预设时段进行消息推送。预设时段是大部分用户的偏好时段,也即大部分用户访问第三方应用程序的时间或者打开推送消息的时段。结合 参考图9,其示出了一天的访问人数与时间之间的曲线图。根据图9可以将低活用户对应的消息推送时段确定为午餐时段(11:00~13:00)、晚餐时段(17:00~19:00)等。
由于活跃度较低的用户,其特征数据较为稀疏,通过时机预估模型来进行预测得到的准确率较差,因此,在本申请实施例中,对于不同活跃度的用户采用不同的消息推送策略。对于活跃度较高的用户,通过时机预估模型来预测该用户在不同预设时段内的期望打开率,基于上述期望打开率来确定发送推送消息的目标时段,之后在目标时段内进行消息推送。对于活跃度较低的用户,则由运营人员指定发送推送消息的时段,并在该时段内进行消息推送。通过上述方式,可以提升时机预估模型的预测准确度。
步骤803,调用时机预估模型对n条特征信息进行处理,得到第一用户在m个预设时段内的期望打开率。
期望打开率是指预测得到的目标终端被触发打开推送消息的概率,目标终端是第一用户对应的终端,m为正整数。
步骤804,基于第一用户在m个预设时段内的期望打开率,在m个预设时段中确定出目标时段。
步骤805,检测目标终端是否满足预先设定的防疲劳规则。
预先设定的防疲劳规则可以由运营人员基于经验设定,以减小用户关闭推送消息的概率。
预先设定的防疲劳规则包括以下一项或多项的组合:目标终端在第一时段内被触发打开推送消息对应的应用程序、上一次进行消息推送时的时间戳与目标时段之间的时间间隔小于第一阈值、推送消息对应的类型为预设类型、推送消息对应的文案模板为预设模板。
第一时段可以根据目标时段进行设定。具体地,第一时段与目标时段之间的时间间隔小于时间阈值。示例性地,目标时段为10:00~11:00,则第一时段为00:00~10:00。第一阈值可以根据经验值设定,本申请实施例对此不作限定。预设类型,以及预设模板均可以由服务器根据第一用户对历史推送消息的反馈信息进行确定。
步骤806,响应于目标终端不满足预先设定的防疲劳规则,在目标时段内向目标终端发送推送消息。
在本申请实施例中,终端在当天运行过推送消息对应的应用程序、或者上一次发送推送消息的时段距离当前时段较近时,推送消息的类型、推送消息所采用的文案模板不符合用户期待时,不发送推送消息,从而减小推送消息被关闭的概率,提升运营效果。
响应于目标终端满足预先设定的防疲劳规则,不执行在目标时段内向目标终端发送推送消息。
综上所述,本申请实施例提供的技术方案,对于活跃度高的用户采用时机预估模型来预测用于进行消息推送的时段,对于活跃度低的用户由运营人员来确定用于进行消息推送的时段,可以提高预测准确度,提高提高推送消息的打开率;还通过预先设定的防疲劳规则进行进一步筛选,可以减小推送消息被关闭的概率。
在一个具体的例子中,结合参考图10,其示出了本申请一个实施例提供的消息推送的示意图。在图10中,服务器通过时机预估模型对高活用户(活跃度较高的用户)进行预测,得到不同高活用户对应的不同目标时段,对于低活用户(活跃度较低的用户),采用均匀随机策略来确定低活用户对应的目标时段(例如10:00~13:00、16:00~19:00),将上述高活用户对应的目标时段,低活用户对应的目标时段进行整合,得到分发表,该分发表包括时段与接收推送消息的用户之间的对应关系,之后通过点击率(Click Through Rate,CTR)模型、关闭率模型以及基于人工规则设定的策略模块对分发表进行筛选,之后通过内容召回模型来确定需要向不同用户推送的推送消息,得到发送队列,之后服务器按照发送队列逐次发送推送消息。
结合参考图11,其示出了采用本申请实施例提供的技术方案与相关技术提供的技术方案进行消息推送时的点击人数的对比图。曲线1表示采用相关技术提供的技术方案进行消息推送时的点击人数,曲线2表示采用本申请实施例提供的技术方案进行消息推送时的点击人数。
结合参考图12,其示出了采用本申请实施例提供的技术方案与相关技术提供的技术方案进行消息推送时的关闭人数的对比图。曲线3表示采用相关技术提供的技术方案进行消息推送时的关闭数量,曲线4表示采用本申请实施例提供的技术方案进行消息推送时的关闭数量。
根据图11以及图12可以看出,采用本申请实施例提供的技术方案来进行消息推送,相关于采用相关技术提供的技术方案来进行消息推送,推送消息的点击人数增加,而关闭推送消息的人数降低。
以下为本申请装置实施例,对于装置实施例中未详细阐述的部分,可以参考上述方法实施例中公开的技术细节。
请参考图13,其示出了本申请一个示例性实施例提供的消息推送装置的框图。该消息推送装置可以通过软件、硬件或者两者的组合实现成为终端的全部或一部分。该消息推送装置包括:
信息获取模块1301,用于获取第一用户的n条特征信息,所述n条特征信息中的每条特征信息用于描述所述第一用户的一个维度的特征,所述n为正整数。
概率预测模块1302,用于调用时机预估模型对所述n条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率,所述期望打开率是指预测得到的目标终端被触发打开推送消息的概率,所述目标终端是所述第一用户对应的终端,所述m为正整数。
时段确定模块1303,用于基于所述第一用户在m个预设时段内的期望打开率,在所述m个预设时段中确定出目标时段。
消息推送模块1304,用于在所述目标时段内向所述目标终端发送所述推送消息。
综上所述,本申请实施例提供的技术方案,通过调用时机预估模型对用户的特征信息处理,以预测该用户在不同时段内打开推送消息的概率,之后基于用户在不同时段内打开推送消息的概率确定出发送推送消息的最佳时段,在确定出的时段进行消息推送,由于时机预估模型结合个体用户的特征信息来进行概率预测,该过程充分考虑个体差异,实现针对不同用户的智能推送,使得确定出的消息推送时机更为精准,进而提高推送消息的打开率。
在基于图13所示实施例提供的一个可选实施例中,所述时机预估模型是采用至少两组样本数据对神经网络进行训练得到的,所述至少两组样本数据中的每组样本数据包括:样本用户的至少一条特征信息、所述样本用户对应的样本终端在一个预设时段内的消息打开率,所述消息打开率根据所述样本终端对应的历史访问记录确定。
可选地,所述至少一组样本数据包括正样本数据和负样本数据;所述正样本数据所包括的所述消息打开率为第一预设值,所述负样本数据所包括的所述消息打开率为第二预设值,所述第一预设值与所述第二预设值不同。
在基于图13所示实施例提供的一个可选实施例中,所述装置还包括:信息接收模块和模型修正模块(图13未示出)。
信息接收模块,用于接收所述目标终端发送的反馈信息,所述反馈信息用于描述所述推送消息的交互情况。
模型修正模块,用于根据所述反馈消息对所述时机预估模型进行修正,得到修正后的时机预估模型,所述修正后的时机预估模型用于在下一次进行消息推送时确定第二用户在m个预设时段内的期望打开率。
在基于图13所示实施例提供的一个可选实施例中,所述装置还包括:预处理模块(图13未示出)。
预处理模块,用于:
对于所述n条特征信息中的第i条特征信息,确定所述第i条特征信息的数据分布类型,所述i为小于或等于所述n的正整数;
基于所述第i条特征信息的数据分布类型,确定所述第i条特征信息对应的预处理方式;
按照所述第i条特征信息对应的预处理方式,对所述第i条特征信息进行预处理,得到预处理后的第i条特征信息。
所述概率预测模块1302,用于调用所述时机预估模型对所述预处理后的第i条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率。
在基于图13所示实施例提供的一个可选实施例中,所述装置还包括:规则检测模块(图13未示出)。
规则检测模块,用于检测所述目标终端是否满足预先设定的防疲劳规则,其中,所述预先设定的防疲劳规则包括以下一项或多项的组合:所述目标终端在第一时段内被触发打开所述推送消息对应的应用程序、上一次进行消息推送时的时间戳与所述目标时段之间的时间间隔小于第一阈值、所述推送消息对应的类型为预设类型、所述推送消息对应的文案模板为预设模板。
所述消息推送模块1304,用于响应于所述目标终端不满足所述预先设定的防疲劳规则,向所述目标终端发送所述推送消息。
在基于图13所示实施例提供的一个可选实施例中,所述装置还包括:活跃度获取模块(图13未示出)。
活跃度获取模块,用于获取所述第一用户的活跃度。
所述信息获取模块1301,用于响应于所述第一用户的活跃度大于或等于第二阈值,从所述获取第一用户的n条特征信息的步骤开始执行。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图14,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备1400为图2中的服务器。具体来讲:所述计算机设备1400包括中央处理单元(Central Processing Unit,CPU)1401、包括随机存取存储器(Random Access Memory,RAM)1402和只读存储器(Read-Only Memory,ROM)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。所述计算机设备1400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(Input/Output,I/O)系统1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。
所述基本输入/输出系统1406包括有用于显示信息的显示器1408和用于用户输入信息的诸如鼠标、键盘之类的输入设备1409。其中所述显示器1408和输入设备1409都通过连接到系统总线1405的输入输出控制器1410连接到中央处理单元1401。所述基本输入/输出系统1406还可以包括输入输出控制器1410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1410还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1407通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。所述大容量存储设备1407及其相关联的计算机可读介质为计算机设备1400提供非易失性存储。也就是说,所述大容量存储设备1407可以包括诸如硬盘之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、带电可擦写可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存或其他固态存储其技术,数字通用光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。
根据本申请的各种实施例,所述计算机设备1400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1400可以通过连接在所述系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的消息推送方法中的步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由终端的处理器加载并执行以实现上述方法实施例中的消息推送方法。
可选地,上述计算机可读存储介质可以是ROM、RAM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述方法实施例中提供的消息推送方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

  1. 一种消息推送方法,其特征在于,所述方法包括:
    获取第一用户的n条特征信息,所述n条特征信息中的每条特征信息用于描述所述第一用户的一个维度的特征,所述n为正整数;
    调用时机预估模型对所述n条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率,所述期望打开率是指预测得到的目标终端被触发打开推送消息的概率,所述目标终端是所述第一用户对应的终端,所述m为正整数;
    基于所述第一用户在所述m个预设时段内的期望打开率,在所述m个预设时段中确定出目标时段;
    在所述目标时段内向所述目标终端发送所述推送消息。
  2. 根据权利要求1所述的方法,其特征在于,所述时机预估模型是采用至少两组样本数据对神经网络进行训练得到的,所述至少两组样本数据中的每组样本数据包括:样本用户的至少一条特征信息、所述样本用户对应的样本终端在一个预设时段内的消息打开率,所述消息打开率根据所述样本终端对应的历史访问记录确定。
  3. 根据权利要求2所述的方法,其特征在于,所述至少两组样本数据包括正样本数据和负样本数据;所述正样本数据所包括的所述消息打开率为第一预设值,所述负样本数据所包括的所述消息打开率为第二预设值,所述第一预设值与所述第二预设值不同。
  4. 根据权利要求1所述的方法,其特征在于,所述在所述目标时段向所述目标终端发送所述推送消息之后,还包括:
    接收所述目标终端发送的反馈信息,所述反馈信息用于描述所述推送消息的交互情况;
    根据所述反馈消息对所述时机预估模型进行修正,得到修正后的时机预估模型,所述修正后的时机预估模型用于在下一次进行消息推送时确定第二用户在所述m个预设时段内的期望打开率。
  5. 根据权利要求1所述的方法,其特征在于,所述获取第一用户的n条特征信息之后,还包括:
    对于所述n条特征信息中的第i条特征信息,确定所述第i条特征信息的数据分布类型,所述i为小于或等于所述n的正整数;
    基于所述第i条特征信息的数据分布类型,确定所述第i条特征信息对应的预处理方式;
    按照所述第i条特征信息对应的预处理方式,对所述第i条特征信息进行预处理,得到预处理后的第i条特征信息;
    所述调用时机预估模型对所述n条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率,包括:调用所述时机预估模型对所述预处理后的第i条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率。
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述在所述目标时段向所述目标终端发送所述推送消息之前,还包括:
    检测所述目标终端是否满足预先设定的防疲劳规则;
    响应于所述目标终端不满足所述预先设定的防疲劳规则,向所述目标终端发送所述推送消息;
    其中,所述预先设定的防疲劳规则包括以下一项或多项的组合:所述目标终端在第一时段内被触发打开所述推送消息对应的应用程序、上一次进行消息推送时的时间戳与所述目标时段之间的时间间隔小于第一阈值、所述推送消息对应的类型为预设类型、所述推送消息对应的文案模板为预设模板。
  7. 根据权利要求1至5任一项所述的方法,其特征在于,所述获取第一用户的n条特征信息之前,还包括:
    获取所述第一用户的活跃度;
    响应于所述第一用户的活跃度大于或等于第二阈值,从所述获取第一用户的n条特征信息的步骤开始执行。
  8. 一种消息推送装置,其特征在于,所述装置包括:
    信息获取模块,用于获取第一用户的n条特征信息,所述n条特征信息中的每条特征信息用于描述所述第一用户的一个维度的特征,所述n为正整数;
    概率预测模块,用于调用时机预估模型对所述n条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率,所述期望打开率是指预测得到的目标终端被触发打开推送消息的概率,所述目标终端是所述第一用户对应的终端,所述m为正整数;
    时段确定模块,用于基于所述第一用户在m个预设时段内的期望打开率,在所述m个预设时段中确定出目标时段;
    消息推送模块,用于在所述目标时段内向所述目标终端发送所述推送消息。
  9. 根据权利要求8所述的装置,其特征在于,所述时机预估模型是采用至少两组样本数据对神经网络进行训练得到的,所述至少两组样本数据中的每组样本数据包括:样本用户的至少一条特征信息、所述样本用户对应的样本终端在一个预设时段内的消息打开率,所述消息打开率根据所述样本终端对应的历史访问记录确定。
  10. 根据权利要求9所述的装置,其特征在于,所述至少一组样本数据包括正样本数据和负样本数据;所述正样本数据所包括的所述消息打开率为第一预设值,所述负样本数据所包括的所述消息打开率为第二预设值,所述第一预设值与所述第二预设值不同。
  11. 根据权利要求8所述的装置,其特征在于,所述装置还包括:信息接收模块和模型修正模块;
    所述信息接收模块,用于接收所述目标终端发送的反馈信息,所述反馈信息用于描述所述推送消息的交互情况;
    所述模型修正模块,用于根据所述反馈消息对所述时机预估模型进行修正,得到修正后的时机预估模型,所述修正后的时机预估模型用于在下一次进行消息推送时确定第二用户在m个预设时段内的期望打开率。
  12. 根据权利要求8所述的装置,其特征在于,所述装置还包括:预处理模块;
    所述预处理模块,用于对于所述n条特征信息中的第i条特征信息,确定所述第i条特征信息的数据分布类型,所述i为小于或等于所述n的正整数;基于所述第i条特征信息的数据分布类型,确定所述第i条特征信息对应的预处理方式;按照所述第i条特征信息对应的预处理方式,对所述第i条特征信息进行预处理,得到预处理后的第i条特征信息;
    所述模型预测模块,用于调用所述时机预估模型对所述预处理后的第i条特征信息进行处理,得到所述第一用户在m个预设时段内的期望打开率。
  13. 根据权利要求8至12任一所述的装置,其特征在于,所述装置还包括:规则检测模块;
    所述规则检测模块,用于检测所述目标终端是否满足防疲劳规则,其中,所述防疲劳规则包括以下一项或多项的组合:所述目标终端在第一时段内被触发打开所述推送消息对应的应用程序、上一次进行消息推送时的时间戳与所述目标时段之间的时间间隔小于第一阈值、所述推送消息对应的类型为预设类型、所述推送消息对应的文案模板为预设模板;
    所述消息推送模块,用于响应于所述目标终端不满足所述预先设定的防疲劳规则,向所述目标终端发送所述推送消息。
  14. 根据权利要求8至12任一所述的装置,其特征在于,所述装置还包括:活跃度获取模块;
    所述活跃度获取模块,用于获取所述第一用户的活跃度;
    所述信息获取模块,用于响应于所述第一用户的活跃度大于或等于第二阈值,从所述获取第一用户的n条特征信息的步骤开始执行。
  15. 一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至7任一项所述的消息推送方法。
  16. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至7任一项所述的消息推送方法。
PCT/CN2020/129450 2020-03-31 2020-11-17 消息推送方法、装置、计算机设备及存储介质 WO2021196639A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010241839.X 2020-03-31
CN202010241839.XA CN111460294B (zh) 2020-03-31 2020-03-31 消息推送方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
WO2021196639A1 true WO2021196639A1 (zh) 2021-10-07

Family

ID=71685092

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/129450 WO2021196639A1 (zh) 2020-03-31 2020-11-17 消息推送方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN111460294B (zh)
WO (1) WO2021196639A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111460294B (zh) * 2020-03-31 2023-09-15 汉海信息技术(上海)有限公司 消息推送方法、装置、计算机设备及存储介质
CN112084447B (zh) * 2020-08-17 2024-05-24 北京字节跳动网络技术有限公司 一种数据分配方法、装置、介质和电子设备
CN112364239A (zh) * 2020-10-21 2021-02-12 广州市百果园网络科技有限公司 消息推送策略确定方法、装置、设备及存储介质
CN112801700A (zh) * 2021-01-29 2021-05-14 北京达佳互联信息技术有限公司 虚拟对象变更方法及装置、电子设备及存储介质
CN112954066A (zh) * 2021-02-26 2021-06-11 北京三快在线科技有限公司 信息推送方法、装置、电子设备及可读存储介质
CN115225702B (zh) * 2021-04-19 2023-08-08 北京达佳互联信息技术有限公司 信息推送方法、装置、电子设备及存储介质
CN113902132B (zh) * 2021-12-09 2022-05-24 北京达佳互联信息技术有限公司 负反馈行为预测模型训练方法、消息推送方法及设备
CN114401494B (zh) * 2022-01-14 2023-05-26 平安壹钱包电子商务有限公司 短消息下发异常检测方法、装置、计算机设备及存储介质
CN116383368B (zh) * 2023-04-25 2023-10-03 武汉维序科技有限公司 一种基于大数据的智能信息推送方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462593A (zh) * 2014-12-29 2015-03-25 北京奇虎科技有限公司 一种提供用户个性化资源消息推送的方法和装置
CN105631538A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 一种用户活跃度的预测方法、装置及其应用方法和系统
CN105718529A (zh) * 2016-01-15 2016-06-29 广东小天才科技有限公司 一种通信终端上应用程序的消息推送方法及装置
CN106919692A (zh) * 2017-03-07 2017-07-04 广州优视网络科技有限公司 一种推送消息的方法和装置
US20170230417A1 (en) * 2016-02-04 2017-08-10 Amadeus S.A.S. Monitoring user authenticity in distributed system
US20190303197A1 (en) * 2018-04-02 2019-10-03 Microsoft Technology Licensing, Llc Resource scheduling using machine learning
CN111460294A (zh) * 2020-03-31 2020-07-28 汉海信息技术(上海)有限公司 消息推送方法、装置、计算机设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732097B2 (en) * 2012-02-22 2014-05-20 Palo Alto Research Center Incorporated Automatically triggering predictions in recommendation systems based on an activity-probability threshold
CN105095279B (zh) * 2014-05-13 2019-05-03 深圳市腾讯计算机系统有限公司 文件推荐方法和装置
CN105407158A (zh) * 2015-11-25 2016-03-16 无线生活(杭州)信息科技有限公司 一种建立模型和推送消息的方法及装置
CN106998274A (zh) * 2016-12-12 2017-08-01 深圳大宇无限科技有限公司 应用消息推送方法和装置
CN107426336B (zh) * 2017-08-22 2020-09-29 北京京东尚科信息技术有限公司 一种调整推送消息打开率的方法和装置
CN109981695B (zh) * 2017-12-27 2021-03-26 Oppo广东移动通信有限公司 内容推送方法、装置及设备
CN109995799B (zh) * 2017-12-29 2020-12-29 Oppo广东移动通信有限公司 信息推送方法、装置、终端及存储介质
CN109783632B (zh) * 2019-02-15 2023-07-18 腾讯科技(深圳)有限公司 客服信息推送方法、装置、计算机设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462593A (zh) * 2014-12-29 2015-03-25 北京奇虎科技有限公司 一种提供用户个性化资源消息推送的方法和装置
CN105631538A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 一种用户活跃度的预测方法、装置及其应用方法和系统
CN105718529A (zh) * 2016-01-15 2016-06-29 广东小天才科技有限公司 一种通信终端上应用程序的消息推送方法及装置
US20170230417A1 (en) * 2016-02-04 2017-08-10 Amadeus S.A.S. Monitoring user authenticity in distributed system
CN106919692A (zh) * 2017-03-07 2017-07-04 广州优视网络科技有限公司 一种推送消息的方法和装置
US20190303197A1 (en) * 2018-04-02 2019-10-03 Microsoft Technology Licensing, Llc Resource scheduling using machine learning
CN111460294A (zh) * 2020-03-31 2020-07-28 汉海信息技术(上海)有限公司 消息推送方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111460294A (zh) 2020-07-28
CN111460294B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
WO2021196639A1 (zh) 消息推送方法、装置、计算机设备及存储介质
US11900396B2 (en) Systems and methods for generating a relationship among a plurality of datasets to generate a desired attribute value
US20210287048A1 (en) System and method for efficient generation of machine-learning models
US20210174391A1 (en) System and method of providing a platform for managing data content campaign on social networks
US10719854B2 (en) Method and system for predicting future activities of user on social media platforms
CN108776844B (zh) 基于上下文感知张量分解的社交网络用户行为预测方法
WO2021174944A1 (zh) 基于目标对象活跃度的消息推送方法及相关设备
JP6484730B2 (ja) 時間因子を融合させる協調フィルタリング方法、装置、サーバおよび記憶媒体
US20120254242A1 (en) Methods and systems for mining association rules
CN106682686A (zh) 一种基于手机上网行为的用户性别预测方法
CN112765480B (zh) 一种信息推送方法、装置及计算机可读存储介质
WO2018145590A1 (zh) 表情图片推荐方法、装置、服务器集群及存储介质
US10540607B1 (en) Apparatus, method and article to effect electronic message reply rate matching in a network environment
CN113610265A (zh) 一种基于超图卷积网络的时空行为预测方法及系统
US20230306263A1 (en) Pattern-based classification
US20140279815A1 (en) System and Method for Generating Greedy Reason Codes for Computer Models
Shen et al. Enhancing stochastic kriging for queueing simulation with stylized models
CN115994226A (zh) 基于联邦学习的聚类模型训练系统及方法
Dai et al. ICS-SVM: A user retweet prediction method for hot topics based on improved SVM
CN109447694B (zh) 一种用户特征分析方法及其系统
WO2019062404A1 (zh) 应用程序的处理方法、装置、存储介质及电子设备
CN107644042B (zh) 软件程序点击率预估排序方法及服务器
US11921568B2 (en) Methods and systems for determining stopping point
WO2023284516A1 (zh) 基于知识图谱的信息推荐方法、装置、设备、介质及产品
US11269974B1 (en) Learning ordinal regression model via divide-and-conquer technique

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20928988

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20928988

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20928988

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 030723)

122 Ep: pct application non-entry in european phase

Ref document number: 20928988

Country of ref document: EP

Kind code of ref document: A1