Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that, in the present disclosure, the embodiments and features of the embodiments may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 shows an exemplary architecture 100 to which embodiments of the method for pushing information or the apparatus for pushing information of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The terminal devices 101, 102, 103 interact with a server 105 via a network 104 to receive or send messages or the like. Various client applications may be installed on the terminal devices 101, 102, 103. Such as browser-type applications, search-type applications, instant messaging tools, reading-type applications, information sharing-type applications, and the like.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices with display screens, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented as multiple pieces of software or software modules (e.g., multiple pieces of software or software modules to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 105 may be a server providing various services, for example, a backend server providing support for some applications (such as information sharing applications) installed on the terminal devices 101, 102, 103. The server 105 may predict operation information of the user on each candidate push information based on the position of the user corresponding to the terminal device 101, 102, 103 and the candidate push information set. Further, candidate push information may be selected from the candidate push information set according to the corresponding operation information, and the selected candidate push information may be pushed to the terminal device 101, 102, 103.
It should be noted that the method for pushing information provided by the embodiment of the present disclosure is generally performed by the server 105, and accordingly, the apparatus for pushing information is generally disposed in the server 105.
It should be noted that the terminal devices 101, 102, and 103 may also have information processing applications installed therein, and the terminal devices 101, 102, and 103 may also process the candidate push information in the candidate push information set based on the information processing applications. At this time, the method for pushing information may also be executed by the terminal devices 101, 102, 103, and accordingly, the means for pushing information may also be provided in the terminal devices 101, 102, 103. At this point, the exemplary system architecture 100 may not have the server 105 and the network 104.
The server 105 may be hardware or software. When the server 105 is hardware, it may be implemented as a distributed server cluster composed of a plurality of servers, or may be implemented as a single server. When the server 105 is software, it may be implemented as multiple pieces of software or software modules (e.g., multiple pieces of software or software modules used to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to fig. 2, a flow 200 of one embodiment of a method for pushing information in accordance with the present disclosure is shown. The method for pushing the information comprises the following steps:
step 201, obtaining first location information representing the location of the target user, and obtaining a candidate push information set.
In the present embodiment, the target user may refer to a user corresponding to a terminal device (e.g., terminal devices 101, 102, 103 shown in fig. 1) communicatively connected to an execution subject (e.g., server 105 shown in fig. 1) of the method for pushing information. The first location information may be various information capable of representing a location. For example, the first location information may be latitude and longitude information, communication address information, or the like.
The execution body may determine the location of the target user based on various existing location technologies. For example, the location of the target user may be determined based on GPS (Global Positioning System) technology. Alternatively, the determined location of the target user may be directly used as the first location information, or preset information indicating the determined location of the target user may be acquired from a local or other storage device as the first location information.
In this embodiment, the candidate push information set may be a set composed of some pieces of information that are specified in advance by a technician, or may be a set composed of some pieces of information that are determined according to a preset screening condition. The candidate push information in the candidate push information set may be various types of information. For example, the candidate push information may be images, text, video, audio, and so on. The executing entity may retrieve the candidate set of push information from a local or other storage device (e.g., a connected database, a third party data platform, etc.).
In some optional implementations of this embodiment, the candidate push information set may be obtained according to the first location information. Wherein the candidate push information in the candidate push information set is related to the location indicated by the first location information.
Therefore, the situation that information irrelevant to the position indicated by the first position information appears in the candidate push information set can be avoided, the number of the candidate push information needing to be processed subsequently can be reduced, and the processing speed is increased.
Whether the candidate push information is related to the position indicated by the first position information or not can be judged according to a preset related condition. For example, the relevant condition may be that the content described by the candidate push information is relevant to the location indicated by the first location information. As an example, the candidate push information is an article describing a certain food, and if the described food is a food speciality in a certain area where the location indicated by the first location information is located, the candidate push information may be considered to be related to the location indicated by the first location information.
For another example, the relevant condition may be that a preset keyword in a preset keyword set corresponding to the position indicated by the first position information is present in the candidate push information. The preset keyword set may include various description modes of the location indicated by the first location information. The preset keyword set may also include various description modes corresponding to all the positions covered in a certain area where the position indicated by the first position information is located.
It should be appreciated that in general, the location of the target user may be a very specific one. For example, the location of the target user may be accurate to a particular latitude and longitude. In this case, there may be less information that is more relevant to the location of the target user. Therefore, according to the actual application requirements, the position of the target user can be generalized to a certain area where the position of the target user is located. In this case, the information related to the location of the target user in the certain area may be regarded as information related to the location of the target user.
The executing entity may obtain some information related to the location indicated by the first location information from a local or other storage device (e.g., a connected database, a third-party data platform, etc.) according to the first location information to form a candidate push information set.
Step 202, for the candidate push information in the candidate push information set, executing the following determining steps:
at step 2021, the first matching information of the candidate push information is determined.
In this embodiment, the first matching information may be used to characterize a preference degree of the target user for the candidate push information based on the first location information. The preference level may be measured in terms of various information about the user and the candidate push information.
Specifically, different information or information which can characterize the preference degree of the target user for the candidate push information based on the first location information can be flexibly selected as the first matching information according to the actual application scenario and application requirements.
Optionally, the first matching information may include similarity between some historical push information having a higher preference of the user within a preset time period and the candidate push information. Wherein some historical push information of the user with higher preference in the preset time period can be determined according to historical behavior data of the user at the position indicated by the first position information in the preset time period.
For example, history push information clicked or commented by a user can be selected from various history push information pushed by the user when the user is at the position indicated by the first position information within a preset time period as the history push information with higher preference of the user.
In general, the higher the similarity between some historical push information with higher preference of the user in the preset time period and the candidate push information may indicate that the user has a higher preference degree for the candidate push information at the position indicated by the first position information.
Optionally, the first matching information may include at least one of: the information used for representing the preference degree of the target user for the information related to the position indicated by the first position information, the information used for representing the relevance degree of the candidate push information to the position indicated by the first position information and the information used for representing the attention degree of the position indicated by the first position information.
The preference degree of the target user for the information related to the position indicated by the first position information may be determined in various ways according to the actual application scenario.
Optionally, the degree of preference of the target user for the information related to the location indicated by the first location information may be analyzed according to historical behavior data of the target user for historically pushed information related to the location indicated by the first location information.
Generally, there will be some interaction by the user with the push information of the preferences. For example, a click operation, a comment operation, an operation of collecting or sharing a connection address of the pushed information, and the like. Some attribute information of the interaction performed by the user for different push information may also be different. Such as the number of click operations, the browsing duration, etc. Thus, the user's preference for pushed information can be analyzed from the user's historical behavior data. Generally, the more or more frequently a user performs an interactive operation, the higher the user's preference for the corresponding push information may be indicated.
As an example, the total number of pieces of information related to the position indicated by the first position information, which are pushed to the target user within the target history time period, may be counted as the first number, and the number of pieces of information on which a preset operation has been performed by the target user among these pieces of pushed information may be counted as the second number. The quotient of the second number and the first number may then be used to characterize the target user's preference for information related to the location indicated by the first location information.
The target historical time period may be any time period previously specified by a technician. For example, the target time period may be a time period corresponding to three months before the current time, starting from the current time. The preset operation may be various user operations designated in advance by a technician.
Alternatively, some existing open-source models for prediction (such as click rate prediction models) may be utilized to predict the operation information (such as click rate) of the target user on the information related to the position indicated by the first position information. Based on this, the predicted operation information may be utilized to characterize a degree of preference of the target user for information related to the location indicated by the first location information.
The model for prediction may also be trained by a technician in advance using a large amount of historical behavior data of the user. For example, the information prediction model may predict operation information (such as click rate) of the user on the candidate push information according to the feature vector for characterizing the user and the feature vector for characterizing the candidate push information.
In this embodiment, the correlation degree between the candidate push information and the location indicated by the first location information may indicate a degree of association between the candidate push information and the location indicated by the first location information. For example, the candidate push information "a" is an article describing the sights in the area where the position indicated by the first position information is located. The push information candidate "B" is an article whose content is unrelated to the location indicated by the first location information, although a name indicating the location indicated by the first location information is present. Then, it can be generally considered that the degree of correlation of the candidate push information "a" with the location indicated by the first location information is higher than the degree of correlation of the candidate push information "B" with the location indicated by the first location information.
The determination method of the correlation degree can select different methods according to different application scenes. For example, a comment information set corresponding to the candidate push information may be obtained first. Wherein, the comment information set may include some comment information of the candidate push information. And then, the position information of the user corresponding to each piece of comment information in the comment information set can be obtained, and the position information set is obtained. The user corresponding to the comment information may refer to a user corresponding to the terminal device that issues the comment information. Then, a certain area in which the position indicated by the first position information is located may be determined as the target area. Then, the number of position information in the position information set, the indicated position of which belongs to the target area, may be counted as a first number, and the total number of position information included in the position information set may be determined as a second number. Further, the degree of correlation of the candidate push information with the location indicated by the first location information may be characterized by a quotient of the first number and the second number. In general, the larger the quotient of the first number and the second number is, the higher the correlation between the candidate push information and the position indicated by the first position information is.
Since the user interested in the information related to the location indicated by the first location information is typically a user who is within a certain area of the location indicated by the first location information for a long time. Then, as for the information related to the position indicated by the first position information, the user who can comment on the information is also a user who is within a certain range of the area where the position indicated by the first position information is located for a long time. Therefore, the relevance of the candidate push information and the position indicated by the first position information can be analyzed according to the position information of the user corresponding to each piece of comment information of the candidate push information.
Optionally, the keywords of the candidate push information may be extracted by using various existing keyword extraction methods to obtain a keyword set corresponding to the candidate push information. Then, a preset keyword set corresponding to the position indicated by the first position information may be acquired. Then, the degree of correlation between the candidate push information and the position indicated by the first position information can be characterized by the similarity between the keyword set corresponding to the candidate push information and the keyword set corresponding to the position indicated by the first position information. Generally, the higher the similarity between the keyword set corresponding to the candidate push information and the keyword set corresponding to the position indicated by the first position information, the higher the correlation between the candidate push information and the position indicated by the first position information can be represented.
The algorithm for determining the similarity between two keyword sets may adopt various existing related algorithms. For example, an algorithm based on TF-IDF (Term Frequency-Inverse text Frequency index), an algorithm based on SimRank (a model that measures the degree of similarity between any two objects), an algorithm based on WMD (Word Mover's distance), and the like.
Optionally, a pre-trained relevance determination model may be utilized to analyze the relevance of the candidate push information to the location indicated by the first location information. Wherein the relevance determination model may be configured to determine the relevance between the candidate push information and the first location information according to the candidate push information and the first location information. In particular, the correlation determination model may be trained based on a large number of training samples. Each training sample may include historical push information, location information, and a correlation between the historical push information and the location information. The correlation between the historical pushing information and the position information in the training sample can be determined by some of the correlation determination methods described above, or can be labeled in advance by a technician.
In this embodiment, the attention degree of the location indicated by the first location information may be used to characterize the attention degree of the location indicated by the first location information. For example, generally, the focus of the locations of sights is usually higher than the focus of locations other than sights.
Generally, the attention degree of each position is stable. Therefore, the attention degree corresponding to each position can be set in advance. Of course, in some cases, the focus of certain locations may need to be dynamically adjusted. For example, a location may have a relatively well-known activity recently performed in the area, and in this case, the attention of the location may be adjusted appropriately.
It should be appreciated that the information characterizing the target user's preference for information relating to the location indicated by the location information may be various forms of information. For example, where click-through rates are used to characterize a target user's preference for information relating to a location indicated by a location information, a click-through rate may be information characterizing a target user's preference for information relating to a location indicated by a location information. At this time, the indication information corresponding to different click rates may be preset, and the indication information corresponding to the click rate may be further acquired as information representing a degree of preference of the target user for the information related to the position indicated by the position information.
Similarly, the information for characterizing the relevance of the candidate push information to the location indicated by the first location information may also be various forms of information. The information for characterizing the degree of attention of the location indicated by the first location information may also be various forms of information. The specific representation method can be flexibly set by technical personnel according to the actual application requirement.
Step 2022, determining the first operation information corresponding to the candidate push information according to the first matching information.
In this embodiment, the first operation information may be used to characterize a probability that the target user performs the target operation on the candidate push information based on the first matching information. The target operation may be a pre-specified user operation (e.g., a user operation for indicating a click operation, a user operation for indicating a comment operation, etc.), or may be a user operation determined according to the candidate push information (e.g., the target operation may be any user operation supported by the candidate push information, etc.).
In different application scenarios, different methods for determining the first operation information corresponding to the candidate push information may be selected according to the first matching information.
Alternatively, the maximum value of each information indication included in the first matching information or the average value of the numerical values of each information indication may be selected as the first operation information.
In some optional implementation manners of this embodiment, the first matching information may be input to a pre-trained information prediction model, so as to obtain first operation information corresponding to the candidate push information. The information prediction model can be used for representing the corresponding relation between the matching information and the operation information.
In some optional implementations of this embodiment, the information prediction model may be obtained by training through the following steps:
step one, a training sample set is obtained. Wherein the training samples in the training sample set may include sample matching information and sample indication information. The sample matching information may include matching information of historical push information corresponding to the target user. The sample indication information may be used to indicate whether the target user performed the target operation on the corresponding historical push information.
In this step, the sample matching information may include at least one of the following items according to different application requirements: the information used for representing the preference degree of the target user on the information related to the position corresponding to the target user, the information used for representing the correlation degree of the historical push information and the position corresponding to the target user, and the information used for representing the attention degree of the position corresponding to the target user. The position corresponding to the target user may point to the position of the target user determined when the user pushes the history push information.
Alternatively, the history push information may refer to information related to a location corresponding to the target user.
And step two, acquiring a pre-established initial model.
In this step, the initial model may be various artificial neural networks that are not trained or that are trained, or may be a model obtained by combining various artificial neural networks. The initial model can also be constructed by technicians according to actual application requirements (such as which network layers are needed, parameters of each network layer, the size of a convolution kernel and the like) by using some deep learning frameworks (such as TensorFlow, Caffe and the like).
Alternatively, the initial model may be built based on some existing regression models (e.g., logistic regression-based models, stepwise regression-based models, etc.).
And step three, training the initial model by using a machine learning method based on the training sample set and a preset loss function, and determining the trained initial model as an information prediction model.
In this step, the loss function may be designed in advance by a skilled person. The loss function is typically used for the difference between the output according to the initial model and the corresponding desired output. In general, it is desirable that the value of the loss function be as small as possible.
The choice of the loss function may also be determined from the initial model. Different initial models may correspond to different selection of the loss function. For example, for an initial model based on logistic regression, an existing loss function derived by maximum likelihood estimation may be selected.
In particular, at least one training sample may be selected from a set of training samples at a time. And then respectively inputting the sample matching information in the selected training samples into the initial model to obtain the output operation information respectively corresponding to the selected training samples. Then, it can be determined according to a preset probability threshold that what the output operation information represents is that the target user will perform the target operation on the history push information corresponding to the input sample matching information or that the target user will not perform the target operation on the history push information corresponding to the input sample matching information.
For example, if the probability threshold is 0.5. Then, if the probability of the output operation information representation is greater than 0.5, it may be considered that the target user performs the target operation on the history push information corresponding to the input sample matching information. Correspondingly, if the probability of the output operation information representation is less than 0.5, it may be considered that the target user does not perform the target operation on the history push information corresponding to the input sample matching information.
Then, a value of the preset loss function may be determined according to the output operation information and the sample indication information. And then, determining whether the initial model is trained completely according to the value of the loss function. If the initial model is determined to be trained according to the value of the loss function, the trained initial model can be determined as an information prediction model. Wherein, it can be preset that when the value of the loss function meets the preset condition, the initial model training is determined to be completed.
If the initial model is determined to be untrained according to the value of the loss function, the parameters of the initial model can be adjusted by utilizing a back propagation and gradient descent algorithm based on the value of the loss function. Meanwhile, at least one training sample can be reselected from the training sample set, the adjusted initial model is determined as the initial model, and the training is continued.
Generally, training of the initial model requires many iterations to complete. The parameters of the initial model may be adjusted based on an average of the values of the loss function corresponding to each selected training sample.
Alternatively, the information prediction model can be trained by the following steps: a training sample set is obtained. Wherein the training samples in the training sample set may include sample matching information and sample manipulation information. The sample matching information may include matching information of historical push information corresponding to the target user. The sample operation information may be used to indicate a probability that the target user performed the target operation on the corresponding historical push information. The sample manipulation information may be pre-labeled by a technician. Then, a curve fitting method can be adopted, curve fitting is carried out based on the training sample set, and the obtained fitting curve is used as an information prediction model.
In which, the curve fitting can be performed based on the training sample set by using various existing methods (such as a fitting algorithm based on a least square method) or applications that can be used for curve fitting.
Step 203, selecting candidate push information from the candidate push information set according to the corresponding first operation information.
In this embodiment, since the first operation information may be used to characterize the probability that the target user performs the target operation on the candidate push information based on the first matching information. Therefore, the candidate push information with the number of candidate push information targets can be selected from the candidate push information set according to the descending order of the corresponding first operation information.
The target number may be preset by a technician, or may be determined according to a set determination condition (for example, ten percent of the total number of candidate push information included in the candidate push information set is determined as the target number).
Optionally, according to a preset probability threshold, candidate push information with a probability represented by the corresponding first operation information being greater than the probability threshold may be selected from the candidate push information set to obtain a candidate push subset. Then, a preset number of candidate push messages may be randomly selected from the candidate push subsets.
And 204, pushing the selected candidate pushing information to the terminal equipment corresponding to the target user.
In some optional implementations of the embodiment, in response to detecting a preset operation of the target user, the selected candidate push information is pushed to the terminal device, and the selected candidate push information is controlled to be displayed on the terminal device. Wherein the preset operation may be for requesting to push information related to the location indicated by the first location information.
The preset operation may include any user operation preset by a technician. For example, the preset operation may include a refresh operation, an operation of clicking a preset control on a page displayed by the terminal device, and the like.
As analyzed above, since the number of users interested in the information related to the location indicated by the first location information is relatively small, the information related to the location corresponding to the user can be pushed to the user again when the push request of the user is received. Therefore, unnecessary information push can be avoided as much as possible, and resource consumption in the information push process is reduced.
Optionally, in this way, when a push request of a user is received, the candidate push information may be uniformly and intensively displayed on the terminal device, so that the user can quickly browse the relevant information. For example, two buttons may be provided on a page where a user browses information for switching different display pages. One button may be controlled for presenting information related to the location corresponding to the user. Another button may control presentation of other push information.
Therefore, when the user desires to browse the information related to the position corresponding to the user, the information can be rapidly displayed on the terminal equipment corresponding to the user, so that the user can conveniently view the information.
The method provided by the above embodiment of the present disclosure predicts the probability of the user performing the target operation on the candidate push information based on the preference degree of the user on the candidate push information at the position where the user is located. Furthermore, the push information can be selected to be pushed to the user according to the predicted probability, so that the accuracy of the push information is improved, the push of the relevant information to the user who is not interested in the information relevant to the corresponding position is avoided, and the resource consumption in the information pushing process is reduced. On the basis, the information related to the position corresponding to the user can be pushed to the user according to the pushing request of the user and is controlled to be displayed on the terminal equipment corresponding to the user, so that the related information can be timely checked when the user wants to browse the information related to the position corresponding to the user.
With further reference to fig. 3, a flow 300 of yet another embodiment of a method for pushing information is shown. The flow 300 of the method for pushing information includes the following steps:
step 301, obtaining first location information representing a location of a target user, and obtaining a set of candidate push information.
The specific implementation process of this step can refer to the related description of step 201 in the corresponding embodiment of fig. 2, and is not repeated here.
Step 302, determining at least one second position information according to the first position information.
In this embodiment, a correspondence table in which correspondence between the first position information and the at least one second position information is stored may be set in advance. At this time, after the first location information is determined, at least one second location information corresponding to the first location information may be looked up in the correspondence table.
In some optional implementations of this embodiment, the at least one second location information may be determined according to the first location information and at least one preset distance threshold. Wherein the distance threshold may be used to characterize a distance between the location indicated by the first location information and the location indicated by the second location information.
Wherein the distance threshold may be preset by a technician. For example, the distance threshold may be ten kilometers, and the location within ten kilometers from the location indicated by the first location information and including the location indicated by the first location information may be determined as a second location, so that the second location information may be obtained.
Generally, the position information has a certain hierarchical relationship. For example, XX province XX city XX district XX streets. The XX province can be location information, the XX city can also be location information, and similarly, the XX district and the XX street are also location information. I.e. the location information may have a representation with different granularity. Therefore, in practical applications, how to select the granularity of the representation of the location information is also an aspect to be considered.
For example, the location of the user is obtained in the XX area, but the user may not be interested in the information related to the XX area, but may be interested in the information related to the XX city, or may be interested in the information related to the XX street. Similarly, a push message may be related to the XX region, and may also be related to the XX street.
Therefore, after the position of the target user is determined, generalization of the determined position of the user to a plurality of positions represented by different granularities can be considered, and further, the operation information of the target user on the candidate push information can be comprehensively measured from the plurality of positions not represented by the granularities, so that the accuracy of the predicted operation information is further improved.
It should be noted that, in the present disclosure, for convenience of describing different positions, decibels are named as a first position, a second position, etc., and those skilled in the art should understand that the first or second position does not constitute a specific limitation to the position.
Step 303, for the candidate push information in the candidate push information set, performing the following determining steps:
step 3031, determining first matching information of the candidate push information.
Step 3032, determining first operation information corresponding to the candidate pushing information according to the first matching information.
The specific implementation process of steps 3031 and 3032 may refer to the related description of steps 2021 and 2022 in the corresponding embodiment of fig. 2, and will not be described herein again.
Step 3033, for the second location information in the at least one second location information, performing the following steps:
step 30331, determining second matching information of the candidate push information.
In this step, the second matching information may be used to characterize a preference degree of the target user for the candidate push information based on the second location information. The preference level may be measured in terms of various information about the user and the candidate push information.
Similar to the first matching information, one or more pieces of information which can characterize the preference degree of the target user for the candidate push information based on the second location information can be flexibly selected to be different according to the actual application scene and application requirements as the second matching information.
Optionally, the second matching information may include similarity between some historical push information having a higher preference of the user within a preset time period and the candidate push information. Wherein some historical push information of the user having higher preference in the preset time period may be determined according to historical behavior data of the user at the position indicated by the second position information in the preset time period.
For example, the history push information clicked or commented by the user may be selected from the history push information pushed to the user when the user is at the position indicated by the second position information within the preset time period as the history push information with higher preference of the user.
In general, the higher the similarity between some historical push information with higher preference of the user in the preset time period and the candidate push information may indicate that the user has a higher preference degree for the candidate push information at the position indicated by the second position information.
Optionally, the second matching information comprises at least one of: the information used for representing the preference degree of the target user for the information related to the position indicated by the second position information, the information used for representing the relevance degree of the candidate push information and the position indicated by the second position information, and the information used for representing the attention degree of the position indicated by the second position information.
The method for determining the second matching information may refer to the relevant description about determining the first matching information in step 2021 in the embodiment corresponding to fig. 2, and is not repeated herein.
Step 30332, determining second operation information corresponding to the candidate push information according to the second matching information.
In this step, the second operation information may be used to characterize a probability that the target user performs the target operation on the candidate push information based on the second matching information.
In some optional implementation manners of this embodiment, the second matching information may be input to the information prediction model, so as to obtain second operation information corresponding to the candidate push information.
The specific process of determining the second operation information and the information prediction model may refer to the related description in step 2022 in the corresponding embodiment of fig. 2, and are not described herein again.
Step 304, selecting candidate push information from the candidate push information set according to the corresponding first operation information and the at least one second operation information.
In some optional implementation manners of this embodiment, for a candidate push message in the candidate push message set, in response to determining that the target probability corresponding to the candidate push message is greater than a preset probability threshold, the candidate push message may be selected. The target probability may be used to represent a maximum value in a probability set corresponding to the candidate push information or an average value of each probability in the probability set. The probability set may be composed of a probability represented by the first operation information corresponding to the candidate push information and a probability represented by the at least one second operation information respectively.
In this embodiment, when the first operation information and the at least one second operation information are obtained, an aspect of whether to select the candidate push information or not may be considered according to probabilities respectively represented by the first operation information and the at least one second operation information. In some application scenarios, the factor to be considered for selecting a candidate push message may be in many ways. At this time, the probabilities respectively represented by the first operation information and the at least one second operation information may be used as one aspect, and whether each candidate push information is selected or not may be comprehensively considered in combination with other aspects.
For example, in some cases, the format of the candidate push information needs to be considered, such as whether the candidate push information is video or text, or whether there are more images contained in the candidate push information when the candidate push information is text, and so on. Therefore, the appropriate candidate push information can be selected according to the network state of the target user, so that the situation that the user receives video or text information containing more pictures and texts when using a data network is avoided.
And 305, pushing the selected candidate pushing information to the terminal equipment corresponding to the target user.
The specific implementation process of this step can refer to the related description of step 204 in the corresponding embodiment of fig. 2, and is not repeated here.
With continued reference to fig. 4, fig. 4 is a schematic diagram 400 of an application scenario of the method for pushing information according to the present embodiment. In the application scenario of fig. 4, the execution subject may first obtain the location information 402 of the user's location based on GPS technology, which is "five-crossing of hai lake district, beijing. The location information 402 may then be generalized to two location information 401 and 403 of different granularities. As shown in the figure, the location information 401 is "beijing haichi district", and the location information 403 is "beijing city".
The execution body may also obtain information sets 405 from the linked database 404. Then, for a piece of information in the information set 405, the click rate of the user for the piece of information based on three different granularities of position information can be respectively determined. The following is a detailed description of one information 4051 in the information set 405 as an example.
For location information 401, i.e., "beijing haichi district," a user's click-through rate for historically pushed information related to "beijing haichi district" may be determined to characterize the user's preference for information related to "beijing haichi district. Thereafter, the contents of information 4051 may be analyzed to determine the degree of correlation of information 4051 with "the Haisher district of Beijing City. And then, the attention corresponding to the preset 'Peking City Haizu district' can be acquired. Then, the matching information 406 may be composed of the determined click rate, correlation, and attention corresponding to "beijing haichi district". Next, the matching information 406 may be input to the click rate prediction model 407 trained in advance, and the probability 408 of the predicted user click information 4051 under the position information of "hai lake district of beijing city" may be obtained as 0.9.
For location information 402, namely "five mouths in the beijing haichi district," the user's click-through rate for historically pushed information relating to "five mouths in the beijing haichi district" may be determined to characterize the user's preference for information relating to "five mouths in the beijing haichi district. Thereafter, the contents of information 4051 may be analyzed to determine the degree of correlation of information 4051 with "five crossing of the Hai lake district, Beijing City. And then, the attention corresponding to the preset 'five-crossing in the Haihu district of Beijing city' can be obtained. Then, the matching information 409 may be composed of the determined click rate, correlation degree, and attention degree corresponding to "five tao koo hai-lake district, beijing. Next, the matching information 409 may be input to the click rate prediction model 407 trained in advance, and the probability 410 of the predicted user click information 4051 under the position information of "five crossing in hai lake district, beijing" is obtained to be 0.8.
For the location information 403, i.e., "Beijing City", the click rate of the user on the historically pushed information related to "Beijing City" may be determined to characterize the user's preference for the information related to "Beijing City". Thereafter, the contents of information 4051 may be analyzed to determine the degree of correlation of information 4051 with "Beijing City". And then, the attention corresponding to the preset Beijing city can be acquired. Then, the matching information 411 may be composed of the determined click rate, relevance, and attention corresponding to "beijing city". Next, the matching information 411 may be input to the click rate prediction model 407 trained in advance, and the probability 412 of the predicted user click information 4051 under the position information of "beijing city" may be obtained to be 0.2.
Then, a maximum value of 0.9 may be selected from the upper prediction probabilities respectively corresponding to the information 4051. Since 0.9 is greater than the preset threshold value 0.6, the information 4051 may be pushed to the terminal device 413 corresponding to the user, and the information 4051 may be displayed on the terminal device 413.
According to the method provided by the embodiment of the disclosure, after the position of the user is obtained, the position of the user is generalized to a plurality of positions with different granularities, so that the operation information of the user on the candidate push information is respectively predicted for the positions with different granularities, whether the candidate push information is pushed or not can be comprehensively considered, and the accuracy of the push information is further improved.
With further reference to fig. 5, as an implementation of the methods shown in the above-mentioned figures, the present disclosure provides an embodiment of an apparatus for pushing information, which corresponds to the method embodiment shown in fig. 2, and which is particularly applicable to various electronic devices.
As shown in fig. 5, the apparatus 500 for pushing information provided by the present embodiment includes an acquisition unit 501, an operation information determination unit 502, a selection unit 503, and a pushing unit 504. Wherein the obtaining unit 501 is configured to obtain first location information representing a location of a target user, and to obtain a candidate push information set; the operation information determination unit 502 is configured to perform the following determination steps for candidate push information in the candidate push information set: determining first matching information of the candidate push information, wherein the first matching information is used for representing the preference degree of the target user on the candidate push information based on the first position information; determining first operation information corresponding to the candidate push information according to the first matching information, wherein the first operation information is used for representing the probability of executing target operation on the candidate push information by a target user based on the first matching information; the selecting unit 503 is configured to select candidate push information from the candidate push information set according to the corresponding first operation information; the pushing unit 504 is configured to push the selected candidate push information to the terminal device corresponding to the target user.
In the present embodiment, in the apparatus 500 for pushing information: the specific processing of the obtaining unit 501, the operation information determining unit 502, the selecting unit 503 and the pushing unit 504 and the technical effects thereof can refer to the related descriptions of step 201, step 202, step 203 and step 204 in the corresponding embodiment of fig. 2, which are not described herein again.
In some optional implementations of the present embodiment, the apparatus 500 for pushing information further includes: a position information determining unit (not shown in the figure) configured to determine at least one second position information based on the first position information; and the operation information determining unit 502 is further configured to determine, for a second location information of the at least one second location information, second matching information of the candidate push information, where the second matching information is used to characterize a preference degree of the target user for the candidate push information based on the second location information; determining second operation information corresponding to the candidate pushing information according to second matching information, wherein the second operation information is used for representing the probability of executing target operation on the candidate pushing information by a target user based on the second matching information; and the selecting unit 503 is further configured to select the candidate push information from the candidate push information set according to the corresponding first operation information and the at least one second operation information.
In some optional implementations of this embodiment, the determining unit of the location information is further configured to determine at least one second location information according to the first location information, including: and determining at least one piece of second position information according to the first position information and at least one preset distance threshold, wherein the distance threshold is used for representing the distance between the position indicated by the first position information and the position indicated by the second position information.
In some optional implementations of the present embodiment, the operation information determining unit 502 is further configured to input the first matching information to a pre-trained information prediction model, to obtain first operation information corresponding to the candidate push information, where the information prediction model is used to represent a corresponding relationship between the matching information and the operation information; and the operational information determination unit 502 is further configured to: and inputting the second matching information into the information prediction model to obtain second operation information corresponding to the candidate pushing information.
In some optional implementations of this embodiment, the first matching information includes at least one of: the information used for representing the preference degree of the target user for the information related to the position indicated by the first position information, the information used for representing the relevance degree of the candidate push information to the position indicated by the first position information and the information used for representing the attention degree of the position indicated by the first position information.
In some embodiments, the second matching information comprises at least one of: the information used for representing the preference degree of the target user for the information related to the position indicated by the second position information, the information used for representing the relevance degree of the candidate push information and the position indicated by the second position information, and the information used for representing the attention degree of the position indicated by the second position information.
In some optional implementations of this embodiment, the information prediction model is trained by the following steps: acquiring a training sample set, wherein training samples in the training sample set comprise sample matching information and sample indicating information, the sample matching information comprises matching information of historical pushing information corresponding to a target user, and the sample indicating information is used for indicating whether the target user performs target operation on the corresponding historical pushing information; acquiring a pre-established initial model; and training the initial model by using a machine learning method based on the training sample set and a preset loss function, and determining the trained initial model as an information prediction model.
In some optional implementations of the embodiment, the selecting unit 503 is further configured to select, for a candidate push information in a candidate push information set, the candidate push information in response to determining that a target probability corresponding to the candidate push information is greater than a preset probability threshold, where the target probability is used to represent a maximum value in the probability set corresponding to the candidate push information or an average value of probabilities in the probability set, where the probability set is composed of a probability represented by a first operation information corresponding to the candidate push information and a probability represented by at least one second operation information.
In some optional implementations of the present embodiment, the obtaining unit 501 is further configured to obtain a candidate push information set according to the first location information, where candidate push information in the candidate push information set is related to a location indicated by the first location information.
In some optional implementations of the embodiment, the above-mentioned pushing unit 503 is further configured to, in response to detecting a preset operation of the target user, push the selected candidate push information to the terminal device, and control display of the selected candidate push information on the terminal device, where the preset operation is used to request pushing of information related to the position indicated by the first position information.
The apparatus provided by the above embodiment of the present disclosure acquires, by the acquiring unit, first location information indicating a location of a target user, and acquires a candidate push information set; the operation information determination unit performs the following determination steps for the candidate push information in the candidate push information set: determining first matching information of the candidate push information, wherein the first matching information is used for representing the preference degree of the target user on the candidate push information based on the first position information; determining first operation information corresponding to the candidate push information according to the first matching information, wherein the first operation information is used for representing the probability of executing target operation on the candidate push information by a target user based on the first matching information; the selection unit selects candidate push information from the candidate push information set according to the corresponding first operation information; the pushing unit pushes the selected candidate pushing information to the terminal device corresponding to the target user, so that the accuracy of the pushing information is improved, the pushing of the related information to the user who is not interested in the information related to the corresponding position is avoided, and the resource consumption in the information pushing process is reduced.
Referring now to FIG. 6, a schematic diagram of an electronic device (e.g., the server of FIG. 1) 600 suitable for use in implementing embodiments of the present disclosure is shown. The server shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates an electronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 6 may represent one device or may represent multiple devices as desired.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of embodiments of the present disclosure.
It should be noted that the computer readable medium described in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having 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. In embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In embodiments of the present disclosure, however, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the server; or may exist separately and not be assembled into the server. The computer readable medium carries one or more programs which, when executed by the server, cause the server to: acquiring first position information used for representing the position of a target user, and acquiring a candidate push information set; for candidate push information in the candidate push information set, performing the following determining steps: determining first matching information of the candidate push information, wherein the first matching information is used for representing the preference degree of the target user on the candidate push information based on the first position information; determining first operation information corresponding to the candidate push information according to the first matching information, wherein the first operation information is used for representing the probability of executing target operation on the candidate push information by a target user based on the first matching information; selecting candidate push information from the candidate push information set according to the corresponding first operation information; and pushing the selected candidate pushing information to the terminal equipment corresponding to the target user.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming 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 the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations 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 diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor comprises an acquisition unit, an operation information determination unit, a selection unit and a pushing unit. Where the names of the units do not in some cases constitute a limitation on the units themselves, for example, the acquisition unit may also be described as a "unit that acquires first location information indicating the location of the target user, and acquires a candidate push information set".
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.