A message push method, device, equipment and medium

By constructing an associated probability model and determining the push activity probability based on the user's push basic information, the problem that message push in the prior art is difficult to improve user activity, and an efficient and non-disturbing message push effect is achieved.

CN119109978BActive Publication Date: 2025-05-27BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411388800.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2025-05-27
Estimated Expiration
2044-09-30

AI Technical Summary

Technical Problem

The existing technology is difficult to improve the user activity of message push on the basis of ensuring user experience, and unreasonable message push will disturb the user and reduce the user experience.

Method used

By obtaining the basic push information of the target user, including the number of candidates, candidate time and message attributes of the candidate message, constructing input information and inputting it into the association probability model, determining the push active probability, and finally pushing the user message according to the target input information corresponding to the maximum target probability.

Benefits of technology

It achieves improving user activity on the basis of ensuring user experience, reducing disturbance to users, and improving the effect of message push.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109978B_ABST
    Figure CN119109978B_ABST
Patent Text Reader

Abstract

The disclosed embodiments relate to a message push method, apparatus, device and medium, wherein the method comprises: obtaining basic push information of a target user, wherein the basic push information comprises a plurality of candidate times, a plurality of candidate times and a plurality of message attributes of candidate messages; constructing input information based on the basic push information, wherein the input information comprises a plurality of candidate times, a plurality of candidate times and a message attribute of candidate messages; inputting the plurality of input information into an associated probability model to determine a plurality of corresponding push active probabilities, wherein the associated probability model is obtained by training a sample data set including the number of message pushes, the time and the message attributes; and pushing messages to the target user according to the target input information corresponding to the maximum target probability among the plurality of push active probabilities. Thus, not only can the user experience be guaranteed and the disturbance to the user be reduced, but also the message push effect can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technologies, and in particular, to a message pushing method, apparatus, device, and medium. Background Art

[0002] Message pushing is that the server actively pushes messages to clients such as mobile phones and tablet computers through channels. The clients receive the messages and display them in the notification bar. Users can view the messages in the notification bar and click on the messages to open the application. Through message pushing, the user activity of the application can be improved. However, unreasonable message pushing will make users feel disturbed and reduce the user experience. In related technologies, optimization can be carried out from a single dimension of the number of message pushes, time, or specific messages, but the effect is limited, and it is difficult to improve the activity while ensuring the user experience. Summary of the Invention

[0003] To solve the above technical problems, the present disclosure provides a message pushing method, apparatus, device, and medium.

[0004] An embodiment of the present disclosure provides a message pushing method, and the method includes:

[0005] Obtain the pushing basic information of a target user, where the pushing basic information includes a plurality of candidate times, a plurality of candidate times, and the message attributes of a plurality of candidate messages;

[0006] Construct input information based on the pushing basic information, where the input information includes the candidate times, the candidate times, and the message attributes of the candidate messages;

[0007] Input a plurality of the input information into an association probability model to determine a corresponding plurality of pushing activity probabilities, where the association probability model is trained by a sample data set including the number of message pushes, time, and message attributes;

[0008] Push messages to the target user according to the target input information corresponding to the maximum target probability among the plurality of pushing activity probabilities.

[0009] An embodiment of the present disclosure further provides a message pushing apparatus, and the apparatus includes:

[0010] A first obtaining module, configured to obtain the pushing basic information of a target user, where the pushing basic information includes a plurality of candidate times, a plurality of candidate times, and the message attributes of a plurality of candidate messages;

[0011] A constructing module, configured to construct input information based on the pushing basic information, where the input information includes the candidate times, the candidate times, and the message attributes of the candidate messages;

[0012] A determination module, configured to input multiple pieces of the input information into an association probability model to determine corresponding multiple push active probabilities, where the association probability model is trained by a sample data set including the number of message pushes, time, and message attributes;

[0013] A push module, configured to perform message push on the target user according to the target input information corresponding to the maximum target probability among the multiple push active probabilities.

[0014] An embodiment of the present disclosure further provides an electronic device, including: a processor; a memory for storing executable instructions executable by the processor; the processor is configured to read the executable instructions from the memory and execute the instructions to implement the message push method provided by the embodiment of the present disclosure.

[0015] An embodiment of the present disclosure further provides a computer-readable storage medium, where the storage medium stores a computer program, and the computer program is used to execute the message push method provided by the embodiment of the present disclosure.

[0016] The technical solution provided by the embodiment of the present disclosure has the following advantages compared with the prior art: The message push solution provided by the embodiment of the present disclosure obtains push basic information of a target user, where the push basic information includes multiple candidate times, multiple candidate times, and message attributes of multiple candidate messages; constructs input information based on the push basic information, where the input information includes candidate times, candidate times, and message attributes of candidate messages; inputs the multiple input information into an association probability model to determine corresponding multiple push active probabilities, where the association probability model is trained by a sample data set including the number of message pushes, time, and message attributes; performs message push on the target user according to the target input information corresponding to the maximum target probability among the multiple push active probabilities. By adopting the above technical solution, multiple input information is constructed according to multiple candidate times, multiple candidate times, and message attributes of multiple candidate messages, the multiple input information is input into an association probability model trained by the number of message pushes, time, and message attributes to obtain push active probabilities, and the target input information corresponding to the maximum value of the push active summary is determined, and corresponding push is performed on the user according to the target input information. The data in three dimensions of the number of message pushes, time, and message attributes are organically combined in terms of model structure and model underlying feature embedding (Embedding) through the association probability model, realizing multi-dimensional joint optimization modeling. Performing corresponding message push according to the number of times, time, and message attributes determined by the association probability model can greatly improve user activity, not only ensuring user experience and reducing interference to users, but also improving the message push effect. Description of the Drawings

[0017] In conjunction with the accompanying drawings and with reference to the following specific embodiments, the above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic and that the original and elements are not necessarily drawn to scale.

[0018] Figure 1 A flowchart of a message push method provided by some embodiments of the present disclosure;

[0019] Figure 2 A schematic diagram of the time nodes of message push provided by some embodiments of the present disclosure;

[0020] Figure 3 A flowchart of another message push method provided by some embodiments of the present disclosure;

[0021] Figure 4 A schematic diagram of the structure of an association probability model provided by some embodiments of the present disclosure;

[0022] Figure 5 A flowchart of yet another message push method provided by some embodiments of the present disclosure;

[0023] Figure 6 A schematic diagram of the structure of a message push device provided by some embodiments of the present disclosure;

[0024] Figure 7 A schematic diagram of the structure of an electronic device provided by some embodiments of the present disclosure. Specific Embodiments

[0025] The embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.

[0026] It should be understood that the various steps recited in the method embodiments of the present disclosure can be executed in a different order and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this regard.

[0027] As used herein, the term "including" and its variations are open-ended, that is, "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions of other terms will be given in the following description.

[0028] It should be noted that concepts such as "first", "second", etc. mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or mutual dependency relationship of the functions performed by these devices, modules or units.

[0029] It should be noted that the modifications of "one" and "multiple" mentioned in this disclosure are illustrative rather than restrictive. Those skilled in the art should understand that unless clearly specified otherwise in the context, it should be understood as "one or more".

[0030] The names of the messages or information exchanged between multiple devices in the embodiments of this disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.

[0031] In an application, the message push service is an important core function. Message push refers to the server actively pushing messages to the client through a channel. The client receives the message and displays it in the notification bar. The user can view the message in the notification bar and click on the message to open the application. Compared with the user initiating a request to start the application and fetching the information flow content, the active party in message push is the server, and the number of times, time, messages, etc. of message push per day can all be determined by the server. Message push plays an important role in arousing dormant users, enhancing user activity, and improving user retention.

[0032] However, unreasonable message push will make users feel disturbed, reduce the user experience of using the application, and in severe cases, will cause users to turn off the message push function. Therefore, it is necessary to perform message push and improve user activity while disturbing users as little as possible.

[0033] In the related art, for the number of information push, the activity of users is statistically counted based on rules, the number is quantitatively determined according to the activity, and then the number is adjusted by using a probability model or a regression model. For the time of message push, a classification model or a scoring model is established based on the time period when the user can be pushed, and the classification model or the scoring model is used to determine whether the user clicks on the information. After determining the number of pushes, according to the probability or scoring score of different time periods, the top number of push time periods are selected in descending order. For the message content of message push, a method similar to that of information flow recommendation is adopted, and the information content is sorted in real time by modeling the click-through rate (CTR), and the push content is selected according to the sorting result.

[0034] In this method of separately modeling for each influencing factor, the optimal push time periods actually corresponding to the number of pushes from less to more are not necessarily sequentially included. Therefore, it is impossible to jointly plan the number of pushes and the push timing to improve user activity. Moreover, in different push time periods, the same user may not have the same interest in the same content. In addition, in the case of multiple pushes, the mutual influence between the front and back push order of information and messages is not considered.

[0035] In the above related art, optimization can be carried out from a single dimension of the number of message pushes, time, or specific messages, and the effect is limited, and it is difficult to improve activity on the basis of ensuring user experience.

[0036] To solve the above problems, embodiments of the present disclosure provide a message push method, which will be introduced below in combination with specific embodiments.

[0037] Figure 1 It is a schematic flowchart of the message push method provided by some embodiments of the present disclosure. This method can be executed by a message push device or the server of an application recommendation system. Embodiments of the present disclosure do not limit the type of this application. For example, this application can be a personalized information application such as a short video application or a video editing application. Among them, the information push device can be implemented by software and / or hardware and is generally integrated in an electronic device. As Figure 1 shown, this method includes:

[0038] Step 101, obtain the push basic information of the target user, where the push basic information includes a plurality of candidate numbers, a plurality of candidate times, and the message attributes of a plurality of candidate messages.

[0039] Among them, the target user can be the user to whom the message is to be pushed, and the target user can be the user corresponding to the currently logged-in account of the application. The push basic information can be the factors affecting message push, and the push basic information can be the basic information related to the implementation of message push.

[0040] The candidate number can be the number of times of message pushing to the target user within a periodic time period (e.g., one day). The message pushing can be carried out periodically, and the periodic time period can be the cycle length of the message pushing. This embodiment does not limit the value range of the candidate number. For example, the candidate number can be a non-negative integer not greater than N, where N is the maximum pre-set pushing number.

[0041] The candidate time can be the time period in which the message sending moment (Send Time) is located. This embodiment does not limit the length of the candidate time. For example, the candidate time can be 15 minutes. The message sending moment can be the time point when the server pushes the message. The message sending moment can be approximately considered the same as the message receiving moment. Figure 2 It is a schematic diagram of the time nodes of message pushing provided by some embodiments of the present disclosure, as Figure 2 shown. For one message pushing, from the server's initiation to the message reaching the client and being clicked by the user, it mainly includes four time nodes. Specifically, the server pushes the message to the client at the message sending moment, the message reaches the client at the message receiving (Receive) moment, the user views the message received by the client at the message viewing (Show) moment, and the user clicks the message at the message clicking (Click) moment. If accidental factors such as network failures are not considered, the time difference between the message sending moment and the message receiving moment is usually within 1 second, and thus it can be approximately considered that time send = time receive ; where, time send is the message sending moment, and time receive is the message receiving moment.

[0042] The candidate message can be the message to be pushed. After the client receives the candidate message, it can display the corresponding information content of the candidate message in the notification bar. This embodiment does not limit the candidate message. For example, the candidate message can include one or more of activity information, hot news information, and schedule reminder information. The message attribute can be a feature on the message (Message) side, and this message attribute can characterize the feature of the candidate message. This embodiment does not limit the message attribute. For example, the message attribute includes one or more of the message presentation form, message type, and message creation time. The message presentation form includes one or more of text and image mixed, text, and image. The message type includes entertainment and / or news.

[0043] In the embodiments of the present disclosure, when planning the message pushing to the target user, the message pushing device can obtain the pushing basic information corresponding to the target user, and multiple candidate numbers, multiple candidate times, and the message attributes of multiple candidate messages in the pushing basic information can be pre-set.

[0044] Alternatively, the message attributes of the candidate messages can be pre-set, and the message push device can directly obtain the message attributes of the candidate messages. For multiple candidate times, the message push device can obtain the maximum push times N, and traverse the integers from 0 to N to obtain multiple candidate times. For multiple candidate times, the message push device can divide the time period suitable for message pushing within the cycle time period according to a pre-set time length to obtain multiple candidate times, and the i-th candidate time among the multiple candidate times can be represented as T i . For example, the message push device can divide the time period from 7:00 to 21:00 in a day at 15-minute intervals to obtain multiple candidate times.

[0045] Step 102, construct input information based on the push basic information, where the input information includes candidate times, candidate times, and message attributes of candidate messages.

[0046] Among them, the input information can be data input into the correlation probability model. An input information can be a data group on which the correlation probability model makes a prediction of the push active probability once.

[0047] In this embodiment, the information push device can perform combined processing on multiple candidate times, multiple candidate times, and message attributes of multiple candidate messages to obtain multiple combined results. Each combined result includes a candidate time, a candidate time, and a message attribute of a candidate message, that is, an input information can include a candidate time, a candidate time, and a message attribute of a candidate message. The message push device uses each combined result as input information respectively.

[0048] In some embodiments of the present disclosure, the input information further includes push correlation information, and the push correlation information includes at least one of user information and environmental information.

[0049] Among them, the push correlation information can be information related to message pushing on the client side. The user information can be information on the user side, and the user information can be used to characterize the user. This embodiment does not limit the user information. The acquisition of the user information is carried out after obtaining the authorization of the target user. The environmental information can be a feature on the environmental (Context) side, and the environmental information can include the software environment and / or hardware environment of the device used by the user. This embodiment does not limit the environmental information. For example, the environmental information can include one or more of the device system, the model of the device's central processing unit (CPU), the version of the application program, and the network connection type. Among them, the network connection type can include traffic connection and mobile hotspot (Wi-Fi) connection.

[0050] In this embodiment, the information push device can perform combined processing on the message attributes of multiple candidate times, multiple candidate messages, and multiple candidate numbers to obtain multiple combined results, where each combined result includes the message attributes of a candidate number, a candidate time, and a candidate message. For each combined result, the message push device constructs input information according to the combination and the push association information to obtain multiple input information corresponding to the multiple combined results.

[0051] Step 103: Input the multiple input information into the association probability model to determine the corresponding multiple push active probabilities, where the association probability model is trained by a sample data set including the number of message pushes, time, and message attributes.

[0052] Among them, the association probability model can be a model that can perform association calculations on the number of message pushes, time, and message attributes in terms of model structure and underlying feature embedding. The push active probability can be the probability of converting the target user from an inactive state to an active state through message push. The inactive state can represent that the target user has not started or used the application program within a cycle time period, and the active state can represent that the target user has started or used the application program within a cycle time period. This push active probability can represent the actual effect of a message push. The sample data set can be a data set used for adjusting model parameters to obtain the association probability model.

[0053] In the embodiments of the present disclosure, the message push device can input the multiple input information into the association probability model respectively. The association probability model processes the input information to obtain the push active probability corresponding to each input information.

[0054] In some embodiments of the present disclosure, the association probability model includes a view sub-model for determining the view probability and a click sub-model for determining the click probability.

[0055] Among them, the view probability can be the probability that the candidate message sent within the candidate time in the presence of a message push is viewed by the target user. The candidate message is the nth message push to the target user within a cycle time period, and n is the candidate number. It can be understood that the value of this view probability is related to whether the candidate time matches the idle time of the target user. This view probability can be expressed as P(show|time send , n). The view sub-model can be a sub-model in the association probability model for predicting the view probability and the non-push active probability. This view sub-model realizes the association between the number and time in message push.

[0056] The click probability can be understood as the probability that the target user clicks on a candidate message given that the candidate message has been viewed by the target user. This click probability can be expressed as P(click|message show, n). Understandably, this click probability depends on whether the target user is interested in the candidate message. The click sub-model can be a sub-model in the association probability model for predicting the click probability. Since the click sub-model is based on the premise that the target user has viewed the candidate message, and the viewing of this candidate message involves the number of times and the time of message pushing, the click sub-model essentially realizes the association of time, number of times, and message attributes in message pushing.

[0057] Understandably, in the case where the input information further includes push association information, the viewing sub-model can be used to associate the time of message pushing and the push association information in terms of the model structure and the embedding of underlying features of the model based on the number of times of message pushing. The click sub-model can be a model that, based on the premise that the target user has viewed the candidate message, associates the push association information and the attribute information in terms of the model structure and the embedding of underlying features of the model based on the number of times of message pushing.

[0058] Figure 3 The flowchart of another message pushing method provided by some embodiments of the present disclosure is shown as Figure 3 As shown, in some embodiments of the present disclosure, inputting multiple input information into the association probability model to determine corresponding multiple push active probabilities includes:

[0059] Step 301: Input the candidate number of times and the candidate time in each input information into the viewing sub-model of the association probability model, and output the viewing probability and the non-push active probability when sending the candidate message according to the candidate number of times at the candidate time.

[0060] Among them, the non-push active probability can be the probability that a candidate message is viewed by the target user in the case of no message pushing, that is, the viewing probability without pushing. This non-push active probability can also be understood as the probability that the target user changes from an inactive state to an active state without message pushing to the target user.

[0061] In this embodiment, the message pushing device can input the candidate number of times and the candidate time into the viewing sub-model of the association probability model, and the viewing sub-model processes the candidate number of times and the candidate time, and outputs the viewing probability and the non-push active probability when sending the candidate message according to the candidate number of times at the candidate time.

[0062] In this embodiment, if the input information further includes push correlation information, the message push device may input the candidate times, candidate time, and push correlation information into the viewing sub-model of the correlation probability model. The viewing sub-model processes the candidate times, candidate time, and push correlation information, and outputs the viewing probability and the non-push activity probability when sending the candidate message according to the candidate times at the candidate time.

[0063] Figure 4 The structural schematic diagram of the correlation probability model provided by some embodiments of the present disclosure is shown in Figure 4 As shown, the value of the candidate times is an integer from 0 to N, and the candidate times can be pre-input into the viewing sub-model. The message push device inputs the candidate time, user information, and environmental information into the viewing sub-model. The viewing sub-model calculates the candidate time, user information, and environmental information to obtain the non-push activity probability when the candidate times is 0, and the viewing probabilities corresponding to the candidate times from 1 to N respectively.

[0064] In some embodiments of the present disclosure, the viewing probability is determined according to the first probability of sending the candidate message according to the candidate times at the candidate time and the second probability of sending the candidate message according to the number of times of candidate times minus 1 at the candidate time.

[0065] Among them, the first probability may be the probability that the candidate message is pushed within the candidate time and is viewed by the target user. Sending the candidate message according to the candidate times may mean that the candidate message is pushed as the nth message to the target user within the periodic time period. The second probability may be the probability that the candidate message is pushed within the candidate time and is not viewed by the target user. Sending the candidate message according to the number of times of candidate times minus 1 may mean that the candidate message is pushed as the (n - 1)th message to the target user within the periodic time period, where n is the candidate times. Correspondingly, taking the periodic time period as one day as an example, the viewing probability can be understood as the probability of the following event: the (n - 1)th candidate message push of the day within the candidate time is not viewed by the target user, and the current nth candidate message push within the candidate time is viewed by the target user.

[0066] In this embodiment, the message push device may input the candidate time into the viewing sub-model, and calculate the corresponding first probability through the viewing sub-model.

[0067] If the input information further includes push correlation information, the message push device may input the candidate time and push correlation information into the viewing sub-model, and calculate the corresponding first probability through the viewing sub-model. Taking the candidate times as n as an example, since the premise for sending the nth candidate message is that the (n - 1)th candidate message is not clicked, the viewing probability may be:

[0068] P(show|time send, n) = (1 - P(show|time send , n - 1)) * P(show|time send = T i );

[0069] In the formula, P(show|time send , n) represents the viewing probability;

[0070] 1 - P(show|time send , n - 1) represents the second probability;

[0071] P(show|time send = T i ) represents the first probability, and T i represents the i-th candidate time.

[0072] Step 302: Input the message attributes of the candidate messages in each input information into the click sub-model of the association probability model, and output the click probability when the candidate message is viewed at the candidate time.

[0073] In this embodiment, the message push device can input the message attributes of the candidate message into the click sub-model, and the click sub-model processes the message attributes to obtain the click probability of the user clicking the candidate message when the candidate message has been viewed by the user for each candidate time.

[0074] As Figure 4 shown, if the input information further includes push association information, the message push device can input the message attributes of the candidate message and the push association information into the click sub-model, and the click sub-model processes the message attributes and the push association information to obtain the click probability of the user clicking the candidate message when the candidate message has been viewed by the user for each candidate time.

[0075] Step 303: Determine the product of the viewing probability and the click probability corresponding to each input information as the corresponding push click probability, and determine the difference between the push click probability and the non-push active probability as the corresponding push active probability.

[0076] Among them, the push click probability can be the probability that the target user clicks the candidate message when the candidate message is pushed within the candidate time. When there is a message push (i.e., the candidate times are greater than 0), the probability that the target user is active is consistent with the target of the push click probability, that is:

[0077] P(active|message, time send ) = P(click|message, time send );

[0078] Among them, P(active|message time send ) represents the probability that the target user is active, and P(click|message, time send ) represents the push click probability.

[0079] In this embodiment, since the user does not know the specific content of the received message before viewing the message, whether the user views the message mainly depends on whether the user has free time to trigger the client to display the message. The user needs to view the message before clicking on it. The click on the message occurs when the user has already viewed the message. Whether the user clicks on the message depends on whether the message matches the user's browsing needs. As Figure 4 shown, the message push device can multiply the viewing probability and the click probability of the corresponding candidate times to obtain the target click probability corresponding to the candidate times, that is, predict the probability that the target user is active. Specifically, the push click probability is:

[0080] P(click|message, time send ) = P(show|time send , n) * P(click|message show, n);

[0081] In the formula, P(click|message time send ) represents the push click probability, P(show|time send , n) represents the viewing probability, and P(click|message show, n) represents the click probability.

[0082] Moreover, the essence of message pushing to users is to arouse users to open the application to generate content traffic. That is, taking a day as a periodic time period, converting users from an inactive state to an active state. Therefore, the users targeted by message pushing should be those who are still in an inactive state. The fewer the message push times and the higher the proportion of the pushed users converted into an active state, the better the message push effect. If message pushing is performed on users who have not been pushed and are already in an active state, not only the resources consumed for message pushing are wasted, but also unnecessary interference is caused to the users. Therefore, after the nth message push to the user within the periodic time period, the difference between the corresponding push click probability and the probability of being active without pushing is determined to obtain the push active probability. The greater the push active probability, the better the effect of this message push, and this user is the user who needs to receive message pushing, that is:

[0083] Pactive = P(click|message time send ) - P(active|send = 0);

[0084] In the formula, P active represents the push active probability, P(click|message, time send ) represents the push click probability, and P(active|send = 0) represents the non-push active probability.

[0085] In the above solution, the view probability and the non-push active probability are predicted by the view sub-model; the click probability is predicted by the click sub-model; then, the view probability and the click probability are multiplied to obtain the push click probability, and the push click probability and the non-push active probability are subtracted to obtain the push active probability. This push active probability characterizes the possibility of the user state change of the target user caused by the candidate message push this time. Based on this push active probability for message push in the follow-up, it can more efficiently convert the target user from the inactive state to the active state, improving the pertinence and push effect of the message push.

[0086] Step 104: Push a message to the target user according to the target input information corresponding to the target probability that is the largest among multiple push active probabilities.

[0087] Among them, the target probability can be the maximum value among multiple push active probabilities. The target input information can be the input information corresponding to the target probability.

[0088] In the embodiments of the present disclosure, the message push device can determine the maximum value among multiple push active probabilities as the target probability, and determine the input information corresponding to the target probability as the target input information. Push to the target user according to the candidate times, candidate time, and candidate message in the target input information.

[0089] In some embodiments of the present disclosure, pushing a message to the target user according to the target input information corresponding to the target probability that is the largest among multiple push active probabilities includes: if the target probability is greater than the probability threshold, then push the candidate message corresponding to the target input information of the target probability to the target user according to the candidate time and the candidate times.

[0090] Among them, the probability threshold can be a threshold set in advance for judging whether the target probability reaches the standard. This embodiment does not limit this probability threshold. For example, the probability threshold can be 0.

[0091] In this embodiment, taking the probability threshold as 0 as an example, if the target probability is greater than 0, it indicates that this message push will increase the probability of the user transitioning from an inactive state to an active state compared to not performing a message push. Therefore, the candidate message corresponding to the target input information is determined as the target information, the candidate count is determined as the target count, and the candidate time is determined as the target time. According to the target information, target count, and target time, a message push plan for the target user is made, and the target information is pushed to the target user as the message for the target count-th push within the target time.

[0092] If the target probability is not greater than 0, it means that this message push will not promote the user's transition from an inactive state to an active state compared to not performing a message push. Therefore, no message push is performed on the target user within the current cycle time period.

[0093] For example, if the probability threshold is 0, for user A, in the candidate time where 9:00 is located, the view probability is 0.6, the click probability is 0.7, and the active probability without push is 0.71. Then the push click probability is 0.6 * 0.7 = 0.42, and the push active probability is 0.42 - 0.71 = -0.29. Since this push active probability is less than the probability threshold, no message push is performed with this input information. For user A, in the candidate time where 10:00 is located, the view probability is 0.7, the click probability is 0.8, and the active probability without push is 0.71. Then the push click probability is 0.7 * 0.8 = 0.56, and the push active probability is 0.56 - 0.71 = -0.15. Since this push active probability is less than the probability threshold, no message push is performed with this input information.

[0094] For user B, in the candidate time where 12:50 is located, the view probability is 0.5, the click probability is 0.6, and the active probability without push is 0.12. Then the push click probability is 0.5 * 0.6 = 0.3, and the push active probability is 0.3 - 0.12 = 0.18. In the candidate time where 16:00 is located, the view probability is 0.6, the click probability is 0.9, and the active probability without push is 0.12. Then the push click probability is 0.6 * 0.9 = 0.54, and the push active probability is 0.54 - 0.12 = 0.42. The push active probabilities corresponding to both groups of input information are greater than the probability threshold, and 0.42 > 0.18, that is, the push active probability corresponding to 12:50 is greater than the push active probability corresponding to 16:00. Then the input information corresponding to 16:00 is determined as the target input information, and a message push is performed on user B based on this target input information.

[0095] The message push solution provided by the embodiments of the present disclosure obtains the push basic information of the target user, where the push basic information includes multiple candidate times, multiple candidate times, and the message attributes of multiple candidate messages; constructs input information based on the push basic information, where the input information includes candidate times, candidate times, and the message attributes of candidate messages; inputs multiple pieces of input information into the correlation probability model to determine the corresponding multiple push active probabilities, where the correlation probability model is trained by a sample data set including the number of message pushes, time, and message attributes; and performs message push on the target user according to the target input information corresponding to the maximum target probability among the multiple push active probabilities. By adopting the above technical solution, input information is constructed according to multiple candidate times, multiple candidate times, and the message attributes of multiple candidate messages, the input information is input into the correlation probability model trained by the number of message pushes, time, and message attributes, the push active probability is obtained, and the target input information corresponding to the maximum value of the push active generalization is determined, and corresponding push is performed on the user according to the target input information. The data in the three dimensions of the number of message pushes, time, and message attributes are organically combined in the model structure and the underlying feature embedding of the model through the correlation probability model, realizing multi-dimensional joint optimization modeling. Performing corresponding message push according to the number of times, time, and message attributes determined by the correlation probability model can greatly improve user activity, not only ensuring the user experience and reducing the disturbance to the user, but also improving the message push effect.

[0096] Optionally, the input data of the correlation probability model may further include other relevant information of the message push, and the correlation probability model may further include a feature crossing module for implementing feature crossing. Thereby further improving the effect of message push.

[0097] Figure 5 The flow diagram of another message push method provided by some embodiments of the present disclosure is shown in Figure 5 As shown, in some embodiments of the present disclosure, the message push method further includes:

[0098] Step 501, obtain a sample data set.

[0099] Among them, the sample data set may be a data set for training the initial model. The label in the sample data set can be constructed based on the user's viewing or clicking on messages within multiple periodic time periods.

[0100] In some embodiments of the present disclosure, the sample data set includes no-push samples and push samples. The no-push samples can be sample data in scenarios where no message is pushed to the user. The push samples can be sample data in scenarios where a message is pushed to the user. In this embodiment, in order to support modeling the case where the number of message pushes is 0, a part of the no-push samples needs to be retained in the sample data set, and the no-push samples and the push samples are jointly used as the sample data set.

[0101] The no-push samples include active labels indicating whether the users without message push are active. The push samples include the sample input information of the users with message push and the corresponding view labels and click labels. The view label is used to indicate whether the user views within a preset time after the push, and the click label is used to indicate whether the user clicks in the case of viewing. The sample input information includes the sample time, the message attributes of the sample message, and the sample count.

[0102] Among them, the active label can be used to indicate whether the user without message push is in an active state or an inactive state. The sample input information can be the input information used as sample data, and this sample input information can be the input information marked with view labels and click labels. The sample time can be the time period used as the training sample. The sample message can be the push message used as the training sample. The sample count can be the count used as the training sample.

[0103] The view label can be denoted as label s , and the value of this view label can include a first view value and a second view value. The first view value can indicate that the user views the corresponding sample message within the preset time after the push, and this first view value can be 1; the second view value can indicate that the user does not view the corresponding sample message within the preset time after the push, and this second view value can be 0. This view label can be determined by pre-buried points. The preset time can be a preset time period, and the length of this preset time is not limited in this embodiment. The preset time can be used to determine whether there is an association between the user's viewing and the sample time. It can be understood that the push is performed within the sample time. If the user views within the preset time after the push, it indicates that the sample time has a high degree of fit with the user's free time, and there is an association between the user's viewing and the sample time. If the user views outside the preset time after the push, it indicates that the sample time does not fit the user's free time, and there is no association between the user's viewing and the sample time.

[0104] The click label can be denoted as label c, the value of the click tag may include a first click value and a second click value. The first click value may represent that the user clicks on the corresponding sample message after viewing the sample message, and the first click value may be 1; the second click value may represent that the user does not click on the corresponding sample message after viewing the sample message, and the second click value may be 0. It can be understood that when the viewing tag is the first viewing value and the click tag is the first click value, the user corresponding to the push sample is in an active state.

[0105] Optionally, if the input data includes push association information, the no-push sample includes the push association information of the users without message push and the active tag indicating whether they are active; the push sample includes the sample input information of the users with message push, the corresponding viewing tag, and click tag. The sample input information includes the sample time, the message attribute of the sample message, the number of sample times, and the push association information.

[0106] In the above solution, by including no-push samples and push samples in the sample data set, it creates a basis for the association probability model to have both the function of predicting the probability of non-push activity and the function of predicting the activity probability.

[0107] Step 502: Train the initial model based on the sample data set to obtain an association probability model.

[0108] Among them, the initial model can be the model before training.

[0109] In this embodiment, the message push device can train the initial model based on the sample data set, so that the processing model has the function of predicting the push activity probability by associating the number, time, and message of message pushes, and obtains an association probability model.

[0110] In some embodiments of the present disclosure, training the initial model based on the sample data set to obtain an association probability model includes: training the viewing sub-network in the initial model based on the no-push samples and the first data in the push samples in the sample data set to determine a viewing sub-model; training the click sub-network in the initial model based on the second data in the push samples in the sample data set to determine a click sub-model; combining the viewing sub-model and the click sub-model to determine the association probability model.

[0111] Among them, the viewing sub-network can be an unfinished sub-model in the initial model, and the trained viewing sub-network can be the viewing sub-model. The click sub-network can be another unfinished sub-model in the initial model, and the trained click sub-network can be the click sub-model. The first data can be part of the data in the push samples for training the viewing sub-network, and the second data can be part of the data in the push samples for training the click sub-network.

[0112] In some embodiments of the present disclosure, the first data does not include the click label in the push sample and the message attribute of the sample message in the sample input information, and the second data does not include the sample time in the sample input information in the push sample.

[0113] In this embodiment, the first data includes other data in the push sample except the click label and the message attribute of the sample message in the sample input information. That is, the first data includes the view label, sample time, and sample count in the push sample; or, when the input information includes push association information, the first data includes the view label, sample time, sample count, and push association information in the push sample.

[0114] The second data includes other data in the push sample except the sample time in the sample input information. That is, the second data includes the click label, view label, message attribute of the sample message, and sample count in the push sample; or, when the input information includes push association information, the second data includes the click label, view label, message attribute of the sample message, sample count, and push association information in the push sample.

[0115] In this embodiment, the message push device can set a default time for the non-push sample, use this default time as the sample time, train the view sub-network according to the default time and active label in the non-push sample, and train the view sub-network according to the sample time, sample count, and view label in the push sample to obtain a view sub-model. Or, if the input data includes push association information, the message push device can train the view sub-network according to the push association information, default time, and active label in the non-push sample. And train the view sub-network according to the push association information, sample time, sample count, and view label in the push sample. Then obtain a view sub-model.

[0116] In this embodiment, the message push device trains the click sub-network according to the message attribute, sample count, view label, and click label of the sample message in the push sample. Or, if the input data includes push association information, the message push device can train the click sub-network according to the message attribute, sample count, push association information, view label, and click label of the sample message in the push sample. After the training is completed, a click sub-model is obtained.

[0117] Moreover, a product processing connection is established between the view probability output by the view sub-model and the click probability output by the click sub-model, and the calculation result obtained through this product connection is the push click probability. A difference processing connection is established between the push click probability and the non-push active probability output by the view sub-model. The association probability model is determined based on the view sub-model, click sub-model, and the connection between them.

[0118] In the above solution, the viewing sub-network and the clicking sub-network are trained so that the trained viewing sub-network has the function of predicting the viewing probability and the non-pushed active probability, and the trained clicking sub-network has the function of predicting the clicking probability.

[0119] In some embodiments of the present disclosure, the loss function of the association probability model adopts a binary cross-entropy loss function. Among them, the loss function can be used to measure the difference between the prediction result and the true result of the model. The smaller the value of this loss function, the closer the prediction of the model is to the true result. The binary cross-entropy loss function can be used to measure the difference between the prediction result and the true result of the model for binary classification. In this embodiment, the loss function sampled during the training process of the initial model corresponding to the association probability model is the binary cross-entropy loss function.

[0120] Optionally, the loss function can be determined based on the non-pushed loss function, the viewing loss function, and the clicking loss function. Among them, the non-pushed loss function can be a loss function related to determining the non-pushed active probability, and the non-pushed loss function can be determined based on the active label and the predicted non-pushed active probability during the training process. The viewing loss function can be a loss function related to predicting the viewing probability, and the viewing loss function can be determined based on the viewing label and the predicted viewing probability during the training process. The clicking loss function can be a loss function related to predicting the clicking probability, and the clicking loss function can be determined based on the viewing label, the clicking label, and the predicted clicking probability during the training process.

[0121] Specifically, for non-pushed samples, the output of the viewing sub-network is the predicted non-pushed active probability during the training process. Accordingly, the non-pushed loss function is:

[0122] Loss s (a|0)=-label a *log(P′(active|send=0))-(1-label a )*log(1-P′(active|send=0));

[0123] In the formula, Loss s (a|0) represents the value of the non-pushed loss function, P a′ (active|send=0) represents the predicted non-pushed active probability during the training process, and label a represents the active label.

[0124] For pushed samples, the sample time in the pushed samples can be the time period in which the actual moment of pushing the corresponding sample message is located. The viewing sub-network outputs the predicted viewing probability during the training process corresponding to the sample message. Accordingly, the viewing loss function is:

[0125] Loss s (a|n, n > 0) = -label s * log(P′(show|time send , n)) - (1 - label s ) * log(1 - P′(show|time send , n))

[0126] In the formula, Loss s (a|n, n > 0) represents the viewing loss function value, label s represents the viewing label, and P′(show|time send , n) represents the predicted viewing probability during the training process.

[0127] The click probability predicted during the training process of the output of the sub - network is clicked. This click probability corresponds to whether the user clicks as characterized by the click label. Correspondingly, the click loss function is:

[0128] Loss c = label s * (- label c * log(P(click)) - (1 - label c ) * log(1 - P(click)));

[0129] In the formula, Loss c represents the click loss function value, label s represents the viewing label, label C represents the click label, and P(click) represents the predicted click probability during the training process.

[0130] It can be determined from the above - mentioned click loss function that for the push samples without clicks caused by the user's actual non - viewing behavior, the push samples based on the province do not actually indicate that the user is not interested in the corresponding sample messages. Therefore, the viewing label is used as a multiplier in this loss function.

[0131] The final loss function can be the sum of the above non - push loss function, viewing loss function, and click loss function. This loss function is:

[0132]

[0133] Among them, Loss sum represents the loss function value; when n = 0, Loss s (a|n) represents the non - push loss function value; when n > 0, Loss s(a|n) represents viewing the loss function value, Loss c It represents clicking on the loss function value. Subsequently, based on this loss function, the training parameters in the initial model structure are updated through a gradient optimization algorithm.

[0134] The message push method provided by the embodiments of the present disclosure designs and trains an associated probability model that jointly models the number of message pushes, the time, and the message content based on the principle of conditional probability for a sample data set, and combines the number of message pushes, the time, and the message content with each other in terms of the model results and underlying feature embeddings. Thus, it can determine a better message push selection by comprehensively considering the above three dimensions, improve the probability of converting users into an active state through message pushes, enhance the user experience, and increase the user activity.

[0135] Figure 6 It is a schematic structural diagram of a message push device provided by some embodiments of the present disclosure. This device can be implemented by software and / or hardware and is generally integrated in an electronic device. As Figure 6 shown, the message push device includes:

[0136] A first acquisition module 601, configured to acquire the push basic information of a target user, where the push basic information includes a plurality of candidate numbers of times, a plurality of candidate times, and the message attributes of a plurality of candidate messages;

[0137] A construction module 602, configured to construct input information based on the push basic information, where the input information includes the candidate number of times, the candidate time, and the message attributes of the candidate messages;

[0138] A determination module 603, configured to input a plurality of the input information into an associated probability model to determine a corresponding plurality of push active probabilities, where the associated probability model is trained through a sample data set including the number of message pushes, the time, and the message attributes;

[0139] A push module 604, configured to perform message push on the target user according to the target input information corresponding to the maximum target probability among the plurality of push active probabilities.

[0140] In some embodiments of the present disclosure, the associated probability model includes a viewing sub-model for determining the viewing probability and a clicking sub-model for determining the clicking probability.

[0141] In some embodiments of the present disclosure, the determination module 603 is configured to:

[0142] Input the candidate number of times and the candidate time in each of the input information into the viewing sub-model of the associated probability model, and output the viewing probability and the non-push active probability when the candidate message is sent according to the candidate number of times at the candidate time;

[0143] Input the message attributes of the candidate messages in each of the input information into the click sub-model of the correlation probability model, and output the click probability when the candidate message is viewed at the candidate time.

[0144] Determine the product of the viewing probability and the click probability corresponding to each input information as the corresponding push click probability, and determine the difference between the push click probability and the non-push active probability as the corresponding push active probability.

[0145] In some embodiments of the present disclosure, the viewing probability is determined according to the first probability of sending the candidate message according to the candidate times at the candidate time and the second probability of sending the candidate message according to the number of times of candidate minus 1 at the candidate time.

[0146] In some embodiments of the present disclosure, the push module 604 is configured to:

[0147] If the target probability is greater than the probability threshold, push the candidate message corresponding to the target input information of the target probability to the target user according to the candidate time and the candidate times.

[0148] In some embodiments of the present disclosure, the message push device further includes:

[0149] A second acquisition module, configured to acquire a sample data set;

[0150] A training module, configured to train an initial model based on the sample data set to obtain the correlation probability model.

[0151] In some embodiments of the present disclosure, the sample data set includes a non-push sample and a push sample;

[0152] The non-push sample includes an active label indicating whether the user without message push is active;

[0153] The push sample includes the sample input information of the user with message push and the corresponding viewing label and click label. The viewing label is used to indicate whether it is viewed within a preset time after the push, and the click label is used to indicate whether it is clicked in the case of viewing. The sample input information includes the sample time, the message attributes of the sample message, and the sample times.

[0154] In some embodiments of the present disclosure, the training module is configured to:

[0155] Train the viewing sub-network in the initial model based on the first data in the non-push sample and the push sample in the sample data set to determine the viewing sub-model;

[0156] Based on the second data in the push samples in the sample dataset, train the click sub-network in the initial model to determine the click sub-model;

[0157] Combine the viewing sub-model and the click sub-model to determine the association probability model.

[0158] In some embodiments of the present disclosure, the first data does not include the click label in the push samples and the message attributes of the sample message in the sample input information, and the second data does not include the sample time in the sample input information in the push samples.

[0159] In some embodiments of the present disclosure, the input information further includes push association information, and the push association information includes at least one of user information and environmental information.

[0160] In some embodiments of the present disclosure, the loss function of the association probability model uses a binary cross-entropy loss function.

[0161] The message push device provided by the embodiments of the present disclosure can execute the message push method provided by any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects for executing the method.

[0162] The embodiments of the present disclosure provide a computer program product, including computer programs / instructions, and when the computer programs / instructions are executed by a processor, the steps of the above message push method are implemented.

[0163] Figure 7 It is a schematic structural diagram of an electronic device provided for some embodiments of the present disclosure.

[0164] Specifically refer to Figure 7 , which shows a schematic structural diagram of an electronic device 700 suitable for implementing the embodiments of the present disclosure. The electronic device 700 in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), PMPs (Portable Multimedia Players), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 7 The electronic device shown is only an example, and should not bring any limitations to the functions and usage ranges of the embodiments of the present disclosure.

[0165] As Figure 7As shown, the electronic device 700 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 701, which may perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the electronic device 700 are also stored. The processing device 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0166] Generally, the following devices may be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 709. The communication device 709 may allow the electronic device 700 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 7 the electronic device 700 with various devices is shown, it should be understood that it is not required to implement or have all the shown devices. Instead, more or fewer devices may be implemented or had.

[0167] Specifically, according to an embodiment of the present disclosure, the process described above with reference to the flowchart may be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program codes for performing the method shown in the flowchart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication device 709, or installed from the storage device 708, or installed from the ROM 702. When the computer program is executed by the processing device 701, the above functions defined in the message pushing method of the embodiment of the present disclosure are executed.

[0168] It should be noted that the above-mentioned computer-readable medium in the present disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and this computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0169] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication in any form or medium (for example, a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet (for example, the Internet), and end-to-end networks (for example, ad hoc end-to-end networks), as well as any currently known or future-developed network.

[0170] The above-mentioned computer-readable medium can be included in the above-mentioned electronic device; it can also exist separately without being assembled into the electronic device.

[0171] The above computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: obtain the push basic information of the target user, where the push basic information includes a plurality of candidate times, a plurality of candidate time intervals, and the message attributes of a plurality of candidate messages; construct input information based on the push basic information, where the input information includes the candidate times, the candidate time intervals, and the message attributes of the candidate messages; input the plurality of input information into an association probability model to determine the corresponding plurality of push active probabilities, where the association probability model is trained by a sample data set including the number of message pushes, time, and message attributes; and perform message push on the target user according to the target input information corresponding to the maximum target probability among the plurality of push active probabilities.

[0172] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or combinations thereof. The programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0173] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that, in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system for performing the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.

[0174] The units involved in the embodiments of the present disclosure can be implemented in software or in hardware. In some cases, the name of a unit does not constitute a limitation on the unit itself.

[0175] The functions described above herein can be performed, at least in part, by one or more hardware logic components. By way of example, and without limitation, the types of hardware logic components that may be used include: Field Programmable Gate Arrays (FPGA), Application Specific Integrated Circuits (ASIC), Application Specific Standard Products (ASSP), System on a Chip (SOC), Complex Programmable Logic Devices (CPLD), and the like.

[0176] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0177] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the user should be informed of the type, scope of use, usage scenario, etc. of the information involved in the present disclosure and obtain the authorization of the user in an appropriate manner in accordance with relevant laws and regulations.

[0178] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles applied. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, the technical solutions formed by mutually replacing the above features with the technical features (but not limited to) having similar functions disclosed in the present disclosure.

[0179] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in a sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the foregoing description, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0180] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

Claims

1. A message push method, characterized in that: include: Obtaining basic push information of a target user, wherein the basic push information includes a plurality of candidate times, a plurality of candidate times, and a plurality of message attributes of candidate messages; Constructing input information based on the push basic information, wherein the input information includes the candidate number, the candidate time, and message attributes of the candidate message; Inputting a plurality of the input information into an associated probability model to determine a plurality of corresponding push activity probabilities, wherein the associated probability model is trained by a sample data set including the number of message pushes, time, and message attributes; Push a message to the target user according to the target input information corresponding to the largest target probability among the multiple push active probabilities; wherein the message push is to push the candidate message corresponding to the target input information to the target user according to the candidate time and candidate number.

2. The method according to claim 1, characterized in that The association probability model includes a view sub-model for determining a view probability and a click sub-model for determining a click probability.

3. The method according to claim 2, characterized in that Inputting the plurality of input information into the associated probability model to determine the corresponding plurality of push active probabilities includes: Input the candidate times and candidate times in each of the input information into the viewing submodel of the associated probability model, and output the viewing probability and the non-pushing active probability when the candidate message is sent according to the candidate times at the candidate time; Input the message attributes of the candidate messages in each of the input information into the click sub-model of the associated probability model, and output the click probability of the candidate message being viewed when sent at the candidate time; The product of the viewing probability and the click probability corresponding to each of the input information is determined as the corresponding push click probability, and the difference between the push click probability and the non-pushed active probability is determined as the corresponding push active probability.

4. The method according to claim 3, characterized in that The viewing probability is determined according to a first probability of sending the candidate message at the candidate time according to the candidate number of times and a second probability of sending the candidate message at the candidate time according to the number of times minus 1.

5. The method according to claim 1, characterized in that Pushing a message to the target user according to the target input information corresponding to the largest target probability among the multiple push activity probabilities includes: If the target probability is greater than the probability threshold, the candidate message corresponding to the target input information of the target probability is pushed to the target user according to the candidate time and the candidate number.

6. The method according to claim 1, characterized in that The method further comprises: Get a sample dataset; The initial model is trained based on the sample data set to obtain the association probability model.

7. The method according to claim 6, characterized in that The sample data set includes samples without push and samples with push; The no-push sample includes an active tag indicating whether the user who has no message push is active; The push sample includes sample input information of users who have message push and corresponding viewing tags and click tags. The viewing tag is used to indicate whether the message is viewed within a preset time after the push, and the click tag is used to indicate whether the message is clicked when viewed. The sample input information includes sample time, message attributes of the sample message, and sample times.

8. The method according to claim 7, characterized in that The initial model is trained based on the sample data set to obtain the association probability model, including: Based on the non-pushed samples in the sample data set and the first data in the pushed samples, the viewing sub-network in the initial model is trained to determine the viewing sub-model; Based on the second data in the pushed sample in the sample data set, the click sub-network in the initial model is trained to determine the click sub-model; The viewing sub-model and the clicking sub-model are combined to determine the association probability model.

9. The method according to claim 8, characterized in that The first data does not include the click tag in the pushed sample and the message attribute of the sample message in the sample input information, and the second data does not include the sample time in the sample input information in the pushed sample.

10. The method according to claim 1, characterized in that The input information further includes push-related information, and the push-related information includes at least one of user information and environment information.

11. The method according to claim 1, characterized in that The loss function of the association probability model adopts a binary cross entropy loss function.

12. A message push device, characterized in that: include: A first acquisition module is used to acquire basic push information of a target user, wherein the basic push information includes a plurality of candidate times, a plurality of candidate times, and a plurality of message attributes of candidate messages; A construction module, configured to construct input information based on the push basic information, wherein the input information includes the candidate number, the candidate time, and message attributes of the candidate message; A determination module, used for inputting a plurality of the input information into an associated probability model to determine a plurality of corresponding push activity probabilities, wherein the associated probability model is trained by a sample data set including the number of message pushes, time, and message attributes; A push module is used to push messages to the target user according to the target input information corresponding to the largest target probability among the multiple push active probabilities; wherein the message push is to push the candidate message corresponding to the target input information to the target user according to the candidate time and candidate number.

13. An electronic device, characterized in that: The electronic device comprises: processor; a memory for storing instructions executable by the processor; The processor is used to read the executable instructions from the memory and execute the instructions to implement the message pushing method described in any one of claims 1-11 above.

14. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and the computer program is used to execute the message pushing method described in any one of claims 1 to 11 above.

Citation Information

Patent Citations

  • Message pushing method and device, terminal and medium

    CN112202663A

  • Information pushing and displaying method and device, electronic equipment and storage medium

    CN114554271A