PRIVACY-PRESERVING COLLABORATIVE FILTERING
7 Assignments
0 Petitions
Accused Products
Abstract
A recommender system can generate a predicted item rating for one user by performing collaborative filtering on item ratings from other users. The recommender system can include a client device that interfaces with a server to obtain a predicted item rating for a local user. The client device can generate a standardized ratings vector for the user, and computes a group identifier for the user based on the standardized ratings vector. The system also generates a noisy ratings vector for the local user, and sends a user-ratings snapshot to a recommendation server that includes the group identifier and the noisy ratings vector. The recommender system can also include the recommendation server that generates a predicted item rating for the user by performing collaborative filtering on ratings vectors from a plurality of other users that belong to the same ratings group.
-
Citations
32 Claims
-
1-10. -10. (canceled)
-
11. A computer-implemented method comprising:
-
receiving a user-ratings snapshot, wherein the user-ratings snapshot comprises a first group identifier for a first end-user and a first ratings vector for the first end-user, and wherein the ratings vector indicates a rating value for each of a plurality of rated items; associating the first ratings vector to a ratings group identified by the first group identifier; receiving a recommendation request indicating a second group identifier for a second end-user, wherein the second group identifier identifies the ratings group; determining a plurality of ratings vectors associated with the ratings group; and generating, by a computing device, a recommendation based on the plurality of ratings vectors, wherein generating the recommendation involves; determining, from the plurality of ratings vectors, a corresponding plurality of standardized ratings for a rated item of one or more rated items, wherein a standardized rating from a respective end-user is standardized based on a rating average for the respective end-user; computing a standardized average rating for the rated item by computing the average for the plurality of standardized ratings; computing an average rating for the rated item by adding the second end-user'"'"'s average rating to the standardized average rating; and selecting an item that has the highest average rating among the one or more rated items. - View Dependent Claims (14, 29, 30, 31, 32)
-
-
12-13. -13. (canceled)
-
15. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:
-
receiving a user-ratings snapshot, wherein the user-ratings snapshot comprises a first group identifier for a first end-user and a first ratings vector for the first end-user, and wherein the ratings vector indicates a rating value for each of a plurality of rated items; associating the first ratings vector to a ratings group identified by the first group identifier; receiving a recommendation request indicating a second group identifier for a second end-user, wherein the second group identifier identifies the ratings group; determining a plurality of ratings vectors associated with the ratings group; and generating a recommendation based on the plurality of ratings vectors, wherein generating the recommendation involves; determining, from the plurality of ratings vectors, a corresponding plurality of standardized ratings for a rated item of one or more rated items, wherein a standardized rating from a respective end-user is standardized based on a rating average for the respective end-user; computing a standardized average rating for the rated item by computing the average for the plurality of standardized ratings; computing an average rating for the rated item by adding the second end-user'"'"'s average rating to the standardized average rating; and selecting an item that has the highest average rating among the one or more rated items. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
16-17. -17. (canceled)
-
23. An apparatus comprising:
-
a processor; a memory; a communication module to receive a user-ratings snapshot, wherein the user-ratings snapshot comprises a first group identifier for a first end-user and a first ratings vector for the first end-user, and wherein the ratings vector indicates a rating value for each of a plurality of rated items; a group-identifying module to associate the first ratings vector to a ratings group identified by the first group identifier; and a recommendation module to generate a recommendation based on the ratings group, wherein the communication module is further configured to receive a recommendation request indicating a second group identifier for a second end-user, wherein the second group identifier identifies the ratings group, and wherein the recommendation module is further configured to; determine a plurality of ratings vectors associated with the ratings group; and generate a recommendation based on the plurality of ratings vectors, and wherein while generating the recommendation, the recommendation module is further configured to; determine, from the plurality of ratings vectors, a corresponding plurality of standardized ratings for a rated item of one or more rated items, wherein a standardized rating from a respective end-user is standardized based on a rating average for the respective end-user; compute a standardized average rating for the rated item by computing the average for the plurality of standardized ratings; compute an average rating for the rated item by adding the second end-user'"'"'s average rating to the standardized average rating; and select an item that has the highest average rating among the one or more rated items. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification