IP Library Granted Patent US 9,781,479
Granted Patent B2
US 9,781,479 · App. 15/056,578 · Granted Oct 3, 2017

Methods and systems of recommending media assets to users based on content of other media assets

Inventors: Walter R. Klappert (Los Angeles, CA); Dustin Shaw (Murphy, TX); Michael R. Nichols (La Canada Flintridge, CA); Christy Garcia (Malibu, CA); Tricia Nelson (Burbank, CA); Derek Martin (Pacific Palisades, CA)
Assignee: Rovi Guides, Inc.
H04N21/4668H04N21/4826
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 9,781,479
App. No.
15/056,578
Granted
Oct 3, 2017
Kind
B2
Abstract

Methods and systems are described for a media guidance application that provides recommendations to a user viewing a media asset. For example, the media guidance application may provide a recommendation of a media asset based on a user's profile and may modify the user's profile based on the user's actions and keywords in the content of the media asset. For example, the media guidance application may determine whether the media asset is of interest to a user and in response may update the user's profile based on keywords in the media asset. If the media guidance application determines that the media asset is of interest to the user, it may add keywords in the content of the media asset to the user's profile and increase their corresponding weights. Otherwise, the media guidance application may decrease the weights in the user's profile corresponding to keywords in the media asset.

Claims (71)

1. A method for recommending media assets, the method comprising:

receiving, from a user input device, a first user selection of a first media asset, wherein the first media asset is associated with a data structure that includes a plurality of keywords that occur in a content of the first media asset and a plurality of weights that reflect a number of times each respective keyword of the plurality of keywords occurs in the content of the first media asset;

in response to receiving the first user selection of the first media asset:

generating, using control circuitry, for display the first media asset; and

modifying a user profile associated with the user, based on the plurality of keywords and the plurality of weights associated with the first media asset;

generating, using the control circuitry, for display a recommendation of a second media asset to the user based on the user profile;

receiving, from the user input device, a second user selection of the second media asset, by the user;

in response to receiving the second user selection of the second media asset, generating, using the control circuitry, for display the second media asset;

after a period of time, receiving, from the user input device, a third user selection to change the display of the second media asset to a display of a third media asset;

determining, using the control circuitry, whether the period of time is greater than a threshold time;

in response to determining that the period of time is greater than the threshold time, modifying, using control circuitry, the user profile by increasing a plurality of weights in the user profile corresponding to keywords that occur in a content of the second media asset and adding keywords that occur in the content of the second media asset and are not in the user profile; and

in response to determining that the period of time is not greater than the threshold time, modifying, using control circuitry, the user profile by decreasing the plurality of weights in the user profile corresponding to keywords in the content of the second media asset and adding keywords that occur in the content of the second media asset and are not in the user profile.

2. The method of claim 1 , wherein keywords are words that occur in a media asset.

3. The method of claim 1 , wherein the data structure is created by analyzing a transcript of the first media asset for keywords, wherein the transcript is one of text created by applying speech recognition to audio associated with the first media asset and closed captions associated with the first media asset.

4. The method of claim 1 , wherein weight corresponds to a frequency at which the keyword corresponding to the weight occurs, wherein the frequency is an average number of times the keyword occurs per a unit time.

5. The method of claim 1 , wherein generating for display the recommendation of the second media asset to the user based on the user profile comprises:

retrieving a second data structure that includes a plurality of keywords that occur in the content of the second media asset and a plurality of weights that reflect a number of times each respective keyword of the plurality of keywords occurs in the content of the second media asset;

determining, using control circuitry, whether the user profile data and the second data structure data are similar; and

in response to determining that the user profile and the second data structure are similar, generating for display, using control circuitry, a recommendation of the second media asset to the user.

6. The method of claim 5 , wherein determining whether the user profile data and the second data structure data are similar comprises:

determining a difference between a first weight of the plurality of weights in the user profile, corresponding to a first keyword, and a second weight of the plurality of weights in the second data structure, corresponding to the first keyword, for each keyword that is present in both the user profile and the second data structure;

determining a value of a third weight of the plurality of weights in the user profile or in the second data structure, corresponding to a third keyword, for each keyword that is present in one of the 1 user profile and the second data structure and not present in both the user profile and the second data structure;

determining a distance based on the differences and values;

determining whether the distance is greater than a threshold distance;

in response to determining that the distance is greater than the threshold distance, determining that the user profile data and the second data structure data are not similar; and

in response to determining that the distance is not greater than the threshold distance, determining that the user profile data and the second data structure data are similar.

7. The method of claim 1 , wherein the threshold time is one of a fixed amount of time, and a time relative to a length of the second media asset.

8. The method of claim 1 , wherein increasing the plurality of weights in the user profile corresponding to the keywords that occur in the content of the second media asset and adding the keywords that occur in the content of the second media asset and are not in the users profile comprises:

retrieving a second data structure that includes a second plurality of keywords that occur in the content of the second media asset and a second plurality of weights that reflect a number of times each respective keyword of the second plurality of keywords occurs in the content of the second media asset;

adding a first weight of the second plurality of weights in the second data structure, corresponding to a first keyword, to a second weight of the plurality of weights in the user profile, corresponding to the first keyword, for each keyword that occurs in both the second data structure and the user profile; and

adding a second keyword of the second plurality of keywords in the second data structure and a third weight of the second plurality of weights in the second data structure, corresponding to the second keyword, to the user profile for each keyword that is present in the second data structure and is not present in the user profile.

9. The method of claim 1 , wherein decreasing the plurality of weights in the user profile corresponding to the keywords in the content of the second media asset and adding the keywords that occur in the content of the second media asset and are not in the user profile comprises:

retrieving a second data structure that includes a plurality of keywords that occur in the content of the second media asset and a plurality of weights that reflect a number of times each respective keyword of the plurality of keywords occurs in the content of the second media asset; and

subtracting a first weight of the plurality of weights in the second data structure, corresponding to a keyword, from a second weight of the plurality of weights in the user profile, corresponding to said keyword, for each keyword that is present in both the second data structure and the user profile; and

adding a keyword of the plurality of keywords in the second data structure and a negative of a weight of the plurality of weights in the second data structure, corresponding to said keyword, to the user profile for each keyword that is present in the second data structure and is not present in the user profile.

10. The method of claim 1 , wherein the second media asset is a live video stream.

11. A system for recommending media assets, the system comprising a memory coupled to control circuitry, wherein the control circuitry is configured to:

receive, from a user input device, a first user selection of a first media asset, wherein the first media asset is associated with a data structure that includes a plurality of keywords that occur in a content of the first media asset and a plurality of weights that reflect a number of times each respective keyword of the plurality of keywords occurs in the content of the first media asset;

in response to receiving the first user selection of the first media asset:

generate, using control circuitry, for display the first media asset; and

modify a user profile associated with the user, based on the plurality of keywords and the plurality of weights associated with the first media asset;

generate, using the control circuitry, for display a recommendation of a second media asset to the user based on the user profile;

receive, from the user input device, a second user selection of the second media asset, by the user;

in response to receiving the second user selection of the second media asset, generate, using the control circuitry, for display the second media asset;

after a period of time, receive, from the user input device, a third user selection to change the display of the second media asset to a display of a third media asset;

determine, using the control circuitry, whether the period of time is greater than a threshold time;

in response to determining that the period of time is greater than the threshold time, modify, using control circuitry, the user profile by increasing a plurality of weights in the user profile corresponding to keywords that occur in a content of the second media asset and adding keywords that occur in the content of the second media asset and are not in the user profile; and

in response to determining that the period of time is not greater than the threshold time, modify, using control circuitry, the user profile by decreasing the plurality of weights in the user profile corresponding to keywords in the content of the second media asset and adding keywords that occur in the content of the second media asset and are not in the user profile.

12. The system of claim 11 , wherein keywords are words that occur in a media asset.

13. The system of claim 11 , wherein the data structure associated with the first media asset is created by analyzing a transcript of the first media asset for keywords, wherein the transcript is one of text created by applying speech recognition to audio associated with the first media asset and closed captions associated with the first media asset.

14. The system of claim 11 , wherein weight corresponds to a frequency at which the keyword corresponding to the weight occurs, wherein the frequency is an average number of times the keyword occurs per a unit time.

15. The system of claim 11 , wherein control circuitry is further configured, when generating for display a recommendation of a second media asset to the user based on the user profile, to:

retrieve a second data structure that includes a plurality of keywords that occur in the content of the second media asset and a plurality of weights that reflect a number of times each respective keyword of the plurality of keywords occurs in the content of the second media asset;

determine, using control circuitry, whether the user profile data and the second data structure data are similar; and

in response to determining that the user 1 profile and the second data structure are similar, generate for display, using control circuitry, a recommendation of the second media asset to the user.

16. The system of claim 15 , wherein control circuitry is further configured, when determining whether the user profile data and the second data structure data are similar, to:

determine a difference between a first weight of the plurality of weights in the user profile, corresponding to a first keyword, and a second weight of the plurality of weights in the second data structure, corresponding to the first keyword, for each keyword that is present in both the user profile and the second data structure;

determine a value of a third weight of the plurality of weights in the user profile or in the second data structure, corresponding to a second keyword, for each keyword that is present in one of the user profile and the second data structure and not present in both the user profile and the second data structure;

determine a distance based on the differences and values; determine whether the distance is greater than a threshold distance;

in response to determining that the distance is greater than the threshold distance, determine that the user profile data and the second data structure data are not similar;

and in response to determining that the distance is not greater than the threshold distance, determine that the user profile data and the second data structure data are similar.

17. The system of claim 11 , wherein the threshold time is one of a fixed amount of time, and a time relative to a length of the second media asset.

18. The system of claim 11 , wherein control circuitry is further configured, when increasing the plurality of weights in the user profile corresponding to keywords that occur in the content of the second media asset and adding keywords that occur in the content of the second media asset and are not in the users profile, to:

retrieve a second data structure that includes a second plurality of keywords that occur in the content of the second media asset and a second plurality of weights that reflect a number of times each respective keyword of the second plurality of keywords occurs in the content of the second media asset;

add a first weight of the second plurality of weights in the second data structure, corresponding to a first keyword, to a second weight of the plurality of weights in the user profile, corresponding to the first keyword, for each keyword that occurs in both the second data structure and the user profile; and

add a second keyword of the second plurality of keywords in the second data structure and a third weight of the second plurality of weights in the second data structure, corresponding to the second keyword, to the user profile for each keyword that is present in the second data structure and is not present in the user profile.

19. The system of claim 11 , wherein control circuitry is further configured, when decreasing the plurality of weights in the user profile corresponding to the keywords in the content of the second media asset and adding the keywords that occur in the content of the second media asset and are not in the user profile, to:

retrieve a second data structure that includes a plurality of keywords that occur in the content of the second media asset and a plurality of weights that reflect a number of times each respective keyword of the plurality of keywords occurs in the content of the second media asset; and

subtract a first weight of the plurality of weights in the second data structure, corresponding to a keyword, from a second weight of the plurality of weights in the user profile, corresponding to said keyword, for each keyword that is present in both the second data structure and the user profile; and

add a keyword of the plurality of keywords in the second data structure and a negative of a weight of the plurality of weights in the second data structure, corresponding to said keyword, to the user profile for each keyword that is present in the second data structure and is not present in the user profile.

20. The system of claim 11 , wherein the second media asset is a live video stream.

Assignments (9)
CHANGE OF NAME Recorded Oct 2, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069085/0731 →
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 →
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 →
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 →
EMPLOYMENT AGREEMENT Recorded Oct 6, 2016
From: NICHOLS, MICHAEL R.
To: ROVI CORPORATION
Reel/Frame 040246/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: KLAPPERT, WALTER R.; SHAW, DUSTIN; GARCIA, CHRISTY; NELSON, TRICIA; MARTIN, DEREK
To: ROVI GUIDES, INC.
Reel/Frame 039955/0025 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: ROVI CORPORATION
To: ROVI GUIDES, INC.
Reel/Frame 040246/0826 →
Continuity (1)
Related Publication 20170251259A1 · Aug 31, 2017