Collaborative recommendations using item-to-item similarity mappings
DCFirst Claim
1. In a multi-user computer system that provides user access to a database of items, a method of recommending items to a user, the method comprising the computer-implemented steps of:
- (a) generating a non-user-specific data structure which maps individual items of the database to corresponding sets of similar items in which similarities between items are based at least upon the collective item interests of a community of users;
(b) identifying items that are known to be of interest to the user;
(c) for each of a plurality of the items identified in step (b), accessing the data structure to identify a corresponding set of similar items;
(d) combining the sets of similar items identified in step (c) to generate a combined set of additionally similar items; and
(e) recommending at least some of the similar items of the combined set generated in step (d) to the user;
wherein step (a) is performed in an off-line mode, and steps (b)-(e) are performed substantially in real time in response to an online action by the user.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A recommendations service recommends items to individual users based on a set of items that are known to be of interest to the user, such as a set of items previously purchased by the user. In the disclosed embodiments, the service is used to recommend products to users of a merchant'"'"'s Web site. The service generates the recommendations using a previously-generated table which maps items to lists of “similar” items. The similarities reflected by the table are based on the collective interests of the community of users. For example, in one embodiment, the similarities are based on correlations between the purchases of items by users (e.g., items A and B are similar because a relatively large portion of the users that purchased item A also bought item B). The table also includes scores which indicate degrees of similarity between individual items. To generate personal recommendations, the service retrieves from the table the similar items lists corresponding to the items known to be of interest to the user. These similar items lists are appropriately combined into a single list, which is then sorted (based on combined similarity scores) and filtered to generate a list of recommended items. Also disclosed are various methods for using the current and/or past contents of a user'"'"'s electronic shopping cart to generate recommendations. In one embodiment, the user can create multiple shopping carts, and can use the recommendation service to obtain recommendations that are specific to a designated shopping cart. In another embodiment, the recommendations are generated based on the current contents of a user'"'"'s shopping cart, so that the recommendations tend to correspond to the current shopping task being performed by the user.
1619 Citations
49 Claims
-
1. In a multi-user computer system that provides user access to a database of items, a method of recommending items to a user, the method comprising the computer-implemented steps of:
-
(a) generating a non-user-specific data structure which maps individual items of the database to corresponding sets of similar items in which similarities between items are based at least upon the collective item interests of a community of users;
(b) identifying items that are known to be of interest to the user;
(c) for each of a plurality of the items identified in step (b), accessing the data structure to identify a corresponding set of similar items;
(d) combining the sets of similar items identified in step (c) to generate a combined set of additionally similar items; and
(e) recommending at least some of the similar items of the combined set generated in step (d) to the user;
wherein step (a) is performed in an off-line mode, and steps (b)-(e) are performed substantially in real time in response to an online action by the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 30, 41)
-
-
16. In a multi-user computer system that provides access to a database of items, a system for recommending items to users, comprising:
-
a first process which determines similarities between items by at least analyzing historical data that reflects item interests of a community of users, the first process generating a non-user-specific data structure which maps items to sets of similar items; and
a second process which generates personal recommendations for a user by accessing the data structure to identify similar items sets that correspond to items known to be of interest to the user, and by combining the identified similar items sets to generate a list of recommended items;
wherein the first process generates the data structure in an off-line mode, and the second process generates and displays the personal recommendations substantially in real time in response to online actions of users. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 31, 42)
-
-
28. In a system for generating personalized recommendations of items from a database of items that are accessed by a community of users, a method of recommending items to users, the method comprising:
-
in an off-line mode, for each of a plurality of first items;
(a) for each of a plurality of other items of the database, generating a respective score which indicates a degree of similarity between the first item and the other item such that the score is based on at least (i) a number of users that are interested in both the first item and the other item, and (ii) a number of users that are interested in the other item;
(b) sorting the plurality of other items according to the score values generated in step (a);
(c) truncating a list of items which results from step (b); and
(d) storing the truncated list generated in step (c) (“
similar items list”
) together with corresponding scores generated in step (a) in a non-user-specific data structure for subsequent look-up;
subsequently, in response to an action performed by a user, performing the following steps substantially in real time;
(e) for each of a plurality of items that are known to be of interest to the user, accessing the data structure to identify a corresponding similar items list;
(f) combining the similar items lists identified in (e) to generate a combined list of similar items, wherein combining the similar items lists comprises combining scores of like items; and
(g) recommending at least some of the items from the combined list generated in (f) to the user. - View Dependent Claims (29, 32)
-
-
33. A method of generating instant product recommendations for online users, comprising:
-
in an off-line mode, generating a data structure which maps each of a plurality of products directly to a corresponding set of similar products in which product similarities are indicated by similarity scores stored within the non-user-specific data structure; and
subsequently, in response to an action by an online user, immediately generating and displaying personal product recommendations for the user by at least (a) accessing the data structure to look up a respective set of similar products and associated similarity scores for each of multiple products known to be of interest to the user, (b) combining the sets of similar products identified in (a) into a ranked set in which rankings are based at least in-part on the similarity scores, and (c) selecting at least some of the products in the ranked set to display to the online user. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40)
-
-
43. A computer-implemented method of recommending products to users, comprising:
-
generating, for each of a plurality of pairs of products, a respective score indicating a degree to which the products of the pair are deemed related to one another, wherein the score reflects a frequency with which the products of the pair co-occur within purchase histories of users;
storing the scores in a non-user-specific data structure that maps products to sets of related products; and
using the data structure and the scores to provide personalized product recommendations to each of multiple users. - View Dependent Claims (44, 45, 46, 47, 48, 49)
identifying multiple products that are of interest to a user;
for each of the multiple products, accessing the data structure to identify a set of related products, to thereby identify multiple sets of related products;
combining the multiple sets of related products to generate a ranked set of related products in which product rankings reflect corresponding scores within the data structure; and
recommending products to the user from the ranked set.
-
-
45. The method as in claim 44, wherein combining the multiple sets comprises combining scores of like products, so that a product'"'"'s ranking reflects whether or not that product appears within more than one of the multiple sets.
-
46. The method as in claim 44, wherein identifying multiple products that are of interest to the user comprises identifying products that are currently in a shopping cart of the user.
-
47. The method as in claim 46, wherein recommending products to the user from the ranked set comprises displaying recommended products within a web page that displays current contents of the shopping cart.
-
48. The method as in claim 43, wherein using the data structure and scores to provide personalized product recommendations comprises generating and displaying personal recommendations substantially in real time in response to online actions of users.
-
49. The method as in claim 43, wherein the scores are generated and stored within the data structure in an off-line processing mode.
Specification