IP Library Granted Patent US 10,540,396
Granted Patent B2
US 10,540,396 · App. 15/150,240 · Granted Jan 21, 2020

System and method of personalizing playlists using memory-based collaborative filtering

Inventors: Tao Ye (Daly City, CA); Gordon Parker Rios (Fort Bragg, CA)
Assignee: Pandora Media, LLC
G06F16/686G06F3/01G06F3/0484G06F3/165H04N21/252H04N21/4668H04N21/4756
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,540,396
App. No.
15/150,240
Granted
Jan 21, 2020
Kind
B2
Abstract

Systems and methods are provided for personalizing new song suggestions for a user. A plurality of users provides thumbs up and thumbs down ratings for a pair of songs (song A and B). A first aggregate rating for song B is calculated based on ratings given to song A by all of the users that gave a like rating to song A. Similarly, a second aggregate rating is calculated for song B based on ratings given to song B by all users that gave a dislike rating to song A. Then a user that has not previously rated song B, supplies a rating for song A. A prediction is performed of how the user will rate song B based on the user's rating of song A. For example, the first aggregate rating for song B is used if the user rated song A positively.

Claims (48)

1. A method of providing a recommendation personalized to a user for a media content item, performed on a server system having one or more processors and memory storing one or more programs for execution by the one or more processors to perform the method, comprising:

generating for display to a target user, during playback of a first media content item to the target user, a user interface for indicating either a like rating or a dislike rating for the first media content item, the like rating and dislike rating together forming a binary rating scheme;

receiving from the target user a selection of the like rating for the first media content item;

obtaining, by the one or more processors, from a like matrix a first score for a target media content item based on ratings provided by a first plurality of users who selected the like rating during playback of the first media content item, the target media content item different from the first content media item, the like matrix including information indicating whether the first plurality of users selected the like rating or the dislike rating from the binary rating scheme during playback of the target media content item;

generating for display to the target user, during playback of a second media content item to the target user, the user interface including the binary rating scheme;

receiving from the target user a selection of the dislike rating for the second media content item, the second media content item different from the first media content item and the target media content item;

obtaining, by the one or more processors, from a dislike matrix a second score for the target media content item based on ratings provided by a second plurality of users who selected the dislike rating during playback of the second media content item, the dislike matrix including information indicating whether the second plurality of users selected the like rating or the dislike rating from the binary rating scheme during playback of the target media content item;

combining, by the one or more processors, the first score and the second score to produce a recommendation score for the target media content item for the target user; and

in response to the recommendation score being above a threshold, providing, over a network, the target media content item to the target user.

2. The method of claim 1 , wherein the like ratings are assigned a +1 score and dislike ratings are assigned a −1 score, and wherein the first and second scores each fall between a range of −1 and 1.

3. The method of claim 2 , wherein the threshold is a between 0 and 1.

4. The method of claim 2 , wherein the second score falls between a range of 0 and 1.

5. The method of claim 1 , wherein the recommendation score for the target media content item is a weighted average of the first score and the second score based on a number of users in the first plurality of users and a number of users in the second plurality of users.

6. The method of claim 1 , wherein the like and dislike ratings are received from a plurality of users on stations associated with a common media input seed.

7. The method of claim 6 , wherein the media input seed is selected from the group comprising: a song name, an artist name, an album name, a composer, and a genre.

8. The method of claim 1 , further comprising:

prior to producing the recommendation score for the target media content item, determining that the first media content item and the second media content item have been rated a least a threshold number of times.

9. The method of claim 1 , wherein the like and dislike ratings are not binary.

10. The method of claim 1 , wherein producing the recommendation score for the target media content item is performed in response to a current request to identify a media content item for playback.

11. The method of claim 1 , wherein the first plurality of users and the second plurality of users do not include the target user.

12. A server system, for producing a recommendation score personalized to a user for an item, comprising:

one or more processors; and

memory storing one or more programs to be executed by the one or more processors;

the one or more programs comprising instructions for:

generating for display to a target user, during playback of a first media content item to the target user, a user interface for indicating either a like rating or a dislike rating for the first media content item, the like rating and dislike rating together forming a binary rating scheme;

receiving from the target user a selection of the like rating for the first media content item;

obtaining, by the one or more processors, from a like matrix a first score for a target media content item based on ratings provided by a first plurality of users who selected the like rating during playback of the first media content item, the target media content item different from the first content media item, the like matrix including information indicating whether the first plurality of users selected the like rating or the dislike rating from the binary rating scheme during playback of the target media content item;

generating for display to the target user, during playback of a second media content item to the target user, the user interface including the binary rating scheme;

receiving from the target user a selection of the dislike rating for the second media content item, the second media content item different from the first media content item and the target media content item;

obtaining, by the one or more processors, from a dislike matrix a second score for the target media content item based on ratings provided by a second plurality of users who selected the dislike rating during playback of the second media content item, the dislike matrix including information indicating whether the second plurality of users selected the like rating or the dislike rating from the binary rating scheme during playback of the target media content item;

combining, by the one or more processors, the first score and the second score to produce a recommendation score for the target media content item for the target user; and

in response to the recommendation score being above a threshold, providing, over a network, the target media content item to the target user.

13. The system of claim 12 , wherein the recommendation score for the target media content item is a weighted average of the first score and the second score based on a number of users in the first plurality of users and a number of users in the second plurality of users.

14. A non-transitory computer readable storage medium storing one or more programs configured for execution by a server system, the one or more programs comprising instructions for:

generating for display to a target user, during playback of a first media content item to the target user, a user interface for indicating either a like rating or a dislike rating for the first media content item, the like rating and dislike rating together forming a binary rating scheme;

receiving from the target user a selection of the like rating for the first media content item;

obtaining, by a processor, from a like matrix a first score for a target media content item based on ratings provided by a first plurality of users who selected the like rating during playback of the first media content item, the target media content item different from the first content media item, the like matrix including information indicating whether the first plurality of users selected the like rating or the dislike rating from the binary rating scheme during playback of the target media content item;

generating for display to the target user, during playback of a second media content item to the target user, the user interface including the binary rating scheme;

receiving from the target user a selection of the dislike rating for the second media content item, the second media content item different from the first media content item and the target media content item;

obtaining, by the processor, from a dislike matrix a second score for the target media content item based on ratings provided by a second plurality of users who selected the dislike rating during playback of the second media content item, the dislike matrix including information indicating whether the second plurality of users selected the like rating or the dislike rating from the binary rating scheme during playback of the target media content item;

combining, by the processor, the first score and the second score to produce a recommendation score for the target media content item for the target user; and

in response to the recommendation score being above a threshold, providing, over a network, the target media content item to the target user.

15. The system of claim 12 , wherein the like ratings are assigned a +1 score and dislike ratings are assigned a −1 score, and wherein the first and second scores each fall between a range of −1 and 1.

16. The system of claim 12 , wherein the like and dislike ratings are received from a plurality of users on stations associated with a common media input seed.

17. The system of claim 12 , wherein the one or more programs further comprise instructions for determining that the first media content item and the second media content item have been rated a least a threshold number of times prior to producing the recommendation score for the target media content item.

18. The non-transitory computer readable storage medium of claim 14 , wherein the like ratings are assigned a +1 score and dislike ratings are assigned a −1 score, and wherein the first and second scores each fall between a range of −1 and 1.

19. The non-transitory computer readable storage medium of claim 14 , wherein the recommendation score for the target media content item is a weighted average of the first score and the second score based on a number of users in the first plurality of users and a number of users in the second plurality of users.

20. The non-transitory computer readable storage medium of claim 14 , wherein the one or more programs further comprise instructions for determining that the first media content item and the second media content item have been rated a least a threshold number of times prior to producing the recommendation score for the target media content item.

Assignments (5)
SECURITY INTEREST Recorded Nov 26, 2025
From: PANDORA MEDIA, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 073043/0142 →
CHANGE OF NAME Recorded Apr 4, 2019
From: PANDORA MEDIA, INC.
To: PANDORA MEDIA, LLC
Reel/Frame 048806/0776 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: PANDORA MEDIA CALIFORNIA, LLC; ADSWIZ INC.
Reel/Frame 048209/0925 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: YE, TAO; RIOS, GORDON PARKER
To: PANDORA MEDIA, INC.
Reel/Frame 044756/0099 →
SECURITY INTEREST Recorded Dec 29, 2017
From: PANDORA MEDIA, INC.; PANDORA MEDIA CALIFORNIA, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 044985/0009 →
Continuity (2)
Division 13835040 · Mar 15, 2013
Related Publication 20160253416A1 · Sep 1, 2016