IP Library Granted Patent US 12,206,944
Granted Patent B2
US 12,206,944 · App. 18/102,573 · Granted Jan 21, 2025

Content personalization based on reinforcement learning

Inventors: Kamal J. Koshy (Aurora, CO); Dhananjay Lal (Englewood, CO); Reda Harb (Issaquah, WA)
Assignee: Adeia Guides Inc.
H04N21/4668G06F16/9535H04N21/4758
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 12,206,944
App. No.
18/102,573
Filed
Jan 27, 2023
Granted
Jan 21, 2025
Kind
B2
Art Unit
2422
USPC
725/46
Abstract

Methods and systems are provided herein for providing media asset recommendations to a user based on user input in real time and using a reinforcement learning model or media asset recommendation model. The model includes a plurality of states, each having a set of media asset recommendations, a plurality of available user input options, and a state value. During a browsing session, a first set of media asset recommendations is provided to a user based on a current state corresponding to the browsing session. The user then selects a user input option, and a second set of media asset recommendations is determined based on the received user input option. The second set of media asset recommendations is then provided to the user during the browsing session.

Claims (101)

1. A method of providing media asset recommendations to a user based on input to a user interface, the method comprising:

accessing a media asset recommendation model comprising a plurality of states, each state having:

a set of media asset recommendations;

a plurality of user input options available in the state, each user input option having a corresponding input option value comprising (a) a reward value of the input option and (b) a selection probability of the input option; and

a state value, wherein the state value comprises the input option values corresponding to the state;

determining a current state corresponding to a current browsing session;

providing a first set of media asset recommendations to the user based on the current state corresponding to the current browsing session, wherein the first set of media asset recommendations comprises a first subset available for immediate display and a second subset available for display after additional user input, and wherein providing the first set of media asset recommendations to the user comprises causing the display of the first subset and causing storage of the second subset;

receiving a user input option;

determining a second set of media asset recommendations for the current state based on the received user input option, wherein the second set comprises a modified second subset; and

providing the second set of media asset recommendations to the user, wherein providing the second set comprises providing for display the first subset and the modified second subset.

2. The method of claim 1 , further comprising determining, based on user profile information associated with the user, for each state, initial values for (a) the set of media asset recommendations, (b) the reward values for each input option available in the state, and (c) the selection probabilities for the input options available in the state.

3. The method of claim 1 , wherein the user input option is a first user input option received during the current browsing session, the first user input option comprising one of (a) scrolling to a next media asset recommendation, (b) playing a currently selected media asset, (c) changing from the current state to a next state, and (d) exiting the system; and

wherein the method further comprises providing the second set of recommended media assets to the user before a second user input option is received during the current browsing session.

4. The method of claim 1 , wherein the user input option is a first user input option received during the current browsing session, the method further comprising:

in response to receiving the first user input option, determining an updated media asset recommendation model;

determining the second set of media asset recommendations for the current state based on the received first user input option and the updated media asset recommendation model; and

providing the second set of recommended media assets to the user before a second user input option is received during the current browsing session.

5. The method of claim 1 , wherein:

the first set of media asset recommendations comprises a first subset available for immediate display and a second subset available for display after additional user input;

providing the first set of media asset recommendations to the user comprises causing the display of the first subset and causing storage of the second subset;

determining the second set of media asset recommendations for the current state based on the received user input option comprises determining a modified first subset based on the received user input option; and

providing the second set of recommended media assets to the user comprises providing for display the modified first subset and the second subset.

6. The method of claim 1 , further comprising:

determining a first predicted long-term

system reward corresponding to the current state;

determining a second predicted long-term system reward corresponding to a next state; and

in response to determining that the second predicted long-term system reward is greater than the first predicted long-term system reward, switching from the current state to the next state.

7. The method of claim 6 , further comprising:

in response to switching from the current state to the next state, causing a user interface associated with the user to change one of a text, image, color, highlight, or shading.

8. The method of claim 1 , further comprising:

determining whether a next action corresponding to the user is an exploit action or an explore action;

in response to determining that the next action is an exploit action:

switching from the current state to an exploit state having a highest state value;

determining a third set of media asset recommendations for the exploit state based on a predicted long-term system reward associated with the exploit state; and

providing the third set of media asset recommendations to the user; and

in response to determining that the next action is an explore action:

switching from the current state to an explore state having a low confidence level associated with a state value of the explore state; and

determining a fourth set of media asset recommendations based on the explore state; and

providing the fourth set of media asset recommendations to the user.

9. The method of claim 1 , further comprising:

in response to predicting that the user input option will be an exit action, before receiving the user input option:

switching from the current state to an exploit state having a highest state value;

determining a third set of media asset recommendations for the exploit state; and

providing the third set of media asset recommendations to the user.

10. A system for providing media asset recommendations to a user based on user input, the system comprising:

control circuitry configured to:

access a media asset recommendation model comprising a plurality of states, each state having:

a set of media asset recommendations;

a plurality of user input options available in the state, each user input option having a corresponding input option value comprising (a) a reward value of the input option and (b) a selection probability of the input option; and

a state value, wherein the state value comprises the input option values corresponding to the state;

determine a current state corresponding to a current browsing session;

determine a second set of media asset recommendations for the current state based on a received user input option; and

input/output circuitry configured to:

provide a first set of media asset recommendations to the user based on the current state corresponding to the current browsing session, wherein the first set of media asset recommendations comprises a first subset available for immediate display and a second subset available for display after additional user input, and wherein providing the first set of media asset recommendations to the user comprises causing the display of the first subset and causing storage of the second subset;

receive the user input option; and

provide the second set of media asset recommendations to the user, wherein the second set comprises a modified second subset, and wherein providing the second set comprises providing for display the first subset and the modified second subset.

11. The system of claim 10 , wherein the control circuitry is further configured to determine based on user profile information associated with the user, for each state, initial values for (a) the set of media asset recommendations, (b) the reward values for each input option available in the state, and (c) the selection probabilities for the input options available in the state.

12. The system of claim 10 , wherein the user input option is a first user input option received during the current browsing session, the first user input option comprising one of (a) scrolling to a next media asset recommendation, (b) playing a currently selected media asset, (c) changing from the current state to a next state, and (d) exiting the system, and

wherein the input/output circuitry is further configured to provide the second set of recommended media assets to the user before a second user input option is received during the current browsing session.

13. The system of claim 10 , wherein:

the user input option is a first user input option received during the current browsing session, and wherein

the control circuitry is further configured to:

in response to receiving the first user input option, determine an updated media asset recommendation model; and

determine the second set of media asset recommendations for the current state based on the received first user input option and the updated media asset recommendation model; and

the input/output circuitry is further configured to provide the second set of recommended media assets to the user before a second user input option is received during the current browsing session.

14. The system of claim 10 , wherein:

the first set of media asset recommendations comprises a first subset available for immediate display and a second subset available for display after additional user input,

the control circuitry is further configured to determine the second set of media asset recommendations for the current state based on the received user input option by determining a modified first subset based on the received user input option, and

the input/output circuitry is further configured to:

provide the first set of media asset recommendations to the user to cause the display of the first subset and to cause storage of the second subset, and

provide the second set of recommended media assets to the user by providing for display the modified first subset and the second subset.

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

determine a first predicted long-term system reward corresponding to the current state;

determine a second predicted long-term system reward corresponding to a next state; and

in response to determining that the second predicted long-term system reward is greater than the first predicted long-term system reward, switch from the current state to the next state.

16. The system of claim 15 , wherein the control circuitry is further configured to:

in response to switching from the current state to the next state, cause a user interface associated with the user to change one of a text, image, color, highlight, or shading.

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

determine whether a next action corresponding to the user is an exploit action or an explore action;

in response to determining that the next action is an exploit action:

switch from the current state to an exploit state having a highest state value; and

determine a third set of media asset recommendations for the exploit state based on a predicted long-term system reward associated with the exploit state; and

in response to determining that the next action is an explore action:

switch from the current state to an explore state having a low confidence level associated with a state value of the explore state; and

determine a fourth set of media asset recommendations based on the explore state; and

wherein the input/output circuitry is further configured to provide either the third set of media asset recommendations or the fourth set of media asset recommendations to the user based on the determination whether the next action corresponding to the user is the exploit action or the explore action.

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

in response to predicting that the user input option will be an exit action, before receiving the user input option:

switch from the current state to an exploit state having a highest state value; and

determine a third set of media asset recommendations for the exploit state; and

wherein the input/output circuitry is further configured to provide the third set of media asset recommendations to the user.

19. A method of providing media asset recommendations to a user based on input to a user interface, the method comprising:

accessing a media asset recommendation model comprising a plurality of states, each state having:

a set of media asset recommendations;

a plurality of user input options available in the state, each user input option having a corresponding input option value comprising (a) a reward value of the input option and (b) a selection probability of the input option; and

a state value, wherein the state value comprises the input option values corresponding to the state;

determining a current state corresponding to a current browsing session;

providing a first set of media asset recommendations to the user based on the current state corresponding to the current browsing session, wherein the first set of media asset recommendations comprises a first subset available for immediate display and a second subset available for display after additional user input, and wherein providing the first set of media asset recommendations to the user comprises causing the display of the first subset and causing storage of the second subset;

receiving a user input option;

determining a second set of media asset recommendations for the current state based on the received user input option, wherein the second set comprises a modified first subset; and

providing the second set of media asset recommendations to the user, wherein providing the second set comprises providing for display the modified first subset and the second subset.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069117/0590 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2024
From: KOSHY, KAMAL J.; LAL, DHANANJAY; HARB, REDA
To: ROVI GUIDES, INC.
Reel/Frame 066232/0820 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
Continuity (1)
Related Publication 20240259634A1 · Aug 1, 2024
References Cited (14)
US 8220022B1 · Pan · 2012 [cited by examiner]
US 20120290522A1 · Dolan · 2012 [cited by examiner]
US 20170212874A1 · Urban · 2017 [cited by examiner]
US 20200409983A1 · Miller · 2020 [cited by examiner]
US 20210321165A1 · Yasir · 2021 [cited by examiner]
Anonymous , “Behind The Scenes of The Netflix Recommendation Algorithm”, Anonymous, “Behind The Scenes of The Netflix Recommendation Algorithm” Invisibly (Nov. 10, 2021) [Retrieved from: https://www.invisibly.com/learn-… [cited by applicant]
Anonymous , “How Netflix's Recommendations System Works”, Anonymous, “How Netflix's Recommendations System Works”, [retrieved from URL: https://help.netflix.com/en/node/100639] (3 pages). [cited by applicant]
Anonymous , “Netflix Prize”, Anonymous, “Netflix Prize” “https://en.wikipedia.org/wiki/Netflix_Prize”. [cited by applicant]
Basilico, Justin , “Netflix Explains Recommendations and Personalization”, Basilico, “Netflix Explains Recommendations and Personalization”, Scale Virtual Events, (Oct. 21, 2021), [https://exchange.scale.com/public/blog… [cited by applicant]
Gomez-Uribe, Carolos A., et al., “The Netflix Recommender System: Algorithms, Business Value, and Innovation”, Gomez-Uribe, et al. “The Netflix recommender system: Algorithms, business value, and innovation” ACM Trans. … [cited by applicant]
Hardesty, Larry , “The history of Amazon's recommendation algorithm”, Hardesty, “The history of Amazon's recommendation algorithm”, Amazon Science, (Nov. 22, 2019) [Retrieved from https://www.amazon.science/the-history-… [cited by applicant]
Kasula, Chaithanya Pramodh, “Netflix Recommender System—A Big Data Case Study”, Kasula, “Netflix Recommender System—A Big Data Case Study”, Medium, (Jun. 28, 2020) [https://towardsdatascience.com/netflix-recommender-sys… [cited by applicant]
Scognamiglio, Michael , “Netflix Recommendation System: Inside the Algorithm”, Scognamiglio, “Netflix Recommendation System: Inside the Algorithm” Medium, (Oct. 26, 2020) [Retrieved from https://mikescogs20.medium.com/n… [cited by applicant]
Sutton, Richard S., “Reinforcement Learning: An Introduction”, Sutton, R., et al., “Reinforcement Learning: An Introduction,” The MIT Press, 10 pages (2018). [cited by applicant]