HIERARCHICAL MULTISOURCE PLAYLIST GENERATION
First Claim
1. A computing system configured for generating a playlist, the computing system comprising:
- one or more processors;
one or more computer-readable media having thereon computer-executable instructions that are structured such that, when executed by the one or more processors, cause the computing system to perform at least the following in response to receiving a playlist seed;
generate a feature vector for each of a plurality of candidate tracks, each feature vector having one or more features each corresponding to respective feature dimensions;
for each feature vector, adjust the weight of at least one feature of the feature vector to form a dimensionally weighted feature vector, the adjustment being performed according to training data corresponding to the playlist seed;
rank the plurality of candidate tracks according to the dimensionally weighted feature vectors of the plurality of candidate tracks to form a candidate track ranking; and
select one or more tracks according to the candidate track ranking to generate a playlist.
1 Assignment
0 Petitions
Accused Products
Abstract
A playlist generator that utilizes multiple data sources to rank each track within a set of candidate tracks to enable selection of candidate tracks according to the ranking. Candidate tracks are each scored according to one or more features, such as acoustic similarity and/or similar usage patterns of the candidate track or artist of the candidate track to a current or previously played track or artist. Each feature is weighted according to historical listening patterns surrounding a user-selected playlist seed artist. The weighting may also be further corrected according to historical listening patterns of the particular user. When historical usage data related to a particular seed artist is limited, more generalized historical usage data related to a higher level in a genre hierarchy may be used.
-
Citations
17 Claims
-
1. A computing system configured for generating a playlist, the computing system comprising:
-
one or more processors; one or more computer-readable media having thereon computer-executable instructions that are structured such that, when executed by the one or more processors, cause the computing system to perform at least the following in response to receiving a playlist seed; generate a feature vector for each of a plurality of candidate tracks, each feature vector having one or more features each corresponding to respective feature dimensions; for each feature vector, adjust the weight of at least one feature of the feature vector to form a dimensionally weighted feature vector, the adjustment being performed according to training data corresponding to the playlist seed; rank the plurality of candidate tracks according to the dimensionally weighted feature vectors of the plurality of candidate tracks to form a candidate track ranking; and select one or more tracks according to the candidate track ranking to generate a playlist. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computing system configured for generating a playlist, the computing system comprising:
-
one or more processors; one or more computer-readable media having thereon computer-executable instructions that are structured such that, when executed by the one or more processors, cause the computing system to perform at least the following in response to receiving a playlist seed; generate a feature vector for each of a plurality of candidate tracks, each feature vector having one or more features each corresponding to respective feature dimensions; for each feature vector, adjust the weight of at least one feature of the feature vector to form a dimensionally weighted feature vector, the adjustment being performed according to training data corresponding to the playlist seed, the training data being based on historical usage data of a genre hierarchy according to a lowest hierarchy level within which the playlist seed resides and from which there is sufficient historical usage data; rank the plurality of candidate tracks according to the dimensionally weighted feature vectors of the plurality of candidate tracks to form a candidate track ranking; and select one or more tracks according to the candidate track ranking to generate a playlist. - View Dependent Claims (15, 16, 17)
-
Specification