# US 12,114,044 B2 · Digital video analysis

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

- Number: US 12,114,044 B2
- Document ID: US12114044B2
- Status: Granted
- Kind: B2
- Application number: 17/801,323
- Filed: 2021-09-16
- Published: 2023-03-16
- Granted: 2024-10-08
- Earliest claimed: 2020-09-16
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Andrea Martinelli; Masoud S. Loghmani; Roland Peter Kehl; Bernhard Rudolf Suter; Daniel Cotting; Dan Filimon
- Web page: https://patentgrep.com/patent/US12114044B2

## CPC

- H04N 21/4668: {for recommending content, e.g. movies}
- H04N 21/4661: {Deriving a combined profile for a plurality of end-users of the same client, e.g. for family members within a home (user profiles in network data switching protocols H04L67/306)}
- H04N 21/4826: {using recommendation lists, e.g. of programmes or channels sorted out according to their score}
- H04N 21/8405: represented by keywords
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

This disclosure relates to digital video analysis. In one aspect, a method includes receiving data indicating one or more seed video groups that each include one or more seed videos. Data indicating one or more keywords is received. A set of candidate video groups that each include one or more candidate videos is identifier. For each candidate video group in the set of candidate video groups a co-interaction score and a topicality score are determined. A subset of the candidate videos groups is selected based on the co-interaction score and the topicality score of each candidate video group. Data indicating the subset of candidate video groups is provided for presentation.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, from a computing system of a digital component provider, data indicating one or more seed video groups that each include one or more seed videos;
receiving, from the computing system of the digital component provider, data indicating one or more keywords;
identifying a set of candidate video groups that each include one or more candidate videos;
for each candidate video group in the set of candidate video groups:
determining a co-interaction score that represents a measure of how often users who have interacted with the one or more seed videos of the one or more seed video groups also interacted with at least one of the one or more videos of the candidate video group; and
determining a topicality score that represents a measure of topicality between the one or more keywords indicated in the received data that indicates the one or more keywords and the one or more videos of the candidate video group;
selecting a subset of the candidate video groups based on the co-interaction score and the topicality score of each candidate video group; and
providing, to the computing system of the digital component provider, data indicating the subset of candidate video groups for display.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving, from the computing system of the digital component provider, data indicating a user selection of a given candidate video group of the subset of candidate video groups;
including the given candidate video group in a video group package; and
distributing digital components of the digital component provider to client devices for display with at least one of the one or more videos in the given candidate video group.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein determining the co-interaction score for each candidate video group comprises determining the co-interaction score for each candidate video group using collaborative filtering.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein determining the co-interaction score for each candidate video group comprises determining a quantity of user interactions with the one or more videos of the candidate video group that were performed by users who also interacted with videos of the one or more seed video groups.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein:
the one or more seed video groups comprise one or more positive seed video groups and one or more negative seed video groups;
determining the co-interaction score for each candidate video group comprises:
determining a first quantity of user interactions with the one or more videos of the candidate video group that were performed by users who also interacted with videos of the one or more positive seed video groups;
determining a second quantity of user interactions with the one or more videos of the candidate video group that were performed by users who also interacted with videos of the one or more negative seed video groups; and
determining the co-interactions score for the candidate video group based on the first quantity and the second quantity.

### Claim 6 (depends on 4)

The computer-implemented method of claim 4, wherein:
each seed video group and each candidate video group comprises a respective video channel of a video sharing platform; and
each user interaction comprises a subscription to one of the video channels.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the co-interaction score for each candidate video group is based on a similarity between patterns of user interactions with the one or more seed videos of the one or more seed video groups and patterns of user interactions with the one or more videos of the candidate video group.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein each pattern of user interaction is based on at least one of display times of videos, a frequency at which each video is displayed, or subscriptions to video groups.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein:
each candidate video comprises one or more annotations selected based on at least one of (i) content of the candidate video, (ii) a title of the candidate video, (iii) a description of the candidate video, or (iv) user comments posted about the candidate video; and
determining the topicality score that represents the measure of topicality between the one or more keywords and the one or more videos of the candidate video group comprises determining a quantity of the one or more videos in the candidate video group that has an annotation that includes at least one of the one or more keywords.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, wherein determining the topicality score that represents the measure of topicality between the one or more keywords and the one or more videos of the candidate video group comprises determining a ratio between (i) the quantity of the one or more videos in the candidate video group that has an annotation that includes at least one of the one or more keywords and (ii) a quantity of the one or more videos in the candidate video group that does not have an annotation that includes at least one of the one or more keywords.

### Claim 11 (depends on 9)

The computer-implemented method of claim 9, further comprising:
receiving data indicating a set of one or more negative keywords;
for each candidate video group, determining an anti-topicality score that represents a measure of topicality between the one or more negative keywords and the one or more videos of the candidate video group; and
filtering, from the set of candidate video groups, each candidate video group having an anti-topicality score that satisfies a threshold.

### Claim 12

A system comprising:
one or more processors; and
one or more storage devices storing instructions that, when executed by the one or more processors, cause the one or more processor to perform operations comprising:
receiving, from a computing system of a digital component provider, data indicating one or more seed video groups that each include one or more seed videos;
receiving, from the computing system of the digital component provider, data indicating one or more keywords;
identifying a set of candidate video groups that each include one or more candidate videos;
for each candidate video group in the set of candidate video groups:
determining a co-interaction score that represents a measure of how often users who have interacted with the one or more seed videos of the one or more seed video groups also interacted with at least one of the one or more videos of the candidate video group; and
determining a topicality score that represents a measure of topicality between the one or more keywords indicated in the received data that indicates the one or more keywords and the one or more videos of the candidate video group;
selecting a subset of the candidate video groups based on the co-interaction score and the topicality score of each candidate video group; and
providing, to the computing system of the digital component provider, data indicating the subset of candidate video groups for display.

### Claim 13 (depends on 12)

The system of claim 12, wherein the operations comprise:
receiving, from the computing system of the digital component provider, data indicating a user selection of a given candidate video group of the subset of candidate video groups;
including the given candidate video group in a video group package; and
distributing digital components of the digital component provider to client devices for display with at least one of the one or more videos in the given candidate video group.

### Claim 14 (depends on 12)

The system of claim 12, wherein determining the co-interaction score for each candidate video group comprises determining the co-interaction score for each candidate video group using collaborative filtering.

### Claim 15 (depends on 12)

The system of claim 12, wherein determining the co-interaction score for each candidate video group comprises determining a quantity of user interactions with the one or more videos of the candidate video group that were performed by users who also interacted with videos of the one or more seed video groups.

### Claim 16 (depends on 12)

The system of claim 12, wherein:
the one or more seed video groups comprise one or more positive seed video groups and one or more negative seed video groups;
determining the co-interaction score for each candidate video group comprises:
determining a first quantity of user interactions with the one or more videos of the candidate video group that were performed by users who also interacted with videos of the one or more positive seed video groups;
determining a second quantity of user interactions with the one or more videos of the candidate video group that were performed by users who also interacted with videos of the one or more negative seed video groups; and
determining the co-interactions score for the candidate video group based on the first quantity and the second quantity.

### Claim 17 (depends on 15)

The system of claim 15, wherein:
each seed video group and each candidate video group comprises a respective video channel of a video sharing platform; and
each user interaction comprises a subscription to one of the video channels.

### Claim 18 (depends on 12)

The system of claim 12, wherein the co-interaction score for each candidate video group is based on a similarity between patterns of user interactions with the one or more seed videos of the one or more seed video groups and patterns of user interactions with the one or more videos of the candidate video group.

### Claim 19 (depends on 18)

The system of claim 18, wherein each pattern of user interaction is based on at least one of display times of videos, a frequency at which each video is displayed, or subscriptions to video groups.

### Claim 20

A non-transitory computer readable medium carrying instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving, from a computing system of a digital component provider, data indicating one or more seed video groups that each include one or more seed videos;
receiving, from the computing system of the digital component provider, data indicating one or more keywords;
identifying a set of candidate video groups that each include one or more candidate videos;
for each candidate video group in the set of candidate video groups:
determining a co-interaction score that represents a measure of how often users who have interacted with the one or more seed videos of the one or more seed video groups also interacted with at least one of the one or more videos of the candidate video group; and
determining a topicality score that represents a measure of topicality between the one or more keywords indicated in the received data that indicates the one or more keywords and the one or more videos of the candidate video group;
selecting a subset of the candidate video groups based on the co-interaction score and the topicality score of each candidate video group; and
providing, to the computing system of the digital component provider, data indicating the subset of candidate video groups for display.

### Claim 21 (depends on 1)

The computer-implemented method of claim 1, wherein selecting a subset of the candidate video groups is further based on annotations assigned to the one or more candidate videos of the candidate video groups, wherein one or more of the annotations are designated as a positive keyword or a negative keyword.
