IP Library Granted Patent US 11,288,582
Granted Patent B2
US 11,288,582 · App. 16/370,101 · Granted Mar 29, 2022

Systems and methods for providing media content recommendations

Inventors: Kyle Miller (Durham, NC); Bryan S. Scappini (Cary, NC); James W. Lent (Durham, NC)
Assignee: Rovi Guides, Inc.
G06N5/02G06N3/12G06Q30/0202H04N21/251
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,288,582
App. No.
16/370,101
Granted
Mar 29, 2022
Kind
B2
Abstract

Systems and associated methods are described for providing content recommendations. The system accesses a plurality of recommendation algorithms and assigns a plurality of weight values to each prediction algorithm. Then, the system generates a set of candidate weight combinations, such that each candidate combination includes a weight value assigned to each prediction algorithm. Then requests for content items are received over a predetermined period of time. For each combination, the system generates a set of recommended content items and an evaluation metric that is based on matches with requests. Afterwards, the system replaces a candidate combination that resulted in a generation of a lowest evaluation metric. The aforementioned steps are repeated until the evaluation metrics stop improving. Then display identifiers are displayed for a set of recommended content items generated for a candidate combination with the highest evaluation metric.

Claims (70)

1. A method for providing content recommendations, the method comprising:

(a) accessing a plurality of prediction algorithms;

(b) assigning a plurality of weight values to each prediction algorithm;

(c) generating a set of candidate weight combinations, wherein each candidate combination comprises a weight value assigned to each prediction algorithm;

(d) receiving requests for content items over a predetermined period of time;

(e) for each particular respective candidate combination:

generating a set of recommended content items based on the plurality of the prediction algorithms and the weight values of the particular candidate combination;

generating evaluation metrics based on a match between the requests for content items and the set of recommended content items generated for the particular candidate combination;

(f) replacing a candidate combination that resulted in a generation of a lowest evaluation metric;

(g) repeating steps (d)-(f) until the evaluation metrics stop improving, wherein determining that the evaluation metrics stopped improving comprises:

maintaining a historical high evaluation metric;

whenever a new evaluation metric is generated, comparing the new evaluation metric to the historical high evaluation metric; and

determining that the evaluation metrics stopped improving when new evaluation metrics fail to exceed the historical high evaluation metric during a predetermined number of repetitions of the steps (d)-(f); and

(h) generating for display identifiers for a set of recommended content items generated for a candidate combination with the highest evaluation metric.

2. The method of claim 1 , wherein each of the plurality of prediction algorithms is based on a record of user requests.

3. The method of claim 1 , wherein assigning the plurality of weight values to each prediction algorithm comprises randomly selecting a weight value assigned to each prediction algorithm.

4. The method of claim 1 , wherein generating the set of recommended content items comprises:

generating a plurality of preliminary sets of content items using each of the plurality of the prediction algorithms;

assigning a score to each content item of the respective sets of content items based on how often it appeared in the plurality of preliminary sets and the weight of the prediction algorithms of those preliminary sets; and

selecting a predetermined number of content items with the highest scores.

5. The method of claim 1 , further comprising:

comparing the evaluation metrics of the candidate combinations to a threshold; and

replacing candidate combinations that resulted in a generation of the evaluation metrics that did not exceed the threshold.

6. The method of claim 5 , wherein replacing the candidate combinations comprises:

generating a new candidate combination using differential evolution technique in order to maximize the evaluation metrics; and

replacing one of the candidate combinations with the new candidate combination.

7. The method of claim 5 , wherein replacing the candidate combination comprises:

generating a new candidate combination by mutating one of the candidate combinations that resulted in a generation of an evaluation metric that exceeded the threshold; and

replacing one of the candidate combinations with the new candidate combination.

8. The method of claim 5 , wherein replacing the candidate combination comprises:

generating a new candidate combination by crossing over two candidate combinations that resulted in generation of the evaluation metrics that exceeded the threshold; and

replacing one of the candidate combinations with the new candidate combination.

9. The method of claim 1 , wherein

the determining that the evaluation metrics stopped improving is performed when the new evaluation metrics fail to exceed the historical high evaluation metric during the predetermined number of repetitions of the steps (d)-(f) by a predetermined margin.

10. A system for providing content recommendations, the system comprising:

control circuitry configured to:

(a) access a plurality of prediction algorithms;

(b) assign a plurality of weight values to each prediction algorithm;

(c) generate a set of candidate weight combinations, wherein each candidate combination comprises a weight value assigned to each prediction algorithm;

(d) receive requests for content items over a predetermined period of time;

(e) for each particular respective candidate combination:

generate a set of recommended content items based on the plurality of the prediction algorithms and the weight values of the particular candidate combination;

generate evaluation metrics based on a match between the requests for content items and the set of recommended content items generated for the particular candidate combination;

(f) replace a candidate combination that resulted in a generation of a lowest evaluation metric;

(g) repeat steps (d)-(f) until the evaluation metrics stop improving wherein the control circuitry is configured to determine that the evaluation metric stopped improving by:

maintaining a historical high evaluation metric;

whenever a new evaluation metric is generated, comparing the new evaluation metric to the historical high evaluation metric; and

determining that the evaluation metrics stopped improving when new evaluation metrics fail to exceed the historical high evaluation metric during a redetermined number of repetitions of the steps (d)-(f); and

display circuitry configured to:

(h) generate for display identifiers for a set of recommended content items generated for a candidate combination with the highest evaluation metric.

11. The system of claim 1 , wherein each of the plurality of prediction algorithms is based on a record of user requests.

12. The system of claim 10 , wherein the control circuitry is configured to assign the plurality of weight values to each prediction algorithm by randomly selecting a weight value assigned to each prediction algorithm.

13. The system of claim 10 , wherein the control circuitry is configured to generate the set of recommended content items by:

generating a plurality of preliminary sets of content items using each of the plurality of the prediction algorithms;

assigning a score to each content item of the respective sets of content items based on how often it appeared in the plurality of preliminary sets and the weight of the prediction algorithms of those preliminary sets; and

selecting a predetermined number of content items with the highest scores.

14. The system of claim 10 , wherein the control circuitry is configured to:

compare the evaluation metrics of the candidate combinations to a threshold; and

replace candidate combinations that resulted in a generation of the evaluation metrics that did not exceed the threshold.

15. The system of claim 14 , wherein the control circuitry is configured to replace the candidate combinations by:

generating a new candidate combination using differential evolution technique in order to maximize the evaluation metrics; and

replacing one of the candidate combinations with the new candidate combination.

16. The system of claim 14 , wherein the control circuitry is configured to replace the candidate combinations by:

generating a new candidate combination by mutating one of the candidate combinations that resulted in a generation of an evaluation metric that exceeded the threshold; and

replacing one of the candidate combinations with the new candidate combination.

17. The system of claim 14 , wherein the control circuitry is configured to replace the candidate combination by:

generating a new candidate combination by crossing over two candidate combinations that resulted in generation of the evaluation metrics that exceeded the threshold; and

replacing one of the candidate combinations with the new candidate combination.

18. The system of claim 10 , wherein the control circuitry is configured to

perform the determination that the evaluation metrics stopped improving when the new evaluation metrics fail to exceed the historical high evaluation metric during the predetermined number of repetitions of the steps (d)-(f) by a predetermined margin.

Assignments (7)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0178 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2019
From: MILLER, KYLE; SCAPPINI, BRYAN S.; LENT, JAMES W.
To: ROVI GUIDES, INC.
Reel/Frame 048750/0226 →
Continuity (1)
Related Publication 20200311562A1 · Oct 1, 2020
Cited By (1)
US 12,430,569