IP Library Granted Patent US 11,100,157
Granted Patent B2
US 11,100,157 · App. 16/292,063 · Granted Aug 24, 2021

Determining recommended media programming from sparse consumption data

Inventors: Raymond Hsu (Irvine, CA); Ashok Sahu (Kirkland, WA)
Assignee: THE DIRECTV GROUP, INC.
G06F16/48G06F17/16
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,100,157
App. No.
16/292,063
Granted
Aug 24, 2021
Kind
B2
Abstract

A processor may create a preference vector by generating preference vector entries in fields that correspond to content attributes associated with at least one media program presented via a media device, each entry including a playback duration and a year. The processor may create a media entity matrix of entity vectors for entities associated with production of media programs. For each entity vector, the processor may generate matrix entries in fields that correspond to content attributes associated with at least one media program associated with the entity, each matrix entry including a year and a score, the score weighted by an epoch factor based upon a time span associated with the at least one media program presented via the media device. The processor may determine entity rankings based upon dot products between the preference vector and the entity vectors and provide a recommendation based upon the rankings.

Claims (47)

1. A device comprising:

a processor; and

a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:

receiving a data set identifying at least one media program presented via a media device;

creating a preference vector comprising a plurality of fields corresponding to a plurality of content attributes, wherein the creating the preference vector comprises generating preference vector entries in fields of the plurality of fields that correspond to content attributes associated with the at least one media program presented via the media device, wherein each of the preference vector entries comprises a playback duration of one of the at least one media program presented via the media device and a time period of the one of the at least one media program presented via the media device;

creating a media entity matrix comprising entity vectors for a plurality of entities associated with a production of a plurality of media programs, wherein each entity vector comprises the plurality of fields corresponding to the plurality of content attributes, wherein the creating the media entity matrix comprises, for each entity vector for each entity of the plurality of entities, generating matrix entries in fields of the plurality of fields that correspond to content attributes associated with at least one media program associated with the each entity, wherein each matrix entry comprises a time period of one of the at least one media program associated with the each entity and a score of the one of the at least one media program associated with the each entity, wherein the score is weighted by an epoch factor that is based upon a time span that is associated with the at least one media program presented via the media device;

determining entity rankings based upon dot products between the preference vector and the entity vectors of the media entity matrix; and

providing a recommendation based upon the entity rankings.

2. The device of claim 1 , wherein the creating the media entity matrix further comprises, for each entity vector for each entity of the plurality of entities:

summing scores of matrix entries within the fields of the plurality of fields to generate cumulative scores for the fields of the plurality of fields; and

normalizing the cumulative scores.

3. The device of claim 1 , wherein the operations further comprise:

receiving a media program data set that includes a plurality of media records for a plurality of media programs, the plurality of media programs including the at least one media program presented via the media device and the at least one media program associated with the each entity, each media record of the plurality of media records including: a set of one or more content attributes associated with one of the plurality of media programs, a set of one or more entities associated with the one of the plurality of media programs, a time period of the one of the plurality of media programs, and a score for the one of the plurality of media programs.

4. The device of claim 3 , wherein the creating the preference vector comprises:

retrieving at least one media record from the media program data set associated with the at least one media program;

retrieving the content attributes from the at least one media record; and

creating the preference vector entries in the fields of the plurality of fields of the preference vector corresponding to the content attributes, wherein for each media program of the at least one media program a preference vector entry is created in one of the plurality of fields of the preference vector when a content attribute from the media record for the media program corresponds to the one of the plurality of fields.

5. The device of claim 4 , wherein each field of the plurality of fields of the preference vector may have zero preference vector entries, one preference vector entry, or more than one preference vector entry.

6. The device of claim 3 , wherein the creating the media entity matrix comprises, for each entity vector for each entity of the plurality of entities:

determining, from the media program data set, the at least one media program associated with the each entity; and

determining, from the media program data set, the content attributes associated with the at least one media program associated with the each entity.

7. The device of claim 6 , wherein the time period of the one of the at least one media program associated with the each entity and the score of the one of the at least one media program associated with the each entity are determined from the media program data set.

8. The device of claim 1 , wherein the plurality of media programs comprises a video program, wherein the each entity of the plurality of entities comprises: a cast member, a director, a production company, a composer, a writer, a host, a narrator, or an illustrator.

9. The device of claim 1 , wherein the plurality of media programs comprises audio programs, wherein the each entity of the plurality of entities comprises: a musician, a performer, a songwriter, a singer, a band, a band member, a record label, a production company, a narrator, a reporter, or a host.

10. The device of claim 1 , wherein the time span comprises a range of years based upon a mean of the time periods of the at least one media program presented via the media device and a standard deviation.

11. The device of claim 10 , wherein for each entity vector for each entity of the plurality of entities the matrix entries are weighted by the epoch factor by multiplying scores of the matrix entries by the epoch factor, wherein for each of the matrix entries, the epoch factor is a value of one when the time period of the matrix entry is within the range of years, and when the time period of the matrix entry is not within the range of years, the epoch factor is a value calculated by raising a distribution factor to a power comprising a difference between a terminal year of the range of years and the time period of the matrix entry.

12. The device of claim 11 , wherein the distribution factor comprises a value of 0.9.

13. The device of claim 1 , wherein the recommendation includes a recommended entity based upon the entity rankings.

14. The device of claim 1 , wherein the recommendation includes a recommended media program that is associated with a recommended entity based upon the entity rankings.

15. The device of claim 1 , wherein the creating the preference vector further comprises:

summing playback durations of preference vector entries within the fields of the plurality of fields of the preference vector to generate cumulative playback durations; and

normalizing the cumulative playback durations.

16. The device of claim 15 , wherein the playback durations are consumption mode weighted prior to the summing.

17. The device of claim 16 , wherein the normalizing comprises sum normalizing.

18. The device of claim 1 , wherein the media device comprises a set top box or a television, wherein the providing the recommendation comprises transmitting the recommendation to the media device.

19. A non-transitory computer-readable medium storing a plurality of instructions which, when executed by a processor, cause the processor to perform operations, the operations comprising:

receiving a data set identifying at least one media program presented via a media device;

creating a preference vector comprising a plurality of fields corresponding to a plurality of content attributes, wherein the creating the preference vector comprises generating preference vector entries in fields of the plurality of fields that correspond to content attributes associated with the at least one media program presented via the media device, wherein each of the preference vector entries comprises a playback duration of one of the at least one media program presented via the media device and a time period of the one of the at least one media program presented via the media device;

creating a media entity matrix comprising entity vectors for a plurality of entities associated with a production of a plurality of media programs, wherein each entity vector comprises the plurality of fields corresponding to the plurality of content attributes, wherein the creating the media entity matrix comprises, for each entity vector for each entity of the plurality of entities, generating matrix entries in fields of the plurality of fields that correspond to content attributes associated with at least one media program associated with the each entity, wherein each matrix entry comprises a time period of one of the at least one media program associated with the each entity and a score of the one of the at least one media program associated with the each entity, wherein the score is weighted by an epoch factor that is based upon a time span that is associated with the at least one media program presented via the media device;

determining entity rankings based upon dot products between the preference vector and the entity vectors of the media entity matrix; and

providing a recommendation based upon the entity rankings.

20. A method comprising:

receiving, by a processor, a data set identifying at least one media program presented via a media device;

creating, by the processor, a preference vector comprising a plurality of fields corresponding to a plurality of content attributes, wherein the creating the preference vector comprises generating preference vector entries in fields of the plurality of fields that correspond to content attributes associated with the at least one media program presented via the media device, wherein each of the preference vector entries comprises a playback duration of one of the at least one media program presented via the media device and a time period of the one of the at least one media program presented via the media device;

creating, by the processor, a media entity matrix comprising entity vectors for a plurality of entities associated with a production of a plurality of media programs, wherein each entity vector comprises the plurality of fields corresponding to the plurality of content attributes, wherein the creating the media entity matrix comprises, for each entity vector for each entity of the plurality of entities, generating matrix entries in fields of the plurality of fields that correspond to content attributes associated with at least one media program associated with the each entity, wherein each matrix entry comprises a time period of one of the at least one media program associated with the each entity and a score of the one of the at least one media program associated with the each entity, wherein the score is weighted by an epoch factor that is based upon a time span that is associated with the at least one media program presented via the media device;

determining, by the processor, entity rankings based upon dot products between the preference vector and the entity vectors of the media entity matrix; and

providing, by the processor, a recommendation based upon the entity rankings.

Assignments (6)
SUCCESSION OF AGENCY IN PATENT SECURITY INTERESTS Recorded Oct 3, 2025
From: UBS AG, STAMFORD BRANCH (AS SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH)
To: UBS AG, STAMFORD BRANCH
Reel/Frame 072994/0001 →
SECURITY AGREEMENT Recorded Jan 25, 2024
From: DIRECTV, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 066371/0690 →
SECURITY AGREEMENT Recorded Aug 5, 2021
From: DIRECTV, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. AS COLLATERAL AGENT
Reel/Frame 058220/0531 →
SECURITY AGREEMENT Recorded Aug 3, 2021
From: DIRECTV, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 057695/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: THE DIRECTV GROUP, INC.
To: DIRECTV, LLC
Reel/Frame 057033/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2019
From: HSU, RAYMOND; SAHU, ASHOK
To: THE DIRECTV GROUP, INC.
Reel/Frame 048587/0708 →
Continuity (2)
Continuation 15289626 · Oct 10, 2016
Related Publication 20190197051A1 · Jun 27, 2019