WO2020228514A1 - 内容推荐方法、装置、设备及存储介质 - Google Patents

内容推荐方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2020228514A1
WO2020228514A1 PCT/CN2020/086946 CN2020086946W WO2020228514A1 WO 2020228514 A1 WO2020228514 A1 WO 2020228514A1 CN 2020086946 W CN2020086946 W CN 2020086946W WO 2020228514 A1 WO2020228514 A1 WO 2020228514A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
user
seed
content
similarity
Prior art date
Application number
PCT/CN2020/086946
Other languages
English (en)
French (fr)
Inventor
刘雨丹
葛凯凯
张旭
林乐宇
陈鑫
郝晓波
王伟
庄凯
闫肃
潘治达
唐琳瑶
张晶
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2020228514A1 publication Critical patent/WO2020228514A1/zh
Priority to US17/362,887 priority Critical patent/US20210326674A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Definitions

  • This application relates to the field of Artificial Intelligence (AI), especially to information recommendation technology.
  • AI Artificial Intelligence
  • a deep network model is set in the server. For each pair of "user-content" combinations in the candidate content set, the deep network model predicts the user's click probability on the content based on the user's historical click behavior, content semantic and contextual features; then, for a user According to the order of the click probability from high to low, the top n content is recommended to the user as an information stream.
  • recommendation algorithms often only choose to push information based on the interest of target users, and judge the user’s interest in the information by analyzing the content of the information, but this recommendation method ignores the user’s high level of awareness of current hot events and reading niche
  • the quality content and other requirements often have the problem of low accuracy.
  • the embodiments of the present application provide content recommendation methods, devices, equipment, and storage media, which can improve the accuracy of content recommendation.
  • the technical solution is as follows:
  • a content recommendation method which is executed by a server, and the method includes:
  • n sets of seed user vectors correspond to n pieces of candidate recommended content; where n is a positive integer;
  • a training method for a user vector extraction model which is executed by a server.
  • the user vector extraction model includes an embedding layer, a merge layer, and a fully connected layer.
  • the merge layer is based on self-attention.
  • the neural network layer of the mechanism the method includes:
  • the first training sample including user characteristics of multiple sample users and interactive records of sample content
  • the first sample user is any one of a plurality of sample users in the first training sample;
  • a back propagation algorithm is used to train the user vector extraction model.
  • a training method for a similar crowd diffusion model which is executed by a server, and the similar crowd diffusion model includes a first fully connected layer, a second fully connected layer, and an attention unit.
  • the second training sample includes: a sample user vector and a seed user vector corresponding to the sample content;
  • a second error loss is calculated according to the vector distance, and a back propagation algorithm is used to train the similar crowd diffusion model according to the second error loss.
  • a content recommendation device including:
  • the obtaining module is used to obtain the target user vector of the target user
  • a candidate content determination module configured to determine n sets of seed user vectors according to the target user vector, where the n sets of seed user vectors correspond to n pieces of candidate recommended content; the n is a positive integer;
  • a calculation module configured to call a similar crowd diffusion model to calculate the similarity between the target user vector and each group of the seed user vector, and the similar crowd diffusion model is used to calculate the similarity between the user vectors based on an attention mechanism;
  • the target content determining module is configured to determine the target content recommended to the target user among the n pieces of candidate recommended content according to the respective similarity of the n sets of seed user vectors.
  • a training device for a user vector extraction model including:
  • An acquiring module configured to acquire a first training sample, the first training sample including user characteristics of multiple sample users and interactive records of sample content;
  • the input module is used to input the user characteristics of the first sample user into the user vector extraction model to obtain a first user vector;
  • the first sample user is any of a plurality of sample users in the first training sample One;
  • a calculation module for calculating the dot product of the first user vector and the embedding vector of the sample content
  • the calculation module is further configured to calculate a first error loss based on the dot product and the interaction record of the first sample user on the sample content;
  • the calculation module is further configured to use a back propagation algorithm to train the user vector extraction model according to the first error loss.
  • a training device for a similar crowd diffusion model comprising:
  • An obtaining module configured to obtain a second training sample, the second training sample including: a sample user vector and a seed user vector corresponding to the sample content;
  • the calling module is used to call the first fully connected layer to perform feature extraction on the seed user vector to obtain a seed similarity diffusion vector; and call the second fully connected layer to perform feature extraction on the sample user vector to obtain Sample similarity diffusion vector;
  • the calling module is further configured to call the attention unit to calculate the seed weight vector according to the seed similarity diffusion vector and the sample similarity diffusion vector;
  • a calculation module for calculating the vector distance between the seed weight vector and the sample similarity diffusion vector
  • the training module is configured to calculate a second error loss according to the vector distance, and use a back propagation algorithm to train the similar crowd diffusion model according to the second error loss.
  • a computer device includes:
  • a processor and a memory stores a computer program that is loaded and executed by the processor to implement the content recommendation method as described above, or the user vector extraction model training method, or the similar crowd diffusion model Training method.
  • a computer-readable storage medium stores a computer program, and the computer program is loaded and executed by the processor to implement content recommendation as described above Method, or user vector extraction model training method, or similar crowd diffusion model training method.
  • a computer program product including instructions, which when run on a computer, cause the computer to execute the content recommendation method described above, or the user vector extraction model training method, or similar groups of people The training method of the diffusion model.
  • n sets of seed user vectors to characterize the interest characteristics of n candidate recommended content, and introduce an attention mechanism into the similar crowd diffusion model, which is used to calculate multiple seeds corresponding to the target user vector and the candidate recommended content
  • the similarity between the user vectors is used to determine the degree of interest of the target user in the candidate recommended content. Due to the attention mechanism, the same set of seed user vectors provide different weights when predicting the interest of different target users, thereby improving The expression ability of the seed user vector effectively improves the accuracy and reliability of the similar crowd diffusion model in prediction.
  • Fig. 1 is a structural block diagram of a content recommendation system provided by an exemplary embodiment of the present application
  • Fig. 2 is a schematic diagram of a content recommendation method provided by an exemplary embodiment of the present application.
  • Fig. 3 is a flowchart of a content recommendation method provided by an exemplary embodiment of the present application.
  • FIG. 4 is a flowchart of a content recommendation method provided by another exemplary embodiment of the present application.
  • Fig. 5 is a flowchart of a content recommendation method provided by another exemplary embodiment of the present application.
  • Fig. 6 is a structural diagram of a content recommendation method provided by another exemplary embodiment of the present application.
  • FIG. 7 is a flowchart of a content recommendation method provided by another exemplary embodiment of the present application.
  • Fig. 8 is a process diagram of extracting user vectors in a content recommendation method provided by an exemplary embodiment of the present application
  • FIG. 9 is a diagram of the interface content after a neural network model recommended by another exemplary embodiment of the present application.
  • FIG. 10 is a flowchart of a user vector acquisition process provided by an exemplary embodiment of the present application.
  • Fig. 11 is a flowchart of a method for obtaining a user vector in a neural network model provided by an exemplary embodiment of the present application
  • FIG. 12 is a flowchart of a training method of a similar crowd diffusion model provided by an exemplary embodiment of the present application.
  • Fig. 13 is a structural diagram of an attention unit provided by an exemplary embodiment of the present application.
  • Fig. 14 is an interface diagram of content recommendation provided by an exemplary embodiment of the present application.
  • FIG. 15 is a display flowchart of a content recommendation function provided by an exemplary embodiment of the present application.
  • FIG. 16 is an interface diagram of content recommendation provided by another exemplary embodiment of the present application.
  • FIG. 17 is a performance comparison diagram provided by an exemplary embodiment of the present application.
  • FIG. 18 is a performance comparison diagram provided by another exemplary embodiment of the present application.
  • FIG. 19 is a block diagram of a content recommendation device provided by an exemplary embodiment of the present application.
  • FIG. 20 is a block diagram of a content recommendation device provided by another exemplary embodiment of the present application.
  • FIG. 21 is a block diagram of a content recommendation apparatus provided by another exemplary embodiment of the present application.
  • Fig. 22 is a structural block diagram of a server provided by an embodiment of the present application.
  • Neural network model It is a complex network system formed by multiple processing units (called neurons) widely connected to each other. Neural network model is used to simulate and reflect many basic characteristics of human brain function, and it is a highly complex nonlinear dynamic learning system.
  • Look-alike model It is a neural network model that recommends content to target users based on the similarity between seed users and target users.
  • a seed user can be a user or a group of users. For example, 3 million users who have clicked on webpage A can be regarded as a group of seed users of webpage A.
  • Attention Mechanism It is a means to quickly filter out high-value information from a large amount of information using limited attention resources.
  • the attention mechanism is widely used in various types of deep learning tasks, such as natural language processing, image recognition, and speech recognition. It is one of the most worthy of attention and in-depth understanding of the core technology in deep learning technology.
  • Target user vector A vector used to characterize the interest of the target user.
  • Seed user vector A vector used to characterize the interest of seed users.
  • the seed user population corresponding to a certain candidate recommended content includes users who have interacted with the candidate recommended content.
  • Users who have experienced interactive behaviors include, but are not limited to: users who have clicked on the candidate recommended content, users who have shared the candidate recommended content, users whose reading time exceeds the threshold, and users who have commented or liked at least one of the candidate recommended content .
  • Content A collection of information composed of at least one of text, pictures, emoticons, audio and video.
  • the content can be web pages, TV shows, music, etc.
  • content recommendation is performed by calculating the similarity between the target user and the seed user.
  • seed users There are usually many seed users, such as dozens, hundreds, or thousands.
  • seed users there may be some seed users that are very similar to the target user, while some of the seed users have low similarity with the target user.
  • each seed user is treated the same, so seed users with lower similarity will introduce greater noise, which reduces the accuracy of the similar crowd diffusion model.
  • an attention mechanism is introduced into the similar crowd diffusion model, and the attention mechanism is used to calculate the similarity between the target user vector and the seed user vector corresponding to the candidate recommended content.
  • the attention mechanism can select vector information from multiple seed user vectors that has more reference value for content recommendation to the current target user, thereby improving the accuracy of content recommendation to the target user.
  • Fig. 1 shows a structural block diagram of a content recommendation system 100 provided by an exemplary embodiment of the present application.
  • the content recommendation system 100 includes a terminal 110 and a push platform 140.
  • the terminal 110 is connected to the push platform 140 through a wireless network or a wired network.
  • the terminal 110 may be at least one of a smart phone, a game console, a desktop computer, a tablet computer, an e-book reader, an MP3 player, an MP4 player, and a laptop portable computer.
  • the terminal 110 installs and runs an application program that supports content recommendation.
  • the application can be a sound social application, an instant messaging application, a team voice application, a social application based on topics or channels or circles for crowd aggregation, a shopping-based social application, a browser program, a video program, etc. Any of the applications.
  • the terminal 110 is a terminal used by the first user, and an application running in the terminal 110 logs in to the first user account.
  • the terminal 110 is connected to the push platform 140 through a wireless network or a wired network.
  • the push platform 140 includes at least one of a server, multiple servers, a cloud computing platform, and a virtualization center.
  • the push platform 140 is used to provide background services for applications that support content recommendation.
  • the push platform 140 undertakes the main calculation work and the terminal 110 undertakes the secondary calculation work; or the push platform 140 undertakes the secondary calculation work and the terminal 110 undertakes the main calculation work; or, between the push platform 140 and the terminal 110 Use distributed computing architecture for collaborative computing.
  • the push platform 140 may include: an access server 141, a content recommendation server 144, and a database 146.
  • the access server 141 is used to provide access services for the terminal 110.
  • the content recommendation server 144 is used to provide background services related to content recommendation.
  • the content recommendation server 144 may be one or more. When there are multiple content recommendation servers 144, there are at least two content recommendation servers 144 for providing different services, and/or, there are at least two content recommendation servers 144 for providing the same service, for example, in a load balancing manner. The same service is not limited in this embodiment of the application.
  • a similar crowd diffusion model is set in the content recommendation server 144.
  • the similar crowd diffusion model based on the real-time attention mechanism is referred to as RALM (Realtime Attention based Look-alike Model) for short.
  • the number of terminals 110 may be more or less, for example, there may be only one terminal 110, or there may be dozens or hundreds of terminals 110. Number, or more.
  • the content recommendation system also includes other terminals 110.
  • the embodiment of the present application does not limit the number of terminals 110 and the device type.
  • Fig. 2 shows a schematic diagram of a content recommendation method provided by an exemplary embodiment.
  • the content recommendation server 114 runs a similar crowd diffusion model 1141 based on the attention mechanism.
  • the content recommendation server 114 extracts the user characteristics of the target user, and inputs the user characteristics of the target user into the user vector extraction model 240 for extracting user vectors.
  • the user vector extraction model 240 is a neural network model based on the attention mechanism.
  • the neural network model includes a self-attention-based merging layer. After inputting user features into the user vector extraction model 240 in the form of vectors, the merging layer calculates the weight of each user feature and performs weighted fusion, and the output can represent the user Interested user vector.
  • the performance of this merged layer is significantly better than that of the traditional connection layer. It can solve the transition fitting and noise problems caused by strong and weak correlation features, especially in multi-domain It shows remarkable superior performance in characteristics.
  • Each target user corresponds to a candidate recommended content package 241 (or candidate recommended content pool).
  • the candidate recommended content package 241 includes multiple candidate recommended content, for example: candidate recommended content 1, candidate recommended content 2, candidate recommended content 3... ...Candidate recommendation content N, each candidate recommendation content corresponds to a group of seed users who have interacted with the candidate recommendation content, and each seed user is represented by a vector, correspondingly, a group of seed users corresponding to a certain candidate recommendation content
  • the vector can represent the characteristics of the candidate recommended content in the dimension of interest.
  • the content recommendation server 114 inputs the target user vector and a set of seed user vectors used to represent a piece of candidate recommended content into the similar crowd diffusion model 1141 based on the attention mechanism. Based on the attention mechanism, the similar crowd diffusion model 1141 can select a vector with more reference value for the target user from a set of seed user vectors for similarity calculation.
  • the attention unit in the similar crowd diffusion model 1141 includes a global attention unit and a local attention unit, where the global attention unit is used to capture the composition of multiple seed user vectors, which is representative of Individuals (that is, seed user vectors that are close to the target user) are weighted, and noisy individuals (that is, seed user vectors that are not too close to the target user) are punished, compared to the same treatment for each seed user vector
  • the local attention unit is used to capture some of the seed user vectors that are closest to the target user vector, and weight related individuals to the target user, so that the expressive power of each set of seed user vectors is different for the target user Changes between the two, which greatly improves the expression ability of the seed user vector.
  • the content recommendation server 114 calculates the similarity between the seed user vector of each candidate recommended content and the target user vector, and the similarity is used to indicate the degree of interest of the target user in the candidate recommended content. Sort each candidate recommendation content according to the similarity score, and recommend the top candidate recommendation content to the target user.
  • Fig. 3 shows a flowchart of a content recommendation method provided by an exemplary embodiment. The method may be executed by the content recommendation server 144 shown in FIG. 1, and the method includes the following steps:
  • Step 201 Obtain the target user vector of the target user.
  • the target user is the user account of the recommended content to be pushed.
  • the target user vector is a vector used to represent the interest of the target user.
  • the content recommendation server 144 may determine a candidate recommended content package recommended to the target user according to the target user vector, the candidate recommended content package includes n pieces of candidate recommended content, and n is an integer greater than 1.
  • the target user vector is obtained according to the characteristics of the user in at least one domain, where the domain is a logical range divided according to characteristic attributes.
  • the domain includes at least one of gender, age, and educational background.
  • Step 202 Determine n sets of seed user vectors according to the target user vector.
  • the n sets of seed user vectors correspond to n pieces of candidate recommended content.
  • the i-th group of seed user vectors in the n groups of seed user vectors is used to characterize the interest characteristics of the i-th candidate recommended content.
  • each seed user corresponding to the i-th group of seed user vectors is a user who has interacted with the i-th candidate recommended content in the historical time period.
  • the content recommendation server 144 obtains the user characteristics of users who have clicked on each piece of candidate recommended content, and users who have clicked on the candidate recommended content are regarded as seed users of the candidate recommended content.
  • the number of seed users in a group can be L, and the seed user vector of each seed user is calculated according to the user characteristics of each seed user, and the L seed user vectors are used to represent the characteristics of the candidate recommended content in terms of interest.
  • L is a positive integer.
  • Step 203 Invoke a similar crowd diffusion model to calculate the similarity between the target user vector and each group of seed user vectors.
  • the similar crowd diffusion model is used to calculate the similarity based on the attention mechanism. Based on the attention mechanism, the similar crowd diffusion model can select a seed user vector with more reference value for the target user from a set of seed user vectors to calculate the similarity.
  • the content recommendation server 144 calculates the similarity between the target user vector and each group of seed user vectors through the similar crowd diffusion model. Since each group of seed user vectors corresponds to a piece of candidate recommended content, it can use a set of seeds corresponding to each piece of candidate recommended content. The similarity of the user vector is used to evaluate the target user's interest in the candidate recommended content. Illustratively, the higher the similarity, the more interested the target user is in the candidate recommended content.
  • the attention mechanism is used to assign different weights to multiple seed user vectors in a group. For example, a seed user vector with a higher similarity to the target user vector is assigned a higher weight, and a seed with a lower similarity is assigned a higher weight.
  • the user vector assigns a lower weight to minimize the noise influence of the seed user vector with low similarity on the calculation result.
  • the attention mechanism includes: at least one of a self-attention mechanism, a global attention mechanism, and a local attention mechanism.
  • Step 204 Determine the target content recommended to the target user among the n candidate recommended content according to the respective similarities of the n sets of seed user vectors.
  • n pieces of candidate recommended content may be sorted according to the similarity, and the candidate recommended content ranked in the top m is determined as the target content recommended to the target user. Both n and m are positive integers, and m is less than Or equal to n.
  • candidate recommended content with a similarity higher than a preset threshold may also be determined as the target content recommended to the target user. This application does not limit the method of determining the target content based on the similarity here.
  • this embodiment uses the first few candidate recommended content with high similarity as the target content recommended to the target user.
  • the difference score can also be used to sort the candidate recommended content.
  • the degree score is used to indicate the degree of disinterest of the target user in the candidate recommended content, and the recommendation strategy is determined according to the uninterested candidate recommended content of the target user.
  • this embodiment introduces an attention mechanism in the similar crowd diffusion model.
  • the attention mechanism is used to calculate the similarity between the target user vector and the multiple seed user vectors corresponding to the candidate recommended content, and determine the target according to the similarity.
  • the user s degree of interest in the candidate recommended content, by comparing the interest similarity between the target user and multiple seed users, predict the possibility that the target user is interested in a candidate recommended content, and use a set of seed user vectors to represent a candidate
  • the characteristics of the recommended content in terms of interest can effectively improve the accuracy and reliability of content prediction.
  • FIG. 4 shows a flowchart of a content recommendation method provided by another exemplary embodiment.
  • the above step 202 includes the following steps 202a and 202b:
  • Step 202a Determine n candidate recommended content of the target user.
  • the content recommendation server 144 can preliminarily screen out candidate recommended content packages corresponding to the target user through a preset method.
  • the preset methods include, but are not limited to: filtering using other neural network models, filtering based on the content viewed by the target user's friend users, filtering based on the content that needs to be posted recently, and so on.
  • the embodiment of the present application does not limit the method for determining the n pieces of candidate recommended content corresponding to the target user.
  • Step 202b For each of the n pieces of candidate recommended content, determine a set of seed user vectors corresponding to the piece of candidate recommended content.
  • the user vectors of L users who have interacted with the candidate recommended content within a preset time period are used as a set of seed user vectors corresponding to the candidate recommended content,
  • Each group of seed user vectors includes user vectors of L users.
  • the content recommendation system determines a piece of candidate recommendation content, which will be clicked (or read, shared, commented, liked, or virtualized) within a preset time period (such as the last week, the last month, etc.) Resources or physical resources have been appreciated, etc.)
  • the user vector of 3 million users of the candidate recommended content is used as the seed user vector.
  • users who interact with the piece of candidate recommended content in other forms can also be used as seed users of the piece of candidate recommended content.
  • a tower-shaped learning model is established.
  • the one on the left is called the "seed tower", with the seed user vector of n seed users as the input, denoted as R seeds ⁇ R n ⁇ m , where m represents the dimension of the seed user vector.
  • the first layer includes a first fully connected layer 310 as a transformation matrix, which converts the n ⁇ m input matrix of the seed user vector into a matrix size of n ⁇ h, where h represents the dimension of the transformed seed look-alike vector .
  • the global attention unit calculates the global vector based on the multiple seed look-alike vectors
  • the local attention unit calculates the multiple seed look-alike vectors and the target look-alike vector to obtain the local vector, and merges the global vector and the local vector into A seed weight vector with dimension h.
  • the one on the right is called the "target tower", and a target user vector with dimension m is transformed into dimension h.
  • the dot product of the seed weight vector and the target look-alike vector is calculated to indicate the similarity between the seed weight vector and the target look-alike vector.
  • similarity is essentially the likelihood that the target user clicks on candidate recommended content.
  • the similar crowd diffusion model includes: a first fully connected layer 310, a second fully connected layer 320, an attention unit 330, and a similarity calculation layer 340; the first fully connected layer 310 is called to perform feature extraction on the seed user vector to obtain the seed look- alike vector, call the second fully connected layer 320 to perform feature extraction on the target user vector to obtain the target look-alike vector; among them, the first fully connected layer 310 and the second fully connected layer 320 are respectively used to combine the seed user vector and the target user The vector is transformed into a vector space that the neural network can recognize.
  • the characteristics of each candidate recommended content in the dimension of interest are represented by the vector of 3 million seed users who have clicked on the candidate recommended content.
  • the 3 million seed user vectors are input into the first fully connected layer 310, and 3 million seed user vector features are extracted to obtain the seed look-alike vector.
  • the target user vector is input into the second fully connected layer 320, and the target user vector feature is extracted to obtain the target look-alike vector.
  • the calculation process of the seed look-alike vector and the target look-alike vector are independent of each other, and this embodiment does not limit the order of execution of the two.
  • the attention unit 330 calculates the global vector and the local vector according to the seed look-alike vector and the target look-alike vector, and the seed weight vector is calculated according to the global vector and the local vector; the seed is calculated by the similarity calculation layer 340 The vector distance between the weighted vector and the target look-alike vector is determined as the similarity. Then, the content recommendation server 144 performs content recommendation in the descending order of similarity.
  • the attention unit is used to calculate the multiple seed user vectors and target user vectors that have clicked on the candidate recommended content, which can effectively improve the similarity between the seed user vector and the target user vector. Accuracy, reduce the influence of noise in the seed user vector, so as to obtain a more accurate reflection of the target user's interest in the candidate recommended content.
  • Fig. 6 shows a flowchart of a content recommendation method provided by an exemplary embodiment.
  • the seed user group of a piece of candidate recommended content consists of L seed users who have interacted with the piece of candidate recommended content.
  • the seed user group and target users are usually affected by two aspects. One is the composition of the seed users themselves. Another aspect is similar user information in the target user and seed user groups.
  • the attention unit 330 in this embodiment includes a local attention unit, which is used to extract the local representation in the seed user vector, and weight related individuals to the target user, so that the expressive power of the seed user vector is different. Changes between target users.
  • the attention unit 330 in this embodiment also includes a global attention unit, which is used to extract the self-composition of all seed user vectors, weight representative individuals in all seed user vectors, and punish noisy individuals, thereby Obtain a more accurate representation of the seed vector.
  • the execution steps of the attention unit include two branches:
  • the first branch includes:
  • Step 2031a call the first fully connected layer to perform feature extraction on the seed user vector to obtain the seed look-alike vector.
  • Step 2031b call the local attention unit to calculate the target look-alike vector and the seed look-alike vector to obtain the local attention vector.
  • E s represents the seed user vector matrix
  • E u represents the target user vector
  • W l represents the conversion matrix of local attention
  • a local attention unit is set here to activate the local interest of a target user and make adaptive adjustments, and adaptively learn the personalized representation of the seed from the target user
  • the second branch includes:
  • Step 2032a call the second fully connected layer to perform feature extraction on the target user vector to obtain the target look-alike vector.
  • Step 2032b call the global attention unit to calculate the seed look-alike vector to obtain the global attention vector.
  • the global attention unit captures corresponding information to generate a corresponding vector
  • the calculation formula is as follows:
  • E S represents the seed user vector matrix
  • W g represents the conversion matrix of global attention
  • Step 2033 Perform weighting calculation on the local attention vector and the global attention vector to obtain a seed weight vector.
  • Step 2034 Calculate the vector distance between the seed weight vector and the target look-alike vector, and determine the vector distance as the similarity.
  • the similarity of the two vectors is obtained through the similarity algorithm.
  • the similarity of the vectors is characterized by the cosine distance between the two vectors.
  • the cosine distance is calculated by using the product of the target look-alike vector in step 2032 and the seed weight vector in step 2033.
  • step 2033 and step 2034 can be calculated by the following formula:
  • this embodiment uses global attention units and local attention units to calculate seed user vectors.
  • the global attention unit is used to learn the global representation of the seed user vector, weight the representative individuals, and punish the noisy individuals to obtain a more accurate global representation;
  • the local attention unit is aimed at specific target users
  • the seed representation is learned adaptively, so that the representation of the seed is different for different audiences, thereby significantly improving the expression ability of the seed user vector.
  • an embodiment of the present application provides a similar crowd diffusion model RALM based on a real-time attention mechanism.
  • the RALM includes a user vector extraction model 240 and a similar crowd diffusion model 1141.
  • the user vector extraction model 240 can extract the target user vector of the target user.
  • the similar crowd diffusion model 1141 includes a global attention unit 1141a and a local attention unit 1141b.
  • each latest news or long-tail content corresponds to a set of seed user vectors
  • the set of seed user vectors is used to represent the characteristics of the candidate recommended content in the direction of interest
  • the global attention The unit 1141a is used to calculate a global vector based on a set of seed user vectors
  • the local attention unit 1141b is used to calculate a local vector based on a set of seed user vectors and a target user vector, and then calculate the seed weight vector based on the global vector and the local vector, and calculate the seed
  • the distance between the weight vector and the target user vector is used as the similarity.
  • RALM pushes candidate recommended content to target users in descending order of similarity.
  • the user vector extraction model 240 should use as many user feature domains as possible to learn the target user representation to improve the diversity of user interests. Models based on deep learning can model a variety of features. However, according to the inventor’s experiment, it is found that deep models like DNN show worse performance when inputting weakly related features; in addition, strong related features such as tags of interest can lead to overfitting, such as weak shopping interests. Related features may even have a certain degree of negative impact.
  • the embodiment of the present application provides a user vector extraction model 240 using an attention mechanism, which can solve or improve these problems.
  • Fig. 8 shows a flowchart of a method for generating a user vector provided by an exemplary embodiment. This method can be used to generate the user vector of each user, such as the target user vector of the target user and the seed user vector of the seed user.
  • the user characteristics of the user include at least one of discrete characteristics and continuous characteristics.
  • the user characteristics include, but are not limited to: at least one of demographic attribute characteristics, device characteristics, historical behavior characteristics, and label characteristics.
  • discrete features include population attribute features, device features, and label features; continuous features include historical behavior features.
  • Demographic attributes are used to indicate the characteristics of the user on the basic attributes of the person.
  • demographic attributes include but are not limited to: at least one of gender, age, education, marital status, address, and income.
  • gender can be regarded as a domain (or user characteristic domain)
  • age can be regarded as a domain
  • education background can be regarded as a domain
  • the domain is a factor that causes the overall distribution deviation of a sample subset of a training set. For example, for face recognition, the hair color of different users is black, yellow, and white as a domain difference; whether different users wear glasses, also It can be regarded as a domain difference; whether different users have a beard is also regarded as a domain difference.
  • Device characteristics are used to indicate the characteristics of electronic devices used by the user.
  • device features include but are not limited to: at least one of hardware model, operating system type, manufacturer, country version, unique hardware identification code, and network address.
  • Historical behavior characteristics are used to characterize the characteristics generated by various behaviors of users when using Internet services.
  • the historical behavior characteristics include but are not limited to: at least one of reading behavior, like behavior, reply behavior, sharing behavior, purchase behavior, online social behavior, and membership membership behavior.
  • the label feature is a feature calibrated by the system or other users in the form of a label for the user.
  • the tag feature can be a tag that the user is interested in, a shopping interest tag, a click interest tag, and the like.
  • label features include but are not limited to: humor, kindness, post-90s, Taurus, gourmet food, people who have trouble getting up, otaku, Korean drama master, travel, perfectionism, etc.
  • population attribute characteristics, device characteristics, behavior characteristics, and label characteristics are all represented by vectors.
  • the user vector extraction model 240 includes: an embedding layer (including an average pooling layer 601 and a fully connected layer 602), a merge layer 603, and a fully connected layer 604.
  • the user vector extraction model 240 converts discrete features into a vector form through the mean pooling layer 601, converts continuous features into a vector mode through a fully connected layer 602, and inputs user features in vector form into the merge layer 603.
  • the merging layer 603 is a neural network layer based on the self-attention mechanism.
  • the user features in the form of vectors extracted from the feature input layer are calculated through the merging layer 603 to calculate the weight of each user feature and perform weighted fusion to obtain a more representative of the current user.
  • User vector of user interest is a neural network layer based on the self-attention mechanism.
  • the merging layer 603 inputs the output result into the fully connected layer 604, where the fully connected layer 604 is used to capture the non-linear association relationship of each vector, and finally output a user vector that can represent the interest of the user.
  • the aforementioned merging layer 603 may be implemented based on an improved Multi-Layer Perceptron (MLP).
  • MLP Multi-Layer Perceptron
  • the lower right frame of FIG. 8 shows a comparison between the basic multilayer perceptron and the improved multilayer perceptron in this embodiment.
  • the basic multilayer perceptron includes: the connection layer 61 and the MLP layer.
  • the vector representations of user features of multiple domains are connected to a wide dense layer vector (including vector 1 and vector 2 in FIG. 8) through the connection layer 61, and the wide dense layer vector will be input to the MLP layer for processing.
  • the inventor observes the training process of the basic multi-layer perceptron and found that the weight optimization of the training process always overfits certain specific domains. These specific domains are related to the target user’s interest in content (such as interest). The label of) is closely related, resulting in that the recommendation result is always determined by the strong correlation feature, leading to the insufficient contribution of the weak correlation feature to the recommendation process, for example, the user’s shopping interest does not contribute enough to the recommendation process. Therefore, the basic multi-layer perceptron cannot fully understand the multi-domain features, resulting in a lack of diversity in the final recommendation results.
  • the improved multilayer perceptron includes: attention merging layer 62 and MLP layer.
  • the attention merging layer 62 includes multiple fully connected layers and self-attention units in parallel.
  • the number of fully connected layers is the same as the number of user feature domains.
  • the self-attention unit learns the weights according to the context user features (such as a1 and a2 in the figure) Individualized distribution to activate different parts of neurons corresponding to different domains, ensuring that both strong and weakly relevant features can effectively play a role.
  • the method provided in this embodiment can ensure that both strong correlation features (such as tags of interest) and weak correlation features (such as shopping interest) can contribute to the recommendation process through the attention merging layer 62, thereby improving
  • strong correlation features such as tags of interest
  • weak correlation features such as shopping interest
  • Fig. 9 shows a flowchart of a content recommendation method provided by an exemplary embodiment.
  • the method includes an online service phase, an online asynchronous processing phase, and an offline training phase.
  • the online service stage includes step 701, obtaining the target user vector of the target user; step 702, determining n pieces of candidate recommended content corresponding to the target user according to the target user vector, and traversing the candidate recommended content; wherein, each target user can correspond to multiple pieces
  • the content recommendation server compares the multiple seed user vectors 714 corresponding to each candidate recommended content 713 with the target user vector.
  • the local attention unit 703 and the global attention unit 704 are used for feature extraction.
  • the characteristics of the target user vector assign different weights to the seed user vector in different dimensions.
  • Step 705 Calculate the similarity score between the target user vector and multiple seed user vectors representing the candidate recommended content; Step 706, according to each candidate recommended content The similarity scores are sorted, and then the content is recommended to target users according to the order of similarity scores from high to low.
  • the recommendation system shown in Figure 9 also includes a user feedback monitoring module.
  • a user feedback monitoring module When a piece of recommended content is pushed to multiple target users, many interactive users will be generated every second (For example, users who click on the recommended content), the user feedback monitoring module will obtain the user click log 712 in real time, and collect users who have recently clicked on the recommended content as seed users, so the list of seed users corresponding to each candidate recommended content will be updated in real time .
  • the user feedback monitoring module updates the list of seed users and seed user vectors corresponding to the candidate recommended content of the inventory in real time.
  • the content recommendation server 114 is performing a check on the seed user vector.
  • the subsequent clustering calculation is too burdensome.
  • the seed user group corresponding to each candidate recommendation content only retains 3 million users who have recently interacted.
  • the number of users reserved for each candidate recommendation content can be 3 million, or other numbers, and the specific parameters are set by the technicians.
  • the interactive behavior includes at least one of clicking, reading, liking, commenting, and forwarding.
  • the similar crowd diffusion model 1141 based on the attention mechanism calculates the 3 million seed users.
  • the similarity score between the seed user vector and the target user vector Since the calculation amount of calculating 3 million seed user vectors for each candidate recommended content is very large, in order to reduce the calculation amount and calculation time of the similar population diffusion model 1141, this embodiment optionally adopts a clustering method to reduce the diffusion of similar populations. The computational burden of model 1141.
  • this embodiment uses a target clustering algorithm 711 (such as K-means clustering) to cluster seed user vectors in the same group.
  • a target clustering algorithm 711 such as K-means clustering
  • K-means clustering For the i-th group of seed user vectors in the n groups of seed user vectors, The L seed user vectors in the i-th group of seed user vectors are clustered into K seed user vectors, K is less than L, and i is less than or equal to n.
  • the clustering method includes: clustering L seed user vectors into K sets using the K-means clustering algorithm; averaging at least two seed user vectors in the same set to obtain the corresponding Seed user vector. Taking L as 3 million and K as 300 as an example, this K-meam clustering process can cluster 3 million seed user vectors corresponding to a piece of candidate recommendation content into 300 seed user vectors. Alternatively, for each of the K sets, the seed user vector located in the cluster centroid in the set is determined as the seed user vector corresponding to the set.
  • the L seed user vectors are asynchronously clustered into K seed user vectors. Since K is less than L, the number of calculations is reduced to the original K/L, which can effectively reduce the neural network model The amount of computing.
  • the seed user vector of seed user 1 is [0.1, 0.2, 0.8, 0.9, 0.2, 0.4 , 0.6]
  • the seed user vector of seed user 3 is [0.8, 0.2, 0.2, 0.2, 0.0, 0.6, 0.6]
  • the seed user vector of seed user x is [0.5, 0.7, 0.2, 0.5, 0.6, 0.7 , 0.8].
  • the user vector of each seed user is an M-dimensional vector, and the value of the i-th dimension in each M-dimensional user vector is averaged, 1 ⁇ i ⁇ M, and a new M-dimensional vector is obtained as the user characteristic of the seed user. .
  • the first dimension value 0.1, 0.8,..., 0.5 in each seed user vector is averaged to obtain the first dimension value 0.45 in the clustered seed user vector, and so on.
  • the seed user vector is continuously updated in real time, it is not necessary to update the seed user vector cluster of the K-means clustering immediately after inserting a new seed user vector.
  • the recommendation system can run the K-means algorithm every 5 minutes (or other time intervals), and save the cluster centroid vector in each seed user vector cluster obtained by clustering as the clustered seed user vector in the database , Used in the online prediction process.
  • the seed user vector after clustering is defined as:
  • R seeds ⁇ E centroid1 , E centroid2 ,..., E centroidk ⁇ ;
  • E centroidk is the cluster centroid vector of the k-th seed user vector cluster of K-means clustering.
  • K-means clustering algorithm is only an exemplary example.
  • Other clustering algorithms such as mean shift clustering, density-based clustering of Applications with Noise (DBSCAN), Gaussian Other algorithms such as Gaussian Mixture Model (GMM) clustering can also achieve the purpose of reducing the calculation amount of the neural network model, which is not limited in this embodiment.
  • GMM Gaussian Mixture Model
  • the method provided in this embodiment updates the seed user vector in the online asynchronous processing process in real time, so that the latest breaking news can collect enough user history data as soon as possible, so as to be a candidate recommendation as soon as possible.
  • the content is recommended to target users; it can also recommend niche high-quality articles to potential interested target users as soon as possible based on the seed user vector of the recently clicked users of niche high-quality articles.
  • the method provided in this embodiment uses the K-means algorithm to cluster a large number of seed user vectors to obtain a reduced number of seed user vectors, thereby greatly reducing the content recommendation server’s calculation of similarity scores. Time calculation amount.
  • This stage is a stage in which the user vector extraction model 240 and the similar crowd diffusion model 1141 are trained using the training set.
  • the process of training the user vector extraction model 240 can be referred to as user representation learning 707.
  • the offline training server inputs the user characteristics of each user and the interactive behavior of each user on the recommended content (such as reading articles, Watching videos, subscribing to public accounts, etc.) are used as samples, and the user vector extraction model 240 is trained using an error back propagation algorithm.
  • the process of training the similar crowd diffusion model 1141 can be called look-alike learning 708.
  • the look-alike learning 708 takes the user vector that can represent the user’s interest generated by the user representation learning 707 as the input content, and the user’s historical clicks are used as a sample to train the user vector. After the click is used as a positive sample, no click is used as a negative sample. , Adjust the weight of each neural network layer in the similar crowd diffusion model 1141 according to the error back propagation.
  • Two different embodiments are used to describe the training process of the user vector extraction model 240 and the training process of the similar crowd diffusion model 1141 respectively.
  • Fig. 10 shows a flowchart of a training method of a user vector extraction model provided by an exemplary embodiment of the present application. This method may be executed by the content recommendation server 114 or an additional offline training server.
  • the user vector extraction model includes an embedded layer, a merged layer and a fully connected layer.
  • the merged layer is a neural network layer based on the self-attention mechanism.
  • the training method includes the following steps:
  • Step 1001 Obtain a first training sample, where the first training sample includes user characteristics of multiple sample users and interactive records of sample content;
  • the first training sample includes the user characteristics of the sample user, the embedding vector of the sample content, and the interactive record of the sample user on the sample content.
  • the interaction record includes: at least one of click, like, comment, and forwarding.
  • Step 1002 Input the user characteristics of the first sample user into the user vector extraction model to obtain the first user vector;
  • the user vector extraction model includes: an embedding layer (including an average pooling layer 601 and a fully connected layer 602), a merge layer 603, and a fully connected layer 604.
  • the merging layer 603 includes: an attention merging layer and an MLP layer.
  • the discrete features of the first sample user are input into the mean pooling layer 601 and converted into vector form, the continuous features are converted into vector form through the fully connected layer 602, and the user features in vector form are input to the merge layer 603 Among them, the merging layer 603 is a neural network model based on the self-attention mechanism.
  • the user features in the form of vectors calculate the weight of each user feature through the merging layer 603 and perform weighted fusion to obtain the first user vector that can represent the user interest of the first sample user.
  • the first sample user is any one of the multiple sample users in the first training sample.
  • Step 1003 Calculate the dot product of the first user vector and the embedding vector of the sample content
  • Step 1004 Calculate the first error loss based on the dot product and the interaction record of the first sample user on the sample content
  • the method of selecting sample content from the existing multiple candidate content can be regarded as: taking user representation learning as multi-classification learning, and selecting one content of interest from millions of candidate content.
  • this application uses negative sampling instead of the traditional normalized exponent softmax function. Obviously, if candidates are randomly selected as negative samples, the sampling distribution will deviate from reality. Therefore, this embodiment develops a loss function similar to noise contrast estimation, that is, the loss function pointed out by Google in Word2vec. In order to simulate an unbiased distribution, this embodiment first sorts all candidate content according to their frequency of appearance, and then calculates the possibility of each candidate content as sample content according to its ranking:
  • xi represents the ith candidate content
  • k represents the rank of the ith candidate content
  • D represents the maximum rank of all the candidate content
  • p(X i ) represents the possibility of selecting the ith candidate content as a negative sample.
  • this embodiment limits the maximum positive samples of each candidate user to 50, and the positive-negative ratio of the samples is 1/10. Then use the Softmax function to normalize the possibility of choosing c on the i-th candidate content based on the candidate user's feature U and the feature of the i-th candidate content:
  • u ⁇ R N represents the high-dimensional embedding vector of the first sample user
  • x j ⁇ R N represents the embedding vector of all sample contents.
  • the embedding vector of the sample content is generated by a deep-level predictive neural network
  • e is a natural constant.
  • the predictive neural network may be a neural network used for prediction in related technologies.
  • this embodiment also takes explicit feedback and implicit feedback as examples to ensure the diversity of recommendation results. All types of content such as articles, videos and actions on the website will be considered.
  • the offline training server calculates the first error loss between the dot product and the positive sample (or negative sample).
  • ADAM optimizer to minimize error loss.
  • the output of the last layer is used as the user vector of the user (target user vector of the target user or seed user vector of the seed user).
  • Step 1005 According to the first error loss, a back propagation algorithm is used to train the user vector extraction model.
  • the offline training server uses a gradient descent-based Backpropagation algorithm to backpropagate the prediction error, thereby updating the weights in the neural network model.
  • Inputting a set of training samples into the user vector extraction model for training is regarded as a training process.
  • the offline training server determines whether the training process meets the training end conditions.
  • the training end conditions include but are not limited to the following two situations:
  • the prediction error is less than the set threshold
  • the set threshold is pre-set by the technicians or adjusted at any time according to the training process.
  • Training times are greater than the set times.
  • the training end condition can also be set according to the number of training times. For example, if the number of training times reaches 10,000 times, the training will be stopped.
  • the prediction error is backpropagated according to the backpropagation algorithm, and the weight in the user vector extraction model is updated; when the training process meets the training end condition, the user vector extraction model is ended Training.
  • the merge layer since the merge layer is used to extract the user features of multiple domains based on the self-attention mechanism, the merge layer can ensure strong correlation features (such as Both tags of interest) and weakly related features (such as shopping interest) can contribute to the recommendation process, thereby greatly improving the accuracy of the representation of the user vector extracted by the user vector extraction model.
  • FIG. 12 shows a flowchart of a training method of a similar crowd diffusion model 1141 provided by an exemplary embodiment of the present application. This method may be executed by the content recommendation server 1141 or an additional offline training server.
  • the similar crowd diffusion model includes: the first fully connected layer, the second fully connected layer and the attention unit.
  • the training method includes the following steps:
  • Step 1201 Obtain a second training sample, where the second training sample includes: a sample user vector and a seed user vector corresponding to the sample content;
  • the sample content may be articles, advertisements, news, etc., and the number of samples of the second training sample used to train the similar crowd diffusion model is determined by a technician, and is not limited in this embodiment.
  • the seed user vector corresponding to each sample content is the user vector of users who have interacted with the sample content.
  • Step 1202 call the first fully connected layer to perform feature extraction on the seed user vector to obtain the seed look-alike vector, and call the second fully connected layer to perform feature extraction on the sample user vector to obtain the sample look-alike vector;
  • Step 1203 call the attention unit to calculate the seed weight vector according to the seed look-alike vector and the sample look-alike vector;
  • the attention unit includes: a global attention unit and a local attention unit.
  • the global attention unit in the embodiment of the present application includes: a hyperbolic tangent function 1311, a linear function 1312, and a normalized exponential function 1313.
  • the local attention unit in the embodiment of the present application includes: a matrix multiplication function 1321, a hyperbolic tangent function 1322, a linear function 1323, and a normalized exponential function 1324.
  • the offline training server sequentially processes the seed look-alike vector through the hyperbolic tangent function 1311, the linear function 1312, and the normalized exponential function 1313 in the global attention unit to obtain the global vector.
  • the offline training server uses the matrix multiplication function 1321, the hyperbolic tangent function 1322, the linear function 1323, and the normalized exponential function 1324 in the local attention unit to sequentially obtain the local vector from the seed look-alike vector and the sample look-alike vector.
  • the offline training server weights and sums the global vector and the local vector to obtain the seed weighted vector
  • Step 1204 Calculate the vector distance between the seed weight vector and the sample look-alike vector
  • the vector distance may adopt at least one of cosine distance, Jaccard distance, and dot product distance.
  • Step 1205 Calculate a second error loss according to the vector distance, and use a back propagation algorithm to train the user vector extraction model according to the second error loss.
  • the logistic function Sigmoid cross entropy function is used as the loss function
  • D represents the training set
  • x represents the input sample user vector
  • y is the label in ⁇ 0,1 ⁇
  • 0 represents the non-click behavior of the sample user
  • 1 represents the click behavior of the sample user
  • p(x) is the seed user vector
  • N represents the number of users in the training set.
  • Fig. 14 shows an interface diagram of a content recommendation result provided by an exemplary embodiment of the present application.
  • the content recommendation method in the foregoing embodiment may be used in document recommendation applications, such as news recommendation, article recommendation, etc.
  • the document recommendation application may be a news subprogram in social software.
  • the document recommendation application calculates the target user vector and candidate recommended content of the target user according to the target user's history and interaction with the document, and recommends relevant documents to the target user using the above content recommendation method.
  • the content recommendation method in the foregoing embodiment can also be used in a video recommendation application, which recommends relevant video content to the target user based on the history of the target user and the interaction of the video.
  • the interactive manner includes at least one of like, favorite, comment, and forward.
  • the content recommendation method provided by the various embodiments of the present application can be applied to a terminal installed with a target application.
  • the target application is an application with an information push function.
  • the terminal can be a smart phone, a tablet, a personal computer, or a portable Computer and so on.
  • the target application is a game, a social application, an instant messaging application, a video playback application, etc., which is not limited in the embodiment of the present application.
  • the content recommendation method provided in the embodiment of the present application can be implemented as a content push module in the application.
  • the application extracts the characteristics of the time of clicking to read the article, likes, comments, or forwards to obtain the user characteristics of the user.
  • the application program can also obtain the relevant identity information reported by the user during registration.
  • the identity information can include gender, age, education, city, etc.
  • the content recommendation method provided in the embodiment of the present application can be implemented as a content push module in the application.
  • the video application determines the user's degree of interest in the video according to the user's viewing content and viewing time.
  • the application judges the user’s interest in the video based on the ratio of the length of time the user watches the video to the total length of the video. For example, if the user’s viewing time is 100% of the full length of the video, the user is considered The video is interested. If the viewing time is less than 50% of the full length of the video, it is considered that the user is not interested in the video.
  • the above method can be applied to the instant messaging application "WeChat" produced by Tencent. WeChat is China's most popular instant messaging application with more than 1.4 billion users. As shown in Figure 15, the user’s method of use includes the following steps:
  • Step 207 The first terminal displays the function entry interface, the function entry interface displays the function entry control of the information display interface, and the new information notification reminder is displayed on the function entry control;
  • the first terminal may first display the function entrance interface of the application program, and the function entrance interface of the information display interface is displayed on the function entrance interface.
  • the function entrance interface also displays function entrance controls of other function interfaces.
  • the application is an instant messaging program
  • the function entry interface 20 of the instant messaging program displays the function entry of "Moments of Friends", the entry of "Scan", and the entry of "Shake”.
  • the "take a look” function entrance is the function entrance control of the information display interface.
  • Step 208 When receiving the first trigger signal for the function entry control of the information display interface, the first terminal jumps from the function entry interface to the information display interface for display.
  • the information display interface 30 includes a "good-looking” tab and a “featured” tab.
  • the "good-looking” tab is used to display the information recommended by RALM above, and the "featured” tab is used to display recommended information based on other recommendation algorithms.
  • the interactive recommendation information in the "good-looking" tab may be displayed by default.
  • the information display interface includes: a first tab page and a second tab page, and any one of the first tab page and the second tab page is used to display interactive recommendation information, such as the second tab
  • the page is used to display information of interest
  • the first tab page is used to display long tail information and hot news information.
  • the first terminal first jumps from the function entry interface to the first tab page of the information display interface for display, and the first tab page also displays the label of the second tab page.
  • the trigger signal corresponding to the label of the second tab page is received, the first tab page is switched to the second tab page for display in the information display interface.
  • Deep learning such as deep neural networks (DNNs) and recurrent neural networks (RNNs)
  • DNNs deep neural networks
  • RNNs recurrent neural networks
  • K represents the number of recommended results
  • R iK represents the top K items in the target content recommended to user i
  • S represents the content that the user has read
  • N represents the number of users in the test set.
  • Some users may read less than K. term, resulting in irregular low prec @ K, so that K in the present embodiment between S i and a selected minimum size.
  • this example compares AUC in different models with prec@K, K ⁇ ⁇ 10, 50 ⁇ , and the comparison results are shown in Table 1.
  • the performance of the logistic regression model is poor, which verifies the advantages of the deep model. In addition, this is also due to its insufficient ability to obtain cluster information.
  • the similar population diffusion model provided by Yahoo is better than the logistic regression model, but weaker than the depth model. This is because the amount of content is large, and a non-iterative feature selection is used as a filter.
  • YOU DNN achieved an absolute gain of 0.0391 over Yahoo's similar crowd diffusion model, which proved the effectiveness of the deep model.
  • the RALM with average pooling layer achieves an absolute AUC gain of 0.033 compared to the Yahoo similar model, but it is weaker than Youtube DNN. This means that simply averaging user embedding vectors is not as effective as an end-to-end deep model.
  • RALM with attention unit performs best among all models. It obtains an absolute gain of 0.0109 and a gain of 0.0078/0.0022prec@10/prec@50 compared to Youtube DNN. This improvement proves that the attention mechanism can help extract the information of seed users and discover the local relationship between seed users and target users.
  • the performance of the attention merging layer in AUC is better than that of the cascade layer, and the loss in the test concentration is much better, thanks to the design of the attention unit.
  • the domains are connected together and forwarded, the same part of the neuron will be activated to all users.
  • different neurons will be activated in front of different users, which means that personalized interactions between features are learned, which is of great help to the model.
  • the number of clusters k is a key parameter in K-means clustering.
  • k is set to 5, 10, 20, 50, 100, and each metric is an average of 5 periods of training from the test set.
  • this embodiment performs an A/B online test in an experimental environment.
  • This embodiment divides online traffic according to users.
  • the ID and arrangement ratio of the control group and the experimental group are the same.
  • the following indicators are involved:
  • Exposure means that the user reads an item and the item is only calculated once. As the audience expands through the look-alike model, more users should be reached for a given project, and exposure is expected to increase.
  • CTR Click-through rate
  • Diversity of classification tags One of the purposes of this embodiment is to enrich users' interest in the system of this embodiment, so this embodiment defines a metric called diversity. It is represented by the content, category, or number of tags that users read in a day. As users express more comprehensively, there will be more and more types of candidate content, and the diversity of categories and tags will increase.
  • Gini coefficient RALM aims to alleviate the Matthew effect. Therefore, this embodiment uses the Gini coefficient to measure the distribution of clicks on all candidate content in the recommendation system. A higher Gini coefficient indicates that the system consumes more long-tail substances and has a better distribution capacity.
  • Fig. 19 shows a block diagram of a content recommendation apparatus provided by an exemplary embodiment of the present application.
  • the device can be realized by a processor, a memory, and a program in the memory.
  • the device includes:
  • the obtaining module 701 is used to obtain the target user vector of the target user;
  • the candidate content determining module 702 is configured to determine n sets of seed user vectors according to the target user vector, where the n sets of seed user vectors correspond to n pieces of candidate recommended content; the n is a positive integer;
  • the calculation module 703 is used to call a similar crowd diffusion model to calculate the similarity between the target user vector and each group of seed user vectors, and the similar crowd diffusion model is used to calculate the similarity score between the user vectors based on the attention mechanism;
  • the target content determining module 704 is configured to determine the target content recommended to the target user among the n pieces of candidate recommended content according to the respective similarities of the n sets of seed user vectors.
  • the similar crowd diffusion model includes: a first fully connected layer, a second fully connected layer, and an attention unit; the calculation module 703 is used for:
  • the attention unit includes: a local attention unit and a global attention unit; the calculation module 703 is used for:
  • the determining module 702 is used to:
  • the determining module 702 is used to:
  • the user vectors of L users who have interacted with the candidate recommended content are used as a set of seed user vectors corresponding to the piece of candidate recommended content.
  • the determining module 702 is used to:
  • the content recommendation apparatus in the embodiment of the present application further includes: a clustering module 705.
  • the clustering module 705 is used to cluster the L seed user vectors in the i group of seed user vectors into K seed user vectors for the i group of seed user vectors in the n groups of seed user vectors, K is less than L, i Less than or equal to n.
  • the clustering module 705 is used to:
  • each of the K sets average at least one seed user vector in the set to obtain the seed user vector corresponding to the set; or, for each of the K sets, the set is located in The seed user vector of the cluster centroid is determined as the seed user vector corresponding to the set
  • the obtaining module 701 is used to:
  • the merging layer in the user vector extraction model is called to calculate the domain weight of each domain. Based on the domain weight of each domain, the corresponding feature vectors of each domain are weighted and fused to obtain the weighted fusion vector.
  • the merging layer is based on the attention mechanism Neural network layer
  • the fully connected layer in the user vector extraction model is called to perform feature extraction on the weighted fusion vector to obtain the target user vector of the target user.
  • Fig. 20 shows a block diagram of a training device for a similar crowd diffusion model provided by an exemplary embodiment of the present application.
  • the device can be realized by a processor, a memory, and a program in the memory.
  • the device includes:
  • the obtaining module 711 is configured to obtain a second training sample, where the second training sample includes: a sample user vector and a seed user vector corresponding to the sample content;
  • the calling module 712 is configured to call the first fully connected layer to perform feature extraction on the seed user vector to obtain the seed similarity diffusion vector; and call the second fully connected layer to perform feature extraction on the sample user vector to obtain the sample similarity diffusion vector;
  • the calling module 712 is also used to call the attention unit to calculate the seed weight vector according to the seed similarity diffusion vector and the sample similarity diffusion vector;
  • the calculation module 713 is used to calculate the vector distance between the seed weight vector and the sample similarity diffusion vector
  • the training module 714 is configured to calculate a second error loss according to the vector distance, and use a back propagation algorithm to train a similar crowd diffusion model according to the second error loss.
  • FIG. 21 shows a training device for a user vector extraction model provided by an exemplary embodiment of the present application.
  • the device includes:
  • the obtaining module 721 is configured to obtain a first training sample, where the first training sample includes user characteristics of multiple sample users and interactive records of sample content;
  • the input module 722 is configured to input the user characteristics of the first sample user into the user vector extraction model to obtain the first user vector; the first sample user is any one of the multiple sample users in the first training sample;
  • the calculation module 723 is used to calculate the dot product of the first user vector and the embedding vector of the sample content
  • the calculation module 723 is further configured to calculate the first error loss based on the dot product and the interaction record of the first sample user on the sample content;
  • the calculation module 723 is further configured to train the user vector extraction model by using a back propagation algorithm according to the first error loss.
  • the embodiment of the present application also provides a computer storage medium.
  • the computer-readable storage medium stores at least one instruction, at least one program, code set, or instruction set, the at least one instruction, the at least one program, and the code
  • the set or instruction set is loaded and executed by the processor to implement the above-mentioned content recommendation method, user vector extraction model training method, or similar crowd diffusion model training method.
  • the embodiments of the present application also provide a computer program product, the computer program product stores at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or The instruction set is loaded and executed by the processor to implement the above-mentioned content recommendation method, user vector extraction model training method, or similar crowd diffusion model training method.
  • FIG. 22 shows a schematic structural diagram of a server provided by an embodiment of the present application.
  • the server is used to implement the content recommendation method, the training method of the user vector extraction model, or the training method of the similar crowd diffusion model provided in the foregoing embodiment. Specifically:
  • the server 800 includes a central processing unit (CPU) 801, a system memory 804 including a random access memory (RAM) 802 and a read only memory (ROM) 803, and a system bus 805 connecting the system memory 804 and the central processing unit 801.
  • the server 800 also includes a basic input/output system (I/O system) 806 to help transfer information between various devices in the computer, and a mass storage device 807 to store the operating system 813, application programs 814, and other program modules 815 .
  • I/O system basic input/output system
  • the basic input/output system 806 includes a display 808 for displaying information and an input device 809 such as a mouse and a keyboard for the user to input information.
  • the display 808 and the input device 809 are both connected to the central processing unit 801 through the input and output controller 810 connected to the system bus 805.
  • the basic input/output system 806 may also include an input and output controller 810 for receiving and processing input from multiple other devices such as a keyboard, a mouse, or an electronic stylus.
  • the input and output controller 810 also provides output to a display screen, a printer, or other types of output devices.
  • the mass storage device 807 is connected to the central processing unit 801 through a mass storage controller (not shown) connected to the system bus 805.
  • the mass storage device 807 and its associated computer-readable medium provide non-volatile storage for the server 800. That is, the mass storage device 807 may include a computer-readable medium (not shown) such as a hard disk or a CD-ROM drive.
  • Computer-readable media may include computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media include RAM, ROM, EPROM, EEPROM, flash memory or other solid-state storage technologies, CD-ROM, DVD or other optical storage, tape cartridges, magnetic tape, disk storage or other magnetic storage devices.
  • RAM random access memory
  • ROM read-only memory
  • EPROM Erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • the server 800 may also be connected to a remote computer on the network to run through a network such as the Internet. That is, the server 800 can be connected to the network 812 through the network interface unit 811 connected to the system bus 805, or in other words, the network interface unit 811 can also be used to connect to other types of networks or remote computer systems (not shown).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Business, Economics & Management (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了内容推荐方法、装置、设备及存储介质,属于人工智能领域。该方法包括:获取目标用户的目标用户向量;根据目标用户向量确定n组种子用户向量,n组种子用户向量与n条候选推荐内容对应;调用相似人群扩散模型计算所述目标用户向量和每组所述种子用户向量的相似度,所述相似人群扩散模型用于基于注意力机制计算用户向量之间的相似度;根据n组种子用户向量各自的相似度,确定n条候选推荐内容中向所述目标用户推荐的目标内容。本申请能够解决相关技术的推荐方法准确率较低的问题。

Description

内容推荐方法、装置、设备及存储介质
本申请要求于2019年05月13日提交中国专利局、申请号为2019103955604、申请名称为“内容推荐方法、训练方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能(Artificial Intelligence,AI)领域,特别涉及信息推荐技术。
背景技术
在内容推荐系统中,传统的推荐算法基于用户的历史行为和内容的语义特征进行内容推荐。
以基于点击率预估的推荐方法为例,服务器中设置有深度网络模型。针对候选内容集合中每一对“用户-内容”组合,该深度网络模型根据其中用户的历史点击行为、内容的语义特征和上下文特征,预测该用户对该内容的点击概率;然后,针对某用户的待推荐内容,按照点击概率由高到低的顺序,将排序在前n位的内容作为信息流推荐给该用户。
在相关技术中,推荐算法往往只是根据目标用户的兴趣选择推送信息,通过分析信息内容判断用户对该信息的感兴趣程度,但这种推荐方法忽略了用户对于获知当前热点事件和阅读小众高质量内容等需求,往往存在准确率较低的问题。
发明内容
本申请实施例提供了内容推荐方法、装置、设备及存储介质,能够提高内容推荐的准确程度。所述技术方案如下:
根据本申请的一个方面,提供了一种内容推荐方法,由服务器执行,所述方法包括:
获取目标用户的目标用户向量;
根据所述目标用户向量确定n组种子用户向量,所述n组种子用户向量与n条候选推荐内容对应;所述n为正整数;
调用相似人群扩散模型计算所述目标用户向量和每组所述种子用户向量的相似度,所述相似人群扩散模型用于基于注意力机制计算用户向量之间的相似度;
根据所述n组种子用户向量各自的所述相似度,确定所述n条候选推荐内容中向所述目标用户推荐的目标内容。
根据本申请的另一方面,提供了一种用户向量提取模型的训练方法,由服务器执行,所述用户向量提取模型包括嵌入层、合并层和全连接层,所述合并层是基于自注意力机制的神经网络层,所述方法包括:
获取第一训练样本,所述第一训练样本包括多个样本用户的用户特征和对样本内容的互动记录;
将第一样本用户的用户特征输入所述用户向量提取模型,得到第一用户向量;所述第一样本用户是所述第一训练样本内多个样本用户中的任意一个;
计算所述第一用户向量与所述样本内容的嵌入向量的点积;
根据所述点积和所述第一样本用户对所述样本内容的互动记录,计算得到第一误差损失;
根据所述第一误差损失采用反向传播算法对所述用户向量提取模型进行训练。
根据本申请的另一方面,提供了一种相似人群扩散模型的训练方法,由服务器执行,所述相似人群扩散模型包括第一全连接层、第二全连接层和注意力单元,所述方法包括:
获取第二训练样本,所述第二训练样本包括:样本用户向量和样本内容对应的种子用户向量;
调用所述第一全连接层对所述种子用户向量进行特征提取,得到种子相似扩散向量;以及,调用所述第二全连接层对所述样本用户向量进行特征提取,得到样本相似扩散向量;
调用所述注意力单元根据所述种子相似扩散向量和所述样本相似扩散向量计算得到所述种子加权向量;
计算所述种子加权向量和所述样本相似扩散向量之间的向量距离;
根据所述向量距离计算第二误差损失,根据所述第二误差损失采用反向传播算法对所述相似人群扩散模型进行训练。
根据本申请的另一方面,提供了一种内容推荐装置,所述装置包括:
获取模块,用于获取目标用户的目标用户向量;
候选内容确定模块,用于根据所述目标用户向量确定n组种子用户向量,所述n组种子用户向量与n条候选推荐内容对应;所述n为正整数;
计算模块,用于调用相似人群扩散模型计算所述目标用户向量和每组所述种子用户向量的相似度,所述相似人群扩散模型用于基于注意力机制计算用户向量之间的相似度;
目标内容确定模块,用于根据所述n组种子用户向量各自的所述相似度,确定所述n条候选推荐内容中向所述目标用户推荐的目标内容。
根据本申请的另一方面,提供了一种用户向量提取模型的训练装置,所述装置包括:
获取模块,用于获取第一训练样本,所述第一训练样本包括多个样本用户的用户特征和对样本内容的互动记录;
输入模块,用于将第一样本用户的用户特征输入所述用户向量提取模型,得到第一用户向量;所述第一样本用户是所述第一训练样本内多个样本用户 中的任意一个;
计算模块,用于计算所述第一用户向量与所述样本内容的嵌入向量的点积;
所述计算模块,还用于根据所述点积和所述第一样本用户对所述样本内容的互动记录,计算得到第一误差损失;
所述计算模块,还用于根据所述第一误差损失采用反向传播算法对所述用户向量提取模型进行训练。
根据本申请的另一方面,提供了一种相似人群扩散模型的训练装置,所述装置包括:
获取模块,用于获取第二训练样本,所述第二训练样本包括:样本用户向量和样本内容对应的种子用户向量;
调用模块,用于调用所述第一全连接层对所述种子用户向量进行特征提取,得到种子相似扩散向量;以及,调用所述第二全连接层对所述样本用户向量进行特征提取,得到样本相似扩散向量;
所述调用模块,还用于调用所述注意力单元根据所述种子相似扩散向量和所述样本相似扩散向量计算得到所述种子加权向量;
计算模块,用于计算所述种子加权向量和所述样本相似扩散向量之间的向量距离;
训练模块,用于根据所述向量距离计算第二误差损失,根据所述第二误差损失采用反向传播算法对所述相似人群扩散模型进行训练。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:
处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的内容推荐方法、或者用户向量提取模型的训练方法、或者相似人群扩散模型的训练方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的内容推荐方法、或者用户向量提取模型的训练方法、或者相似人群扩散模型的训练方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如上所述的内容推荐方法、或者用户向量提取模型的训练方法、或者相似人群扩散模型的训练方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
采用n组种子用户向量来表征n条候选推荐内容在兴趣方面的特性,并在相似人群扩散模型中引入注意力机制,该注意力机制用于计算目标用户向量和候选推荐内容对应的多个种子用户向量之间的相似度,以确定目标用户对候选推荐内容的感兴趣程度,由于该注意力机制使得同一组种子用户向量在对不同的目标用户进行兴趣预测时提供不同的加权,从而提高了种子用户 向量的表达能力,有效提高相似人群扩散模型在预测时的准确性和可靠程度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的内容推荐系统的结构框图;
图2是本申请一个示例性实施例提供的内容推荐方法的示意图;
图3是本申请一个示例性实施例提供的内容推荐方法的流程图;
图4是本申请另一个示例性实施例提供的内容推荐方法的流程图;
图5是本申请另一个示例性实施例提供的内容推荐方法的流程图;
图6是本申请另一个示例性实施例提供的内容推荐方法的结构图;
图7是本申请另一示例性实施例提供的内容推荐方法的流程图;
图8是本申请一示例性实施例提供的内容推荐方法的用户向量的提取过程图
图9是本申请另一个示例性实施例提供的神经网络模型推荐后的界面内容图;
图10是本申请一个示例性实施例提供的用户向量的获取过程的流程图;
图11是本申请一个示例性实施例提供的神经网络模型中的用户向量获取方法的流程图;
图12是本申请一个示例性实施例提供的相似人群扩散模型的训练方法的流程图;
图13是本申请一个示例性实施例提供的注意力单元的结构图;
图14是本申请一个示例性实施例提供的内容推荐的界面图;
图15是本申请一个示例性实施例提供的内容推荐功能的显示流程图;
图16是本申请另一个示例性实施例提供的内容推荐的界面图;
图17是本申请一个示例性实施例提供的性能比较图;
图18是本申请另一个示例性实施例提供的性能比较图;
图19是本申请一个示例性实施例提供的内容推荐装置的框图;
图20是本申请另一个示例性实施例提供的内容推荐装置的框图;
图21是本申请另一个示例性实施例提供的内容推荐装置的框图;
图22是本申请一个实施例提供的一种服务器的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请实施例涉及的若干个名词进行简介:
神经网络模型:是由多个处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统。神经网络模型用于模拟和反映人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。
相似人群扩散(look-alike)模型:是一种基于种子用户和目标用户之间的相似性,对目标用户进行内容推荐的神经网络模型。种子用户可以是一个用户或一群用户,比如,点击过网页A的300万个用户可被视为该网页A的种子用户人群。
注意力机制(Attention Mechanism):是利用有限的注意力资源从大量信息中快速筛选出高价值信息的手段。注意力机制被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。
目标用户向量:用于表征目标用户的兴趣的向量。
种子用户向量:用于表征种子用户的兴趣的向量。
某个候选推荐内容对应的种子用户人群:包括与该候选推荐内容发生过互动行为的用户。发生过互动行为的用户包括但不限于:点击过候选推荐内容的用户、分享过候选推荐内容的用户、阅读停留时长超过阈值的用户、评论或点赞过候选推荐内容的用户中的至少一种。
内容:采用文字、图片、表情、音频和视频中的至少一项来组成的信息集合。比如,内容可以是网页、电视剧、音乐等。
在相似人群扩散模型中,通过计算目标用户和种子用户之间的相似度来进行内容推荐。种子用户通常为很多个,比如几十个、几百个或几千个。在这些种子用户中,可能存在一些种子用户与目标用户非常相似,而另外一些种子用户与目标用户之间的相似度较低。通常情况下,每个种子用户都是同等对待的,因此相似度较低的种子用户会引入较大的噪声,使得相似人群扩散模型的精度下降。
本申请实施例中,在相似人群扩散模型中引入了注意力机制,该注意力机制用于计算目标用户向量和候选推荐内容对应的种子用户向量之间的相似度。针对不同的目标用户,该注意力机制能够从多个种子用户向量中,选择出对当前的目标用户进行内容推荐更具参考价值的向量信息,从而提高向目标用户推荐内容的准确性。
图1示出了本申请一个示例性实施例提供的内容推荐系统100的结构框图。该内容推荐系统100包括:终端110和推送平台140。
终端110通过无线网络或有线网络与推送平台140相连。终端110可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3播放器、MP4播放器和膝上型便携计算机等设备中的至少一种。终端110安装和 运行有支持内容推荐的应用程序。该应用程序可以是声音社交应用程序、即时通讯应用程序、团队语音应用程序、基于话题或频道或圈子进行人群聚合的社交类应用程序、基于购物的社交类应用程序、浏览器程序、视频程序等应用程序中的任意一种。示意性的,终端110是第一用户使用的终端,终端110中运行的应用程序登录第一用户帐号。
终端110通过无线网络或有线网络与推送平台140相连。
推送平台140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。推送平台140用于为支持内容推荐的应用程序提供后台服务。可选地,推送平台140承担主要计算工作,终端110承担次要计算工作;或者,推送平台140承担次要计算工作,终端110承担主要计算工作;或者,推送平台140、终端110两者之间采用分布式计算架构进行协同计算。
在一些实施例中,推送平台140可以包括:接入服务器141、内容推荐服务器144和数据库146。接入服务器141用于为终端110提供接入服务。内容推荐服务器144用于提供内容推荐有关的后台服务。内容推荐服务器144可以是一台或多台。当内容推荐服务器144是多台时,存在至少两台内容推荐服务器144用于提供不同的服务,和/或,存在至少两台内容推荐服务器144用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。内容推荐服务器144中设置有相似人群扩散模型。在本申请实施例中,将基于实时注意力机制的相似人群扩散模型简称为RALM(Realtime Attention based Look-alike Model)。
本领域技术人员可以知晓,在图1所示的内容推荐系统110中,终端110的数量可以更多或更少,比如上述终端110可以仅为一个,或者上述终端110为几十个或几百个,或者更多数量,此时上述内容推荐系统还包括其他终端110。本申请实施例对终端110的数量和设备类型不加以限定。
图2示出了一个示例性实施例提供的内容推荐方法的示意图。在内容推荐服务器114中运行有基于注意力机制的相似人群扩散模型1141。
内容推荐服务器114提取到目标用户的用户特征,并将该目标用户的用户特征输入到用于提取用户向量的用户向量提取模型240中,用户向量提取模型240是基于注意力机制的神经网络模型,该神经网络模型中包括基于自注意力的合并层,将用户特征以向量的形式输入至用户向量提取模型240中后,经由合并层计算各个用户特征的权重并进行加权融合,输出能够代表该用户兴趣的用户向量。与传统神经网络模型中广泛使用的连接层相比,该合并层的性能显著优于传统的连接层,能够解决强相关特征和弱相关特征带来的过渡拟合和噪声问题,尤其在多域特征上表现出显著的优越的性能。
每个目标用户对应有候选推荐内容包241(或候选推荐内容池),候选推荐内容包241中包括多条候选推荐内容,例如包括:候选推荐内容1、候 选推荐内容2、候选推荐内容3……候选推荐内容N,每条候选推荐内容对应一组与该候选推荐内容互动过的种子用户,采用向量的方式表示每个种子用户,相应地,与某条候选推荐内容对应的一组种子用户向量即可代表该条候选推荐内容在兴趣维度上的特性。
内容推荐服务器114将目标用户向量和用于代表某条候选推荐内容的一组种子用户向量,输入至基于注意力机制的相似人群扩散模型1141中。该相似人群扩散模型1141能够基于注意力机制,从一组种子用户向量中挑选出对于目标用户更有参考价值的向量进行相似度计算。
在一些实施例中,该相似人群扩散模型1141中的注意力单元包括全局注意力单元和局部注意力单元,其中,全局注意力单元用于捕捉多个种子用户向量的组成情况,对具有代表性的个体(也即与目标用户相近的种子用户向量)进行加权,并对噪声个体(也即与目标用户不太相近的种子用户向量)进行惩罚,相比于对每个种子用户向量进行同等处理的方式能够取得更优的效果;局部注意力单元用于捕捉与目标用户向量最接近的部分种子用户向量,将相关个体加权到目标用户,使得每组种子用户向量的表现力在不同的目标用户之间发生变化,从而大大提高种子用户向量的表达能力。
内容推荐服务器114将每条候选推荐内容的种子用户向量与目标用户向量进行计算得到相似度,该相似度用于表示目标用户对该条候选推荐内容的感兴趣程度。将每一条候选推荐内容按照相似度分数进行排序,将排名靠前的候选推荐内容推荐给目标用户。
图3示出了一个示例性实施例提供的内容推荐方法的流程图。该方法可以由图1所示的内容推荐服务器144来执行,该方法包括以下步骤:
步骤201,获取目标用户的目标用户向量。
目标用户是待推送推荐内容的用户帐号。目标用户向量是用来代表目标用户兴趣的向量。内容推荐服务器144根据目标用户向量可以确定推荐给该目标用户的候选推荐内容包,该候选推荐内容包包括n条候选推荐内容,n为大于1的整数。
可选地,目标用户向量是根据用户在至少一个域中的特征获得的,其中,域是按照特征属性划分的逻辑范围。示意性的,域包括性别、年龄、学历中的至少一种。
步骤202,根据目标用户向量确定n组种子用户向量。
n组种子用户向量与n条候选推荐内容对应。其中,采用n组种子用户向量中的第i组种子用户向量来表征第i条候选推荐内容在兴趣方面的特性。
对于第i条候选推荐内容,第i组种子用户向量对应的各个种子用户,是在历史时间段内与第i条候选推荐内容产生过互动行为的用户。
在一个示意性的例子中,内容推荐服务器144获得每条候选推荐内容的 历史点击用户的用户特征,点击过该候选推荐内容的用户视为该候选推荐内容的种子用户。一组种子用户的数量可以为L个,根据每个种子用户的用户特征计算得到该种子用户的种子用户向量,L个种子用户向量用于代表该条候选推荐内容在兴趣方面的特性。其中,L为正整数。
步骤203,调用相似人群扩散模型计算目标用户向量和每组种子用户向量的相似度。
其中,相似人群扩散模型用于基于注意力机制计算相似度。该相似人群扩散模型能够基于注意力机制,从一组种子用户向量中挑选出对于目标用户更有参考价值的种子用户向量进行相似度的计算。
内容推荐服务器144通过相似人群扩散模型计算出目标用户向量与每组种子用户向量的相似度,由于每组种子用户向量对应一条候选推荐内容,因此,可以利用每条候选推荐内容对应的一组种子用户向量的相似度,来评价目标用户对该条候选推荐内容的感兴趣程度。示意性的,相似度越高表示目标用户对该条候选推荐内容越感兴趣。
其中,注意力机制用于对一组中的多个种子用户向量赋予不同的权重,例如:对于与目标用户向量相似度较高的种子用户向量赋予较高的权重,对于相似度较低的种子用户向量赋予较低的权重,尽可能减小低相似度的种子用户向量对计算结果的噪声影响。
可选地,注意力机制包括:自注意力机制、全局注意力机制、局部注意力机制中的至少一种。
步骤204,根据n组种子用户向量各自的相似度,确定n条候选推荐内容中向目标用户推荐的目标内容。
在一些实施例中,可以根据相似度对n条候选推荐内容进行排序,将排序在前m位的候选推荐内容,确定为向目标用户推荐的目标内容,n和m均为正整数,m小于或等于n。在一些实施例中,也可以确定相似度高于预设阈值的候选推荐内容,作为向目标用户推荐的目标内容。本申请在此不对基于相似度确定目标内容的方式做任何限定。
需要说明的是,本实施例采用相似度高的前几条候选推荐内容作为向目标用户推荐的目标内容,在其他可能的实施方式中,也可以采用差异度分数对候选推荐内容进行排序,差异度分数用于表示目标用户对该条候选推荐内容的不感兴趣程度,根据目标用户的不感兴趣的候选推荐内容确定推荐策略。
综上所述,本实施例在相似人群扩散模型中引入注意力机制,该注意力机制用于计算目标用户向量和候选推荐内容对应的多个种子用户向量的相似度,并根据相似度确定目标用户对候选推荐内容的感兴趣程度,通过比较目标用户和多个种子用户之间的兴趣相似度,预测目标用户对一条候选推荐内容感兴趣的可能性,采用一组种子用户向量来表征一条候选推荐内容在兴趣方面的特性,能有效提高内容预测的准确性和可靠程度。
基于上述实施例中的内容,图4示出了另一个示例性实施例提供的内容推荐方法的流程图。上述步骤202包括以下步骤202a和步骤202b:
步骤202a,确定目标用户的n条候选推荐内容。
由于内容推荐系统中可供推荐的内容可能会非常多(比如上亿条),针对单个目标用户,内容推荐服务器144可以通过预设方式,初步筛选出目标用户对应的候选推荐内容包。
预设方式包括但不限于:采用其它神经网络模型进行筛选、基于目标用户的好友用户查看的内容进行筛选、基于最近需要投放的内容进行筛选等等方式。本申请实施例对目标用户对应的n条候选推荐内容的确定方式不加以限定。
步骤202b,对于n条候选推荐内容中的每条候选推荐内容,确定与该条候选推荐内容对应的一组种子用户向量。
对于n条候选推荐内容中的每条候选推荐内容,将与该候选推荐内容在预设时段内产生过互动行为的L个用户的用户向量,作为与候选推荐内容对应的一组种子用户向量,每组种子用户向量包括L个用户的用户向量。
示例性的,内容推荐系统确定一条候选推荐内容,将在预设时段内(如最近一周内、最近一个月内等)点击过(或阅读过、分享过、评论过、点赞过、采用虚拟资源或实体资源进行赞赏过等)该条候选推荐内容的300万个用户的用户向量作为种子用户向量。当然,也可以将与该条候选推荐内容以其他形式进行互动的用户,做为该条候选推荐内容的种子用户。
本技术方案通过在相似人群扩散模型中引入基于注意力机制的注意力单元,对不同的种子用户赋予不同的权重,从而提高相似人群扩散模型的推荐准确度。下面结合图5和图6对本方案做进一步详细说明,其中,图5示出了另一个示例性实施例提供的内容推荐方法的流程图,图6示出了另一个示例性实施例提供的内容推荐方法的流程图。
结合图5,建立了塔状的学习模型。左侧的称为“种子塔”,以n个种子用户的种子用户向量作为输入量,记为R seeds∈R n×m,其中m表示种子用户向量的维数。在第一层包括作为变换矩阵的第一全连接层310,将种子用户向量的n×m的输入矩阵转换为n×h的矩阵大小,其中h表示变换后的种子look-alike向量的维数。然后,全局注意力单元根据多个种子look-alike向量计算得到全局向量,局部注意力单元将多个种子look-alike向量和目标look-alike向量计算得到局部向量,将全局向量和局部向量合并到一个维数为h的种子加权向量中。右侧的称为“目标塔”,一个维数为m的目标用户向量被转化为维数h。在这两个塔的顶部,计算出种子加权向量和目标look-alike向量的点积,用于表示种子加权向量和目标look-alike向量的相似度。关于推 荐方面,相似度本质上是目标用户单击候选推荐内容的可能性。
相似人群扩散模型包括:第一全连接层310、第二全连接层320、注意力单元330和相似度计算层340;调用第一全连接层310对种子用户向量进行特征提取,得到种子look-alike向量,调用第二全连接层320对目标用户向量进行特征提取,得到目标look-alike向量;其中,第一全连接层310和第二全连接层320分别用于将种子用户向量和目标用户向量转换到神经网络能够识别的向量空间中。
示意性的,每条候选推荐内容在兴趣维度的特性,采用300万个点击过该条候选推荐内容的种子用户向量来进行表示。一方面,将该300万个种子用户向量输入至第一全连接层310中,提取300万个种子用户向量特征,得到种子look-alike向量。另一方面,将目标用户向量输入至第二全连接层320中,提取目标用户向量特征,得到目标look-alike向量。可选地,种子look-alike向量和目标look-alike向量的计算过程是互相独立的,本实施例对两者的执行先后顺序不加以限定。
在该过程中,通过注意力单元330根据种子look-alike向量和目标look-alike向量计算得到全局向量和局部向量,根据全局向量和局部向量计算得到种子加权向量;通过相似度计算层340计算种子加权向量和目标look-alike向量之间的向量距离,将向量距离确定为相似度。然后,内容推荐服务器144按照相似度由高到低的顺序,进行内容推荐。
综上所述,本实施例中通过注意力单元对点击过该条候选推荐内容的多个种子用户向量和目标用户向量进行计算,能够有效提高种子用户向量和目标用户向量之间的相似度的准确度,减少种子用户向量中的噪声影响,从而获得能够更准确地反映目标用户对候选推荐内容的感兴趣程度。
图6示出了一个示例性实施例提供的内容推荐方法的流程图。示意性的,一条候选推荐内容的种子用户群由与该条候选推荐内容互动过的L个种子用户组成,种子用户群和目标用户通常受两方面影响,一方面是种子用户自身的组成情况,另一方面是目标用户与种子用户群中相似的用户信息。
结合图5,本实施例中的注意力单元330包括局部注意力单元,用于提取种子用户向量中的局部表示,并将相关个体加权到目标用户中,使种子用户向量的表现力在不同的目标用户之间发生变化。本实施例中的注意力单元330还包括全局注意力单元,用于提取全部种子用户向量的自身组成情况,对全部种子用户向量中具有代表性的个体进行加权,并对噪声个体进行惩罚,从而获得更准确的种子向量表示。示意性的,注意力单元的执行步骤包括两个分支:
第一分支包括:
步骤2031a,调用第一全连接层对种子用户向量进行特征提取,得到种子 look-alike向量。
步骤2031b,调用局部注意力单元对目标look-alike向量和种子look-alike向量计算得到局部注意力向量。
Figure PCTCN2020086946-appb-000001
其中,E s表示种子用户向量矩阵,E u表示目标用户向量,W l表示局部注意力的转换矩阵,
Figure PCTCN2020086946-appb-000002
表示最终经过注意力计算后加权求和所得的局部注意力向量。
为了计算种子用户向量和目标用户向量之间的相似性,本实施例必须将多个种子用户向量汇集成一个,均值池化是一种常用的方法。一般来说,在数百万种子用户向量中,可能只有一小部分种子用户的兴趣与目标用户有关。因此,本实施例在这里设置了一个局部注意力单元,以激活对某个目标用户的局部兴趣并进行适应性调整,并自适应地向目标用户学习种子的个性化表示
第二分支包括:
步骤2032a,调用第二全连接层对目标用户向量进行特征提取,得到目标look-alike向量。
步骤2032b,调用全局注意力单元对种子look-alike向量计算得到全局注意力向量。
可选地,全局注意力单元捕捉相应的信息生成对应向量,计算公式如下:
Figure PCTCN2020086946-appb-000003
其中,E S表示种子用户向量矩阵,W g表示全局注意力的转换矩阵,
Figure PCTCN2020086946-appb-000004
表示最终经过注意力计算后加权求和所得的全局注意力向量。
步骤2033,对局部注意力向量和全局注意力向量进行加权计算,得到种子加权向量。
步骤2034,计算种子加权向量和目标look-alike向量之间的向量距离,将向量距离确定为相似度。
通过相似度算法得出两个向量的相似度。可选地,向量的相似度采用两个向量之间的余弦距离来表征。该余弦距离采用步骤2032中的目标look-alike向量和步骤2033中的种子加权向量之间的乘积计算得到。
示意性的,步骤2033和步骤2034可以通过如下公式计算:
Figure PCTCN2020086946-appb-000005
其中,α和β是加和权重。作为一个示例,α=0.3,β=0.7。
综上所述,本实施例通过采用全局注意力单元和局部注意力单元对种子用户向量进行计算。其中,全局注意力单元用来学习种子用户向量的全局代表性,对具有代表性的个体进行加权,并对噪声个体惩罚,从而获得更为准 确的全局表示;局部注意力单元针对特定的目标用户自适应地学习种子表示,使种子的表示因受众不同而不同,从而显著提高了种子用户向量的表达能力。
结合参考图7,本申请实施例提供了一种基于实时注意力机制的相似人群扩散模型RALM,该RALM包括有用户向量提取模型240和相似人群扩散模型1141。该用户向量提取模型240能够提取目标用户的目标用户向量。相似人群扩散模型1141包括全局注意力单元1141a和局部注意力单元1141b。
以候选推荐内容是最新消息或长尾内容为例,每个最新消息或长尾内容对应有一组种子用户向量,采用该组种子用户向量来代表该候选推荐内容在兴趣方向的特性,全局注意力单元1141a用来基于一组种子用户向量计算全局向量,局部注意力单元1141b用来基于一组种子用户向量和目标用户向量计算局部向量,然后根据全局向量和局部向量计算得到种子加权向量,计算种子加权向量和目标用户向量之间的距离作为相似度。RALM按照相似度由高到低的顺序,向目标用户推送候选推荐内容。
用户向量提取模型240应该使用尽可能多的用户特征域来进行目标用户表示学习,以提高用户兴趣的多样性。基于深度学习的模型能够对多种特征进行建模。然而根据发明人的实验发现,类似DNN的深度模型在输入弱相关特征时表现出更差的性能;另外,像感兴趣的标签这样的强相关特征会导致过拟合,像购物兴趣这样的弱相关特征甚至会产生一定程度的负面影响。本申请实施例提供了一种采用注意力机制的用户向量提取模型240,能够解决或改善这些问题。
图8示出了一示例性实施例提供的用户向量的生成方法的流程图。该方法可以用于生成每个用户的用户向量,比如目标用户的目标用户向量和种子用户的种子用户向量。
作为本实施例的一个示例,用户的用户特征包括:离散特征和连续特征中的至少一种。
可选地,用户特征包括但不限于:人口属性特征、设备特征、历史行为特征和标签特征中的至少一类。在一个示例中,离散特征包括人口属性特征、设备特征和标签特征;连续特征包括历史行为特征。
人口属性特征用于指示用户在人物基础属性上的特征。示意性的,人口属性特征包括但不限于:性别、年龄、学历、婚姻情况、地址、收入中的至少一种。其中,性别可视为一个域(或用户特征域)、年龄可视为一个域、学历可视为一个域等等。域是对一个训练集中样本子集产生整体性分布偏差的因素,比如对于人脸识别,不同用户的发色黑、黄和白可视为一种域的差异;不同用户是否戴有眼镜,也可视为一种域的差异;不同用户是否蓄有胡子,也视为一种域的差异。
设备特征用于指示用户使用的电子设备的特征。示意性的,设备特征包括但不限于:硬件型号、操作系统类型、生产厂商、国别版本、唯一硬件标 识码、网络地址中的至少一种。
历史行为特征用于表征用户在使用互联网服务时的各种行为产生的特征。示意性的,历史行为特征包括但不限于:阅读行为、点赞行为、回复行为、分享行为、购买行为、网络社交行为、加入会员行为中的至少一种。
标签特征是由系统或其他用户以标签形式为该用户标定的特征。标签特征可以是用户感兴趣的标签、购物兴趣标签、点击兴趣标签等。示意性的,标签特征包括但不限于:幽默、善良、90后、金牛座、美食、起床困难户、宅女、韩剧达人、旅游、完美主义等。
可选地,人口属性特征、设备特征、行为特征和标签特征均采用向量表示。
用户向量提取模型240包括:嵌入层(含均值池化层601和全连接层602)、合并层603和全连接层604。
用户向量提取模型240将离散特征经过均值池化层601转换为向量形式,将连续特征经过全连接层602转换为向量模式,将向量形式的用户特征输入至合并层603中。其中,合并层603是基于自注意力机制的神经网络层,由特征输入层提取的向量形式的用户特征,经由合并层603计算各用户特征的权重并进行加权融合,得到更能代表当前用户的用户兴趣的用户向量。
合并层603将输出结果输入至全连接层604中,其中,全连接层604用于捕获各向量的非线性关联关系,最终输出能够代表该用户兴趣的用户向量。
作为本实施例的一个示例,上述合并层603可以基于改进的多层感知器(Multi-Layer Perceptron,MLP)来实现。在图8的右下框中示出了基本的多层感知器和本实施例中改进的多层感知器的对比。
基本的多层感知器包括:连接层61和MLP层。多个域的用户特征的向量表示通过连接层61连接为一个宽的密集层向量(包括图8中的向量1和向量2),该宽的密集层向量将输入至MLP层中进行处理。发明人通过对基本的多层感知器的训练过程进行观察发现,训练过程的权重优化总是对某些特定的域进行过拟合,这些特定的域与目标用户对内容的兴趣(比如感兴趣的标签)密切相关,导致推荐结果总是由强相关特征来决定,导致弱相关特征对推荐过程的贡献是不足的,比如用户的购物兴趣对推荐过程做出贡献不足。因此,基本的多层感知器无法全面理解多域特征,导致最终的推荐结果缺乏多样性。
改进的多层感知器包括:注意力合并层62和MLP层。该注意力合并层62包括:并列的多个全连接层和自注意力单元。全连接层的数量与用户特征域的数量相同,每个域的用户特征向量通过全连接层进行连接后,经过自注意力单元根据上下文用户特征来学习权重(比如图中的a1和a2)的个性化分布,从而激活不同域对应的神经元的不同部位,确保强相关特征和弱相关特征都能有效地发挥作用。
综上所述,本实施例提供的方法,通过注意力合并层62能够确保强相关特征(比如感兴趣的标签)和弱相关特征(比如购物兴趣)均能够对推荐过程做出贡献,从而提高了用户向量提取模型所提取到的用户特征向量准确性,实现“千人千面”的内容推荐效果。
图9示出了一示例性实施例提供的内容推荐方法的流程图,该方法包括:在线服务阶段、在线异步处理阶段和离线训练阶段。
在线服务阶段
即为图3、图4和图6实施例中介绍的预测过程。该在线服务阶段包括步骤701,获取目标用户的目标用户向量;步骤702,根据目标用户向量确定目标用户对应的n条候选推荐内容,遍历候选推荐内容;其中,每个目标用户都可以对应多条候选推荐内容,内容推荐服务器对每条候选推荐内容713对应的多个种子用户向量714与目标用户向量进行比较,在比较过程中采用局部注意力单元703和全局注意力单元704进行特征提取,根据目标用户向量的特性在不同维度对种子用户向量赋予不同权重,步骤705,计算目标用户向量与代表该条候选推荐内容的多个种子用户向量的相似度分数;步骤706,根据每条候选推荐内容的相似度分数进行排序服务,然后根据相似度分数由高到低的顺序向目标用户进行内容推荐。
在线异步处理阶段
为保证新闻资讯等内容能够被实时快速曝光,图9所示的推荐系统中还包括用户反馈监控模块,当一条推荐内容被推送到多个目标用户后,每分每秒都会产生很多互动的用户(比如点击该推荐内容的用户),用户反馈监控模块会实时获取用户点击日志712,采集最近点击过该推荐内容的用户作为种子用户,因此每条候选推荐内容对应的种子用户的名单会实时更新。
示意性的,用户反馈监控模块实时更新库存的候选推荐内容对应的种子用户名单及种子用户向量,为防止短时间内候选推荐内容的点击用户过多,出现内容推荐服务器114在对种子用户向量进行后续聚类计算时负担过大的问题,每条候选推荐内容对应的种子用户群仅保留最近产生有互动行为的300万个用户。当然,每条候选推荐内容仅保留用户的数量可以是300万,也可以是其他数量,具体参数由技术人员设定。互动行为包括点击、阅读、点赞、评论、转发中的至少一种。
另一方面,对于一条候选推荐内容713,上述实施例中以选取最近点击过该候选推荐内容的300万个用户作为种子用户,基于注意力机制的相似人群扩散模型1141计算300万个种子用户的种子用户向量与目标用户向量之间的相似度分数。由于对于每条候选推荐内容计算300万个种子用户向量的计算量非常大,因此为了减少相似人群扩散模型1141的计算量和计算时间,本实施例可选地采用聚类的方式减轻相似人群扩散模型1141的运算负担。
可选地,本实施例采用目标聚类算法711(比如K-means聚类)对同一组中的种子用户向量进行聚类处理,对于n组种子用户向量中的第i组种子用户向量,将第i组种子用户向量中的L个种子用户向量聚类为K个种子用户向量,K小于L,i小于或等于n。
示例性的,聚类方法包括:将L个种子用户向量采用K-means聚类算法聚类为K个集合;将同一个集合中的至少两个种子用户向量进行平均,得到与该集合对应的种子用户向量。以L为300万,K为300个为例,该K-meam聚类过程能够将一条候选推荐内容对应的300万个种子用户向量,聚类为300个种子用户向量。或者,对于所述K个集合中的每个集合,将该集合中位于聚类质心的种子用户向量,确定为与该集合对应的种子用户向量。
当候选推荐内容对应L个种子用户向量时,将L个种子用户向量异步聚类为K个种子用户向量,由于K小于L,使计算次数缩小至原来的K/L,能有效减少神经网络模型的运算量。
作为本申请的一个示例,当种子用户包括两个以上时:种子用户1、种子用户3、…、种子用户x,种子用户1的种子用户向量为[0.1,0.2,0.8,0.9,0.2,0.4,0.6],种子用户3的种子用户向量为[0.8,0.2,0.2,0.2,0.0,0.6,0.6],…,种子用户x的种子用户向量为[0.5,0.7,0.2,0.5,0.6,0.7,0.8]。每个种子用户的用户向量为M维向量,将每个M维的用户向量中的第i维度值进行平均,1≤i≤M,合并得到一个新的M维向量作为该种子用户的用户特征。比如,将每个种子用户向量中的第1维度值0.1、0.8、…、0.5进行平均,从而得到聚类后的种子用户向量中的第1维度值0.45,以此类推。
作为本申请的另一个示例,虽然种子用户向量是不断实时更新的,但每次插入新的种子用户向量后,不需要立即对K-means聚类的种子用户向量簇进行更新。推荐系统可以每5分钟(或其他时间间隔)来运行一次K-means算法,并将聚类得到的每个种子用户向量簇中的聚类质心向量作为聚类后的种子用户向量保存至数据库中,用于在线预测过程中。
聚类后的种子用户向量定义为:
R seeds={E centroid1,E centroid2,…,E centroidk};
其中,E centroidk是K-means聚类的第k个种子用户向量簇的聚类质心向量。
需要说明的是,K-means聚类算法只是示例性的举例说明,其他聚类算法如均值漂移聚类、基于密度的聚类方法(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)、用高斯混合模型(Gaussian Mixture Model,GMM)聚类等其他算法也可以达到减少神经网络模型计算量的目的,本实施例对此不做限定。
综上所述,本实施例提供的方法,通过对在线异步处理过程中的种子用户向量进行实时更新,使得突发性的最新新闻能够尽快收集足够多的用户历 史数据,从而尽快地作为候选推荐内容推荐给目标用户;还能够基于小众高质量文章的最近点击用户的种子用户向量,将小众高质量文章尽快推荐给潜在感兴趣的目标用户。
本实施例提供的方法,通过K-means算法对一组的数量庞大的种子用户向量进行聚类,从而得到精简数量后的种子用户向量,从而极大程度上减轻内容推荐服务器在计算相似度分数时的计算量。
离线训练阶段
该阶段是采用训练集对用户向量提取模型240、以及相似人群扩散模型1141进行训练的阶段。
对用户向量提取模型240进行训练的过程,可称为用户表示学习707,在该阶段中,离线训练服务器中输入各个用户的用户特征、以及每个用户对推荐内容的互动行为(如阅读文章、观看视频、订阅公众号等)作为样本,采用误差反向传播算法对用户向量提取模型240进行训练。
对相似人群扩散模型1141进行训练的过程,可称为look-alike学习708。look-alike学习708以用户表示学习707生成的能够代表用户兴趣的用户向量做为输入内容,将该用户的历史点击作为样本对用户向量进行训练,经过以点击作为正样本,不点击作为负样本,根据误差反向传播来调整相似人群扩散模型1141中各个神经网络层的权重。
下面采用两个不同的实施例来对用户向量提取模型240的训练过程,以及相似人群扩散模型1141的训练过程进行分别阐述。
图10示出了本申请一个示例性实施例提供的用户向量提取模型的训练方法的流程图。该方法可以由内容推荐服务器114或者额外的离线训练服务器来执行。用户向量提取模型包括嵌入层、合并层和全连接层,其中合并层是基于自注意力机制的神经网络层。该训练方法包括以下步骤:
步骤1001,获取第一训练样本,第一训练样本包括多个样本用户的用户特征和对样本内容的互动记录;
第一训练样本包括:样本用户的用户特征、样本内容的嵌入向量、样本用户对样本内容的互动记录。其中,互动记录包括:点击、点赞、评论、转发中的至少一种。
步骤1002,将第一样本用户的用户特征输入用户向量提取模型,得到第一用户向量;
结合图11可知,用户向量提取模型包括:嵌入层(含均值池化层601和全连接层602)、合并层603和全连接层604。在一些实施例中,合并层603包括:注意力合并层和MLP层。
将第一样本用户的离散特征经过映射(embedding)后输入均值池化层601转换为向量形式,将连续特征经过全连接层602转换为向量形式,将向量形式的用户特征输入至合并层603中,其中,合并层603是基于自注意力机制 的神经网络模型。
向量形式的用户特征经由合并层603计算各个用户特征的权重并进行加权融合,得到能够代表第一样本用户的用户兴趣的第一用户向量。第一样本用户是第一训练样本内多个样本用户中的任意一个。
步骤1003,计算第一用户向量与样本内容的嵌入向量的点积;
步骤1004,根据点积和第一样本用户对样本内容的互动记录,计算得到第一误差损失;
其中,在已有的多个候选内容中选择样本内容的方法可以视为:将用户表示学习作为多分类学习,从数百万候选内容中选择一个感兴趣的内容。为了提高训练效率,在计算第一误差损失时,本申请采用负采样代替传统的归一化指数softmax函数。显然,如果随机选取候选内容作为负样本,抽样分布就会偏离实际。因此,本实施例开发了一个类似噪声对比估计的损失函数,即谷歌在Word2vec中指出的损失函数。为了模拟一个无偏分布,本实施例首先根据所有候选内容的出现频率对它们进行排序,然后根据其排名计算每个候选内容作为样本内容的可能性:
p(x i)=[log(k+2)-log(k+1)]/log(D+1);
其中x i表示第i项候选内容,k表示第i项候选内容的秩,D表示所有候选内容的最大秩,p(X i)表示选择第i项候选内容作为负样本的可能性。当采用最活跃的用户行为主导训练损失时,本实施例将每个候选用户的最大正样本限制在50个,样本的正负比例为1/10。然后用Softmax函数,根据候选用户的特征U和第i项候选内容的特征,对第i项候选内容上选择c的可能性进行规范化:
Figure PCTCN2020086946-appb-000006
其中,u∈R N表示第一样本用户的高维嵌入向量,x j∈R N表示所有样本内容的嵌入向量。作为本申请的一个示例,样本内容的嵌入向量是由一个深层次的预测神经网络来产生的,e是自然常数,该预测神经网络可以是相关技术中用来进行预测的神经网络。此外,本实施例还以显式反馈和隐式反馈为例,确保推荐结果的多样性。所有类型的内容如文章、视频和网站上的行为都将被考虑。
设第一样本用户对样本内容产生了互动行为作为正样本,第一样本用户对样本内容未产生互动行为作为负样本。离线训练服务器计算点积与正样本(或负样本)之间的第一误差损失。
设向量u为第一样本用户的高维嵌入向量,x i表示第i个样本内容的嵌入向量,本实施例计算了P(c=i|U,X i)和交叉熵损失:
Figure PCTCN2020086946-appb-000007
其中y i∈{0,1},表示标签,0代表未点击行为,1代表点击行为。使用ADAM优化器来最小化误差损失。当误差损失收敛时,用最后一层的输出作为用户的用户向量(目标用户的目标用户向量或种子用户的种子用户向量)。
步骤1005,根据第一误差损失采用反向传播算法对用户向量提取模型进行训练。
示意性的,离线训练服务器采用基于梯度下降的反向传播(Back propagation)算法对预测误差进行反向传播,从而更新神经网络模型中的权重。
将一组训练样本输入用户向量提取模型进行训练,视为一次训练过程。当一次训练过程结束后,离线训练服务器判定本次训练过程是否满足训练结束条件。训练结束条件包括但不限于如下两种情况:
一、预测误差小于设定阈值;
该设定阈值由技术人员预先设定,或根据训练过程进行随时调整。
二、训练次数大于设定次数。
由于某些情况下,长时间训练也无法使得预测误差小于某个设定阈值。因此也可按照训练次数来设定训练结束条件,比如该训练次数达到10000次,则停止训练。
当本次训练过程未满足训练结束条件时,根据反向传播算法对预测误差进行反向传播,更新用户向量提取模型中的权重;当本次训练过程满足训练结束条件时,结束用户向量提取模型的训练。
综上所述,本实施例提供的用户向量提取模型的训练方法中,由于采用合并层来基于自注意力机制对多个域的用户特征进行特征提取,通过合并层能够确保强相关特征(比如感兴趣的标签)和弱相关特征(比如购物兴趣)均能够对推荐过程做出贡献,从而大幅度提高用户向量提取模型提取到的用户向量的表示准确性。
图12示出了本申请一个示例性实施例提供的相似人群扩散模型1141的训练方法的流程图。该方法可以由内容推荐服务器1141或者额外的离线训练服务器来执行。相似人群扩散模型包括:第一全连接层、第二全连接层和注意力单元。该训练方法包括以下步骤:
步骤1201,获取第二训练样本,第二训练样本包括:样本用户向量和样本内容对应的种子用户向量;
样本内容可以是文章、广告、新闻等,用于训练相似人群扩散模型的第二训样本的样本数量根据技术人员确定,本实施例不做限定。
每个样本内容对应的种子用户向量,是对该样本内容产生过互动行为的用户的用户向量。
步骤1202,调用第一全连接层对种子用户向量进行特征提取,得到种子look-alike向量,以及调用第二全连接层对样本用户向量进行特征提取,得到样本look-alike向量;
步骤1203,调用注意力单元根据种子look-alike向量和样本look-alike向量计算得到种子加权向量;
可选地,注意力单元包括:全局注意力单元和局部注意力单元。
结合参考图13,本申请实施例中的全局注意力单元包括:双曲线正切函数1311、线性函数1312、归一化指数函数1313。本申请实施例中的局部注意力单元包括:矩阵乘法函数1321、双曲线正切函数1322、线性函数1323和归一化指数函数1324。
离线训练服务器通过全局注意力单元中的双曲线正切函数1311、线性函数1312、归一化指数函数1313依次对种子look-alike向量进行处理,得到全局向量。
离线训练服务器通过局部注意力单元中的矩阵乘法函数1321、双曲线正切函数1322、线性函数1323和归一化指数函数1324依次对种子look-alike向量和样本look-alike向量,得到局部向量。
离线训练服务器对全局向量和局部向量加权求和,得到种子加权向量
步骤1204,计算种子加权向量和样本look-alike向量之间的向量距离;
向量距离可以采用余弦距离、Jaccard距离和点积距离中的至少一种。
步骤1205,根据向量距离计算第二误差损失,根据第二误差损失采用反向传播算法对用户向量提取模型进行训练。
本实施例使用逻辑斯蒂函数Sigmoid交叉熵函数作为损失函数;
Figure PCTCN2020086946-appb-000008
其中D表示训练集,x表示输入的样本用户向量,y为{0,1}中的标签,0代表样本用户的未点击行为,1代表样本用户的点击行为,p(x)是种子用户向量和样本用户向量之间通过Sigmoid函数预测的相似度分数。N代表训练集中的用户数量。
图14示出了本申请一个示例性实施例提供的内容推荐结果的界面图。上述实施方式中的内容推荐方法可以运用在文档推荐应用中,例如新闻推荐、文章推荐等,示意性的,该文档推荐应用可以为社交软件中的新闻子程序。文档推荐应用根据目标用户历史与文档的互动情况计算该目标用户的目标用户向量和候选推荐内容,采用上述内容推荐方法向其推荐相关文档。
上述实施方式中的内容推荐方法也可以运用在视频推荐应用中,该视频 推荐应用根据目标用户历史与视频的互动情况向其推荐相关视频内容。
可选地,互动方式包括点赞、收藏、评论、转发中的至少一种。
本申请各个实施例提供的内容推荐方法,可以应用于安装有目标应用程序的终端中,该目标应用程序是具有信息推送功能的应用程序,该终端可以是智能手机、平板电脑、个人计算机或便携式计算机等等。比如,该目标应用程序是游戏、社交类应用程序、即时通信应用程序、视频播放应用程序等等,本申请实施例对此不做限定。
下面结合几个示意性的应用场景,对本申请实施例提供内容推荐方法进行说明。
一、文章推荐场景
在阅读类应用程序中,本申请实施例提供的内容推荐方法可以实现成为应用程序中的一个内容推送模块。应用程序根据用户的日常阅读习惯,对点击阅读文章的时间长度、点赞、评论或转发等行为进行特征提取,得到该用户的用户特征。可选地,应用程序还可以获取用户在注册时上报的相关身份信息,示意性的,身份信息可以包括性别、年龄、学历、所在城市等。
二、视频推送场景
在视频推送场景下,本申请实施例提供的内容推荐方法可以实现成为应用程序中的一个内容推送模块。视频应用程序根据用户的观看内容以及观看时长确定该用户对该视频的感兴趣程度。可选地,应用程序根据用户观看该视频的时间长度与视频全长的占比判断用户对该视频的感兴趣程度,例如,用户观看时长为视频全长的100%,则认为该用户对该视频感兴趣,若观看时长小于视频全长的50%,则认为该用户对该视频不感兴趣。
当然,上述仅以几种可能的应用场景为例进行示意性说明,本申请实施例提供的方法还可以应用于其他需要内容推荐的应用场景,本申请实施例并不对具体应用场景进行限定。
在一个具体的例子中,上述方法可以应用于腾讯公司出品的即时通信应用“微信”中,微信是中国最受欢迎的即时通讯应用,拥有超过14亿的用户。如图15所示,用户的使用方法包括以下步骤:
步骤207,第一终端显示功能入口界面,功能入口界面上显示有信息展示界面的功能入口控件,功能入口控件上显示有新信息通知提醒;
由于应用程序可以通过多种应用功能,因此在初始状态下第一终端可以先显示该应用程序的功能入口界面,该功能入口界面上显示有信息展示界面的功能入口控件。可选地,该功能入口界面上还显示有其它功能界面的功能入口控件。
在如图16所示的示意性例子中,该应用程序是一个即时通讯程序,该即时通信程序的功能入口界面20上显示有“朋友圈”功能入口、“扫一扫”功能入口、“摇一摇”功能入口、“看一看”功能入口和“小程序”功能入口。其中,“看 一看”功能入口是信息展示界面的功能入口控件。
步骤208,第一终端在接收到对信息展示界面的功能入口控件的第一触发信号时,从功能入口界面跳转至信息展示界面进行显示。
当信息展示界面“看一看”的功能入口控件被点击后,从功能入口界面20跳转至信息展示界面30进行显示。
在如图16所示的示意性例子中,该信息展示界面30上包括“好看”标签页和“精选”标签页。该“好看”标签页用于显示上文中基于RALM推荐的信息,而“精选”标签页用于显示基于其它推荐算法推荐的推荐信息。在信息展示界面30刚打开时,可以默认显示“好看”标签页中的互动推荐信息。
在另一个示意性的例子中,信息展示界面包括:第一标签页和第二标签页,第一标签页和第二标签页中的任意一个标签页用于显示互动推荐信息,比如第二标签页用于显示感兴趣的信息,第一标签页用于显示长尾信息和热点新闻信息。可选地,第一终端从功能入口界面先跳转至信息展示界面的第一标签页进行显示,该第一标签页上还显示有第二标签页的标签。当接收到第二标签页的标签对应的触发信号时,在信息展示界面中将第一标签页切换为第二标签页进行显示。
深度学习(例如深度神经网络(DNNs)和递归神经网络(RNNs))等模型在推荐任务上越来越受到人们的青睐。这些基于深度学习的方法有效的给出了用户偏好、项目特征以及用户与项目之间的非线性关系,与传统的推荐算法相比,深度学习算法在大多数情况下都有较好的推荐性能。
在相关技术中,许多具有竞争力的长尾内容,包括推送的新颖内容和最新的新闻,通常因为缺乏推荐模型必需的行为特征难以达到广泛和及时的曝光。本实施例称之为推荐系统中的马太效应,导致推荐内容质量低下,多样性差。除了性能外,提高推荐结果的质量和多样性已经成为许多推荐系统面临的共同问题。一般情况下,损失和曲线下与坐标轴围成的面积(Area Under Curve,AUC)是排序模型评价中常用的度量标准。然而,竞争模型定义了不同的损失函数,使得比较损失变得困难。而且,AUC与样本中的正负比例是相关的。本实施例引入了一种名为K精度的度量,标记为prec@K,表示前K个结果将成为用户的实际阅读内容。方程如下:
Figure PCTCN2020086946-appb-000009
其中,K表示推荐结果的数量,R iK表示向用户i推荐的目标内容中的前K项,S表示用户已阅读的内容,N表示测试集中的用户数,有些用户的阅读量可能少于K项,导致不规律的低prec@K,所以本实施例在K与S i大小之间选取了一个最小值。在本实验中,本实施例比较了不同模型中的AUC和 prec@K,K∈{10,50},比较结果如表一所示
表一
模型 AUC prec@10 prec@50
逻辑回归模型 0.5252 0.0811 0.0729
雅虎相似人群扩散型 0.5512 0.1023 0.0941
Youtube DNN 0.5903 0.1217 0.1087
含均值池化层的RALM 0.5842 0.1108 0.0980
RALM 0.6012 0.1295 0.1099
本实施例可以看到逻辑回归模型的性能不佳,验证了深度模型的优势。另外,这也是由于它在获取簇信息能力的不足。雅虎公司提供的相似人群扩散模型表现比逻辑回归模型更好,但比深度模型弱。这是因为内容数量较大,并以一个非迭代的特征选择作为过滤器。Youtube DNN比雅虎相似人群扩散模型获得了0.0391的绝对增益,证明了深度模型的有效性。采用含均值池化层的RALM比雅虎相似模型获得了0.033的绝对AUC增益,但比Youtube DNN弱。这意味着简单地平均用户嵌入向量并不像端到端的深度模型那样有效。带有注意力单元的RALM在所有模型中表现最好,它比Youtube DNN获得了0.0109的绝对增益和0.0078/0.0022prec@10/prec@50的增益。这一改进证明了注意力机制有助于提取种子用户的信息,发现种子用户与目标用户之间的局部关系。
如图17所示,注意力合并层在AUC中的性能要好于级联层,在测试集中的损失也要好得多,这要归功于注意力单元的设计。当各个域连在一起并向前传送时,神经元的相同部分就会被激活给所有用户。当涉及到注意力合并层时,不同的神经元将被激活到不同的用户面前,这意味着学习到特征之间的个性化交互,这对模型有很大的帮助。在look-alike学习中,聚类数k是K-means聚类中的一个关键参数。
本实施例进行了一个实验来观察价值对性能的影响。在这个实验中,k被设为5,10,20,50,100,每一度量是平均从测试集经过5期的训练。
结合图18,其中,K表示推荐结果的数量,不同k值的RALM的性能比较图。可以看出,在k=20之后,AUC和prec@K是稳定的。随着k的增加,模型的性能得到了改善。结果表明,聚类越多,种子丢失信息越少。另一方面,更大的k意味着更多的计算量。在图18中,本实施例可以看到曲线中的弯头点,其中k=20之后度量值几乎没有变高,因此本实施例的在线模型中的K设置为20。
为了验证RALM给本实施例的推荐系统带来的好处,本实施例在实验环境中进行了A/B在线测试。本实施例按用户划分在线流量。对照组和实验组的ID和排列比例相同。为了在线评估性能,涉及以下指标:
曝光:曝光是指用户读取一个条目,并且该条目只计算一次。随着观众 通过look-alike模式扩展,对于给定的项目,应该接触到更多的用户,并且曝光量预计会增加。
点击率(Click-through Rate,CTR):随着受众的增加,许多新用户与种子用户分享相同的兴趣。因此,CTR预计不会降低。
分类标签的多样性:本实施例的目的之一是丰富用户对本实施例系统的兴趣,因此本实施例定义了一个名为多样性的度量。它由用户在一天中阅读的内容、类别或标记数表示。随着用户表示的更加全面,候选内容的种类将越来越多,类别和标签的多样性也会增加。
基尼系数:RALM旨在缓解马太效应,因此本实施例使用基尼系数来度量推荐系统中所有候选内容的点击量分布。较高的基尼系数表明,该系统消耗的长尾物质较多,且具有较好的分配能力。
表二
项目 变化
曝光 +9.112%
点击率 +1.09%
类别的多样性 +8.435%
标签的多样性 +15.938%
基尼系数 +5.36%
从表二中本实施例可以看到,由于观众的扩大,曝光率得到了很大的提升。同时点击率也略有增加,这表明扩展用户对这些内容非常感兴趣,此外,将注意力合并层应用于用户表示中,挖掘出影响用户兴趣的更多隐藏因素。因此,观众可以通过更多方面的兴趣得到扩展,分类和标签的多样性也显著增加。总的来说,RALM为种子提供了高质量和多样化的扩展。所有推荐的内容都可以到达合适的目标用户。相应地,基尼系数达到5.36%的增益。
以下为本申请的装置实施例,对于装置实施例中未详细阐述的细节,可参考上述对应的方法实施例。
图19示出了本申请一个示例性实施例提供的内容推荐装置的框图。该装置可以通过处理器、存储器以及存储器中的程序来实现。该装置包括:
获取模块701,用于获取目标用户的目标用户向量;
候选内容确定模块702,用于根据目标用户向量确定n组种子用户向量,n组种子用户向量与n条候选推荐内容对应;所述n为正整数;
计算模块703,用于调用相似人群扩散模型计算目标用户向量和每组种子用户向量的相似度,相似人群扩散模型用于基于注意力机制计算用户向量之间的相似度分数;
目标内容确定模块704,用于根据所述n组种子用户向量各自的相似度,确定所述n条候选推荐内容中向目标用户推荐的目标内容。
可选的,所述相似人群扩散模型包括:第一全连接层、第二全连接层和注意力单元;所述计算模块703用于:
调用第一全连接层对种子用户向量进行特征提取,得到种子相似扩散向量;以及,调用第二全连接层对目标用户向量进行特征提取,得到目标相似扩散向量;
调用注意力单元根据种子相似扩散向量和目标相似扩散向量计算得到种子加权向量;
用于计算种子加权向量和目标相似扩散向量之间的向量距离,将向量距离确定为相似度。
可选的,所述注意力单元包括:局部注意力单元和全局注意力单元;计算模块703用于:
调用局部注意力单元对目标相似扩散向量和种子相似扩散向量计算得到局部注意力向量;
调用全局注意力单元对种子相似扩散向量计算得到全局注意力向量;
对局部注意力向量和全局注意力向量进行加权计算,得到种子加权向量。
可选的,确定模块702用于:
确定目标用户的n条候选推荐内容;
对于n条候选推荐内容中的每条候选推荐内容,确定与该条候选推荐内容对应的一组种子用户向量;
可选的,确定模块702用于:
对于n条候选推荐内容中的每条候选推荐内容,将与候选推荐内容产生过互动行为的L个用户的用户向量,作为与该条候选推荐内容对应的一组种子用户向量。
可选的,确定模块702用于:
对于n条候选推荐内容中的每条候选推荐内容,确定与该条候选推荐内容在预设时段内产生过互动行为的L个用户的用户向量,作为与该条候选推荐内容对应的一组种子用户向量。
可选的,本申请实施例中的内容推荐装置还包括:聚类模块705。
聚类模块705,用于对于n组种子用户向量中的第i组种子用户向量,将第i组种子用户向量中的L个种子用户向量聚类为K个种子用户向量,K小于L,i小于或等于n。
可选的,聚类模块705用于:
将L个种子用户向量采用目标聚类算法聚类为K个集合;
对于K个集合中的每个集合,将该集合中的至少一个种子用户向量进行平均,得到与该集合对应的种子用户向量;或者,对于K个集合中的每个集合,将该集合中位于聚类质心的种子用户向量,确定为与该集合对应的种子用户向量
可选的,获取模块701用于:
调用用户向量提取模型中的嵌入层对所述目标用户在至少一个域上的用户特征进行特征提取,得到每个域对应的特征向量,域是按照特征属性进行划分的逻辑范围;
调用用户向量提取模型中的合并层计算每个域的域权重,基于所述各个域的域权重将各个域各自对应的特征向量进行加权融合,得到加权融合向量,合并层是基于注意力机制的神经网络层;
调用用户向量提取模型中的全连接层对加权融合向量进行特征提取,得到目标用户的目标用户向量。
图20示出了本申请一个示例性实施例提供的相似人群扩散模型的训练装置的框图。该装置可以通过处理器、存储器以及存储器中的程序来实现。该装置包括:
获取模块711,用于获取第二训练样本,第二训练样本包括:样本用户向量和样本内容对应的种子用户向量;
调用模块712,用于调用第一全连接层对种子用户向量进行特征提取,得到种子相似扩散向量;以及,调用第二全连接层对样本用户向量进行特征提取,得到样本相似扩散向量;
调用模块712,还用于调用注意力单元根据种子相似扩散向量和样本相似扩散向量计算得到种子加权向量;
计算模块713,用于计算种子加权向量和样本相似扩散向量之间的向量距离;
训练模块714,用于根据向量距离计算第二误差损失,根据第二误差损失采用反向传播算法对相似人群扩散模型进行训练。
图21示出了本申请一个示例性实施例提供的用户向量提取模型的训练装置,装置包括:
获取模块721,用于获取第一训练样本,第一训练样本包括多个样本用户的用户特征和对样本内容的互动记录;
输入模块722,用于将第一样本用户的用户特征输入用户向量提取模型,得到第一用户向量;第一样本用户是第一训练样本内多个样本用户中的任意一个;
计算模块723,用于计算第一用户向量与样本内容的嵌入向量的点积;
计算模块723,还用于根据点积和第一样本用户对样本内容的互动记录,计算得到第一误差损失;
计算模块723,还用于根据第一误差损失采用反向传播算法对用户向量提取模型进行训练。
本申请实施例还提供了一种计算机存储介质,该计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的内容推荐方法、用户向量提取模型的训练方法或者相似人群扩散模型的训练方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的内容推荐方法、用户向量提取模型的训练方法或者相似人群扩散模型的训练方法。
图22示出了本申请一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的内容推荐方法、用户向量提取模型的训练方法或者相似人群扩散模型的训练方法。具体来讲:
服务器800包括中央处理单元(CPU)801、包括随机存取存储器(RAM)802和只读存储器(ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性地,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

  1. 一种内容推荐方法,由服务器执行,所述方法包括:
    获取目标用户的目标用户向量;
    根据所述目标用户向量确定n组种子用户向量,所述n组种子用户向量与n条候选推荐内容对应;所述n为正整数;
    调用相似人群扩散模型计算所述目标用户向量和每组所述种子用户向量的相似度,所述相似人群扩散模型用于基于注意力机制计算用户向量之间的相似度;
    根据所述n组种子用户向量各自的所述相似度,确定所述n条候选推荐内容中向所述目标用户推荐的目标内容。
  2. 根据权利要求1所述的方法,所述相似人群扩散模型包括:第一全连接层、第二全连接层和注意力单元;
    所述调用相似人群扩散模型计算所述目标用户向量和每组所述种子用户向量的相似度,包括:
    调用所述第一全连接层对所述种子用户向量进行特征提取,得到种子相似扩散向量;以及,调用所述第二全连接层对所述目标用户向量进行特征提取,得到目标相似扩散向量;
    调用所述注意力单元根据所述种子相似扩散向量和所述目标相似扩散向量计算得到所述种子加权向量;
    计算所述种子加权向量和所述目标相似扩散向量之间的向量距离,将所述向量距离确定为所述相似度。
  3. 根据权利要求2所述的方法,所述注意力单元包括:局部注意力单元和全局注意力单元;
    所述调用所述注意力单元根据所述种子相似扩散向量和所述目标相似扩散向量计算得到所述种子加权向量,包括:
    调用所述局部注意力单元对所述目标相似扩散向量和所述种子相似扩散向量计算得到局部注意力向量;
    调用所述全局注意力单元对所述种子相似扩散向量计算得到全局注意力向量;
    对所述局部注意力向量和所述全局注意力向量进行加权计算,得到所述种子加权向量。
  4. 根据权利要求1至3任一所述的方法,所述根据所述目标用户向量确定n组种子用户向量,包括:
    确定所述目标用户的所述n条候选推荐内容;
    对于所述n条候选推荐内容中的每条候选推荐内容,确定与该条候选推荐内容对应的一组种子用户向量。
  5. 根据权利要求4所述的方法,所述对于所述n条候选推荐内容中的每 条候选推荐内容,确定与该条候选推荐内容对应的一组种子用户向量,包括:
    对于所述n条候选推荐内容中的每条候选推荐内容,确定与该条候选推荐内容在预设时段内产生过互动行为的L个用户的用户向量,作为与该条候选推荐内容对应的一组种子用户向量。
  6. 根据权利要求1至4任一所述的方法,所述方法还包括:
    对于所述n组种子用户向量中的第i组种子用户向量,将所述第i组种子用户向量中的L个种子用户向量聚类为K个种子用户向量,K小于L,i小于或等于n。
  7. 根据权利要求6所述的方法,所述将所述第i组种子用户向量中的L个种子用户向量聚类为K个种子用户向量,包括:
    将所述L个种子用户向量采用目标聚类算法聚类为K个集合;
    对于所述K个集合中的每个集合,将该集合中的至少一个种子用户向量进行平均,得到与该集合对应的种子用户向量;或者,对于所述K个集合中的每个集合,将该集合中位于聚类质心的种子用户向量,确定为与该集合对应的种子用户向量。
  8. 根据权利要求1至3任一所述的方法,所述获取所述目标用户的目标用户向量,包括:
    调用用户向量提取模型中的嵌入层对所述目标用户在至少一个域上的用户特征进行特征提取,得到每个域对应的特征向量,所述域是按照特征属性进行划分的逻辑范围;
    调用所述用户向量提取模型中的合并层计算所述每个域的域权重,基于所述各个域的域权重将所述各个域各自对应的所述特征向量进行加权融合,得到加权融合向量;所述合并层是基于注意力机制的神经网络层;
    调用所述用户向量提取模型中的全连接层对所述加权融合向量进行特征提取,得到所述目标用户的目标用户向量。
  9. 根据权利要求8所述的方法,所述合并层包括:注意力合并层和多层感知器MLP;所述注意力合并层是基于自注意力机制的神经网络层;
    所述调用所述用户向量提取模型中的合并层计算所述每个域的域权重,基于所述各个域的域权重将所述各个域各自对应的所述特征向量进行加权融合,得到加权融合向量,包括:
    调用所述注意力合并层计算所述各个域的域权重,将所述各个域各自对应的所述特征向量进行加权融合后输入至所述MLP;
    调用所述MLP对加权融合后的所述特征向量进行处理,得到所述加权融合向量。
  10. 根据权利要求8所述的方法,通过以下方式训练所述用户向量提取模型包:
    获取第一训练样本,所述第一训练样本包括多个样本用户的用户特征和 对样本内容的互动记录;
    将第一样本用户的用户特征输入所述用户向量提取模型,得到第一用户向量;所述第一样本用户是所述第一训练样本内多个样本用户中的任意一个;
    计算所述第一用户向量与所述样本内容的嵌入向量的点积;
    根据所述点积和所述第一样本用户对所述样本内容的互动记录,计算得到第一误差损失;
    根据所述第一误差损失采用反向传播算法对所述用户向量提取模型进行训练。
  11. 根据权利要求2所述的方法,通过以下方式训练所述相似人群扩散模型:
    获取第二训练样本,所述第二训练样本包括:样本用户向量和样本内容对应的种子用户向量;
    调用所述第一全连接层对所述种子用户向量进行特征提取,得到种子相似扩散向量;以及,调用所述第二全连接层对所述样本用户向量进行特征提取,得到样本相似扩散向量;
    调用所述注意力单元根据所述种子相似扩散向量和所述样本相似扩散向量计算得到所述种子加权向量;
    计算所述种子加权向量和所述样本相似扩散向量之间的向量距离;
    根据所述向量距离计算第二误差损失,根据所述第二误差损失采用反向传播算法对所述相似人群扩散模型进行训练。
  12. 一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1-11任一项所述的内容推荐方法。
  13. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1-11任一项所述的内容推荐方法。
  14. 一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-11任一项所述的内容推荐方法。
PCT/CN2020/086946 2019-05-13 2020-04-26 内容推荐方法、装置、设备及存储介质 WO2020228514A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/362,887 US20210326674A1 (en) 2019-05-13 2021-06-29 Content recommendation method and apparatus, device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910395560.4 2019-05-13
CN201910395560.4A CN110162703A (zh) 2019-05-13 2019-05-13 内容推荐方法、训练方法、装置、设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/362,887 Continuation US20210326674A1 (en) 2019-05-13 2021-06-29 Content recommendation method and apparatus, device, and storage medium

Publications (1)

Publication Number Publication Date
WO2020228514A1 true WO2020228514A1 (zh) 2020-11-19

Family

ID=67634465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/086946 WO2020228514A1 (zh) 2019-05-13 2020-04-26 内容推荐方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20210326674A1 (zh)
CN (1) CN110162703A (zh)
WO (1) WO2020228514A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112546632A (zh) * 2020-12-09 2021-03-26 百果园技术(新加坡)有限公司 游戏地图参数调整方法、装置、设备和存储介质
CN112785390A (zh) * 2021-02-02 2021-05-11 微民保险代理有限公司 推荐处理方法、装置、终端设备以及存储介质
CN112785391A (zh) * 2021-02-02 2021-05-11 微民保险代理有限公司 推荐处理方法、装置及智能设备、存储介质
CN112989116A (zh) * 2021-05-10 2021-06-18 广州筷子信息科技有限公司 一种视频推荐方法、系统及装置
CN113177104A (zh) * 2021-04-28 2021-07-27 平安科技(深圳)有限公司 基于自然语言处理的语句筛选方法、装置及计算机设备
CN113254803A (zh) * 2021-06-24 2021-08-13 暨南大学 一种基于多特征异质图神经网络的社交推荐方法
CN113407849A (zh) * 2021-07-15 2021-09-17 百果园技术(新加坡)有限公司 一种粗排序的方法及装置
CN113704452A (zh) * 2021-08-31 2021-11-26 平安银行股份有限公司 基于Bert模型的数据推荐方法、装置、设备及介质
CN114697711A (zh) * 2020-12-30 2022-07-01 武汉斗鱼网络科技有限公司 一种主播推荐方法、装置、电子设备和存储介质
CN115455306A (zh) * 2022-11-11 2022-12-09 腾讯科技(深圳)有限公司 推送模型训练、信息推送方法、装置和存储介质
US11647240B2 (en) * 2021-07-19 2023-05-09 Raters Group Ltd. Apparatus for outputting content
CN116542720A (zh) * 2023-07-05 2023-08-04 湖北工业大学 一种基于图卷积网络的时间增强信息序列推荐方法及系统
CN116738034A (zh) * 2022-10-10 2023-09-12 荣耀终端有限公司 一种信息推送方法及系统

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795527B (zh) * 2019-09-03 2022-04-29 腾讯科技(深圳)有限公司 候选实体排序方法、训练方法及相关装置
CN110633421B (zh) * 2019-09-09 2020-08-11 北京瑞莱智慧科技有限公司 特征提取、推荐以及预测方法、装置、介质和设备
CN110569447B (zh) * 2019-09-12 2022-03-15 腾讯音乐娱乐科技(深圳)有限公司 一种网络资源的推荐方法、装置及存储介质
CN112559777A (zh) * 2019-09-25 2021-03-26 北京达佳互联信息技术有限公司 内容项投放方法、装置、计算机设备及存储介质
CN110781396A (zh) * 2019-10-25 2020-02-11 上海喜马拉雅科技有限公司 一种信息推荐方法、装置、设备及存储介质
CN110795631B (zh) * 2019-10-29 2022-09-06 支付宝(杭州)信息技术有限公司 一种基于因子分解机的推送模型优化、预测方法和装置
CN110827078B (zh) * 2019-11-04 2024-04-05 上海喜马拉雅科技有限公司 一种信息推荐方法、装置、设备及存储介质
CN112788087B (zh) * 2019-11-11 2023-04-07 中国电信股份有限公司 业务产品信息推送方法、装置以及存储介质
CN111046285B (zh) * 2019-12-11 2023-04-25 拉扎斯网络科技(上海)有限公司 一种推荐排序确定方法、装置、服务器及存储介质
CN111046286B (zh) * 2019-12-12 2023-04-18 腾讯科技(深圳)有限公司 一种对象推荐方法、装置、以及计算机存储介质
CN111142850B (zh) * 2019-12-23 2021-05-25 南京航空航天大学 一种基于深度神经网络的代码片段推荐方法与装置
CN111159242B (zh) * 2019-12-27 2023-04-25 杭州小影创新科技股份有限公司 一种基于边缘计算的客户端重排序方法及系统
CN111159563B (zh) * 2019-12-31 2024-02-09 广州市百果园信息技术有限公司 用户兴趣点信息的确定方法、装置、设备及存储介质
CN111209953B (zh) * 2020-01-03 2024-01-16 腾讯科技(深圳)有限公司 近邻向量的召回方法、装置、计算机设备及存储介质
CN111563761A (zh) * 2020-01-19 2020-08-21 深圳前海微众银行股份有限公司 人群拓展方法、装置、设备及存储介质
CN111291266B (zh) * 2020-02-13 2023-03-21 深圳市雅阅科技有限公司 基于人工智能的推荐方法、装置、电子设备及存储介质
CN111339404B (zh) * 2020-02-14 2022-10-18 腾讯科技(深圳)有限公司 基于人工智能的内容热度预测方法、装置和计算机设备
CN113360745A (zh) * 2020-03-04 2021-09-07 阿里巴巴集团控股有限公司 一种数据对象推荐方法、装置及电子设备
CN111400512B (zh) * 2020-03-09 2023-12-01 北京达佳互联信息技术有限公司 一种筛选多媒体资源的方法及装置
CN111563802B (zh) * 2020-05-09 2023-04-14 腾讯科技(深圳)有限公司 虚拟物品推荐方法、装置、电子设备及存储介质
CN111738000B (zh) * 2020-07-22 2020-11-24 腾讯科技(深圳)有限公司 一种短语推荐的方法以及相关装置
CN111973996B (zh) * 2020-08-20 2024-03-12 腾讯科技(上海)有限公司 一种游戏资源投放方法和装置
CN112182384B (zh) * 2020-09-28 2023-08-25 平安科技(深圳)有限公司 基于对抗学习的内容推荐方法、装置和计算机设备
CN112035683A (zh) * 2020-09-30 2020-12-04 北京百度网讯科技有限公司 用户交互信息处理模型生成方法和用户交互信息处理方法
CN112100504B (zh) * 2020-11-03 2021-09-10 北京达佳互联信息技术有限公司 内容推荐方法、装置、电子设备及存储介质
CN112365576B (zh) * 2020-11-10 2023-07-25 网易(杭州)网络有限公司 庄园组件位置的推荐方法、装置及服务器
CN112287236A (zh) * 2020-11-19 2021-01-29 每日互动股份有限公司 文本消息的推送方法、装置、计算机设备及存储介质
CN112579889B (zh) * 2020-12-07 2022-05-03 北京百度网讯科技有限公司 物品推荐方法、装置、电子设备及存储介质
CN112559901B (zh) * 2020-12-11 2022-02-08 百度在线网络技术(北京)有限公司 资源推荐的方法、装置、电子设备、存储介质及计算机程序产品
CN112633931A (zh) * 2020-12-28 2021-04-09 广州博冠信息科技有限公司 点击率预测方法、装置、电子设备及介质
CN112733014A (zh) * 2020-12-30 2021-04-30 上海众源网络有限公司 推荐方法、装置、设备及存储介质
US11756105B2 (en) * 2021-03-23 2023-09-12 Ebay Inc System and methods for message timing optimization
CN112905897B (zh) * 2021-03-30 2022-09-09 杭州网易云音乐科技有限公司 相似用户确定方法、向量转化模型、装置、介质及设备
CN112967100B (zh) * 2021-04-02 2024-03-15 杭州网易云音乐科技有限公司 相似人群扩展方法、装置、计算设备以及介质
CN113139834A (zh) * 2021-04-29 2021-07-20 北京沃东天骏信息技术有限公司 信息处理方法、装置、电子设备和存储介质
US20230410155A1 (en) * 2021-07-07 2023-12-21 Baidu Usa Llc Systems and methods for gating-enhanced multi-task neural networks with feature interaction learning
CN113378071A (zh) * 2021-08-16 2021-09-10 武汉卓尔数字传媒科技有限公司 广告推荐方法及装置、电子设备、存储介质
CN114139046B (zh) * 2021-10-29 2023-03-24 北京达佳互联信息技术有限公司 对象推荐方法、装置、电子设备及存储介质
CN113868542B (zh) * 2021-11-25 2022-03-11 平安科技(深圳)有限公司 基于注意力模型的推送数据获取方法、装置、设备及介质
CN114036398B (zh) * 2021-11-30 2024-02-13 北京百度网讯科技有限公司 内容推荐和排序模型训练方法、装置、设备以及存储介质
CN113868466B (zh) * 2021-12-06 2022-03-01 北京搜狐新媒体信息技术有限公司 视频推荐的方法、装置、设备和存储介质
CN114048294B (zh) * 2022-01-11 2022-04-08 智者四海(北京)技术有限公司 相似人群扩展模型训练方法、相似人群扩展方法和装置
US11669848B1 (en) * 2022-04-22 2023-06-06 Raadz Inc. System and method for accurate predictions using a predictive model
US11915265B2 (en) 2022-04-22 2024-02-27 Raadz Inc. System and method for accurate predictions using a predictive model
CN114781553B (zh) * 2022-06-20 2023-04-07 浙江大学滨江研究院 一种基于并行多图卷积神经网络的无监督专利聚类方法
US11947601B2 (en) 2022-07-27 2024-04-02 Dropbox, Inc. Seeding and generating suggested content collections
CN115544385B (zh) * 2022-11-22 2023-04-04 浙江大华技术股份有限公司 平台推荐方法、电子设备和计算机可读存储介质
CN115713355B (zh) * 2023-01-09 2023-05-26 北京数势云创科技有限公司 一种用户目标人群扩散方法、装置及存储介质
CN116089726B (zh) * 2023-03-06 2023-07-14 北京网智天元大数据科技有限公司 汉藏语多方言多模态的资源推荐方法和装置
CN116029357B (zh) * 2023-03-29 2023-08-15 荣耀终端有限公司 训练样本生成、模型训练、点击率评估方法及电子设备
CN116108282B (zh) * 2023-04-12 2023-08-29 荣耀终端有限公司 一种信息推荐模型的训练方法、信息推荐方法及设备
CN116151892B (zh) * 2023-04-20 2023-08-29 中国科学技术大学 物品推荐方法、系统、设备及存储介质
CN117251643B (zh) * 2023-08-29 2024-05-07 海南大学 基于协同过滤和概率语言术语集的新闻推荐方法及系统
CN117009672B (zh) * 2023-10-08 2024-01-09 江西科技学院 基于大数据的活动推荐方法与系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447730A (zh) * 2015-12-25 2016-03-30 腾讯科技(深圳)有限公司 目标用户定向方法及装置
CN106250464A (zh) * 2016-07-28 2016-12-21 北京百度网讯科技有限公司 排序模型的训练方法及装置
CN108921221A (zh) * 2018-07-04 2018-11-30 腾讯科技(深圳)有限公司 用户特征的生成方法、装置、设备及存储介质
CN109389168A (zh) * 2018-09-29 2019-02-26 国信优易数据有限公司 项目推荐模型训练方法、项目推荐方法以及装置
CN109492157A (zh) * 2018-10-24 2019-03-19 华侨大学 基于rnn、注意力机制的新闻推荐方法及主题表征方法
US20190130257A1 (en) * 2017-10-27 2019-05-02 Sentient Technologies (Barbados) Limited Beyond Shared Hierarchies: Deep Multitask Learning Through Soft Layer Ordering
CN110929206A (zh) * 2019-11-20 2020-03-27 腾讯科技(深圳)有限公司 点击率预估方法、装置、计算机可读存储介质和设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447730A (zh) * 2015-12-25 2016-03-30 腾讯科技(深圳)有限公司 目标用户定向方法及装置
CN106250464A (zh) * 2016-07-28 2016-12-21 北京百度网讯科技有限公司 排序模型的训练方法及装置
US20190130257A1 (en) * 2017-10-27 2019-05-02 Sentient Technologies (Barbados) Limited Beyond Shared Hierarchies: Deep Multitask Learning Through Soft Layer Ordering
CN108921221A (zh) * 2018-07-04 2018-11-30 腾讯科技(深圳)有限公司 用户特征的生成方法、装置、设备及存储介质
CN109389168A (zh) * 2018-09-29 2019-02-26 国信优易数据有限公司 项目推荐模型训练方法、项目推荐方法以及装置
CN109492157A (zh) * 2018-10-24 2019-03-19 华侨大学 基于rnn、注意力机制的新闻推荐方法及主题表征方法
CN110929206A (zh) * 2019-11-20 2020-03-27 腾讯科技(深圳)有限公司 点击率预估方法、装置、计算机可读存储介质和设备

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112546632A (zh) * 2020-12-09 2021-03-26 百果园技术(新加坡)有限公司 游戏地图参数调整方法、装置、设备和存储介质
CN114697711A (zh) * 2020-12-30 2022-07-01 武汉斗鱼网络科技有限公司 一种主播推荐方法、装置、电子设备和存储介质
CN114697711B (zh) * 2020-12-30 2024-02-20 广州财盟科技有限公司 一种主播推荐方法、装置、电子设备和存储介质
CN112785390A (zh) * 2021-02-02 2021-05-11 微民保险代理有限公司 推荐处理方法、装置、终端设备以及存储介质
CN112785391A (zh) * 2021-02-02 2021-05-11 微民保险代理有限公司 推荐处理方法、装置及智能设备、存储介质
CN112785391B (zh) * 2021-02-02 2024-02-09 微民保险代理有限公司 推荐处理方法、装置及智能设备、存储介质
CN112785390B (zh) * 2021-02-02 2024-02-09 微民保险代理有限公司 推荐处理方法、装置、终端设备以及存储介质
CN113177104A (zh) * 2021-04-28 2021-07-27 平安科技(深圳)有限公司 基于自然语言处理的语句筛选方法、装置及计算机设备
CN113177104B (zh) * 2021-04-28 2023-10-03 平安科技(深圳)有限公司 基于自然语言处理的语句筛选方法、装置及计算机设备
CN112989116A (zh) * 2021-05-10 2021-06-18 广州筷子信息科技有限公司 一种视频推荐方法、系统及装置
CN113254803A (zh) * 2021-06-24 2021-08-13 暨南大学 一种基于多特征异质图神经网络的社交推荐方法
CN113407849A (zh) * 2021-07-15 2021-09-17 百果园技术(新加坡)有限公司 一种粗排序的方法及装置
US11647240B2 (en) * 2021-07-19 2023-05-09 Raters Group Ltd. Apparatus for outputting content
CN113704452A (zh) * 2021-08-31 2021-11-26 平安银行股份有限公司 基于Bert模型的数据推荐方法、装置、设备及介质
CN113704452B (zh) * 2021-08-31 2023-08-25 平安银行股份有限公司 基于Bert模型的数据推荐方法、装置、设备及介质
CN116738034A (zh) * 2022-10-10 2023-09-12 荣耀终端有限公司 一种信息推送方法及系统
CN115455306A (zh) * 2022-11-11 2022-12-09 腾讯科技(深圳)有限公司 推送模型训练、信息推送方法、装置和存储介质
CN116542720A (zh) * 2023-07-05 2023-08-04 湖北工业大学 一种基于图卷积网络的时间增强信息序列推荐方法及系统
CN116542720B (zh) * 2023-07-05 2023-09-19 湖北工业大学 一种基于图卷积网络的时间增强信息序列推荐方法及系统

Also Published As

Publication number Publication date
CN110162703A (zh) 2019-08-23
US20210326674A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
WO2020228514A1 (zh) 内容推荐方法、装置、设备及存储介质
CN111177575B (zh) 一种内容推荐方法、装置、电子设备和存储介质
WO2022041979A1 (zh) 一种信息推荐模型的训练方法和相关装置
US10977448B2 (en) Determining personality profiles based on online social speech
CN111444428A (zh) 基于人工智能的信息推荐方法、装置、电子设备及存储介质
WO2022033199A1 (zh) 一种获得用户画像的方法及相关装置
CN111966914B (zh) 基于人工智能的内容推荐方法、装置和计算机设备
CN111460221B (zh) 评论信息处理方法、装置及电子设备
CN112434151A (zh) 一种专利推荐方法、装置、计算机设备及存储介质
Gallo et al. Predicting user reactions to Twitter feed content based on personality type and social cues
CN108959323B (zh) 视频分类方法和装置
Lewenberg et al. Using emotions to predict user interest areas in online social networks
US10474899B2 (en) Social engagement based on image resemblance
CN111597446B (zh) 基于人工智能的内容推送方法、装置、服务器和存储介质
Straton et al. Big social data analytics for public health: Predicting facebook post performance using artificial neural networks and deep learning
WO2019242453A1 (zh) 信息处理方法及装置、存储介质、电子装置
Azzam et al. A model for generating a user dynamic profile on social media
Kübler et al. Machine learning and big data
De Cnudde et al. Deep learning on big, sparse, behavioral data
CN114358807A (zh) 基于可预测用户特征属性的用户画像方法及系统
US11823217B2 (en) Advanced segmentation with superior conversion potential
CN114817692A (zh) 确定推荐对象的方法、装置和设备及计算机存储介质
Liu et al. The Effects of Verbal and Visual Marketing Content in Social Media Settings: A Deep Learning Approach
US20220215431A1 (en) Social network optimization
US11068802B2 (en) High-capacity machine learning system

Legal Events

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

Ref document number: 20805889

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20805889

Country of ref document: EP

Kind code of ref document: A1