IP Library › Granted Patent US 10,432,689
Granted Patent B2
US 10,432,689 · App. 15/331,106 · Granted Oct 1, 2019

Feature generation for online/offline machine learning

Inventors: Mohammad Hossein Taghavi (Sunnyvale, CA); Prasanna Padmanabhan (Fremont, CA); Dong-Bang Tsai (San Jose, CA); Faisal Zakaria Siddiqi (San Jose, CA); Justin Derrick Basilico (Saratoga, CA)
Assignee: Netflix, Inc.
H04L65/602G06N5/04G06N20/00H04L65/607H04L67/22G06F16/335G06F16/9535H04L67/303H04L67/306H04N21/2407H04N21/252H04N21/25891
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 10,432,689
App. No.
15/331,106
Granted
Oct 1, 2019
Kind
B2
Abstract

A system for utilizing models derived from offline historical data in online applications is provided. The system includes a processor and a memory storing machine-readable instructions for determining a set of contexts of the usage data, and for each of the contexts within the set of contexts, collecting service data from services supporting the media service and storing that service data in a database. The system performing an offline testing process by fetching service data for a defined context from the database, generating a first set of feature vectors based on the fetched service data, and providing the first set to a machine-learning module. The system performs an online testing process by fetching active service data from the services supporting the media streaming service, generating a second set of feature vectors based on the fetched active service data, and providing the second set to the machine-learning module.

Claims (54)

1. A system comprising:

a processor; and

a memory storing machine-readable instructions that when executed by the processor, cause the processor to perform operations comprising:

collecting, periodically, usage data representing usage of a media streaming service, the collecting comprising:

determining a set of contexts of the usage data, and

for each of the contexts within the set of contexts, collecting service data from services supporting the media service and storing that service data in a database;

performing an offline testing process comprising:

fetching service data for a defined context from the database,

generating a first set of feature vectors based on the fetched service data using a specified feature encoder that is configured to encode the first set of feature vectors in a specified manner, and

providing the first set of feature vectors to a machine-learning module; and

performing an online testing process comprising:

fetching active service data from the services supporting the media streaming service,

generating a second set of feature vectors based on the fetched active service data using the same specified feature encoder that is configured to encode the second set of feature vectors in the same specified manner, the same encoding allowing the system to dynamically transition between the offline testing process and the online testing process, and

providing the second set of feature vectors to the machine-learning module.

2. The system of claim 1 , wherein the contexts include one of: user profiles, device types, or time period.

3. The system of claim 1 , wherein the services supporting the media service comprise one of: a viewing history service, a user media list service, and a ratings service.

4. The system of claim 1 , wherein the machine-readable instructions further cause the system to perform operations comprising determining a confidence value for a snapshot of collected usage data.

5. The system of claim 1 , wherein collecting usage data further comprises transforming service objects from the services into a condensed format.

6. The system of claim 5 , wherein fetching service data comprises restoring the service objects to a non-condensed format.

7. The system of claim 1 , wherein performing the offline testing process further comprises receiving label data defining contexts to be fetched.

8. The system of claim 7 , wherein the label data further defines items to be scored for the offline testing process.

9. The system of claim 1 , wherein the service data includes context-dependent data.

10. The system of claim 1 , wherein the service data includes context-independent data.

11. A method comprising:

collecting, over a period of time, usage data representing usage of a primary service, the collecting comprising:

periodically determining a set of contexts of the usage data, and

for each of the contexts within the set of contexts, collecting service data from secondary services supporting the primary service and storing that service data in a database; and

performing an offline testing process comprising:

fetching service data for a defined context from the database,

generating a first set of feature vectors based on the fetched service data using a specified feature encoder that is configured to encode the first set of feature vectors in a specified manner, and

providing the first set of feature vectors to a machine-learning function; and

performing an online testing process comprising:

fetching active service data from the services supporting the primary service,

generating a second set of feature vectors based on the fetched active service data using the same specified feature encoder that is configured to encode the second set of feature vectors in the same specified manner, the same encoding allowing dynamic transitions between the offline testing process and the online testing process, and

providing the second set of feature vectors to the machine-learning function.

12. The method of claim 11 , further comprising:

performing an online testing process comprising: fetching active service data from the secondary services;

generating a second set of feature vectors based on the fetched active service data; and

providing the second set of feature vectors to the machine-learning function.

13. The method of claim 11 , wherein the primary service is a media streaming service.

14. The method of claim 13 , wherein the media streaming service utilizes a service oriented architecture.

15. The method of claim 11 , further comprising, determining a confidence value for a snapshot of collected usage data.

16. The method of claim 11 , wherein the secondary services include at least one of: a viewing history service, a user media list service, or a ratings service.

17. The method of claim 11 , wherein the contexts include one of: user profiles, device types, or time period.

18. A method comprising:

performing an offline testing process comprising:

fetching service data for a defined context from a database, the database storing snapshots of previously collected context data, the previously collected context data being derived from usage data of a primary service,

generating a first set of feature vectors based on the fetched service data using a specified feature encoder that is configured to encode the first set of feature vectors in a specified manner, and

providing the first set of feature vectors into a machine-learning function; and

performing an online testing process comprising:

fetching active service data from secondary services supporting the primary service,

generating a second set of feature vectors based on the fetched active service data using the same specified feature encoder that is configured to encode the second set of feature vectors in the same specified manner, the same encoding allowing dynamic transitions between the offline testing process and the online testing process, and

providing the second set of feature vectors to the machine-learning function.

19. The method of claim 18 , wherein the service data for the defined context is collected periodically.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NASRABADI, MOHAMMAD HOSSEIN TAGHAVI; PADMANABHAN, PRASANNA; TSAI, DONG-BANG; SIDDIQI, FAISAL ZAKARIA; BASILICO, JUSTIN DERRICK
To: NETFLIX, INC.
Reel/Frame 043571/0427 →
Continuity (2)
Provisional Application 62295462 · Feb 15, 2016
Related Publication 20170237792A1 · Aug 17, 2017