The present invention relates to sending recommendations for media items from a recommending user to one or more recipients.
Systems that allow users to recommend a media item, such as a song, to others users are known. However, in these systems, there is no way for a recommending user to know whether a recommendation for a media item is desirable to another user before the recommending user sends the recommendation. Thus, there is a need for improved recommendation systems and methods.
The present invention relates to providing information to a recommending user reflecting an expected, or predicted, desirability of a recommendation of a media item for a potential recommendation recipient or a group of potential recommendation recipients. In one embodiment, the recommending user selects a media item to potentially recommend to other users. For each potential recommendation recipient or group of potential recommendation recipients, an expected desirability value reflecting an expected desirability of the media item is determined. The expected desirability values are then presented to the recommending user. Based on the expected desirability values, the recommending user then selects one or more of the potential recommendation recipients or groups of potential recommendation recipients to which to send a recommendation for the media item. The recommendation for the media item is then sent to the one or more of the potential recommendation recipients or groups of potential recommendation recipients selected by the recommending user.
In one embodiment, the expected desirability values are values determined based on user preferences of the potential recommendation recipients. In addition, the expected desirability values may be a function of play histories of the potential recommendation recipients, demographic information for the potential recommendation recipients, receptiveness of the potential recommendation recipients to recommendations previously made by the recommending user and/or other recommending users, or the like. For the groups of potential recommendation recipients, the expected desirability values may be, for example, an average of the expected desirability values of the potential recommendation recipients within the group or a value determined based on aggregate user preferences of the potential recommendation recipients in the group.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
In addition, the expected desirability values may be a function of a play history of the potential recommendation recipient, demographic information for the potential recommendation recipient, or the like. Still further, the expected desirability values may be a function of receptiveness of the potential recommendation recipient to recommendations previously sent by the recommending user and/or other recommending users. The receptiveness of the potential recommendation recipient may be represented by, for example, a number or percentage of media items previously recommended by the recommending user and/or other recommending users that the potential recommendation recipient has previewed, a number or percentage of media items previously recommended by the recommending user and/or other recommending users that the potential recommendation recipient has purchased, or the like.
As an example, the expected desirability value may be a score, or a function of a score, defined as:
where WCRITERION,i is a weight assigned to a particular criterion and WATTRIBUTE,i is a weight assigned to a particular attribute for the criterion for the recommendation of the media item. More specifically, as an example, the media item to potentially be recommended may be a song, and the criterion used to score the song may be genre and decade of release. The user preferences of the potential recommendation recipient may include weights assigned to the genre criterion and the decade of release criterion. Then, for each particular music genre, i.e. an attribute of the genre criterion, the user preferences of the potential recommendation recipient may further include a weight assigned to each of the particular music genres. The weights assigned to the particular music genres may be manually set by the potential recommendation recipient or programmatically assigned to the genres of music based on, for example, songs in a media collection of the potential recommendation recipient, a play history of the potential recommendation recipient, and the like. Likewise, the user preferences of the potential recommendation recipient may include a weight assigned to each of a number of decades of release, i.e. attributes of the decade of release criterion.
Continuing the example above, assume that the user preferences of a potential recommendation recipient are as follows:
Using these exemplary weights assigned to the scoring criteria and attributes of the scoring criteria, the score for the potential recommendation recipient may be defined as:
Score=(WGENRE,CRITERION·WGENRE,ATTRIBUTE+WDECADE,CRITERION·WDECADE,ATTRIBUTE)·100.
Thus, if the media item to potentially be recommended is a song and the metadata for the song indicates that the song is from the classic rock genre and was released in the 1960s, then the score for the potential recommendation recipient is:
As for groups of potential recommendation recipients, the expected desirability value of a group of potential recommendation recipients may be, or may be a function of, a composite score for the group of potential recommendation recipients that is provided by combining individual scores determined for the potential recommendation recipients in the group. For example, the score for the group of potential recommendation recipients may be an average of the scores of the potential recommendation recipients in the group. Alternatively, the expected desirability value for a group of potential recommendation recipients may be computed or otherwise determined based on aggregate user preferences, aggregate play histories, aggregate demographic information, or the like of the potential recommendation recipients within the group. For example, using the exemplary user preferences discussed above, the aggregate user preferences may be provided by averaging corresponding criteria weights and attribute weights of the potential recommendation recipients in the group.
For more information regarding an exemplary scoring algorithm, the interested reader is directed to U.S. Patent Application Publication No. 2008/0016205 A1, entitled P2P NETWORK FOR PROVIDING REAL TIME MEDIA RECOMMENDATIONS, which was filed on Jul. 11, 2006 and is hereby incorporated herein by reference in its entirety. Note, however, that any desired scoring algorithm for scoring media items based on user preferences of a user may be used. The scoring algorithms discussed above are exemplary and are not intended to limit the scope of the present invention. Also note that while the scoring algorithm discussed above provides a numerical score, where the expected desirability value is, or is a function of, the numerical score, the present invention is not limited thereto. The expected desirability value may be any type of relative value. For example, the expected desirability value may be a numerical value; a text-based value such as “high,” “medium,” and “low”; a rating such as one star (“*”), two stars (“**”), or three stars (“***”); or the like.
Next, the expected desirability values for the one or more potential recommendation recipients and/or the one or more groups of potential recommendation recipients are presented to the recommending user (step 204). In addition to the expected desirability values, information indicating whether the one or more media items have been played or previewed by the potential recommendation recipients or groups of potential recommendation recipients, information such as whether the one or more selected media items have been recently played or previewed by the potential recommendation recipients or groups of potential recommendation recipients, information indicating whether the one or more selected media items are owned by the potential recommendation recipients or groups of potential recommendation recipients, or the like may be presented to the recommending user. A media item has been recently played or previewed if that media item has been played or previewed within a predetermined amount of time prior to the current time. For groups of potential recommendation recipients, the information indicating whether the one or more selected media items have been recently played or previewed may be a number or percentage of the potential recommendation recipients in the group that have recently played or previewed the one or more media items. Likewise, the information indicating whether the one or more media items are owned by the group of potential recommendation recipients may be a number or percentage of potential recommendation recipients in the group that own the one or more media items. The expected desirability values and, optionally, the additional information assists the recommending user in determining whether the one or more selected media items are likely of interest to the potential recommendation recipients and/or groups of potential recommendation recipients. In other words, the expected desirability values and, optionally, the additional information assists the recommending user in identifying one or more of the potential recommendation recipients and/or groups of potential recommendation recipients, if any, to which to send recommendations for the one or more selected media items.
A selection of one or more of the potential recommendation recipients and/or one or more of the groups of potential recommendation recipients to which to send a recommendation for each of the one or more selected media items is then received from the recommending user (step 206). Then, a recommendation, or recommendations, for the one or more media items selected by the recommending user in step 200 is sent to the one or more potential recommendation recipients and/or groups of potential recommendation recipients selected by the recommending user in step 206 (step 208).
The recommending user may then select one of the potential recommendation recipients to which to send a recommendation for MEDIA ITEM C by, for example, clicking on the username of the desired recipient. Alternatively, the recommendation user may be enabled to select multiple recommendation recipients rather than just one from the list of potential recommendation recipients 14.
In one embodiment, the present invention may be implemented in a recommendation system such as that disclosed in U.S. Patent Application Publication No. 2008/0016205 A1, entitled P2P NETWORK FOR PROVIDING REAL TIME MEDIA RECOMMENDATIONS, which has been incorporated herein by reference in its entirety. In that system, upon receiving a recommendation, a peer device scores the recommended media item based on user preferences of the associated user. Then, if the score is above a first threshold, the peer device automatically downloads and, if necessary, purchases the recommended media item from a remote source such as, for example, a media distribution service. If the score is less than the first threshold and, optionally, greater than a second lower threshold, the peer device may automatically obtain a preview of the recommended media item from a remote source such as, for example, a media distribution service.
Accordingly, in one embodiment, the list of potential recommendation recipients 32 may also include threshold indicators 42 indicating whether the peer devices of the potential recommendation recipients will automatically download or purchase MEDIA ITEM C or automatically obtain a preview of MEDIA ITEM C in response to receiving a recommendation for MEDIA ITEM C. This information may further assist the recommending user in selecting one or more recipients of a recommendation for MEDIA ITEM C from the list of potential recommendation recipients 32.
Note that if the settings above prevent a recommendation to be sent to a potential recommendation recipient, that potential recommendation recipient may be “grayed-out” or not shown in the GUI 10 (
The central system 56 may be implemented as one or more physical servers. In general, the central system 56 includes a recommendation server 63 and user accounts 64. The recommendation server 63 may be implemented in software, hardware, or a combination thereof. The user accounts 64 may include a user account 66 for each of the users 60-1 through 60-N. Each user account 66 includes a play history 68 of the corresponding user, user preferences 70 of the corresponding user, media collection information 72 identifying media items in a media collection of the corresponding user, and optionally a buddy list 74 of the corresponding user. The play history 68 may include, for example, information identifying each media item played or previewed by the corresponding user. In addition, the play history 68 may include a time stamp for each of the played media items indicating a time and/or date on which the media items were played or previewed. The play histories 68 of the users 60-1 through 60-N may be provided by the peer devices 58-1 through 58-N. For example, as media items are played at the peer device 58-1, the peer device 58-1 may send identifiers of those media items and timestamps to the central system 56 for storage in the user account 66 of the user 60-1.
The user preferences 70 generally include information defining likes and/or dislikes of the corresponding user. For example, the user preferences 70 of the user 60-1 enable the peer devices 58-2 through 58-N of the other users 60-2 through 60-N to determine an expected desirability of media items to the user 60-1 prior to recommending the media items for the user 60-1. For example, the user preferences 70 of a user may include weights or priorities assigned to each of a number of scoring criteria such as music genre, decade of release, artist, album, beats-per-minute, recommending user, video genre, actor or actress, or the like. In addition, the user preferences 70 may include, for each of the scoring criteria, weights assigned to each of a number of attributes or potential values for that scoring criteria. For example, if music genre is a scoring criterion, then each of a number of music genres such as Country, Rock, Classic Rock, Alternative, and the like may each be assigned a weight or priority. The user preferences 70 may be manually defined by the users 60-1 through 60-N or programmatically defined based on the play histories 68 of the users 60-1 through 60-N, the media collection information of the users 60-1 through 60-N, or the like.
The media collection information 72 may include, for example, a Globally Unique Identifier (GUID) for each media item in the media collection of the corresponding user. In addition or alternatively, the media collection information 72 may include metadata describing the media items. For example, for a song, the metadata describing the song may include a title of the song, an artist of the song, an album on which the song was released, a date or decade of release, beats-per-minute, lyrics, or the like. The media collection information 72 may be obtained in any desired manner. For example, the peer devices 58-1 through 58-N may upload the media collection information 72 to the central system 56. However, the present invention is not limited thereto.
The buddy list 74 includes information identifying friends or buddies of the corresponding user. The buddy list 74 may be created for use in the recommendation system 54. In addition or alternatively, the buddy list 74 may be created or populated using buddy lists or contact lists of one or more social networking applications of the users 60-1 through 60-N such as, for example, buddy lists of instant messaging applications, email contact lists, contact lists or buddy lists of online social networking websites such as Facebook or MySpace, or the like. Note that buddy lists 74 of the users 60-1 through 60-N may additionally or alternatively be stored at the corresponding peer devices 58-1 through 58-N.
The peer devices 58-1 through 58-N are generally user devices having network capabilities. For example, each of the peer devices 58-1 through 58-N may be a personal computer, a portable media player such as an Apple® iPod® having WiFi capabilities, a mobile telephone such as an Apple® iPhone, a set-top box, or the like. As illustrated, the peer device 58-1 includes a media player function 76-1, a media collection 78-1 including a number of media items 80, and a recommendation client 82-1. While not illustrated for clarity, the other peer devices 58-2 through 58-N likewise include media player functions 76-2 through 76-N, media collections 78-2 through 78-N, and recommendation clients 82-2 through 82-N.
The media player function 76-1 may be implemented in software, hardware, or a combination thereof and operates to provide playback of media items in the media collection 78-1. The media collection 78-1 includes the media items 80, which may be songs, audio books, podcasts, movies, television programs, video clips, or the like. The recommendation client 82-1 generally operates to send recommendations and receive recommendations as discussed below.
Next, the peer device 58-1 receives input from the user 60-1 selecting one or more media items to potentially recommend (step 304). In response, the peer device 58-1, and more specifically the recommendation client 82-1, sends information identifying the one or more media items selected by the user 60-1 to the central system 56 (step 306). The information identifying the one or more media items selected by the user 60-1 may be, for example, GUIDs of the media items, titles of the media items, or the like.
The central system 56, and more specifically the recommendation server 63, then generates information reflecting an expected desirability of the one or more media items selected by the user 60-1 for each of a number of potential recommendation recipients and/or groups of potential recommendation recipients (step 308). In this embodiment, the potential recommendation recipients and/or groups of potential recommendation recipients are other users and/or groups of users from the users 60-2 through 60-N identified in the buddy list 74 of the user 60-1. More specifically, for each of the one or more media items, the recommendation server 63 generates an expected desirability value for each potential recommendation recipient based on metadata describing the media item and the user preferences 70 of the potential recommendation recipient. In this example, the user 60-N is a potential recommendation recipient and, as such, an expected desirability value is generated for each of the one or more media items based on the user preferences 70 of the user 60-N. As for groups of potential recommendation recipients, expected desirability values may be generated by combining individual expected desirability values of the potential recommendation recipients in the group or based on aggregate user preferences of the potential recommendation recipients in the group.
As discussed above, in addition to the expected desirability values, the expected desirability information may include, for example, information indicating whether the potential recommendation recipients have played or previewed the media items recently, already own the media items, or will automatically download or preview the media items. In addition, with respect to groups of potential recommendation recipients, the expected desirability information may include information indicating a percentage or number of potential recommendation recipients in a group that have played or previewed the media items recently, already own the media items, or will automatically download or preview the media items.
The expected desirability information is then returned to the peer device 58-1 (step 310). The peer device 58-1, and more specifically the recommendation client 82-1, then presents the expected desirability information to the user 60-1 to assist the user 60-1 in selecting recipients of a recommendation or recommendations for the one or more media items selected in step 304 (step 312). The peer device 58-1, and more specifically the recommendation client 82-1, then receives input from the user 60-1 selecting one or more of the potential recommendation recipients and/or one or more of the groups of potential recommendation recipients to which to send a recommendation, or recommendations, for the one or more media items (step 314). In this example, the user 60-1 has selected to send a recommendation for one of the media items to the user 60-N. As such, the recommendation client 82-1 generates and sends a recommendation for the media item to the central system 56 (step 316). The central system 56, and more specifically the recommendation server 63, then sends the recommendation to the peer device 58-N of the user 60-N (step 318). Alternatively, the recommendation may be directly provided to the peer device 58-N of the user 60-N.
At this point, the recommendation is processed at the peer device 58-N (step 320). For example, the recommendation may be processed in a manner similar to that described in U.S. Patent Application Publication No. 2008/0016205 A1, where recommended media items and media items from the media collection 78-N of the user 60-N are scored and a next media item to play is programmatically selected from the recommended media items and the media items in the media collection 78-N of the user 60-N based on the scores. However, the present invention is not limited thereto. As another example, the peer device 58-N, and more specifically the recommendation client 82-N, may notify the user 60-N of the recommended media item and enable the user 60-N to initiate playback of the recommended media item is desired. Prior to playback, the recommended media item may be downloaded and optionally purchased from a remote media distribution service.
Note that while in the embodiment of
The recommendation system 54 of
In addition, while the recommendation clients 82-1 through 82-N are hosted by the peer devices 58-1 through 58-N in the recommendation system 54 of
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.