IP Library › Granted Patent US 10,504,156
Granted Patent B2
US 10,504,156 · App. 13/913,332 · Granted Dec 10, 2019

Personalized media stations

Inventors: Eva Hohei Mok (San Jose, CA); Payam Mirrashidi (Los Altos, CA); Christopher Laurence Bell (Pacifica, CA); Andrew Wadycki (San Mateo, CA); John Andrew McCulloh (Belmont, CA); Renée Ross (San Francisco, CA); Arvind S. Shenoy (San Jose, CA); Jayesh Krishnan (San Carlos, CA); Chelina Vargas (Los Angeles, CA)
Assignee: Apple Inc.
G06Q30/0271G06F16/2386G06F16/44
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,504,156
App. No.
13/913,332
Granted
Dec 10, 2019
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable storage media for generating an internet radio media station based on metadata available on the user's media library. The media station can be generated in response to a subscription request to an internet radio service. In one example, the media station is generated without a user seed. Metadata related to the user's media library is analyzed and format rules are selected and configured according to the analysis. The format rules are associated with slots in a media station that define the playback sequence of the media station.

Claims (71)

1. A computer implemented method of generating a media station for a particular user by a media station generation system, the method comprising:

analyzing, in an offline process not related to a request for generating a media station, a media library and media item experience history associated with a particular user account to generate a user preferences database, wherein the media item experience history includes data regarding media item experience data within the media library, media items presented to the particular user account, and media items experienced within an online store;

analyzing, in the offline process, the online store database that includes metadata for media items targeted to the particular user account for purchase in the online store;

generating, in the offline process, a similarity database that includes a plurality of clusters that group a collection of media items based on determined similarities, wherein the similarity database includes a plurality of feature vectors that represent attributes for the clusters;

executing, in an online process triggered by the request for generating the media station, a media station generation process to create the media station in accordance with a programming model having a set of ordered programming slots and a plurality of media selection rules respectively assigned to each programming slot from the set of ordered programming slots, the media station generation process comprising:

selecting, based on a first media selection rule assigned to a first programming slot and the similarity database, a first media item to be performed in the first programming slot, wherein the first media item is associated with a first data vector that is similar to one of the feature vectors in the similarity database; and

selecting, based on a second media selection rule assigned to a second programming slot ordered after the first programming slot, a second media item that matches user preferences stored within the user preference database for the particular user account; and

sending the selection of the second media item to a client device for performance of the second media item in the second programming slot,

wherein the second media selection rule is different than the first media selection rule, and wherein the second media selection rule selects the second media item from a different database of the similarity database and the online store database than dictated by the first media selection rule.

2. The method of claim 1 , wherein the similarity database is generated from performing a locality sensitive hashing operation.

3. The method of claim 1 , wherein selecting a first media item comprises:

selecting a set of candidate media items and weighting the set of candidate media items based on the first media selection rule; and

selecting the first media item based on the weighting.

4. The method of claim 3 , wherein the media item experience history includes data regarding recency of a last experience, and the step of weighting the set of candidate media items gives a higher weight to media items the particular user account has experienced more recently than other media items.

5. The method of claim 1 , further comprising:

analyzing a population of the particular user account's ownership of media items to determine how often media items co-occur in the population of user's media libraries; and

generating a collaborative filter database to store results of the analysis of the population of the particular user account's ownership of media items.

6. A media station generation system comprising:

one or more computer processors; and

a memory containing instructions that, when executed by the one or more computer processors, cause the media station generation system to:

analyze, in an offline process not related to a request for generating a media station, a media library and media item experience history to generate a database of user preferences associated with a particular user account, wherein the media item experience history includes data regarding media item experience data within the media library, media items presented to the particular user account, and media items experienced within an online store;

analyze, in the offline process, an online store database that includes metadata for media items targeted to the particular user account for purchase in an online store;

generate in the offline process, a similarity database that includes a plurality of clusters that group a collection of media items based on determined similarities, wherein the similarity database comprises a plurality of feature vectors that represent attributes for the clusters;

create, in an online process caused by the request and by a media station generation process, a media station in accordance with a programming model having a set of ordered programming slots and a plurality of media selection rules respectively assigned to each programming slot from the set of ordered programming slots, the media station generation process comprises instructions to:

select, based on a first media selection rule assigned to a first programming slot and the similarity database, a first media item to be performed in the first programming slot, wherein the first media item is associated with a first data vector that is similar to one of the feature vectors in the similarity database; and

select, based on a second media selection rule assigned to a second programming slot ordered after the first programming slot, a second media item that matches user preferences stored within the user preference database for the particular user account; and

send the selection of the second media item to a client device for performance of the second media item in the second programming slot,

wherein the second media selection rule is different than the first media selection rule, and wherein the second media selection rule selects the second media item from a different database of the similarity database and the online store database than dictated by the first media selection rule.

7. The media station generation system of claim 6 , wherein the similarity database is generated from performing a locality sensitive hashing operation.

8. The media station generation system of claim 6 , wherein the instructions to select a first media item comprises instructions that cause the media station generation system to:

select a set of candidate media items and weight the set of candidate media items based on the first media selection rule in addition to user preference criteria; and

select the first media item based on the weight.

9. The media station generation system of claim 8 , wherein the media item experience history includes data regarding recency of a last experience, and the instruction to weight the set of candidate media items gives a higher Fweight to media items the particular user account has experienced more recently than other media items.

10. The media station generation system of claim 6 , wherein the instructions further cause the media station generation system to:

analyze a population of the particular user account's ownership of media items to determine how often media items co-occur in the population of the media libraries; and

generate a collaborative filter database to store results of the analysis of the population of the particular user account's ownership of media items.

11. A non-transitory computer-readable medium containing instructions that, when executed by a computing system, cause the computing system to:

analyze, in an offline process not related to a request for generating a media station, a media library and media item experience history associated with a particular user account to generate a user preferences database, wherein the media item experience history includes data regarding media item experience data within the media library, media items presented to the particular user account, and media items experienced within an online store;

analyze, in the offline process, the online store database of media items targeted to the particular user account for purchase in the online store,

generate in the offline process, a similarity database that includes a plurality of clusters that group a collection of media items based on determined similarities, wherein the similarity database comprises a plurality of feature vectors that represent attributes for the clusters:

create, in an online process trigger by the request and by a media station generation process, a media station in accordance with a programming model having a set of ordered programming slots and a plurality of media selection rules respectively assigned to each programming slot from the set of ordered programming slots, the media station generation process comprises instructions to:

select, based on a first media selection rule assigned to a first programming slot and the similarity database, a first media item to be performed in the first programming slot; and

select, based on a second media selection rule assigned to a second programming slot ordered after the first programming slot, a second media item that matches user preferences stored within the user preference database for the particular user account; and

send the selection of the second media item to a client device for performance of the second media item in the second programming slot,

wherein the second media selection rule is different than the first media selection rule, and wherein the second media selection rule selects the second media item from a different database of the similarity database and the online store database than dictated by the first media selection rule.

12. The non-transitory computer-readable medium of claim 11 wherein the similarity database is generated from performing a locality sensitive hashing operation.

13. The non-transitory computer-readable medium of claim 11 , wherein the instructions to select a first media item comprises instructions that cause the computing system to:

select a set of candidate media items and weight the set of candidate media items based on the first media selection rule in addition to user preference criteria; and

select the first media item based on the weight.

14. The non-transitory computer-readable medium of claim 13 , wherein the media item experience history includes data regarding recency of a last experience, and the instruction to weight the set of candidate media items gives a higher weight to media items the particular user has experienced more recently than other media items.

15. The non-transitory computer-readable medium of claim 11 , wherein the instructions further cause the computing system to:

analyze a population of the particular user account's ownership of media items to determine how often media items co-occur in the population of the media libraries; and

generate a collaborative filter database to store results of the analysis of the population of the particular user account's ownership of media items.

16. The method of claim 1 , further comprising:

storing an editorial database of media item candidates that an editor has approved as candidates, wherein the second media selection rule selects the second media item from a different database of the similarity database, the editorial database, and the online store database than dictated by the first media selection rule.

17. The method of claim 1 , wherein generating the similarity database comprises:

generating a data vector for each media item of the collection of media items with metadata of the media items stored in the online store database, wherein each data vector is indicative of one or more attributes for a respective media item;

grouping the data vectors into the clusters based on a determination that the data vectors within the clusters are within one or more predetermined proximities; and

generating a plurality of feature vectors that represent overall attributes for the clusters.

18. The media station generation system of claim 6 , wherein the instructions further cause the media station generation system to:

store an editorial database of media item candidates that an editor has approved as candidates, wherein the second media selection rule selects the second media item from a different database of the similarity database, the editorial database, and the online store database than dictated by the first media selection rule.

19. The media station generation system of claim 6 , wherein the instructions to generate the similarity database comprises instructions that cause the media station generation system to:

generate a data vector for each media item of the collection of media items with metadata of the media items stored in the online store database, wherein each data vector is indicative of one or more attributes for a respective media item;

group the data vectors into the clusters based on a determination that the data vectors within the clusters are within one or more predetermined proximities; and

generate a plurality of feature vectors that represent overall attributes for the clusters.

20. The non-transitory computer-readable medium of claim 11 , wherein the instructions further cause the computing system to:

store an editorial database of media item candidates that an editor has approved as candidates, wherein the second media selection rule selects the second media item from a different database of the similarity database, the editorial database, and the online store database than dictated by the first media selection rule.

21. The media station generation system of claim 11 , wherein the instructions to generate the similarity database comprises instructions that cause the computing system to:

generate a data vector for each media item of the collection of media items with metadata of the media items stored in the online store database, wherein each data vector is indicative of one or more attributes for a respective media item;

group the data vectors into the clusters based on a determination that the data vectors within the clusters are within one or more predetermined proximities; and

generate a plurality of feature vectors that represent overall attributes for the clusters.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2014
From: LIEPIS, JAY
To: APPLE INC
Reel/Frame 033946/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2013
From: MOK, EVA HOHEI; MIRRASHIDI, PAYAM; SHENOY, ARVIND S.; KRISHNAN, JAYESH; VARGAS, CHELINA; WADYCKI, ANDREW; BELL, CHRISTOPHER LAURENCE; ROSS, RENEE
To: APPLE INC.
Reel/Frame 031060/0934 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2013
From: MCCULLOH, JOHN ANDREW
To: APPLE INC.
Reel/Frame 031063/0774 →
Continuity (2)
Provisional Application 61717598 · Oct 23, 2012
Related Publication 20140114772A1 · Apr 24, 2014
Cited By (3)
US 12,235,895 US 12,361,050 US 12,681,984