System and Methods for Updating User Profiles and Providing Selected Documents to Users
First Claim
1. A method performed by a document server for updating and/or creating a profile associated with a user of a client device, wherein the document server comprises a recommender system, the method comprising:
- (a) transmitting, from the document server to the user, a document containing a set of one or more terms;
(b) after step (a), receiving, at the document server, information identifying an action or actions the user of the client device took with respect to the document;
(c) in response to receiving the information, determining, for each term included in the set of terms, a value to associate with the term, said value being a function of the user'"'"'s action or actions, thereby establishing a set of term/value pairs, where each said pair consists of one of said terms and its associated value; and
(d) storing the set of term/value pairs in the profile.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides an improved recommender system. In some embodiments, the recommender system automatically builds a user profile for a user based solely on the action or actions the user takes with respect to certain documents and the contents of the documents. That is, the profile is based on implicit ratings. In addition to maintaining a user profile for each user, each document in a set of documents will have its own document profile, which is also referred to as a document vector. Advantageously, in some embodiments, the user profile will consist of the same attributes as the document vectors. This advantageous feature enables the recommender system to compare users and documents in order to generate recommendations.
-
Citations
29 Claims
-
1. A method performed by a document server for updating and/or creating a profile associated with a user of a client device, wherein the document server comprises a recommender system, the method comprising:
-
(a) transmitting, from the document server to the user, a document containing a set of one or more terms; (b) after step (a), receiving, at the document server, information identifying an action or actions the user of the client device took with respect to the document; (c) in response to receiving the information, determining, for each term included in the set of terms, a value to associate with the term, said value being a function of the user'"'"'s action or actions, thereby establishing a set of term/value pairs, where each said pair consists of one of said terms and its associated value; and (d) storing the set of term/value pairs in the profile. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method performed by a document server for providing a document to a user, comprising:
-
updating a user vector, the updating step comprising (a) receiving information identifying an action or actions the user took with respect to a particular document that contains a set of one or more terms, (b) in response to receiving the information, computing a value for each term included in the set of terms, each of said values being a function of the user'"'"'s action or actions, and (c) storing the computed values in the user vector such that each said value is associated with its corresponding term; generating a reduced user vector from the user vector; using the reduced user vector, select a document from a set of candidate documents; and transmitting, from the document server to the user, the selected document, wherein the step of using the reduced user vector to select a document from the set of candidate documents comprises; obtaining a first reduced document vector representing a first document from the set of candidate documents; computing a first similarity value representing the similarity between the reduced user vector and the first reduced document vector; obtaining a second reduced document vector representing a second document from the set of candidate documents; computing a second similarity value representing the similarity between the reduced user vector and the second reduced document vector; and comparing the first similarity value with the second similarity value. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A document serving system for creating and/or updating a user vector associated with a user, comprising:
-
a data processing system; a data storage system accessible to the data processing system; and a network interface coupled to a network, said data processing system being configured to; (a) transmit to a user, via the network interface and the network, a document containing a set of one or more terms; (b) receive information identifying an action or actions the user took with respect to the document; (c) establish a set of term/value pairs in response to receiving the information, where each said pair consists of a term and an associated value, wherein the data processing system is configured to establish the set of term/value pairs by determining, for each term included in the set of terms, a value to associate with the term, said value being a function of the user'"'"'s action or actions; and (d) store in the data storage system the set of term/value pairs such that the set of term/value pairs is associated with the user. - View Dependent Claims (15, 16, 17)
-
-
18. A document serving system for providing documents to a user, comprising:
-
a data processing system; a data storage system accessible to the data processing system; and a network interface coupled to a network, said data processing system being configured to; update a user vector associated with the user, wherein the data processing system is configured to update the user vector by;
(a) receiving information identifying an action or actions the user took with respect to a particular document that contains a set of one or more terms, (b) computing a value for each term included in the set of terms in response to receiving the information, each of said values being a function of the user'"'"'s action or actions, and (c) storing the computed values in the user vector such that each said value is associated with its corresponding term, thereby updating the user vector;generate a reduced user vector from the updated user vector; use the reduced user vector to select a document from a set of candidate documents; and transmit the selected document to the user via the network interface, wherein the data processing system is configured to use the reduced user vector to select a document from the set of candidate documents by; obtaining a first reduced document vector representing a first document from the set of candidate documents; computing a first similarity value representing the similarity between the reduced user vector and the first reduced document vector; obtaining a second reduced document vector representing a second document from the set of candidate documents; computing a second similarity value representing the similarity between the reduced user vector and the second reduced document vector; and comparing the first similarity value with the second similarity value. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A computer program comprising computer readable code means which when executed by a processor causes the processor to perform the steps of:
-
(a) using a network interface to transmit to a user a document containing a set of one or more terms; (b) in response to receiving information identifying an action or actions the user took with respect to the document, determining, for each term included in the set of terms, a value to associate with the term, said value being a function of the user'"'"'s action or actions, thereby establishing a set of term/value pairs, where each said pair consists of one of said terms and its associated value; and (c) storing the set of term/value pairs in a profile associated with the user. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A computer program comprising computer readable code means which when executed by a processor causes the processor to perform the steps of:
-
updating a user vector, the updating step comprising (a) receiving information identifying an action or actions the user took with respect to a particular document that contains a set of one or more terms, (b) in response to receiving the information, computing a value for each term included in the set of terms, each of said values being a function of the user'"'"'s action or actions, and (c) storing the computed values in the user vector such that each said value is associated with its corresponding term; generating a reduced user vector from the user vector; using the reduced user vector, select a document from a set of candidate documents; and using a network interface to transmit to the user the selected document, wherein the step of using the reduced user vector to select a document from the set of candidate documents comprises; obtaining a first reduced document vector representing a first document from the set of candidate documents; computing a first similarity value representing the similarity between the reduced user vector and the first reduced document vector; obtaining a second reduced document vector representing a second document from the set of candidate documents; computing a second similarity value representing the similarity between the reduced user vector and the second reduced document vector; and comparing the first similarity value with the second similarity value. - View Dependent Claims (29)
-
Specification