# US 12,118,030 B2 · Dynamic feedback in a recommendation system

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

- Number: US 12,118,030 B2
- Document ID: US12118030B2
- Status: Granted
- Kind: B2
- Application number: 18/223,574
- Filed: 2023-07-19
- Published: 2023-11-09
- Granted: 2024-10-15
- Earliest claimed: 2014-11-24
- Assignees: Malibu Entertainment, Inc.
- Applicants: RCRDCLUB Corporation
- Inventors: Damian Franken Manning; Samuel Evan Sandberg
- Web page: https://patentgrep.com/patent/US12118030B2

## CPC

- G06F 16/4387: {by the use of playlists}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 16/951: Indexing; Web crawling techniques
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A media recommendation system may score media items according to user recommendations, popularity, and/or recency. The scores may be weighted to produce an overall score for each media item. Media items may be added to a pool for a specific user, from which media items are selected for playback. The contents of the pool may be modified based upon user feedback and other data. The pool may be modified dynamically and/or in real time as media items are consumed or rated by the user.

## Claims

### Claim 1

A method comprising:
generating, by a processor, a profile vector of a user in a manner that is inversely proportional to a total number of times that the user has consumed a specific media item of a plurality of media items;
generating, by the processor, a first pool of media items based on a seed media item, wherein the seed media item is based on the profile vector;
sorting, by the processor, the first pool of media items based on a vector distance to the seed media item; and
selecting, by the processor, an item of the sorted first pool of media items for playback.

### Claim 2 (depends on 1)

The method of claim 1, wherein the profile vector is based upon vector representations of at least a portion of the plurality of media items.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving, by the processor, a feedback signal about a media item of the sorted first pool of media items; and
modifying, by the processor and based on the feedback signal, contents of the first pool to produce a second pool, wherein the second pool includes a media item not included in the first pool.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first pool of media items is based on the seed media item that is a type of seed media item that is at least one selected from the group consisting of: a trending media item, an emerging media item, a recent media item, a liked media item, a selected media item, an active media item, and a recommended media item.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
generating, by the processor, the profile vector of the user based upon vector representations of at least a portion of the plurality of media items previously consumed by the user.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
generating, by the processor, the profile vector of the user based on a collaborative filtering process.

### Claim 7 (depends on 1)

The method of claim 1, wherein the profile vector of the user comprises a normalized sum of media item vectors.

### Claim 8 (depends on 5)

The method of claim 5, wherein the vector representations are produced from at least one selected from a group consisting of: a word embedding process performed on at least a portion of the media items previously consumed by the user, a neural network process performed on at least a portion of the media items previously consumed by the user, and a collaborative filtering process performed on at least a portion of the media items previously consumed by the user.

### Claim 9

A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing instructions executable by the one or more processors, wherein the instructions cause the one or more processors to perform acts comprising:
generating a profile vector of a user in a manner that is inversely proportional to a total number of times that the user has consumed a specific media item of a plurality of media items;
generating a first pool of media items based on a seed media item, wherein the seed media item is based on the profile vector;
sorting the first pool of media items based on a vector distance to the seed media item; and
selecting an item of the sorted first pool of media items for playback.

### Claim 10 (depends on 9)

The system of claim 9, wherein the profile vector is based upon vector representations of at least a portion of the plurality of media items.

### Claim 11 (depends on 9)

The system of claim 9, the acts further comprising:
generating the profile vector of the user based upon vector representations of at least a portion of the plurality of media items previously consumed by the user.

### Claim 12 (depends on 11)

The system of claim 11, wherein the vector representations are produced from at least one selected from a group consisting of: a word embedding process performed on at least a portion of the media items previously consumed by the user, a neural network process performed on at least a portion of the media items previously consumed by the user, and a collaborative filtering process performed on at least a portion of the media items previously consumed by the user.

### Claim 13 (depends on 9)

The system of claim 9, the acts further comprising:
generating the profile vector of the user based on a collaborative filtering process.

### Claim 14 (depends on 9)

The system of claim 9, wherein the profile vector of the user comprises a normalized sum of media item vectors.

### Claim 15

One or more non-transitory computer-readable media storing instructions executable by one or more processors that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:
generating a profile vector of a user in a manner that is inversely proportional to a total number of times that the user has consumed a specific media item of a plurality of media items;
generating a first pool of media items based on a seed media item, wherein the seed media item is based on the profile vector;
sorting the first pool of media items based on a vector distance to the seed media item; and
selecting an item of the sorted first pool of media items for playback.

### Claim 16 (depends on 15)

The one or more non-transitory computer-readable media of claim 15, wherein the profile vector is based upon vector representations of at least a portion of the plurality of media items.

### Claim 17 (depends on 15)

The one or more non-transitory computer-readable media of claim 15, the acts further comprising:
generating the profile vector of the user based upon vector representations of at least a portion of the plurality of media items previously consumed by the user.

### Claim 18 (depends on 17)

The one or more non-transitory computer-readable media of claim 17, wherein the vector representations are produced from at least one selected from a group consisting of: a word embedding process performed on at least a portion of the media items previously consumed by the user, a neural network process performed on at least a portion of the media items previously consumed by the user, and a collaborative filtering process performed on at least a portion of the media items previously consumed by the user.

### Claim 19 (depends on 15)

The one or more non-transitory computer-readable media of claim 15, the acts further comprising:
generating the profile vector of the user based on a collaborative filtering process.

### Claim 20 (depends on 15)

The one or more non-transitory computer-readable media of claim 15, wherein the profile vector of the user comprises a normalized sum of media item vectors.
