Message pushing method and device, equipment and medium
By building an association probability model, combining the number, time and message attributes of message push, and optimizing message push, the problem of difficulty in improving activity while ensuring user experience in the existing technology is solved, and more efficient user activity and experience improvement is achieved .
Patent Information
- Application Number
- CN202411388800.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2044-09-30
AI Technical Summary
In terms of message push, it is difficult for the existing technology to improve user activity on the basis of ensuring user experience, and unreasonable message push will cause users to feel disturbed and reduce user experience.
By obtaining the target user's push basic information, including the number of candidates, candidate time and message attributes of candidate messages, constructing input information, and inputting it into the association probability model, determining the push active probability, and message according to the input information corresponding to the maximum probability Pushing, organically combines the number, time and message attributes of message push to achieve multi-dimensional optimization.
It improves user activity, reduces disturbance to users, improves the effect of message push, and ensures user experience.
Smart Images

Figure CN119109978A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a message push method, device, equipment and medium. Background Art
[0002] Message push means that the server actively pushes messages to clients such as mobile phones and tablets through channels. 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 it to open the application. Message push can improve the user activity of the application. However, unreasonable message push will make users feel disturbed and reduce the user experience. In related technologies, optimization can be performed from the single dimension of the number of message pushes, time or specific messages, but the effect is limited and it is difficult to improve activity while ensuring user experience. Summary of the invention
[0003] In order to solve the above technical problems, the present disclosure provides a message push method, device, equipment and medium.
[0004] The present disclosure provides a message push method, the method comprising:
[0005] 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;
[0006] 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;
[0007] 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;
[0008] Push a message to the target user according to the target input information corresponding to the largest target probability among the multiple push activity probabilities.
[0009] The present disclosure also provides a message push device, the device comprising:
[0010] 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;
[0011] 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;
[0012] 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;
[0013] The 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.
[0014] An embodiment of the present disclosure also provides an electronic device, which includes: a processor; a memory for storing executable instructions of the processor; the processor is used 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] The embodiment of the present disclosure further provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program is used to execute the message pushing method provided by the embodiment of the present disclosure.
[0016] The technical solution provided by the embodiments of the present disclosure has the following advantages over the prior art: the message push solution provided by the embodiments of the present disclosure obtains basic push information of the target user, wherein the basic push information includes multiple candidate times, multiple candidate times, and message attributes of multiple candidate messages; constructs input information based on the basic push information, wherein the input information includes the candidate times, candidate times, and message attributes of the candidate messages; inputs the multiple input information into an associated probability model to determine the corresponding multiple push active probabilities, wherein the associated probability model is trained with a sample data set including the number of message pushes, time, and message attributes; pushes messages to the target user according to the target input information corresponding to the largest target probability among the multiple push active probabilities. By adopting the above technical scheme, 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 the association probability model obtained by training the number of message pushes, time, and message attributes to obtain the push active probability, and determine the target input information corresponding to the maximum value of the push active summary. According to the target input information, the user is pushed accordingly. The data of 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 association probability model, realizing multi-dimensional joint optimization modeling. Pushing corresponding messages according to the number, time, and message attributes determined by the association probability model can greatly improve user activity, which can not only ensure user experience and reduce disturbance to users, but also improve the message push effect. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.
[0018] Figure 1 A flowchart of a message push method provided in some embodiments of the present disclosure;
[0019] Figure 2 A schematic diagram of time nodes for message push provided in some embodiments of the present disclosure;
[0020] Figure 3 A flowchart of another message push method provided in some embodiments of the present disclosure;
[0021] Figure 4 A schematic diagram of the structure of an association probability model provided for some embodiments of the present disclosure;
[0022] Figure 5 A flowchart of another message push method provided in some embodiments of the present disclosure;
[0023] Figure 6 A schematic diagram of the structure of a message push device provided in some embodiments of the present disclosure;
[0024] Figure 7 A schematic diagram of the structure of an electronic device provided for some embodiments of the present disclosure. DETAILED DESCRIPTION
[0025] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0026] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders 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 respect.
[0027] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part 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". The relevant definitions of other terms will be given in the following description.
[0028] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0029] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated 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 the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0031] In the application, the message push service is an important core function. Message push means that the server actively pushes messages to the client through the 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 it to open the application. Compared with the user initiating a request to start the application and swipe the information flow content, the active party of message push is on the server side. The number, time, and message of message push every day can all be determined by the server. Message push plays an important role in awakening silent users, improving 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 push messages and increase user activity while disturbing users as little as possible.
[0033] In the related art, for the number of times information is pushed, the user's activity is counted based on rules, the number of times is quantitatively determined according to the activity, and then a probability model or a regression model is used to adjust the number. 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. The classification model or the scoring model is used to determine whether the user clicks on the information. After determining the number of pushes, the first push time period is selected in order from high to low according to the probability or scoring score of different time periods. For the message content of the message push, a method similar to that of information flow recommendation is adopted. The information content is sorted in real time through click-through rate (CTR) modeling, and the push content is selected according to the sorting results.
[0034] In this method of modeling each influencing factor separately, the optimal push time periods corresponding to the number of pushes from the least to the most are not necessarily included in sequence, so it is impossible to jointly plan the number of pushes and the timing of pushes to improve user activity. Moreover, the same user may not have the same interest in the same content in different push time periods. In addition, in the case of multiple pushes, the order of the push of information and the mutual influence between messages are not considered.
[0035] The above-mentioned related technologies can be optimized 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.
[0036] In order to solve the above problems, the embodiments of the present disclosure provide a message push method, which is introduced below in conjunction with specific embodiments.
[0037] Figure 1 The flowchart of the message push method provided by some embodiments of the present disclosure is as follows. The method can be executed by a message push device or a server of an application recommendation system. The embodiments of the present disclosure do not limit the type of application. For example, the application can be a personalized information application such as a short video application or a video editing application. The information push device can be implemented by software and / or hardware and can generally be integrated in an electronic device. Figure 1 As shown, the method includes:
[0038] Step 101: Obtain 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.
[0039] The target user may be a user to whom a message is to be pushed, and the target user may be a user corresponding to the current account logged into the application. The basic push information may be a factor affecting the message push, and the basic push information may be basic information related to implementing the message push.
[0040] The candidate number of times may be the number of times a message is pushed to a target user within a periodic time period (e.g., one day). The message push may be performed periodically, and the periodic time period may be the period length of the message push. This embodiment does not limit the value range of the candidate number of times. For example, the candidate number of times may be a non-negative integer not greater than N, where N is a preset maximum number of pushes.
[0041] The candidate time may be the time period in which the message sending time (Send Time) is located. This embodiment does not limit the length of the candidate time. For example, the candidate time may be 15 minutes. The message sending time may be the time point when the server pushes the message. The message sending time may be approximately considered to be the same as the message receiving time. Figure 2 A schematic diagram of the time nodes for message push provided in some embodiments of the present disclosure, such as Figure 2 As shown in the figure, a message push is initiated by the server and delivered to the client and clicked by the user, which mainly includes four time nodes. Specifically, the server pushes the message to the client at the message sending time, the message arrives at the client at the message receiving (Receive) time, the user views the message received by the client at the message viewing (Show) time, and the user clicks the message at the message clicking (Click) time. If unexpected factors such as network failures are not considered, the time difference between the message sending time and the message receiving time is usually within 1 second, so it can be approximately considered that time send =time receive ; Among them, time send The time when the message is sent, time receive The time when the message is received.
[0042] The candidate message may be a message to be pushed. After the client receives the candidate message, the information content corresponding to the candidate message may be displayed on the notification bar. This embodiment does not limit the candidate message. For example, the candidate message may include one or more of activity information, hot information information, and schedule reminder information. The message attribute may be a message side feature. The message attribute may characterize the characteristics 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, the message type, and the message creation time. The message presentation form includes one or more of a mixed text and image, text, and an image. Message types include entertainment and / or news.
[0043] In an embodiment of the present disclosure, when planning message push for a target user, the message push device can obtain basic push information corresponding to the target user, and the message attributes of multiple candidate times, multiple candidate times, and multiple candidate messages in the basic push information can be pre-set.
[0044] Alternatively, the message attributes of the candidate message may be pre-set, and the message push device may directly obtain the message attributes of the candidate message. For multiple candidate times, the message push device may obtain the maximum push number N, and traverse integers from 0 to N to obtain multiple candidate times. For multiple candidate times, the message push device may divide the time period suitable for message push in the periodic time period according to the pre-set time length to obtain multiple candidate times, and the i-th candidate time among the multiple candidate times may be represented as T i For example, the message push device may divide the time period from 7:00 to 21:00 in a day into 15-minute intervals to obtain a plurality of candidate times.
[0045] Step 102: construct input information based on the push basic information, wherein the input information includes candidate times, candidate times, and message attributes of candidate messages.
[0046] The input information may be data input into the association probability model. One piece of input information may be a data group based on which the association probability model performs a push activity probability prediction.
[0047] In this embodiment, the information push device can combine and process multiple candidate times, multiple candidate times, and multiple candidate message attributes to obtain multiple combination results. Each combination result includes a candidate number, a candidate time, and a message attribute of a candidate message, that is, one input information can include a candidate number, a candidate time, and a message attribute of a candidate message. The message push device uses each combination result as input information.
[0048] In some embodiments of the present disclosure, the input information also includes push-related information, and the push-related information includes at least one of user information and environment information.
[0049] Among them, the push-related information may be information related to the client and the message push. The user information may be user (User) side information, which may be used to characterize the user, and this embodiment does not limit the user information. The acquisition of the user information is performed after obtaining the authorization of the target user. The environmental information may be a context (Context) side feature, and the context information may include the software environment and / or hardware environment of the device used by the user, and this embodiment does not limit the context information. For example, the context information may include one or more of the device system, the device central processing unit (Central Processing Unit, CPU) model, the version of the application, and the network connection type. Among them, the network connection type may include a traffic connection and a mobile hotspot (Wi-Fi) connection.
[0050] In this embodiment, the information push device can combine and process multiple candidate times, multiple candidate times, and multiple candidate message attributes to obtain multiple combination results, each of which includes a candidate time, a candidate time, and a candidate message attribute. For each combination result, the message push device constructs input information according to the combination and pushes related information to obtain multiple input information corresponding to the multiple combination results.
[0051] Step 103: Input multiple input information into an associated probability model to determine corresponding multiple 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.
[0052] Among them, the association probability model can be a model that can associate the number of message pushes, time, and message attributes in the model structure and the underlying feature embedding of the model. The push activity 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 within the periodic time period, and the active state can represent that the target user has started or used the application within the periodic time period. The push activity probability can represent the actual effect of a message push. The sample data set can be a data set used to adjust the model parameters to obtain the association probability model.
[0053] In the embodiment of the present disclosure, the message push device can input multiple input information into the associated probability model respectively, and the associated probability model processes the input information to obtain the push activity probability corresponding to each input information.
[0054] In some embodiments of the present disclosure, the association probability model includes a viewing sub-model for determining the viewing probability and a click sub-model for determining the click probability.
[0055] The viewing probability can be the probability that the candidate message sent within the candidate time is viewed by the target user when there is a message push, and the candidate message is the nth message push to the target user within the periodic time period, and n is the number of candidates. It can be understood that the value of the viewing probability is related to whether the candidate time matches the free time of the target user. The viewing probability can be expressed as P(show|time send , n). The viewing sub-model can be a sub-model in the association probability model for predicting the viewing probability and the non-pushing active probability. The viewing sub-model realizes the association between the number and time in the message push.
[0056] The click probability can be understood as the probability that the target user clicks on the candidate message when the candidate message has been viewed by the target user. The click probability can be expressed as P(click|message show, n). It can be understood that the 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 target user having viewed the candidate message, the viewing of the candidate message involves the number and time of message push, and the click sub-model essentially realizes the association between time, number and message attributes in message push.
[0057] It can be understood that, when the input information also includes push-related information, the viewing sub-model can be used to associate the time of message push and the push-related information in the model structure and the underlying feature embedding of the model based on the number of times the message is pushed. The clicking sub-model can be a model that associates the push-related information with the attribute information in the model structure and the underlying feature embedding of the model based on the number of times the message is pushed, on the basis that the target user has viewed the candidate message.
[0058] Figure 3 A flowchart of another message push method provided in some embodiments of the present disclosure is shown as follows: Figure 3 As shown, in some embodiments of the present disclosure, multiple input information is input into the associated probability model to determine the corresponding multiple push activity probabilities, including:
[0059] Step 301: Input the candidate times and candidate times in each input information into the viewing sub-model 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.
[0060] The non-pushed active probability can be the probability that a candidate message is viewed by the target user when there is no message push, that is, the viewing probability without push. The non-pushed active probability can also be understood as the probability that the target user changes from an inactive state to an active state when no message push is performed on the target user.
[0061] In this embodiment, the message push device can input the candidate number and candidate time into the viewing sub-model of the associated probability model. The viewing sub-model processes the candidate number and candidate time, and outputs the viewing probability and the active probability of not pushing the candidate message when sending the candidate number at the candidate time.
[0062] In this embodiment, if the input information also includes push-related information, the message push device can input the candidate number, candidate time, and push-related information into the viewing sub-model of the associated probability model. The viewing sub-model processes the candidate number, candidate time, and push-related information, and outputs the viewing probability when sending the candidate message according to the candidate number at the candidate time and the active probability of not pushing.
[0063] Figure 4 A schematic diagram of the structure of the association probability model provided for some embodiments of the present disclosure is shown in FIG. Figure 4 As shown, the candidate times are integers 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, and the viewing sub-model calculates the candidate time, user information, and environmental information to obtain the probability of not pushing active messages when the candidate times are 0, and the viewing probabilities corresponding to the candidate times from 1 to N.
[0064] In some embodiments of the present disclosure, 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 candidate number of times minus 1.
[0065] Among them, the first probability can be the probability of pushing the candidate message within the candidate time and being viewed by the target user. Sending the candidate message according to the candidate number can be that the candidate message is pushed as the nth message to the target user within the periodic time period. The second probability can be the probability of pushing the candidate message within the candidate time and not being viewed by the target user. Sending the candidate message according to the candidate number minus 1 can be that the candidate message is pushed as the n-1th message to the target user within the periodic time period, where n is the candidate number. Correspondingly, taking the periodic time period as one day as an example, the viewing probability can be understood as the probability of the following events: the n-1th candidate message of the day is pushed within the candidate time, and is not viewed by the target user, and the current nth candidate message is pushed within the candidate time and is viewed by the target user.
[0066] In this embodiment, the message pushing 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 also includes push-related information, the message push device can input the candidate time and push-related information into the viewing sub-model, and calculate the corresponding first probability through the viewing sub-model. Taking the candidate number as n as an example, since the premise of sending the nth candidate message is that the n-1th candidate message has not been clicked, the viewing probability can be:
[0068] P(show|time send, n) = (1-P(show|time send ,n-1))*P(show|time send =T i );
[0069] Where, 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, 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 associated probability model, and output the click probability of the candidate message being viewed when sent 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. The click sub-model processes the message attributes to obtain the click probability of the user clicking the candidate message corresponding to each candidate number when the candidate message has been viewed by the user.
[0074] like Figure 4 As shown, if the input information also includes push-related information, the message push device can input the message attributes and push-related information of the candidate message into the click sub-model. The click sub-model processes the message attributes and push-related information to obtain the click probability of the user clicking on the candidate message corresponding to each candidate number when the candidate message has been viewed by the user.
[0075] Step 303: The product of the viewing probability and the click probability corresponding to each 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.
[0076] The push click probability can be the probability that the target user clicks on the candidate message when the candidate message is pushed within the candidate time. In the case of message push (i.e., the candidate number is greater than 0), the probability that the target user is active is consistent with the push click probability target, 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, 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 it, whether the user views the message depends mainly on whether the user has free time to trigger the client to display the message. The user needs to view the message before clicking it. The message click occurs when the user has already viewed the message. Whether the user clicks the message depends on whether the message meets the user's browsing needs. Figure 4 As shown, the message push device can multiply the viewing probability and click probability of the corresponding candidate times to obtain the target click probability corresponding to the candidate times, that is, predict the probability of the target user being active. Specifically, the push click probability is:
[0080] P(click|message,time send )=P(show|time send ,n)*P(click|message show,n);
[0081] Where, 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 push to users is to arouse users to open applications to access content. That is, with days as the periodic time period, users are converted from inactive status to active status, so the users targeted by message push should be users who are not currently inactive. The fewer the number of message pushes and the higher the proportion of users converted to active status, the better the message push effect. If messages are pushed to users who have not been pushed and are already in active status, not only the resources consumed by message push are wasted, but also unnecessary interference is caused to the user. Therefore, after the nth message push to the user within the periodic time period, the difference between the corresponding push click probability and the non-pushed active probability is determined to obtain the push active probability. The larger the push active probability, the better the effect of this message push, and the user is the user who needs message push, that is:
[0083] Pactive=P(click|message time send )-P(active|send=0);
[0084] Where P active represents the push activity probability, P(click|message, time send ) represents the push click probability, and P(active|send=0) represents the non-pushed active probability.
[0085] In the above scheme, the viewing probability and the non-pushed active probability are predicted by the viewing sub-model; the click probability is predicted by the click sub-model; and then the viewing probability and the click probability are multiplied to obtain the push click probability, and the push click probability and the non-pushed active probability are subtracted to obtain the push active probability. The push active probability represents the possibility that the user status of the target user will change due to the push of the candidate message. Subsequent message push based on the push active probability can more efficiently convert the target user from an inactive state to an active state, thereby improving the targetedness and push effect of the message push.
[0086] Step 104: Push a message to a target user according to the target input information corresponding to the largest target probability among multiple push active probabilities.
[0087] The target probability may be a maximum value among multiple push active probabilities. The target input information may be input information corresponding to the target probability.
[0088] In the disclosed embodiment, 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 times, and candidate messages in the target input information.
[0089] In some embodiments of the present disclosure, messages are pushed to a target user according to target input information corresponding to the largest target probability among multiple push activity probabilities, including: if the target probability is greater than a 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 candidate number.
[0090] The probability threshold may be a preset threshold for determining whether the target probability meets the standard, and this embodiment does not limit the probability threshold. For example, the probability threshold may be 0.
[0091] In this embodiment, taking the probability threshold as 0 as an example, if the target probability is greater than 0, it means that this message push will increase the probability of the user changing from an inactive state to an active state relative to not pushing messages. Therefore, the candidate message corresponding to the target input information is determined as the target information, the candidate number is determined as the target number, and the candidate time is determined as the target time. According to the target information, the target number, and the target time, the message push is planned for the target user, and the target information is pushed to the target user as the message pushed for the target number of times within the target time.
[0092] If the target probability is not greater than 0, it means that the message push here will not promote the user's conversion from an inactive state to an active state compared to not pushing messages, so no message push is performed on the target user in the current cycle time period.
[0093] For example, if the probability threshold is 0, for user A, the predicted candidate time of 9:00 is 0.6, the click probability is 0.7, and the probability of not pushing 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. This push active probability is less than the probability threshold, and the message is not pushed with the input information. For user A, the predicted candidate time of 10:00 is 0.7, the click probability is 0.8, and the probability of not pushing 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. These push active probabilities are all less than the probability threshold, and the message is not pushed with the input information.
[0094] For user B, the predicted candidate time of 12:50 is 0.5, the click probability is 0.6, and the probability of not pushing is 0.12. The push click probability is 0.5*0.6=0.3, and the push active probability is 0.3-0.12=0.18. The predicted candidate time of 16:00 is 0.6, the click probability is 0.9, and the probability of not pushing is 0.12. 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 the two sets of input information are both 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. The input information corresponding to 16:00 is determined as the target input information, and a message is pushed to user B based on the target input information.
[0095] The message push solution provided by the embodiment of the present disclosure obtains basic push information of the target user, wherein the basic push information includes multiple candidate times, multiple candidate times, and message attributes of multiple candidate messages; constructs input information based on the basic push information, wherein the input information includes the candidate times, candidate times, and message attributes of the candidate messages; inputs the multiple input information into an associated probability model to determine the corresponding multiple push active probabilities, wherein the associated probability model is trained by a sample data set including the number of message pushes, time, and message attributes; and pushes messages to the target user according to the target input information corresponding to the largest target probability among the multiple push active probabilities. By adopting the above technical scheme, input information is constructed according to multiple candidate times, multiple candidate times, and message attributes of multiple candidate messages, and the input information is input into the association probability model obtained by training the number of message pushes, time, and message attributes to obtain the push active probability, and determine the target input information corresponding to the maximum value of the push active summary. According to the target input information, corresponding push is performed to the user, and the data of 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 association probability model, realizing multi-dimensional joint optimization modeling. Pushing corresponding messages according to the number, time, and message attributes determined by the association probability model can greatly improve user activity, which can not only ensure user experience and reduce disturbance to users, but also improve the message push effect.
[0096] Optionally, the association probability model input data may also include other relevant information of the message push, and the association probability model may also include a feature crossover module for implementing feature crossover, thereby further improving the effect of the message push.
[0097] Figure 5 A flowchart of another message push method provided in some embodiments of the present disclosure is shown as follows: 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] The sample data set may be a data set for training the initial model. Labels in the sample data set may be constructed based on the viewing or clicking of messages by users in multiple periodic time periods.
[0100] In some embodiments of the present disclosure, the sample data set includes samples without push and samples with push. The samples without push may be sample data in a scenario where no message is pushed to the user. The samples with push may be sample data in a scenario where message is pushed to the user. In this embodiment, in order to support modeling of the case where the number of message pushes is 0, it is necessary to retain a portion of samples without push in the sample data set, and combine the samples without push and the samples with push as the sample data set.
[0101] The samples without push notifications include active tags that indicate whether users without message push notifications are active. The samples with push notifications include sample input information of users with message push notifications and corresponding view tags and click tags. The view tag is used to indicate whether the user has viewed the message within the preset time after the push notification. The click tag is used to indicate whether the user has clicked the message after viewing the message. The sample input information includes the sample time, the message attributes of the sample message, and the number of sample times.
[0102] The active tag may be used to characterize a user without message push as being in an active state or an inactive state. The sample input information may be input information used as sample data, and the sample input information may be input information marked with a view tag and a click tag. The sample time may be a time period used as a training sample. The sample message may be a push message used as a training sample. The sample number may be the number of times used as a training sample.
[0103] View labels can be represented as label s , the value of the viewing tag may include a first viewing value and a second viewing value. The first viewing value may indicate that the user has viewed the corresponding sample message within the preset time after the push, and the first viewing value may be 1; the second viewing value may indicate that the user has not viewed the corresponding sample message within the preset time after the push, and the second viewing value may be 0. The viewing tag may be determined by pre-embedding. The preset time may be a preset time period, and the present embodiment does not limit the length of the preset time. The preset time may be used to determine whether the user's viewing is associated with the sample time. It can be understood that the push is performed within the sample time. If the user views it within the preset time after the push, it means that the sample time is highly consistent with the user's free time, and the user's viewing is associated with the sample time. If the user views it outside the preset time after the push, it means that the sample time does not match the user's free time, and the user's viewing is not associated with the sample time.
[0104] Clicking a label can be represented 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 indicate that the user clicks the sample message after viewing the corresponding sample message, and the first click value may be 1; the second click value may indicate that the user does not click the sample message after viewing the corresponding sample message, and the second click value may be 0. It can be understood that when the view tag has the first view value and the click tag has the first click value, the user corresponding to the pushed sample is in an active state.
[0105] Optionally, if the input data includes push-related information, the sample without push includes the push-related information of users without message push and the active label indicating whether they are active; the sample with push includes the sample input information of users with message push and the corresponding view label and click label. The sample input information includes the sample time, the message attributes of the sample message, the sample number of times and push-related information.
[0106] In the above scheme, by including samples without push and samples with push in the sample data set, a foundation is created for the associated probability model to have both the function of predicting the active probability without push and the function of predicting the active probability.
[0107] Step 502: Train the initial model based on the sample data set to obtain an association probability model.
[0108] The initial model may be a 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 associated probability model.
[0110] In some embodiments of the present disclosure, an initial model is trained based on a sample data set to obtain an associated probability model, including: training a viewing sub-network in the initial model based on a sample without push in the sample data set and a first data in a sample with push to determine a viewing sub-model; training a click sub-network in the initial model based on a second data in a sample with push in the sample data set to determine a click sub-model; and combining the viewing sub-model and the click sub-model to determine an associated probability model.
[0111] The viewing sub-network may be a sub-model in the initial model that has not been trained, and the viewing sub-network that has completed training may be the viewing sub-model. The clicking sub-network may be another sub-model in the initial model that has not been trained, and the clicking sub-network that has completed training may be the clicking sub-model. The first data may be part of the data used to train the viewing sub-network in the pushed sample, and the second data may be part of the data used to train the click sub-network in the pushed sample.
[0112] In some embodiments of the present disclosure, the first data does not include the message attributes of the click tag in the pushed sample and 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.
[0113] In this embodiment, the first data includes other data in the pushed sample except the click tag and the message attributes of the sample message in the sample input information. That is, the first data includes the view tag, sample time, and sample number in the pushed sample; or, when the input information includes push-related information, the first data includes the view tag, sample time, sample number, and push-related information in the pushed 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 tag, view tag, message attribute of the sample message, and sample times in the push sample; or, when the input information includes push-related information, the second data includes the click tag, view tag, message attribute of the sample message, sample times, and push-related information in the push sample.
[0115] In this embodiment, the message push device can set a default time for the non-push sample, and use the default time as the sample time, train the viewing sub-network according to the default time and active tags in the non-push sample, and train the viewing sub-network according to the sample time, sample times, and viewing tags in the push sample to obtain the viewing sub-model. Alternatively, if the input data includes push-related information, the message push device can train the viewing sub-network according to the push-related information, default time, and active tags in the non-push sample. And, train the viewing sub-network according to the push-related information, sample time, sample times, and viewing tags in the push sample. Then, the viewing sub-model is obtained.
[0116] In this embodiment, the message push device trains the click sub-network according to the message attributes, sample times, viewing tags, and click tags of the sample messages in the push samples. Alternatively, if the input data includes push-related information, the message push device can train the click sub-network according to the message attributes, sample times, push-related information, viewing tags, and click tags of the sample messages in the push samples. After the training is completed, the click sub-model is obtained.
[0117] In addition, a product processing connection is established between the viewing probability output by the viewing sub-model and the click probability output by the click sub-model, and the calculation result obtained by the product connection is the push click probability. A difference processing connection is established between the push click probability and the non-pushed active probability output by the viewing sub-model. Based on the viewing sub-model, the click sub-model and the connection between them, it is determined to be an associated probability model.
[0118] In the above scheme, the viewing sub-network and the click 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 click sub-network has the function of predicting the click 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 predicted result of the model and the actual result. The smaller the value of the loss function, the closer the prediction of the model is to the actual result. The binary cross entropy loss function can be used to measure the difference between the predicted result of the model used for binary classification and the actual result. In this embodiment, the loss function of the sampling during the training process of the initial model corresponding to the association probability model is a binary cross entropy loss function.
[0120] Optionally, the loss function can be determined based on a non-pushed loss function, a viewing loss function, and a click 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 non-pushed active probability predicted during the training process. The viewing loss function can be a loss function related to the predicted viewing probability, and the viewing loss function can be determined based on the viewing label and the viewing probability predicted during the training process. The click loss function can be a loss function related to the predicted click probability, and the click loss function can be determined based on the viewing label, the clicking label, and the click probability predicted during the training process.
[0121] Specifically, for the no-push sample, the output of the viewing subnetwork is the predicted no-push active probability during the training process. Correspondingly, the no-push 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) indicates that the loss function value is not pushed, P a′ (active|send=0) indicates the predicted probability of not pushing active data during training. a Indicates active tags.
[0124] For samples with push, the sample time in the push sample can be the time period of the actual moment of pushing the corresponding sample message. The viewing subnetwork outputs the predicted viewing probability corresponding to the sample message during the training process. Correspondingly, 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) means to check the loss function value, label s indicates viewing label, P′(show|time send , n) represents the predicted viewing probability during training.
[0127] The click probability predicted during the training process output by the click subnetwork corresponds to whether the user clicks 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 Indicates the click loss function value, label s Indicates viewing label, label C represents the click label, and P(click) represents the predicted click probability during training.
[0130] It can be determined from the above click loss function that for the pushed samples that were not clicked due to the user's actual non-viewing behavior, the pushed samples based on the province cannot actually indicate that the user is not interested in the corresponding sample messages, so the viewing label is used as a multiplier in the loss function.
[0131] The final loss function can be the sum of the above-mentioned non-pushing loss function, viewing loss function, and clicking loss function. The loss function is:
[0132]
[0133] Among them, Loss sum Represents the loss function value; when n=0, Loss s (a|n) indicates that the loss function value is not pushed; when n>0, Loss s(a|n) means to check the loss function value, Loss c Represents the value of the click loss function. Subsequently, the training parameters in the initial model structure are updated based on the loss function through the gradient optimization algorithm.
[0134] The message push method provided in the embodiment of the present disclosure is based on a sample data set and, according to the principle of conditional probability, designs and trains an association probability model that jointly models the number of message pushes, time, and message content. The number of message pushes, time, and message content are combined with each other in the model results and the underlying feature embedding, so that a better message push selection can be determined by comprehensively considering the above three dimensions, thereby increasing the probability of converting users to an active state through message push, and also improving user experience and user activity.
[0135] Figure 6 This is a schematic diagram of the structure of a message push device provided in some embodiments of the present disclosure. The device can be implemented by software and / or hardware and can generally be integrated in an electronic device. Figure 6 As shown, the message push device includes:
[0136] The first acquisition module 601 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;
[0137] A construction module 602 is used to construct input information based on the push basic information, wherein the input information includes the candidate number, the candidate time, and the message attribute of the candidate message;
[0138] A determination module 603 is used to input the plurality of 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;
[0139] The push module 604 is used to 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.
[0140] In some embodiments of the present disclosure, the association probability model includes a viewing sub-model for determining the viewing probability and a click sub-model for determining the click probability.
[0141] In some embodiments of the present disclosure, the determination module 603 is used to:
[0142] Input the candidate times and candidate times in each of the input information into the viewing sub-model 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;
[0143] 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;
[0144] 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.
[0145] In some embodiments of the present disclosure, 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 candidate number of times minus 1.
[0146] In some embodiments of the present disclosure, the push module 604 is used to:
[0147] 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.
[0148] In some embodiments of the present disclosure, the message push device further includes:
[0149] A second acquisition module is used to acquire a sample data set;
[0150] The training module is used to train the initial model based on the sample data set to obtain the association probability model.
[0151] In some embodiments of the present disclosure, the sample data set includes samples without push and samples with push;
[0152] The no-push sample includes an active tag indicating whether the user who has no message push is active;
[0153] 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.
[0154] In some embodiments of the present disclosure, the training module is used to:
[0155] 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;
[0156] 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;
[0157] The viewing sub-model and the clicking sub-model are combined to determine the association probability model.
[0158] In some embodiments of the present disclosure, the first data does not include the click tag in the pushed sample 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 pushed sample.
[0159] In some embodiments of the present disclosure, the input information also includes push-related information, and the push-related information includes at least one of user information and environment information.
[0160] In some embodiments of the present disclosure, the loss function of the association probability model adopts a binary cross entropy loss function.
[0161] The message push device provided in the embodiments of the present disclosure can execute the message push method provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.
[0162] An embodiment of the present disclosure provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned message pushing method when executed by a processor.
[0163] Figure 7 A schematic diagram of the structure of an electronic device provided for some embodiments of the present disclosure.
[0164] The following specific reference Figure 7 , which shows a schematic diagram of the structure of an electronic device 700 suitable for implementing the embodiment of the present disclosure. The electronic device 700 in the embodiment of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted 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 limitation to the functions and scope of use of the embodiments of the present disclosure.
[0165] like Figure 7As shown, the electronic device 700 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can 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 via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0166] Typically, the following devices may be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touch pad, 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 by wire to exchange data. Although Figure 7 The electronic device 700 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0167] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can 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 a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the 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-mentioned functions defined in the message push method of the embodiment of the present disclosure are executed.
[0168] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may 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, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable 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 may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0170] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0171] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: obtains the basic push information of the target user, wherein the basic push information includes multiple candidate times, multiple candidate times and message attributes of multiple candidate messages; constructs input information based on the basic push information, wherein the input information includes the candidate times, candidate times and message attributes of the candidate messages; inputs the multiple input information into the associated probability model to determine the corresponding multiple push active probabilities, wherein the associated probability model is obtained by training a sample data set including the number of message pushes, time and message attributes; and pushes messages to the target user according to the target input information corresponding to the largest target probability among the multiple 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 a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving 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 flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0174] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, limit the unit itself.
[0175] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0176] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. 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, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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 foregoing.
[0177] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the information involved in the present disclosure should be informed to the user and the user's authorization should be obtained 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 used. 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 a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0179] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0180] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions 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 activity probabilities.
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 sub-model 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; The 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.
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
Information pushing method and device, and electronic equipment
CN112187945A
Message pushing method and device, terminal and medium
CN112202663A
Information pushing method and device and storage medium
CN113780328A
Information pushing method and device based on machine learning model, information pushing equipment and medium
CN113918810A
Information pushing and displaying method and device, electronic equipment and storage medium
CN114554271A
