The general concept of item-based recommendations, based on affinity, has been discussed in the background. While affinity is a measure of prevalence of a second item in association with a first item, lift is also a measure of the relative prevalence of the first item with the second item, but also taking into account the popularity of the second item. Put another way, lift is a measure of the extent to which the conditional probability of the second item occurring relates to the overall unconditional probability of the second item occurring. When lift is considered, a very popular “other item” will not skew the recommendation.
The inventors have discovered that, by considering both affinity and lift values, a plurality of affinity lists (which, for example, might be used to generate item-based recommendations) can be advantageously aggregated, to generate a personalized recommendation. For example, a given user may have associated with it multiple characteristics such as demographic, location, interest and content consumption of specific category. Basically, in accordance with one aspect, each affinity list is separately normalized, and then the normalized affinity lists are combined into the aggregated affinity list. Thus, for example, personalized recommendations may be made that account for multiple characteristics of the user.
In accordance with a broad aspect, a plurality of affinity lists are processed. Each affinity list corresponding to a different characteristic. Further, each affinity list indicates, relative to the characteristic to which that affinity list corresponds, items having an affinity to a particular item. Each entry in an affinity list includes an affinity indication relative to one item having an affinity to the particular item and, also, includes a lift indication associated with that indicated affinity.
Thus, for example, Ryan is a 19-year old male likes to listen to different kinds of music. One of Ryan's favorite artists is Nirvana. It is desired to recommend other artists to Ryan. Three sets of music affinity data are considered, grouped by the following criteria:
User Artist ratings
User age group
User gender (male/female/unknown)
From the three sets of music affinity data, only some entries are of interest with respect to the particular recommendation for Ryan. Namely, the entries of interest are for artists who have an affinity with Nirvana, artists who are liked by the 15-20 year age group, and artists who are liked by male users. These sets (affinity lists) may be designated as S1, S2 and S3, respectively. Example entries in the sets are shown below.
S1 (for Nirvana to Artist)={(‘Nirvana’, ‘Jimi Hendrix’, aff=98, lift=0.62), (‘Nirvana’, ‘Metallica’, 90, 0.55),(‘Nirvana’, ‘Guns' n Roses’, 99, 0.7), (‘Nirvana’, ‘Britney Spears’, 10, 0.1)}
S2 (for 15-20 yr age group) to Artist={((15-20 yr), ‘Jimi Hendrix’, 78, 0.6), ((15-20 yr), ‘Britney Spears’, 77, 0.8), ((15-20 yr), ‘Queen’, 55, 0.5), ((15-20 yr), ‘Metallica’, 85, 0.8), ((15-20 yr), ‘50 cents’, 76, 0.73)}
S3 (for Male user to Artist)={(male, ‘Britney Spears’, 8, 0.25), (male, ‘Jimi Hendrix’, 78, 0.9), (male, ‘Matchbox 20’, 77, 0.85), (male, ‘Queen’, 67, 0.57), (male, ‘Metallica’, 83, 0.82), (male, ‘50 cents’, 79, 0.76)}
At step 102, a subset of entries of the affinity list (e.g., S1)—a “sub list—is chosen based on the affinity indications and the lift indications of the records. As a preview, in the implementation illustrated in
At step 104, a normalization indication is determined for each entry in each sub-list. In one example, the normalization indication is an “inverse distance” determined, for the entries in a particular sub-list, using (in part) minimum and maximum lift values for that sub-list. For example, the inverse distance for a particular entry may be computed as follows:
dm=(liftm−min_lifti)/max_lifti
where liftm is the lift indication for the particular entry, min_lifti is the lowest lift indication for any entry in the sub-list to which the particular entry belongs, and max_lifti is the highest lift indication for any entry in the sub-list to which the particular entry belongs. In general, then, the inverse distance normalized lift indication is an indication of how the particular entry compares to other entries in the sub-list, relative to the lift indications for those entries.
At step 106, the sub-lists (from step 102) are combined to generate an aggregated list, including processing the normalization indications to generated aggregated normalization indications. More particularly, where a particular item appears in more than one sub-list (e.g., using the example of Ryan discussed later, “Metallica” appears in all of sub-lists S1, S2 and S3), the normalization indications for the particular item in all of the sub-lists are processed to generate an aggregated normalization indication for that particular item. In some examples (e.g., in some instances where the normalization indication is an inverse distance), the aggregated normalization indication for an item is simply the sum of all the normalization indications for that item, wherever it appears in an entry of one of the sub-lists.
The normalization indications are indicated in the “norm” columns in
For example, using the example of Ryan above, a hatched item in each of these lists may have an item indication of “Metallica.” However, only one of the items in the Aggregated Affinity List 206 (and not three) has an item indication of “Metallica.” The aggregated normalization indication (in the “agg norm” column), generated by processing the normalization indication for the Metallica entry in the Affinity List 202a, in the Affinity List 202b and in the Affinity List 202c, may be used to rank the “Metallica” item as among the other items in the Aggregated Affinity List 206.
Turning to
We now discuss the particular example of Ryan, introduced above. As introduced above, Ryan is a 19 year old male likes to listen to different kinds of music. One of Ryan's favorite artists is Nirvana. It is desired to recommend other artists to Ryan. Three sets of music affinity data are considered, described above as being designated S1, S2 and S3.
First, the top one hundred items are taken from each of S1, S2 and S3, based on the affinity score (J-100). These one hundred items are sorted based on lift score, and the top twenty are taken (K=20). This corresponds, for example, to step 102 in
These resultant sets—designated as S1′, S2′ and S3′—are used in the aggregating step based on the determined normalization indications. For example, let S1′={(‘Nirvana’, ‘Guns' n Roses’, 99, 0.7), (‘Nirvana’, ‘Nine Inch Nails’, 87, 0.68), (‘Nirvana’, ‘Jimi Hendrix’, 98, 0.62), (‘Nirvana’, ‘Metallica’, 90, 0.55), (‘Nirvana’, ‘Pearl Jam’, 67, 0.44)}. Let S2′=((15-20 yr), ‘Metallica’, 85, 0.8), ((15-20 yr), ‘Britney Spears’, 77, 0.8), ((15-20 yr), ‘50 cents’, 76, 0.73), ((15-20 yr), ‘Jimi Hendrix’, 78, 0.6), ((15-20 yr), ‘Queen’, 55, 0.5)}. Let S3′={(male, ‘Jimi Hendrix’, 78, 0.9), (male, ‘Matchbox 20’, 77, 0.85), (male, ‘Metallica’, 83, 0.82), (male, ‘50 cents’, 79, 0.76), (male, ‘Queen’, 67, 0.57)}.
Let (min_lift=0.44, max_lift=0.7)1, (0.5, 0.8)2 and (0.57, 0.9)3 be the minimum and maximum lift scores in S1′, S2′ and S3′ respectively. The inverse distances for each of the twenty entries is computed to form the sets S1″, S2″ and S3″. The resultant sets S1″, S2″ and S3″ are the following (where “d” is the inverse distance for a particular entry): S1″={(‘Nirvana’, ‘Guns' n Roses’, d=0.371), (‘Nirvana’, ‘Nine Inch Nails’, 0.343), (‘Nirvana’, ‘Jimi Hendrix’, 0.257), (‘Nirvana’, ‘Metallica’, 0.157), (‘Nirvana’, ‘Pearl Jam’, 0.0)}. S2″={((15-20 yr), ‘Metallica’, 85, 0.375), ((15-20 yr), ‘Britney Spears’, 77, 0.375), ((15-20 yr), ‘50 cents’, 76, 0.286), ((15-20 yr), ‘Jimi Hendrix’, 78, 0.125), ((15-20 yr), ‘Queen’, 55, 0.0)}. S3″={(male, ‘Jimi Hendrix’, 78, 0.367), (male, ‘Matchbox 20’, 77, 0.311), (male, ‘Metallica’, 83, 0.278), (male, ‘50 cents’, 79, 0.211), (male, ‘Queen’, 67, 0.0)}
For all the artists that are present in more than one of S1″, S2″ and S3″, the inverse distances are summed, and those artists are added to the aggregated list. For example, for Metallica, d=0.157+0.375+0.278=0.81. For ‘50 cents’, d=0.286+0.211=0.497. For those artists present in only one of S1″, S2″ and S3″, the entry for each of those artists are added to the aggregated list as well, with the aggregated inverse distance being merely the inverse distance for that entry. The aggregated list is sort based on the aggregated inverse distances. Continuing on with the example of Ryan, then, the final ranked aggregated list is:
That is, based on Ryan's characteristics, the behavior of other users having at least one or more of those characteristics, and Ryan's interest in Nirvana, this final ranked-aggregated list may serve as a basis for making recommendations to Ryan of other artists in which Ryan is likely to be interested.
In general, then, by considering both affinity and lift values, a plurality of affinity lists (which, for example, might be used to generate item-based recommendations) can be advantageously aggregated, to generate a personalized recommendation.
Meanwhile, the recommendation engine 508 has available to it a plurality of affinity lists 512 which have been generated based on the characteristics and activities of users generally. Using the example of Ryan again, these affinity lists 512 may include affinity lists S1, S2 and S3. Based on the particular user characteristics 506 and the affinity lists 512, the recommendation engine 508 aggregates appropriate ones of the affinity lists 512 and generates the personalized recommendation 504, which is provided back to the user 502 via the network 510. For example, the personalized recommendation 504 may be merely a list including the entries of the aggregated affinity list generated by the recommendation engine 508.
Although various advantages, aspects, and objects of the present invention have been discussed herein with reference to various embodiments, it will be understood that the scope of the invention should not be limited by reference to such advantages, aspects, and objects. Rather, the scope of the invention should be determined with reference to the claims.