Determining user preference of items based on user ratings and user features
First Claim
1. A method comprising the steps of:
- determining one or more user features of a particular user;
using a least squares regression function to determine a set of user feature-item affinities between a plurality of items and a set of user features of users who have consumed or rated one or more of the plurality of items;
for each user feature of the one or more user features of the particular user, determining a set of nearest neighbor items based, at least in part, on the set of user feature-item affinities and said each user features;
determining a set of candidate items based, at least in part, on the set of nearest neighbor items for each user feature of the one or more user features of the particular user;
causing to be presented, to a user as a recommendation, a candidate item from the set of candidate items;
wherein the steps are performed by one or more computing devices.
8 Assignments
0 Petitions
Accused Products
Abstract
A set of item-item affinities for a plurality of items is determined based on collaborative-filtering techniques. A set of an item'"'"'s nearest neighbor items based on the set of item-item affinities is determined. A set of user feature-item affinities for the plurality of items and a set of user features is determined based on least squared regression. A set of a user feature'"'"'s nearest neighbor items is determined based in part on the set of user feature-item affinities. Compatible affinity weights for nearest neighbor items of each item and each user feature are determined. Based on user features of a user and items a user has consumed, a set of nearest neighbor items are identified as a set of candidate items, and affinity scores of candidate items are determined. Based on the affinity scores, a candidate item from the set of candidate items is recommended to the user.
120 Citations
22 Claims
-
1. A method comprising the steps of:
-
determining one or more user features of a particular user; using a least squares regression function to determine a set of user feature-item affinities between a plurality of items and a set of user features of users who have consumed or rated one or more of the plurality of items; for each user feature of the one or more user features of the particular user, determining a set of nearest neighbor items based, at least in part, on the set of user feature-item affinities and said each user features; determining a set of candidate items based, at least in part, on the set of nearest neighbor items for each user feature of the one or more user features of the particular user; causing to be presented, to a user as a recommendation, a candidate item from the set of candidate items; wherein the steps are performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising the steps of:
-
determining one or more user features of a particular user; determining a first item that the particular user has consumed or rated; determining a set of item-item affinities between (a) the first item that was consumed or rated by the particular user and (b) a first plurality of items that have been consumed or rated by one or more users in a set of users; determining a first set of nearest neighbor items form the first plurality of items based, at least in part, on the set of item-item affinities; determining a set of user feature-item affinities between a second plurality of items and the one or more user features of the particular user; for each user feature of the one or more user features of the particular user, determining a second set of nearest neighbor items based, at least in part on the set of user feature-item affinities and said each user feature of the particular user; determining a set of candidate items based, at least in part, on the first set of nearest neighbor items and the second set of nearest neighbor items for each user feature of the one or more user features of the particular user; determining affinity weights for the set of candidate items, wherein determining the affinity weights comprises determining an affinity weight of a candidate item bases on a number of total users, a number of users who have rated or consumed the candidate item (N(j)), a number of users who have a particular user feature and have also rated or consumed the candidate item (N(s,j)), and one of a number of users who have the particular user feature or a number of users who have rated or consumed another item (N(s)); causing to be presented, to the particular user as a recommendation, the candidate item from the set of candidate items, wherein the candidate item is determined based, at least in part, on the affinity weight of the candidate item; wherein the steps are performed by one or more computing devices. - View Dependent Claims (10, 11)
-
-
12. One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause;
-
determining one or more user features of a particular user; using a least squares regression function to determine a set of user feature-item affinities between a plurality of items and a set of user features of users who have consumed or rated one or more of the plurality of items; for each user feature of the one or more user features of the particular user, determining a set of nearest neighbor items based, at least in part, on the set of user feature-item affinities and said each user feature; determining a set of candidate items based, at least in part, on the set of nearest neighbor items for each user feature of the one or more user features of the particular user; causing to be presented, to the particular user as a recommendation, a candidate item form the set of candidate items. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause:
-
determining one or more user features of a particular user; determining a first item that the particular user has consumed or rated; determining a set of item-item affinities between (a) the first item that was consumed or rated by the particular user and (b) a first plurality of items that have been consumed or rated by one or more users in a set of users; determining a first set of nearest neighbor items from the first plurality of items based, at least in part, on the set of item-item affinities; determining a set of user feature-item affinities between a second plurality of items and-the one or more user features of the particular user; for each user feature of the one or more user features of the particular user, determining a second set of nearest neighbor items based, at least in part, on the set of user feature-item affinities and said each user feature of the particular user; determining a set of candidate items based, at least in part, on the first set of nearest neighbor items and the second set of nearest neighbor items for each user feature of the one or more user features of the particular user; determining affinity weights for the set of candidate items, wherein determining the affinity weights comprises determining an affinity weight of a candidate item based on a number of total users, a number of users who have rated or consumed the candidate item (N(j)), a number of users who have a particular user feature and have also rated or consumed the candidate item (N (s,j)), and one of a number of users who have the particular user feature or a number of users who have rated or consumed another item (N(s)); causing to be presented, to the particular user as a recommendation, the candidate item from the set of candidate items, wherein the candidate item is determined based, at least in part, on the affinity weight of the candidate item. - View Dependent Claims (21, 22)
-
Specification