IP Library Granted Patent US 12705503
Granted Patent B2
US 12705503 · App. 17/937,497 · Granted Aug 11, 2026

Stochastic content candidate selection for content recommendation

Inventors: Abhishek Bambha (Burlimgame, CA); Rohit Mahto (San Jose, CA); Nam Vo (San Jose, CA); Zidong Wang (San Jose, CA); Fei Xiao (San Jose, CA)
Assignee: Roku, Inc.
G06N5/02G06N5/048
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 12705503
App. No.
17/937,497
Granted
Aug 11, 2026
Kind
B2
Abstract

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for stochastic candidate selection for content recommendation. An example embodiment operates by a computer-implemented method for stochastic candidate selection for content recommendation. The method includes receiving, by at least one computer processor, a first plurality of content candidates and selecting a second plurality of content candidates from the first plurality of content candidates. The method further include ranking the second plurality of content candidates based on one or more parameters and selecting a third plurality of content candidates from the ranked second plurality of content candidates. The method can further include displaying the third plurality of content candidates using a display device.

Claims (58)

1 . A computer-implemented method for stochastic candidate selection for content recommendation, the computer-implemented method comprising:

receiving, by at least one computer processor, a first plurality of content candidates;

ranking the first plurality of content candidates based on a first criteria;

selecting a second plurality of content candidates from the ranked first plurality of content candidates;

ranking the second plurality of content candidates based on one or more parameters,

wherein the one or more parameters are associated with a second criteria,

wherein the first criteria is different from the second criteria,

wherein the first criteria comprises a plurality of popularity scores, each one of the plurality of popularity scores being associated with each one of the first plurality of content candidates and the second criteria comprises a plurality of relevance scores, each one of the plurality of relevance scores being associated with each one of the second plurality of content candidates;

selecting a third plurality of content candidates from the ranked second plurality of content candidates; and

displaying the third plurality of content candidates using a display device.

2 . The computer-implemented method of claim 1 , wherein the selecting the second plurality of content candidates comprises randomly selecting the second plurality of content candidates.

3 . The computer-implemented method of claim 2 , wherein the randomly selecting the second plurality of content candidates comprises applying a weighted function to the first plurality of content candidates to randomly select the second plurality of content candidates.

4 . The computer-implemented method of claim 3 , wherein one or more weights of the weighted function are determined based on the one or more parameters and wherein the one or more parameters are associated with user preferences.

5 . The computer-implemented method of claim 3 , wherein one or more weights of the weighted function are determined using a machine learning mechanism.

6 . The computer-implemented method of claim 3 , further comprising:

receiving one or more content candidate selections selected from the third plurality of content candidates; and

modifying one or more weights of the weighted function based on the one or more content candidate selections.

7 . The computer-implemented method of claim 1 , further comprising:

selecting a fourth plurality of content candidates from the first plurality of content candidates;

comparing the fourth plurality of content candidates with the second plurality of content candidates;

removing, from the fourth plurality of content candidates, one or more candidates that are same in the fourth plurality of content candidates and the second plurality of content candidates to generate a fifth plurality of content candidates;

ranking the fifth plurality of content candidates based on the one or more parameters;

selecting a sixth plurality of content candidates from the ranked fifth plurality of content candidates; and

displaying the sixth plurality of content candidates using the display device.

8 . A system, comprising:

one or more memories; and

at least one processor each coupled to at least one of the memories and configured to perform operations comprising:

receiving a first plurality of content candidates;

ranking the first plurality of content candidates based on a first criteria;

randomly selecting a second plurality of content candidates from the ranked first plurality of content candidates;

ranking the second plurality of content candidates based on one or more parameters,

wherein the one or more parameters are associated with a second criteria,

wherein the first criteria is different from the second criteria,

wherein the first criteria comprises a plurality of popularity scores, each one of the plurality of popularity scores being associated with each one of the first plurality of content candidates and the second criteria comprises a plurality of relevance scores, each one of the plurality of relevance scores being associated with each one of the second plurality of content candidates;

selecting a third plurality of content candidates from the ranked second plurality of content candidates; and

displaying the third plurality of content candidates using a display device.

9 . The system of claim 8 , wherein the randomly selecting the second plurality of content candidates comprises applying a weighted function to the first plurality of content candidates.

10 . The system of claim 9 , wherein one or more weights of the weighted function are determined based on the one or more parameters and wherein the one or more parameters are associated with user preferences.

11 . The system of claim 9 , wherein one or more weights of the weighted function are determined using a machine learning mechanism.

12 . The system of claim 9 , the operations further comprising:

receiving one or more content candidate selections selected from the third plurality of content candidates; and

modifying one or more weights of the weighted function based on the one or more content candidate selections.

13 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

receiving a first plurality of content candidates;

ranking the first plurality of content candidates based on a first criteria;

randomly selecting a second plurality of content candidates from the ranked first plurality of content candidates;

ranking the second plurality of content candidates based on one or more parameters,

wherein the one or more parameters are associated with a second criteria,

wherein the first criteria is different from the second criteria,

wherein the first criteria comprises a plurality of popularity scores, each one of the plurality of popularity scores being associated with each one of the first plurality of content candidates and the second criteria comprises a plurality of relevance scores, each one of the plurality of relevance scores being associated with each one of the second plurality of content candidates;

selecting a third plurality of content candidates from the ranked second plurality of content candidates; and

displaying the third plurality of content candidates using a display device.

14 . The non-transitory computer-readable medium of claim 13 , wherein the randomly selecting the second plurality of content candidates comprises applying a weighted function to the first plurality of content candidates.

15 . The non-transitory computer-readable medium of claim 14 , wherein one or more weights of the weighted function are determined based on the one or more parameters and wherein the one or more parameters are associated with user preferences.

16 . The non-transitory computer-readable medium of claim 14 , wherein one or more weights of the weighted function are determined using a machine learning mechanism.

17 . The non-transitory computer-readable medium of claim 14 , the operations further comprising:

receiving one or more content candidate selections selected from the third plurality of content candidates; and

modifying one or more weights of the weighted function based on the one or more content candidate selections.