# US 11,122,333 B2 · User feature generation method and apparatus, device, and computer-readable storage medium

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,122,333 B2
- Document ID: US11122333B2
- Status: Granted
- Kind: B2
- Application number: 16/991,983
- Filed: 2020-08-12
- Published: 2020-11-26
- Granted: 2021-09-14
- Earliest claimed: 2018-07-04
- Assignees: Tencent Technology (Shenzhen) Company Limited
- Applicants: Tencent Technology (Shenzhen) Company Limited
- Inventors: Xuesong Li; Liangni Lu; Yuan Feng
- Web page: https://patentgrep.com/patent/US11122333B2

## CPC

- H04N 21/252: {Processing of multiple end-users' preferences to derive collaborative data}
- H04N 21/4668: {for recommending content, e.g. movies}
- G06F 16/75: Clustering; Classification
- G06F 16/78: Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06N 3/042: Knowledge-based neural networks; Logical representations of neural networks
- G06N 3/045: Combinations of networks
- G06N 3/0475: Generative networks
- G06N 3/084: Backpropagation, e.g. using gradient descent
- H04N 21/251: {Learning process for intelligent management, e.g. learning user preferences for recommending movies (details of learning user preferences for the retrieval of video data in a video database G06F16/739; computer systems using learning methods G06N3/08)}
- H04N 21/25891: {being end-user preferences (retrieval of video data in a video database based on user preferences G06F16/739; arrangements for recognizing users' preferences H04H60/46; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/44222: {Analytics of user selections, e.g. selection of programmes or purchase activity (monitoring of user selections in data processing systems G06F11/34; arrangements for monitoring the user's behaviour or opinions in broadcast systems H04H60/33)}
- H04N 21/4532: {involving end-user characteristics, e.g. viewer profile, preferences (monitoring of user activities for profile generation for accessing a video database G06F16/739; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/4826: {using recommendation lists, e.g. of programmes or channels sorted out according to their score}
- H04N 21/6582: {Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number (arrangements where receivers interact with the broadcast H04H20/38)}
- H04N 21/8352: involving content or source identification data, e.g. Unique Material Identifier [UMID]
- H04N 21/4666: {using neural networks, e.g. processing the feedback provided by the user}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A user feature generation method is performed at a server, the method including: acquiring n groups of timing correspondences between target videos and corresponding user accounts, each group of timing correspondences comprising user accounts that have viewed a respective target video, the user accounts being sorted according to their corresponding viewing timestamps, n being a positive integer; obtaining a word-embedding matrix by mapping the n groups of timing correspondences into the word-embedding matrix, the word-embedding matrix comprising a word vector corresponding to each user account; training the word-embedding matrix by using a loss function, the loss function being used for defining a similarity relationship between the user accounts according to a degree of similarity between their respective watch histories; and determining a word vector corresponding to each user account in the trained word-embedding matrix as a user feature of the user account.

## Claims

### Claim 1

A user feature generation method, performed by a server having a processor and memory storing a plurality of instructions to be executed by the processor, the method comprising:
acquiring n groups of timing correspondences between target videos and corresponding user accounts, each group of timing correspondences comprising user accounts that have viewed a respective target video, the user accounts being sorted according to their corresponding viewing timestamps, n being a positive integer;
obtaining a word-embedding matrix by mapping the n groups of timing correspondences into the word-embedding matrix, the word-embedding matrix comprising a word vector corresponding to each user account;
training the word-embedding matrix by using a loss function, the loss function being used for defining a similarity relationship between the user accounts according to a degree of similarity between their respective watch histories; and
determining a word vector corresponding to each user account in the trained word-embedding matrix as a user feature of the user account.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the training the word-embedding matrix by using a loss function comprises:
training the word-embedding matrix by using a noise-contrastive estimation (NCE) loss function.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the determining a word vector corresponding to each user account in the trained word-embedding matrix as a user feature of the user account comprises:
determining the word vector corresponding to each user account in the word-embedding matrix as the user feature of the user account in a case that a function value of the NCE loss function is less than a first termination threshold.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the obtaining a word-embedding matrix by mapping the n groups of timing correspondences into the word-embedding matrix comprises:
obtaining the word-embedding matrix by mapping the n groups of timing correspondences in a word vector mapping manner.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the acquiring n groups of timing correspondences between target videos and corresponding user accounts comprises:
acquiring video viewing history records of m user accounts, each video viewing history record comprising a video identifier of a target video and viewing timestamps of the target video, m being a positive integer, the target video being at least one of a watched video and a searched-for video of a user corresponding to one of the m user accounts; and
generating, for each target video in the video viewing history records after the user accounts that have viewed the target video are sorted according to their corresponding viewing timestamps, timing correspondences between the target video and the user accounts.

### Claim 6 (depends on 1)

The method according to claim 1, further comprising:
acquiring a video identifier of a target video in a history record, and generating a video feature according to the video identifier, the history record being at least one of a watch history record and a search history record of the target video by a user account; and
training a candidate generation model using the user feature and the video feature as sample features, the trained candidate generation model being used for outputting watch probabilities of videos in a video library according to the user feature.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the training a candidate generation model using the user feature and the video feature as sample features comprises:
dividing the user features and the video features into h+k groups of data sets, the h+k groups of data sets comprising h groups of training sets and k groups of assessment sets, both h and k being positive integers; and
inputting the user features and the video features in the h groups of training sets as the sample features into the candidate generation model, to obtain the trained candidate generation model; and
the method further comprises:
evaluating a recall rate of the trained candidate generation model by using the k groups of assessment sets; and
determining the trained candidate generation model as a to-be-used candidate generation model in a case that the recall rate of the trained candidate generation model reaches a second termination threshold.

### Claim 8

A server comprising a processor and memory, the memory storing a plurality of instructions that, when executed by the processor, cause the processor to perform a plurality of operations including:
acquiring n groups of timing correspondences between target videos and corresponding user accounts, each group of timing correspondences comprising user accounts that have viewed a respective target video, the user accounts being sorted according to their corresponding viewing timestamps, n being a positive integer;
obtaining a word-embedding matrix by mapping the n groups of timing correspondences into the word-embedding matrix, the word-embedding matrix comprising a word vector corresponding to each user account;
training the word-embedding matrix by using a loss function, the loss function being used for defining a similarity relationship between the user accounts according to a degree of similarity between their respective watch histories; and
determining a word vector corresponding to each user account in the trained word-embedding matrix as a user feature of the user account.

### Claim 9 (depends on 8)

The server according to claim 8, wherein the training the word-embedding matrix by using a loss function comprises:
training the word-embedding matrix by using a noise-contrastive estimation (NCE) loss function.

### Claim 10 (depends on 9)

The server according to claim 9, wherein the determining a word vector corresponding to each user account in the trained word-embedding matrix as a user feature of the user account comprises:
determining the word vector corresponding to each user account in the word-embedding matrix as the user feature of the user account in a case that a function value of the NCE loss function is less than a first termination threshold.

### Claim 11 (depends on 8)

The server according to claim 8, wherein the obtaining a word-embedding matrix by mapping the n groups of timing correspondences into the word-embedding matrix comprises:
obtaining the word-embedding matrix by mapping the n groups of timing correspondences in a word vector mapping manner.

### Claim 12 (depends on 8)

The server according to claim 8, wherein the acquiring n groups of timing correspondences between target videos and corresponding user accounts comprises:
acquiring video viewing history records of m user accounts, each video viewing history record comprising a video identifier of a target video and viewing timestamps of the target video, m being a positive integer, the target video being at least one of a watched video and a searched-for video of a user corresponding to one of the m user accounts; and
generating, for each target video in the video viewing history records after the user accounts that have viewed the target video are sorted according to their corresponding viewing timestamps, timing correspondences between the target video and the user accounts.

### Claim 13 (depends on 8)

The server according to claim 8, wherein the operations further comprise:
acquiring a video identifier of a target video in a history record, and generating a video feature according to the video identifier, the history record being at least one of a watch history record and a search history record of the target video by a user account; and
training a candidate generation model using the user feature and the video feature as sample features, the trained candidate generation model being used for outputting watch probabilities of videos in a video library according to the user feature.

### Claim 14 (depends on 13)

The server according to claim 13, wherein the training a candidate generation model using the user feature and the video feature as sample features comprises:
dividing the user features and the video features into h+k groups of data sets, the h+k groups of data sets comprising h groups of training sets and k groups of assessment sets, both h and k being positive integers; and
inputting the user features and the video features in the h groups of training sets as the sample features into the candidate generation model, to obtain the trained candidate generation model; and
the operations further comprise:
evaluating a recall rate of the trained candidate generation model by using the k groups of assessment sets; and
determining the trained candidate generation model as a to-be-used candidate generation model in a case that the recall rate of the trained candidate generation model reaches a second termination threshold.

### Claim 15

A non-transitory computer-readable storage medium storing a plurality of instructions that, when executed by a processor of a server, cause the server to perform a plurality of operations including:
acquiring n groups of timing correspondences between target videos and corresponding user accounts, each group of timing correspondences comprising user accounts that have viewed a respective target video, the user accounts being sorted according to their corresponding viewing timestamps, n being a positive integer;
obtaining a word-embedding matrix by mapping the n groups of timing correspondences into the word-embedding matrix, the word-embedding matrix comprising a word vector corresponding to each user account;
training the word-embedding matrix by using a loss function, the loss function being used for defining a similarity relationship between the user accounts according to a degree of similarity between their respective watch histories; and
determining a word vector corresponding to each user account in the trained word-embedding matrix as a user feature of the user account.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium according to claim 15, wherein the training the word-embedding matrix by using a loss function comprises:
training the word-embedding matrix by using a noise-contrastive estimation (NCE) loss function.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium according to claim 16, wherein the determining a word vector corresponding to each user account in the trained word-embedding matrix as a user feature of the user account comprises:
determining the word vector corresponding to each user account in the word-embedding matrix as the user feature of the user account in a case that a function value of the NCE loss function is less than a first termination threshold.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium according to claim 15, wherein the obtaining a word-embedding matrix by mapping the n groups of timing correspondences into the word-embedding matrix comprises:
obtaining the word-embedding matrix by mapping the n groups of timing correspondences in a word vector mapping manner.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium according to claim 15, wherein the acquiring n groups of timing correspondences between target videos and corresponding user accounts comprises:
acquiring video viewing history records of m user accounts, each video viewing history record comprising a video identifier of a target video and viewing timestamps of the target video, m being a positive integer, the target video being at least one of a watched video and a searched-for video of a user corresponding to one of the m user accounts; and
generating, for each target video in the video viewing history records after the user accounts that have viewed the target video are sorted according to their corresponding viewing timestamps, timing correspondences between the target video and the user accounts.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium according to claim 15, wherein the operations further comprise:
acquiring a video identifier of a target video in a history record, and generating a video feature according to the video identifier, the history record being at least one of a watch history record and a search history record of the target video by a user account; and
training a candidate generation model using the user feature and the video feature as sample features, the trained candidate generation model being used for outputting watch probabilities of videos in a video library according to the user feature.
