← Back to Patent Explorer
US6041311A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for item recommendation using automated collaborative filtering

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-01-28
•
Granted: 2000-03-21
•
Expires: 2017-01-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for recommending items to users using automated collaborative filtering stores profiles of users relating ratings to items in memory. Profiles of items may also be stored in memory, the item profiles associating users with the rating given to the item by that user or inferred for the user by the system The user profiles include additional information relating to the user or associated with the rating given to an item by the user. Similarity factors with respect to other users, and confidence factors associated with the similarity factors, are calculated for a user and these similarity factors, in connection with the confidence factors, are used to select a set of neighboring users. The neighboring users are weighted based on their respective similarity factors, and a rating for an item contained in the domain is predicted. In one embodiment, items in the domain have features. In this embodiment, the values for features can be clustered, and the similarity factors incorporate assigned feature weights and feature value cluster weights.

Inventors

  • 👤 Alexander Chislenko
  • 👤 Yezdezard Z. Lashkari
  • 👤 John E. McNulty

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 14:53
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/20; H04N21/25; H04N21/251; H04N21/252; G; G06; G06F; G06F16/00; G06F16/30; G06F16/33; G06F16/335; G06F16/90; G06F16/95; G06F16/953; G06F16/9535; G06F16/9536; G06Q; G06Q30/00; G06Q30/02; G06Q30/0201; G06Q30/0204; G06Q30/06; G06Q30/0601; G06Q30/0631; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99943

Claims Analysis

Total Claims: 43
Claim 1
Independent Claim 273 words
A method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps of: (a) storing, using the machine, a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating, using the machine, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting, using the machine, for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of, for each of the plurality of users: (c1) comparing associated similarity factors for the user and each one of the plurality of users; and (c2) choosing said each one of the plurality of users as one of the neighboring users if a difference between the associated similarity factors exceeds a predetermined threshold value; (d) assigning, using the machine, a weight to each of the neighboring users; and (e) recommending, using the machine, at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 2
Independent Claim 273 words
A method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps of: (a) storing, using the machine, a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating, using the machine, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting, using the machine, for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of, for each of the plurality of users: (c1) comparing associated similarity factors for the user and each one of the plurality of users; and (c2) choosing said each one of the plurality of users as one of the neighboring users if a difference between the associated similarity factors exceeds a predetermined threshold value; (d) assigning, using the machine, a weight to each of the neighboring users; and (e) recommending, using the machine, at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 3
Dependent Claim 74 words
The method of claim 1 wherein step (a) further comprises: storing, using the machine, a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing information relating to the given ratings.
Claim 4
Dependent Claim 71 words
The method of claim 1 wherein step (a) further comprises: storing, using the machine, a user profile in memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing information about the user.
Claim 5
Dependent Claim 93 words
The method of claim 1 wherein step (a) further comprises sub-steps of: i) storing, in the machine, a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; and ii) creating, using the machine, a confidence factor for one of the given ratings based on the additional information.
Claim 6
Dependent Claim 65 words
The method of claim 1 wherein step (c) further comprises: calculating, using the machine, for a user, a plurality of similarity factors and a plurality of similarity confidence factors, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users, and each of the similarity confidence factors representing possible imprecision in the associated similarity factor.
Claim 7
Dependent Claim 37 words
The method claim 5 wherein step (d) further comprises selecting, using the machine, for the user, a plurality of neighboring users from the plurality of other users based on the similarity factors and the similarity confidence factors.
Claim 8
Dependent Claim 30 words
The method of claim 5 wherein step (e) further comprises: assigning, using the machine, a weight to each of the neighboring users, wherein the weight is the similarity confidence factor.
Claim 9
Dependent Claim 66 words
The method of claim 5 wherein step (e) further comprises: i) recommending, using the machine, at least one of a plurality of items to the user based on the weights assigned to the plurality of neighboring users and the ratings given to the item by the plurality of neighboring users; and ii) generating, using the machine, a recommendation confidence factor based on the similarity confidence factors.
Claim 10
Dependent Claim 61 words
The method of claim 1 wherein step (c) further comprises: calculating, using the machine, for a user, a plurality of similarity factors based on the ratings given to items by users and the additional information associated with the given ratings, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users.
Claim 11
Dependent Claim 77 words
The method of claim 1 wherein the step of storing a user profile further comprises: i) inferring, using the machine, a user's rating for one of the plurality of items based on the user's behavior; ii) updating, using the machine, the user's profile with the inferred rating; and iii) calculating, using the machine, for the user a plurality of similarity factors, each of the plurality of similarity factors representing a similarity between the user and another user.
Claim 12
Dependent Claim 44 words
The method of claim 10 wherein the behavior of the user used to infer a user's rating includes, at least one of Web sites for which the user has created bookmarks, and a length of time that the user views a particular Web page.
Claim 13
Dependent Claim 62 words
The method of claim 1 further comprising the step of storing, using the machine, an item profile in a memory for each of the plurality of items, wherein at least one of the item profiles includes a plurality of values, at least one of the plurality of values representing a rating given to the item by one of the plurality of users.
Claim 14
Dependent Claim 85 words
The method of claim 12 wherein the step of storing a user profile further comprises: i) inferring, using the machine, a user's rating for one of the plurality of items based on the user's behavior; ii) retrieving, using the machine, the item profile; iii) determining, using the machine, from the item profile, other users having ratings for the item; and iv) calculating, using the machine, a similarity factor between the user and each of the plurality of other users that have also rated the item.
Claim 15
Dependent Claim 27 words
The method of claim 1 wherein step (d) further comprises selecting, using the machine, for the user, at least one neighboring user based on the additional information.
Claim 16
Dependent Claim 73 words
The method of claim 1 wherein step (e) further comprises: i) recommending, using the machine, at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and the ratings given to the item by the plurality of neighboring users; and ii) generating, using the machine, a recommendation confidence factor based on the additional information associated with the ratings given to the item.
Claim 17
Dependent Claim 35 words
The method of claim 1 wherein, in the step of selecting a plurality of neighboring users, if one of the plurality of users has cumulative item ratings, it is not selected as a neighboring user.
Claim 18
Dependent Claim 29 words
The method of claim 1 wherein, in the step of assigning a weight to each of the neighboring users, similar users are weighted more heavily that less similar users.
Claim 19
Dependent Claim 27 words
The method of claim 1 wherein, in the step of assigning a weight to each of the neighboring users, the weight is based on a confidence factors.
Claim 20
Dependent Claim 65 words
The method of claim 1 further comprising a step of grouping the plurality of items to define a plurality of groups, wherein each of the groups have a rating based on the ratings of the items defining the groups, and wherein, in the step of calculating, for a user, a plurality of similarity factors, the similarly factors are based on the ratings of the groups.
Claim 21
Dependent Claim 281 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of, for each of the plurality of users: (c1) comparing associated similarity factors for the user and each one of the plurality of users; and (c2) choosing said each one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a total number of selected neighboring users is less than a second predetermined threshold; (d) assigning a weight to each of the neighboring users; and (e) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 22
Dependent Claim 281 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of, for each of the plurality of users: (c1) comparing associated similarity factors for the user and each one of the plurality of users; and (c2) choosing said each one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a total number of selected neighboring users is less than a second predetermined threshold; (d) assigning a weight to each of the neighboring users; and (e) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 23
Dependent Claim 282 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of, for each of the plurality of users: (c1) comparing associated similarity factors for the user and each one of the plurality of users; and (c2) choosing said one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a confidence factor determined for the associated similarities factors is greater than a second predetermined threshold; (d) assigning a weight to each of the neighboring users; and (e) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 24
Dependent Claim 282 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of, for each of the plurality of users: (c1) comparing associated similarity factors for the user and each one of the plurality of users; and (c2) choosing said one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a confidence factor determined for the associated similarities factors is greater than a second predetermined threshold; (d) assigning a weight to each of the neighboring users; and (e) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 25
Dependent Claim 251 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of: (c1) defining a domain of items to be recommended; and (c2) choosing each one of said users as one of the neighboring users unless said one user has less than a predetermined number of ratings of the items in the domain; (d) assigning a weight to each of the neighboring users; and (e) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 26
Dependent Claim 251 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) calculating for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c) selecting for the user, a plurality of neighboring users based on the similarity factors, the selecting step comprising the steps of: (c1) defining a domain of items to be recommended; and (c2) choosing each one of said users as one of the neighboring users unless said one user has less than a predetermined number of ratings of the items in the domain; (d) assigning a weight to each of the neighboring users; and (e) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 27
Dependent Claim 335 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) grouping the plurality of items into a plurality of groups, wherein each of the groups has a rating based on the ratings of the items contained within said each group, wherein the grouping step comprises the steps of: (b1) randomly assigning all items to a number of initial groups; (b2) for each of the initial groups, determining a centroid of the ratings for the items assigned to the initial group; (b3) for each item, moving the item to the group with a centroid of ratings closest to its rating; and (b4) repeating steps (b1) through (b3) until both a certain number of iterations has been performed and distances, between all group centroids and items assigned to each of the groups, are below a predetermined threshold; (c) calculating for the user, a plurality of similarity factors in response to ratings given to items by the user, the additional information, and the ratings of the groups, wherein each of the plurality of similarity factors represents a similarity between the user and another one of the plurality of users; (d) selecting for the user, a plurality of neighboring users based on the similarity factors; (e) assigning a weight to each of the neighboring users; and (f) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 28
Dependent Claim 335 words
A computer-implemented method for operating a machine to recommend an item to one of a plurality of users, the item not yet rated by the user, the method comprising the steps, performed by the machine, of: (a) storing a user profile in a memory for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (b) grouping the plurality of items into a plurality of groups, wherein each of the groups has a rating based on the ratings of the items contained within said each group, wherein the grouping step comprises the steps of: (b1) randomly assigning all items to a number of initial groups; (b2) for each of the initial groups, determining a centroid of the ratings for the items assigned to the initial group; (b3) for each item, moving the item to the group with a centroid of ratings closest to its rating; and (b4) repeating steps (b1) through (b3) until both a certain number of iterations has been performed and distances, between all group centroids and items assigned to each of the groups, are below a predetermined threshold; (c) calculating for the user, a plurality of similarity factors in response to ratings given to items by the user, the additional information, and the ratings of the groups, wherein each of the plurality of similarity factors represents a similarity between the user and another one of the plurality of users; (d) selecting for the user, a plurality of neighboring users based on the similarity factors; (e) assigning a weight to each of the neighboring users; and (f) recommending at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 29
Dependent Claim 24 words
A computer readable medium having computer executable instructions stored therein, said instructions being executed by a computer for performing the steps of claim 1.
Claim 30
Dependent Claim 24 words
A computer readable medium having computer executable instructions stored therein, said instructions being excuted by a computer for performing the steps of claim 20.
Claim 31
Dependent Claim 24 words
A computer readable medium having computer executable instructions stored therein, said instructions being excuted by a computer for performing the steps of claim 21.
Claim 32
Dependent Claim 24 words
A computer readable medium having computer executable instructions stored therein, said instructions being excuted by a computer for performing the steps of claim 22.
Claim 33
Dependent Claim 24 words
A computer readable medium having computer executable instructions stored therein, said instructions being excuted by a computer for performing the steps of claim 23.
Claim 34
Dependent Claim 267 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) comparing associated similarity factors for the user and each one of the plurality of users; and (c3b) choosing said each one of the plurality of users as one of the neighboring users if a difference between the associated similarity factors exceeds a predetermined threshold value; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 35
Dependent Claim 267 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) comparing associated similarity factors for the user and each one of the plurality of users; and (c3b) choosing said each one of the plurality of users as one of the neighboring users if a difference between the associated similarity factors exceeds a predetermined threshold value; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 36
Dependent Claim 285 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) comparing associated similarity factors for the user and each one of the plurality of users; and (c3b) choosing said each one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a total number of selected neighboring users is less than a second predetermined threshold; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 37
Dependent Claim 285 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) comparing associated similarity factors for the user and each one of the plurality of users; and (c3b) choosing said each one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a total number of selected neighboring users is less than a second predetermined threshold; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 38
Dependent Claim 286 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) comparing associated similarity factors for the user and each one of the plurality of users; and (c3b) choosing said one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a confidence factor determined for the associated similarities factors is greater than a second predetermined threshold; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 39
Dependent Claim 286 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) comparing associated similarity factors for the user and each one of the plurality of users; and (c3b) choosing said one of the plurality of users as one of the neighboring users if both a difference between the associated similarity factors is less than a first predetermined threshold and a confidence factor determined for the associated similarities factors is greater than a second predetermined threshold; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 40
Dependent Claim 262 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) defining a domain of items to be recommended; and (c3b) choosing each one of said users as one of the neighboring users unless said one user has less than a predetermined number of ratings of the items in the domain; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 41
Dependent Claim 262 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) calculates, for the user, a plurality of similarity factors responsive to both ratings given to items by the user and the additional information, each of the plurality of similarity factors representing a similarity between the user and another one of the plurality of users; (c3) selects for the user, a plurality of neighboring users based on the similarity factors, by: (c3a) defining a domain of items to be recommended; and (c3b) choosing each one of said users as one of the neighboring users unless said one user has less than a predetermined number of ratings of the items in the domain; (d) assigns a weight to each of the neighboring users; and (e) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 42
Dependent Claim 345 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) groups the plurality of items into a plurality of groups, wherein each of the groups has a rating based on the ratings of the items contained within said each group, by: (c2a) randomly assigning all items to a number of initial groups; (c2b) for each of the initial groups, determining a centroid of the ratings for the items assigned to the initial group; (c2c) for each item, moving the item to the group with a centroid of ratings closest to its rating; and (c2d) repeating steps (c2a) through (c2c) until both a certain number of iterations has been performed and distances, between all group centroids and items assigned to each of the groups, are below a predetermined threshold; (c3) calculates, for the user, a plurality of similarity factors in response to ratings given to items by the user, the additional information, and the ratings of the groups, wherein each of the plurality of similarity factors represents a similarity between the user and another one of the plurality of users; (c4) selects for the user, a plurality of neighboring users based on the similarity factors; (c5) assigns a weight to each of the neighboring users; and (c6) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.
Claim 43
Dependent Claim 345 words
A Computer-implemented apparatus for recommending an item to one of a plurality of users, the item not yet rated by the user, the apparatus comprising: (a) a processor; and (b) a memory connected to the processor and storing computer executable instructions therein; (c) wherein the processor, in response to execution of the instructions: (c1) stores, in the memory, a user profile for each of the plurality of users, wherein at least one of the user profiles includes a plurality of values, one of the plurality of values representing a rating given to one of a plurality of items by the user and another of the plurality of values representing additional information; (c2) groups the plurality of items into a plurality of groups, wherein each of the groups has a rating based on the ratings of the items contained within said each group, by: (c2a) randomly assigning all items to a number of initial groups; (c2b) for each of the initial groups, determining a centroid of the ratings for the items assigned to the initial group; (c2c) for each item, moving the item to the group with a centroid of ratings closest to its rating; and (c2d) repeating steps (c2a) through (c2c) until both a certain number of iterations has been performed and distances, between all group centroids and items assigned to each of the groups, are below a predetermined threshold; (c3) calculates, for the user, a plurality of similarity factors in response to ratings given to items by the user, the additional information, and the ratings of the groups, wherein each of the plurality of similarity factors represents a similarity between the user and another one of the plurality of users; (c4) selects for the user, a plurality of neighboring users based on the similarity factors; (c5) assigns a weight to each of the neighboring users; and (c6) recommends at least one of the plurality of items to the user based on the weights assigned to the plurality of neighboring users and ratings given to the plurality of items by the plurality of neighboring users.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-03-21 2003-09-20 2004-03-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-03-21 2007-09-20 2008-03-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-03-21 2011-09-20 2012-03-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag