information presented to a user via an information access system is ranked according to a prediction of the likely degree of relevance to the user's interests. A profile of interests is stored for each user having access to the system. items of information to be presented to a user are ranked according to their likely degree of relevance to that user and displayed in order of ranking. The prediction of relevance is carried out by combining data pertaining to the content of each item of information with other data regarding correlations of interests between users. A value indicative of the content of a document can be added to another value which defines user correlation, to produce a ranking score for a document. Alternatively, multiple regression analysis or evolutionary programming can be carried out with respect to various factors pertaining to document content and user correlation, to generate a prediction of relevance. The user correlation data is obtained from feedback information provided by users when they retrieve items of information. Preferably, the user provides an indication of interest in each document which he or she retrieves from the system.

Patent
   RE41899
Priority
Apr 25 1994
Filed
Mar 12 2003
Issued
Oct 26 2010
Expiry
Apr 25 2014
Assg.orig
Entity
Large
49
35
all paid
28. A method for displaying items of information to users, comprising the steps of:
determining a relevance factor for an item of information, based upon an attribute of the item of information;
defining a relationship between the interests of a given user and those of other users;
determining a correlation factor for the item of information, based upon said defined relationship;
combining said relevance factor and said correlation factor to produce a ranking score for the item of information; and
displaying the item of information to the given user in accordance with its ranking score.
0. 102. A method of presenting information items from an information item collection to a user, the method comprising:
accessing a user profile associated with the user;
for each information item in the information item collection:
determining a relevance score for the information item based on a relationship between the user profile and the information item; and
determining a correlation score between the user and other users corresponding to the information item; and
ranking the information items based on a combination of each information item's relevance score and correlation score for presentation to the user.
14. A computer-based information access system, comprising:
a first database containing items of information to be provided to users of said system;
means for enabling users to indicate their degree of interest in particular items of information stored in said first database;
means for determining the correlation between the indicated interests of respective users and for storing information related thereto; and
means for predicting a given user's likely degree of interest in a particular item of information on the basis of said information relating to the determined correlation and at least one attribute of the item of information.
0. 103. A computer program product for presenting information items from an information item collection to a user, the computer program product stored on a computer readable medium and configured to perform a method comprising:
accessing a user profile associated with the user;
for each information item in the information item collection:
determining a relevance score for the information item based on a relationship between the user profile and the information item; and
determining a correlation score between the user and other users corresponding to the information item; and
ranking the information items based on a combination of each information item's relevance score and correlation score for presentation to the user.
0. 72. A method of presenting documents received from a document collection to a user, the method comprising:
retrieving a user profile vector associated with the user, the user profile vector in a vector space derived from terms in the document collection;
receiving a plurality of documents from the document collection, each document having a document vector in the vector space;
for each received document:
determining a relevance score for the document by a vector operation comparing the user profile vector and the document vector; and
determining a correlation score between the user and other users corresponding to the document; and
ranking the received documents based on a combination of each received document's relevance score and correlation score for presentation to the user.
0. 104. A system for presenting information items to a user, the information items stored in an information item database coupled to the system, the system comprising:
a user database storing a user profile associated with the user;
a server coupled to the information item database and the user database, the server identifying information items from the information item database and determining a relevance score for each of the identified information items based on a relationship between the user profile and the information item and determining a correlation score for each of the identified information items between the user and other users corresponding to the information item and ranking the identified information items based on a combination of each identified information item's relevance score and correlation score for presentation to the user.
0. 70. A method comprising:
storing a user profile for a user, the user profile including terms contained in a document collection and weights respectively associated with the terms;
selecting a plurality of documents from the document collection, each document associated with a document profile, the document profile including terms contained in its associated document;
for each selected document:
determining a relevance score, the relevance score based on a relationship between the user profile and the document profile associated with the selected document;
determining a correlation score between the user and other users corresponding to the selected document; and
combining the relevance score and the correlation score to determine a final ranking score for the selected document; and
presenting one or more recommendations to the user based on the final ranking scores.
0. 82. A computer program product for presenting documents received from a document collection to a user, the computer program product stored on a computer readable medium and configured to perform a method comprising:
retrieving a user profile vector associated with the user, the user profile vector in a vector space derived from terms in the document collection;
receiving a plurality of documents from the document collection, each document having a document vector in the vector space;
for each received document:
determining a relevance score for the document by a vector operation comparing the user profile vector and the document vector; and
determining a correlation score between the user and other users corresponding to the document; and
ranking the received documents based on a combination of each received document's relevance score and correlation score for presentation to the user.
0. 92. A system for presenting documents to a user, the documents each having a document vector in a vector space and stored in a document database coupled to the system, the system comprising:
a user database storing a user profile vector associated with the user, the user profile vector in the vector space derived from terms in the document database;
a server coupled to the document database and the user database, the server receiving documents from the document database and determining a relevance score for each of the received documents by a vector operation comparing the user profile vector and the document vector and determining a correlation score for each of the received documents between the user and other users corresponding to the document and ranking the received documents based on a combination of each received document's relevance score and correlation score for presentation to the user.
0. 67. A method of presenting documents from a document collection to a user, the method comprising:
storing a user profile for the user, the user profile including terms contained in the document collection and weights respectively associated with the terms;
selecting a plurality of documents from the document collection, each document associated with a document profile, the document profile including terms contained in its associated document;
for each selected document:
determining a relevance score, the relevance score based on a relationship between the user profile and the document profile associated with the selected document;
determining a correlation score between the user and other users corresponding to the selected document; and
combining the relevance score and the correlation score to determine a final ranking score for the selected document; and
presenting the selected documents to the user according to the final ranking scores.
1. In a computerized information access system, a method for presenting items of information to users, comprising the steps of:
a) storing user profiles for users having access to the system, where each user profile is based, at least in part, on the attributes of information the user finds to be of interest;
b) determining an attribute-based relevance factor for an item of information which is indicative of the degree to which an attribute of that item of information matches the profile for a particular user;
c) determining a measure of correlation between the particular user's interests and those of other users who have accessed said item of information;
d) combining said relevance factor and said degree of correlation to produce a ranking score for said item of information;
e) repeating steps b, c and d for each item of information to be presented to said particular user; and
f) displaying the items of information to the user in accordance with their ranking scores.
0. 31. A method of presenting documents from a document collection to a user, the method comprising:
storing a user profile vector for the user, the user profile vector in a vector space derived from terms contained in the document collection and including a plurality of weights, each weight associated with a term in the document collection;
selecting a plurality of documents from the document collection, each document associated with a document vector in the term vector space;
for each selected document:
determining a relevance score, the relevance score based on a relationship between the user profile vector and the document vector associated with the selected document;
determining a correlation score between the user and other users corresponding to the selected document; and
combining the relevance score and the correlation score to determine a final ranking score for the selected document; and
presenting the selected documents to the user according to the final ranking scores.
0. 37. A computer program product for presenting documents from a document collection to a user, the computer program product stored on a computer readable medium and adapted to perform a method comprising:
storing a user profile vector for the user, the user profile vector in a vector space derived from terms contained in the document collection and including a plurality of weights, each weight associated with a term in the document collection;
selecting a plurality of documents from the document collection, each document associated with a document vector in the term vector space;
for each selected document:
determining a relevance score, the relevance score based on a relationship between the user profile vector and the document vector associated with the selected document;
determining a correlation score between the user and other users corresponding to the selected document; and
combining the relevance score and the correlation score to determine a final ranking score for the selected document; and
presenting the selected documents to the user according to the final ranking scores.
0. 49. A method of presenting information items from an information item collection to a user, the method comprising:
storing a user profile vector for the user, the user profile vector in a vector space derived from attributes in the information item collection and including a plurality of weights, each weight associated with an attribute in the information item collection;
selecting a plurality of information items from the information item collection, each information item associated with an information item vector in the attribute vector space;
for each selected information item:
determining a relevance score, the relevance score based on a relationship between the user profile vector and the information item vector associated with the selected information item;
determining a correlation score between the user and other users corresponding to the selected information item; and
combining the relevance score and the correlation score to determine a final ranking score for the selected information item; and
presenting the selected information items to the user according to the final ranking scores.
0. 43. A system for presenting documents to a user, the documents each associated with a document vector in a vector space and stored in a document database coupled to the system, the system comprising:
a user database storing a user profile vector for the user, the user profile vector in the vector space derived from terms contained in the document database and including a plurality of weights, each weight associated with a term in the document collection; and
a server coupled to the user database and the document database for selecting documents from the document database, wherein the server:
determines, for each selected document, a relevance score, the relevance score based on a relationship between the user profile vector and the document vector associated with the selected document;
determines, for each selected document, a correlation score between the user and other users corresponding to the selected document;
combines, for each selected document, the relevance score and the correlation score to determine a final ranking score for the selected document; and
presents the selected documents to the user according to the final ranking scores.
0. 55. A computer program product for presenting information items from an information item collection to a user, the computer program product stored on a computer readable medium and adapted to perform a method comprising:
storing a user profile vector for the user, the user profile vector in a vector space derived from attributes contained in the information item collection and including a plurality of weights, each weight associated with an attribute in the information item collection;
selecting a plurality of information items from the information item collection, each information item associated with an information item vector in the attribute vector space;
for each selected information item:
determining a relevance score, the relevance score based on a relationship between the user profile vector and the information item vector associated with the selected information item;
determining a correlation score between the user and other users corresponding to the selected information item; and
combining the relevance score and the correlation score to determine a final ranking score for the selected information item; and
presenting the selected information items to the user according to the final ranking scores.
0. 61. A system for presenting information items to a user, the information items each associated with an information item vector in the attribute vector space and stored in an information item database coupled to the system, the system comprising:
a user database storing a user profile vector for the user, the user profile vector in a vector space derived from attributes contained in the information item database and including a plurality of weights, each weight associated with an attribute in the information item collection; and
a server coupled to the user database and the information item database for selecting information items from the information item database, wherein the server:
determines, for each selected information item, a relevance score, the relevance score based on a relationship between the user profile vector and the information item vector associated with the selected information item;
determines, for each selected information item, a correlation score between the user and other users corresponding to the selected information item;
combines, for each selected information item, the relevance score and the correlation score to determine a final ranking score for the selected information item; and
presents the selected information items to the user according to the final ranking scores.
2. The method of claim 1, wherein said combining step comprises a regression analysis of attribute-based and correlation-based factors for each item of information.
3. The method of claim 1 wherein said combining step comprises forming a weighted sum of said relevance factor and said degree of correlation.
4. The method of claim 1, wherein said ranking score is also related to a date associated with each item of information.
5. The method of claim 1 wherein said step of determining said degree of correlation includes the steps of obtaining feedback information from users regarding each user's interest in particular items of information when each such item is accessed by a user, and recording said feedback information.
6. The method of claim 5 further including the step of generating a correlation matrix which indicates the degree of correlation between respective users based upon commonly accessed items of information.
7. The method of claim 1 wherein said attribute is the contents of the item of information.
8. The method of claim 1 wherein said items of information are displayed in order of their relative rankings to thereby provide said indication.
9. The method of claim 1 wherein said relevance factor and said degree of correlation are combined by means of evolutionary programming techniques to generate a formula that is used to produce a ranking score for an item of information.
10. The method of claim 9 wherein said evolutionary programming technique comprises genetic programming.
11. The method of claim 9 wherein said evolutionary programming technique comprises genetic algorithms.
12. The method of claim 1 wherein said information access system is an electronic mail system, and said method is employed to filter messages provided to subscribers of said system.
13. The method of claim 1 wherein said information access system is an electronic bulletin board system, and said method is employed to rank items of information in a topic category selected by a user.
15. The information access system of claim 14 further including a user interface for displaying plural items of information with an indication of their relative predictions regarding likely degree of interest for a given user.
16. The information access system of claim 14 wherein said attribute is the contents of the item of information.
17. The information access system of claim 14 further including a second database containing at least one profile of interests for each of a number of users of said system, and wherein said prediction is based on a combination of (i) the relationship of said attribute to the profile for said given user and (ii) the correlation between indications provided by the given user and other users who have had access to said item of information.
18. The information access system of claim 17 wherein each user profile comprises a vector and said attribute defines a vector for the item of information, and wherein said relationship is determined in accordance with the similarities between the vector for the item of information and the user profile vector.
19. The information access system of claim 14 wherein said prediction is based on a regression analysis of data related to said attribute and stored correlation information pertaining to said given user.
20. The information access system of claim 14 wherein said prediction is determined by means of evolutionary programming techniques.
21. The information access system of claim 20 wherein the evolutionary programming techniques produce a formula which establishes a combination of attribute-based and correlation-based factors that determine said prediction.
22. The information access system of claim 20 wherein said evolutionary programming techniques comprise genetic programming.
23. The information access system of claim 20 wherein said evolutionary programming techniques comprise genetic algorithms.
24. The system of claim 14, wherein said information access system comprises an electronic mail system.
25. The system of claim 14, wherein said information access system comprises an electronic bulletin board system.
26. The system of claim 14, wherein said information access system comprises an electronic search and retrieval system.
27. The method of claim 1 wherein the items of information are displayed with an indication of their ranking scores.
29. The method of claim 28 further including the steps of determining a ranking score for multiple items of information, and displaying the items of information in accordance with their ranking scores.
30. The method of claim 28 wherein the item of information is displayed with an indication of its ranking score.
0. 32. The method of claim 31, wherein determining a correlation score comprises:
storing information relating to users' interest in the documents in the document collection;
storing information relating to the degree of correlation between the users' interest in documents;
generating the correlation score based upon the information relating to the users' interest and the information relating to the degree of correlation.
0. 33. The method of claim 32, wherein:
the information relating to the users' interests in the documents is stored in a user interest matrix indicating the users' interests in particular documents;
the degree of correlation between the users' interest is stored in a correlation matrix indicating the degree of correlation between the users' interest in the documents; and
the correlation score is generated based upon the user interest matrix and the correlation matrix.
0. 34. The method of claim 32, wherein:
storing information relating to the users' interest comprises generating a user interest matrix V where each entry Vkj is the weight indicating the feedback of user k on document j;
storing information relating to the degree of correlation comprises generating a correlation matrix R where each entry Rjk is a measure of the degree of correlation between users i and k; and
generating the correlation score comprises calculating a prediction score Pij indicating a likelihood of user i's interest in document j by carrying out an operation, P ij = k i , j R ik V kj .
0. 35. The method of claim 31, wherein the relationship between the user profile vector and the document vector is a cosine of an angle between the document vector and the user profile vector.
0. 36. The method of claim 31, wherein the relationship between the user profile vector and the document vector is based on the similarity between the user profile vector and the document vector.
0. 38. The computer program product of claim 37, wherein determining a correlation score comprises:
storing information relating to users' interest in the documents in the document collection;
storing information relating to the degree of correlation between the users' interest in documents;
generating the correlation score based upon the information relating to the users' interest and the information relating to the degree of correlation.
0. 39. The computer program product of claim 38, wherein:
the information relating to the users' interests in the documents is stored in a user interest matrix indicating the users' interests in particular documents;
the degree of correlation between the users' interest is stored in a correlation matrix indicating the degree of correlation between the users' interest in the documents; and
the correlation score is generated based upon the user interest matrix and the correlation matrix.
0. 40. The computer program product of claim 38, wherein:
storing information relating to the users' interest comprises generating a user interest matrix V where each entry Vkj is the weight indicating the feedback of user k on document j;
storing information relating to the degree of correlation comprises generating a correlation matrix R where each entry Rjk is a measure of the degree of correlation between users i and k; and
generating the correlation score comprises calculating a prediction score Pij indicating a likelihood of user i's interest in document j by carrying out an operation, P ij = k i , j R ik V kj .
0. 41. The computer program product of claim 37, wherein the relationship between the user profile vector and the document vector is a cosine of an angle between the document vector and the user profile vector.
0. 42. The computer program product of claim 37, wherein the relationship between the user profile vector and the document vector is based on the similarity between the user profile vector and the document vector.
0. 44. The system of claim 43, wherein the server determines the correlation score by:
storing information relating to users' interest in the documents in the document collection;
storing information relating to the degree of correlation between the users' interest in documents;
generating the correlation score based upon the information relating to the users' interest and the information relating to the degree of correlation.
0. 45. The system of claim 44, wherein:
the information relating to the users' interests in the documents is stored in a user interest matrix indicating the users' interests in particular documents;
the degree of correlation between the users' interest is stored in a correlation matrix indicating the degree of correlation between the users' interest in the documents; and
the server generates the correlation score based upon the user interest matrix and the correlation matrix.
0. 46. The system of claim 44, wherein:
the information relating to the users' interest is stored in a user interest matrix V where each entry Vkj is the weight indicating the feedback of user k on document j;
the information relating to the degree of correlation is stored in a correlation matrix R where each entry Rjk is a measure of the degree of correlation between users i and k; and
the server generates the correlation score by calculating a prediction score Pij indicating a likelihood of user i's interest in document j by carrying out an operation, P ij = k i , j R ik V kj .
0. 47. The system of claim 43, wherein the relationship between the user profile vector and the document vector is a cosine of an angle between the document vector and the user profile vector.
0. 48. The method of claim 43, wherein the relationship between the user profile vector and the document vector is based on the similarity between the user profile vector and the document vector.
0. 50. The method of claim 49, wherein determining a correlation score comprises:
storing information relating to users' interest in the information items in the information item collection;
storing information relating to the degree of correlation between the users' interest in information items;
generating the correlation score based upon the information relating to the users' interest and the information relating to the degree of correlation.
0. 51. The method of claim 50, wherein:
the information relating to the users' interests in the information items is stored in a user interest matrix indicating the users' interests in particular information items;
the degree of correlation between the users' interest is stored in a correlation matrix indicating the degree of correlation between the users' interest in the information items; and
the correlation score is generated based upon the user interest matrix and the correlation matrix.
0. 52. The method of claim 50, wherein:
storing information relating to the users' interest comprises generating a user interest matrix V where each entry Vkj is the weight indicating the feedback of user k on information item j;
storing information relating to the degree of correlation comprises generating a correlation matrix R where each entry Rik is a measure of the degree of correlation between users i and k; and
generating the correlation score comprises calculating a prediction score Pij indicating a likelihood of user i's interest in information item j by carrying out an operation, P ij = k i , j R ik V kj .
0. 53. The method of claim 49, wherein the relationship between the user profile vector and the document vector is a cosine of an angle between the document vector and the user profile vector.
0. 54. The method of claim 49, wherein the relationship between the user profile vector and the document vector is the distance between the user profile vector and the document vector.
0. 56. The computer program product of claim 55, wherein determining a correlation score comprises:
storing information relating to users' interest in the information items in the information item collection;
storing information relating to the degree of correlation between the users' interest in information items;
generating the correlation score based upon the information relating to the users' interest and the information relating to the degree of correlation.
0. 57. The computer program product of claim 56, wherein:
the information relating to the users' interests in the information items is stored in a user interest matrix indicating the users' interests in particular information items;
the degree of correlation between the users' interest is stored in a correlation matrix indicating the degree of correlation between the users' interest in the information items; and
the correlation score is generated based upon the user interest matrix and the correlation matrix.
0. 58. The computer program product of claim 56, wherein:
storing information relating to the users' interest comprises generating a user interest matrix V where each entry Vkj is the weight indicating the feedback of user k on information item j;
storing information relating to the degree of correlation comprises generating a correlation matrix R where each entry Rjk is a measure of the degree of correlation between users i and k; and
generating the correlation score comprises calculating a prediction score Pij indicating a likelihood of user i's interest in information item j by carrying out an operation, P ij = k i , j R ik V kj .
0. 59. The computer program product of claim 55, wherein the relationship between the user profile vector and the document vector is a cosine of an angle between the document vector and the user profile vector.
0. 60. The computer program product of claim 55, wherein the relationship between the user profile vector and the document vector is based on the similarity between the user profile vector and the document vector.
0. 62. The system of claim 61, wherein the server determines the correlation score by:
storing information relating to users' interest in the information items in the information item collection;
storing information relating to the degree of correlation between the users' interest in information items;
generating the correlation score based upon the information relating to the users' interest and the information relating to the degree of correlation.
0. 63. The system of claim 62, wherein:
the information relating to the users' interests in the information items is stored in a user interest matrix indicating the users' interests in particular information items;
the degree of correlation between the users' interest is stored in a correlation matrix indicating the degree of correlation between the users' interest in the information items; and
the server generates the correlation score based upon the user interest matrix and the correlation matrix.
0. 64. The system of claim 62, wherein:
the information relating to the users' interest is stored in a user interest matrix V where each entry Vkj is the weight indicating the feedback of user k on information item j;
the information relating to the degree of correlation is stored in a correlation matrix R where each entry Rik is a measure of the degree of correlation between users i and k; and
the server generates the correlation score by calculating a prediction score Pij indicating a likelihood of user i's interest in information item j by carrying out an operation, P ij = k i , j R ik V kj .
0. 65. The server of claim 61, wherein the relationship between the user profile vector and the document vector is a cosine of an angle between the document vector and the user profile vector.
0. 66. The server of claim 61, wherein the relationship between the user profile vector and the document vector is based on the similarity between the user profile vector and the document vector.
0. 68. The method of claim 67, wherein the final ranking score comprises a recommendation score.
0. 69. The method of claim 68, wherein the recommendation score comprises a movie recommendation score.
0. 71. The method of claim 70, wherein the recommendations comprise movie recommendations.
0. 73. The method of claim 72, wherein the vector space is defined by a set of terms selected from the terms in the document collection, each user profile vector and each document vector includes a plurality of vector components, each vector component corresponding to a weight of one of the terms.
0. 74. The method of claim 72, wherein the vector operation is the determination of a cosine of an angle between the document vector and the user profile vector.
0. 75. The method of claim 72, wherein the vector operation is a geometric operation determining a distance between the user profile vector and the document vector.
0. 76. The method of claim 72, wherein each user profile vector and each document vector comprises a plurality of weights, each weight associated with a term.
0. 77. The method of claim 72, wherein each user profile vector comprises a plurality of user profile vector weights derived from the user's interest in documents and each document vector comprises a plurality of document vector weights indicating the frequency of occurrence of the terms associated with the document vector weights in the document.
0. 78. The method of claim 72, further comprising
receiving a user rating of a document;
responsive to positive user rating, modifying the user profile vector of the user so that the user profile vector is more similar to the document vector of the user rated document; and
responsive to a negative user rating, modifying the user profile vector of the user so that the user profile vector is less similar to the document vector of the user rated document.
0. 79. The method of claim 72, further comprising:
receiving a user rating of a document; and
modifying the user profile vector as a function of the user rating and the document vector of the user rated document.
0. 80. The method of claim 72, further comprising:
receiving a user rating of a document indicating a user interest in the user rated document; and
modifying the user profile vector by determining which terms of the user rated document are significant and increasing the weights corresponding to the significant terms in the user profile vector.
0. 81. The method of claim 72, wherein the document collection includes a first document database and a second document database separate from the first document database, and the user profile vector associated with the user comprises a first user profile vector and a second user profile vector, the first and second user profile vectors corresponding to the first and second document databases, respectively, the method further comprising:
updating the first user profile vector in response to a user rating of a document from the first document database; and
updating the second user profile vector in response to a user rating of a document from the second document database.
0. 83. The computer program product of claim 82, wherein the vector space is defined by a set of terms selected from the terms in the document collection, each user profile vector and each document vector includes a plurality of vector components, each vector component corresponding to a weight of one of the terms.
0. 84. The computer program product of claim 82, wherein the vector operation is the determination of a cosine of an angle between the document vector and the user profile vector.
0. 85. The computer program product of claim 82, wherein the vector operation is a geometric operation determining a distance between the user profile vector and the document vector.
0. 86. The computer program product of claim 82, wherein each user profile vector and each document vector comprises a plurality of weights, each weight associated with a term.
0. 87. The computer program product of claim 82, wherein each user profile vector comprises a plurality of user profile vector weights derived from the user's interest in documents and each document vector comprises a plurality of document vector weights indicating the frequency of occurrence of the terms associated with the document vector weights in the document.
0. 88. The computer program product of claim 82, the method further comprising:
receiving a user rating of a document;
responsive to positive user rating, modifying the user profile vector of the user so that the user profile vector is more similar to the document vector of the user rated document; and
responsive to a negative user rating, modifying the user profile vector of the user so that the user profile vector is less similar to the document vector of the user rated document.
0. 89. The computer program product of claim 82, the method further comprising:
receiving a user rating of a document; and
modifying the user profile vector as a function of the user rating and the document vector of the user rated document.
0. 90. The computer program product of claim 82, the method further comprising:
receiving a user rating of a document indicating a user interest in the user rated document; and
modifying the user profile vector by determining which terms of the user rated document are significant and increasing the weights corresponding to the significant terms in the user profile vector.
0. 91. The computer program product of claim 82, wherein the document collection includes a first document database and a second document database separate from the first document database, and the user profile vector associated with the user comprises a first user profile vector and a second user profile vector, the first and second user profile vectors corresponding to the first and second document databases, respectively, the method further comprising:
updating the first user profile vector in response to a user rating of a document from the first document database; and
updating the second user profile vector in response to a user rating of a document from the second document database.
0. 93. The system of claim 92, wherein the vector space is defined by a set of terms selected from the terms in the document database, each user profile vector and each document vector includes a plurality of vector components, each vector component corresponding to a weight of one of the terms.
0. 94. The system of claim 92, wherein the vector operation is the determination of a cosine of an angle between the document vector and the user profile vector.
0. 95. The system of claim 92, wherein the vector operation is a geometric operation determining a distance between the user profile vector and the document vector.
0. 96. The system of claim 29, wherein each user profile vector and each document vector comprises a plurality of weights, each weight associated with a term.
0. 97. The system of claim 92, wherein each user profile vector comprises a plurality of user profile vector weights derived from the user's interest in documents and each document vector comprises a plurality of document vector weights indicating the frequency of occurrence of the terms associated with the document vector weights in the document.
0. 98. The system of claim 92, wherein the server receives a user rating of a document, and:
responsive to positive user rating, modifies the user profile vector of the user so that the user profile vector is more similar to the document vector of the user rated document; and
responsive to a negative user rating, modifies the user profile vector of the user so that the user profile vector is less similar to the document vector of the user rated document.
0. 99. The system of claim 92, wherein the server receives a user rating of a document and modifies the user profile vector as a function of the user rating and the document vector of the user rated document.
0. 100. The system of claim 92, wherein the server receives a user rating of a document indicating a user interest in the user rated document and modifies the user profile vector by determining which terms of the user rated document are significant and increasing the weights corresponding to the significant terms in the user profile vector.
0. 101. The system of claim 92, wherein the document database includes a first document database and a second document database separate from the first document database, and the user profile vector associated with the user comprises a first user profile vector and a second user profile vector, the first and second user profile vectors corresponding to the first and second document databases, respectively, and the server:
updates the first user profile vector in response to a user rating of a document from the first document database; and
updates the second user profile vector in response to a user rating of a document from the second document database.


In this formula, each parenthetical product pertains to one of the other users, i.e., A, B and D, respectively. Within each product, the first value represents the degree of correlation between the other user and the current user in question, as indicated by the matrix 44. The second value indicates whether the other user voted favorably (+1) or negatively (−1) after reading the document, as indicated in the table 42. The values of +1 and −1 are merely exemplary. Any suitable range of values can be employed to indicate various users' interests in retrieved items of information.

In accordance with the invention, a combination of attribute-based and correlation-based prediction is employed to rank the relevance of each item of information. For example, a weighted sum of scores that are obtained from each of the content and correlation predictors can be used, to determine a final ranking score. Other approaches which take into account both the attribute-based information and user correlation information can be employed. For example, multiple regression analysis can be utilized to combine the various factors. In this approach, regression methods are employed to identify the most important attributes that are used as predictors, e.g., salient terms in a document and users having similar feedback responses, and how much each one should be weighted. Alternatively, principal components analysis can be used to identify underlying aspects of content-based and correlation-based data that predict a score.

As another example, evolutionary programming techniques can be employed to analyze the available data regarding content of messages and user correlations. One type of evolutionary programming that is suitable in this regard is known as genetic programming. In this type of programming, data pertaining to the attributes of messages and user correlation are provided as a set of primitives. The various types of data are combined in different manners and evaluated, until the combination which best fits known results is found. The result of this combination is a program that describes the data which can best be used to predict a given user's likely degree of interest in a message. For further information regarding genetic programming, reference is made to Koza, John R., Genetic Programming: On The Programming of Computers By Means of Natural Selection, MIT Press 1992.

In a more specific implementation of evolutionary programming, the analysis technique known as genetic algorithms can be employed. This technique differs from genetic programming by virtue of the fact that pre-defined parameters pertaining to the items of information are employed, rather than more general programming statements. For example, the particular attributes of a message which are to be utilized to define the prediction formula can be established ahead of time, and employed in the algorithms. For further information regarding this technique, reference is made to Goldberg, David E., Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley 1989.

In addition to content and correlation scores, other attributes can be employed. For example, event times can be used in the ranking equation, where older items might get lower scores. If a message is a call for submitting papers to a conference, its score might rise as the deadline approached, then fall when it had passed. These various types of data can be combined using any of the data analysis techniques described previously, as well as any other well-known analysis technique.

From the foregoing, it can be seen that the present invention provides a system for ranking information which is not based on only one factor, namely content. Rather, a determination is made on the basis of a combination of factors. In a preferred implementation, the present invention provides for social interaction within the community of users, since each individual can benefit from the experiences of others. A user who has written about a particular topic is more likely to have other messages relating to that same topic presented to him or her, without awareness of the authors of these other items of information.

The invention takes advantage of the fact that a community of users is participating in the presentation of information to users. In current systems, if a large number of readers each believe a message is significant, any given user is no more likely to see it than any other message. Conversely, the originator of a relatively uninteresting idea can easily broadcast it to a large number of people, even though they may have no desire to see it. In the system of the present invention, however, the relevance score of a particular message takes into account not only on the user's own interests, but also feedback from the community.

To facilitate an understanding of the invention, its principles have been explained with reference to specific embodiments thereof. It will be appreciated, however, that the practical applications of the invention are not limited to these particular embodiments. The scope of the invention is set forth in the following claims, rather than the foregoing description, and all equivalents which are consistent with the meaning of the claims are intended to be embraced therein.

Tiene, Kevin, Rose, Daniel E., Bornstein, Jeremy J., Ponceleón, Dulce B.

Patent Priority Assignee Title
10149092, Apr 04 2005 X One, Inc. Location sharing service between GPS-enabled wireless devices, with shared target location exchange
10165059, Apr 04 2005 X One, Inc. Methods, systems and apparatuses for the formation and tracking of location sharing groups
10200811, Apr 04 2005 X One, Inc. Map presentation on cellular device showing positions of multiple other wireless device users
10299071, Apr 04 2005 X One, Inc. Server-implemented methods and systems for sharing location amongst web-enabled cell phones
10313826, Apr 04 2005 X One, Inc. Location sharing and map support in connection with services request
10341808, Apr 04 2005 X One, Inc. Location sharing for commercial and proprietary content applications
10341809, Apr 04 2005 X One, Inc. Location sharing with facilitated meeting point definition
10750309, Apr 04 2005 X One, Inc. Ad hoc location sharing group establishment for wireless devices with designated meeting point
10750310, Apr 04 2005 X One, Inc. Temporary location sharing group with event based termination
10750311, Apr 04 2005 X One, Inc. Application-based tracking and mapping function in connection with vehicle-based services provision
10791414, Apr 04 2005 X One, Inc. Location sharing for commercial and proprietary content applications
10856099, Apr 04 2005 X One, Inc. Application-based two-way tracking and mapping function with selected individuals
11356799, Apr 04 2005 X One, Inc. Fleet location sharing application in association with services provision
11778415, Apr 04 2005 Xone, Inc. Location sharing application in association with services provision
8126883, May 04 2008 Method and system for re-ranking search results
8156120, Oct 22 2008 WEBMYND, INC Information retrieval using user-generated metadata
8296302, May 04 2008 Method and system for extending content
8311792, Dec 23 2009 INTUIT INC. System and method for ranking a posting
8385964, Apr 04 2005 Xone, Inc.; XONE, INC Methods and apparatuses for geospatial-based sharing of information by multiple devices
8521663, Sep 08 1999 c4cast.com, Inc. Community-selected content
8538458, Apr 04 2005 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
8670968, Dec 23 2009 INTUIT INC. System and method for ranking a posting
8712441, Apr 04 2005 Xone, Inc.; X ONE, INC Methods and systems for temporarily sharing position data between mobile-device users
8713122, Nov 10 2005 SNAP INC Message value indicator
8750898, Apr 04 2005 X ONE, INC Methods and systems for annotating target locations
8798593, Apr 04 2005 X ONE, INC Location sharing and tracking using mobile phones or other wireless devices
8798645, Apr 04 2005 X ONE, INC Methods and systems for sharing position data and tracing paths between mobile-device users
8798647, Apr 04 2005 X One, Inc. Tracking proximity of services provider to services consumer
8831635, Apr 04 2005 X ONE, INC Methods and apparatuses for transmission of an alert to multiple devices
8838803, Dec 20 2007 AT&T LABS, INC Methods and apparatus for management of user presence in communication activities
8954361, Sep 08 1999 c4cast.com, Inc. Community-selected content
9031581, Apr 04 2005 X One, Inc. Apparatus and method for obtaining content on a cellular wireless device based on proximity to other wireless devices
9167558, Apr 04 2005 X One, Inc.; X ONE, INC Methods and systems for sharing position data between subscribers involving multiple wireless providers
9185522, Apr 04 2005 X One, Inc. Apparatus and method to transmit content to a cellular wireless device based on proximity to other wireless devices
9223779, Nov 22 2010 Alibaba Group Holding Limited Text segmentation with multiple granularity levels
9253616, Apr 04 2005 X One, Inc. Apparatus and method for obtaining content on a cellular wireless device based on proximity
9467832, Apr 04 2005 X One, Inc. Methods and systems for temporarily sharing position data between mobile-device users
9563665, May 22 2012 Alibaba Group Holding Limited Product search method and system
9584960, Apr 04 2005 X One, Inc. Rendez vous management using mobile phones or other mobile devices
9615204, Apr 04 2005 X One, Inc. Techniques for communication within closed groups of mobile devices
9654921, Apr 04 2005 X One, Inc. Techniques for sharing position data between first and second devices
9736618, Apr 04 2005 X One, Inc. Techniques for sharing relative position between mobile devices
9749790, Apr 04 2005 X One, Inc. Rendez vous management using mobile phones or other mobile devices
9854394, Apr 04 2005 X One, Inc. Ad hoc location sharing group between first and second cellular wireless devices
9854402, Apr 04 2005 X One, Inc. Formation of wireless device location sharing group
9883360, Apr 04 2005 X One, Inc. Rendez vous management using mobile phones or other mobile devices
9942705, Apr 04 2005 X One, Inc. Location sharing group for services provision
9955298, Apr 04 2005 X One, Inc. Methods, systems and apparatuses for the formation and tracking of location sharing groups
9967704, Apr 04 2005 X One, Inc. Location sharing group map management
Patent Priority Assignee Title
4775935, Sep 22 1986 Westinghouse Electric Corp. Video merchandising system with variable and adoptive product sequence presentation order
5107419, Dec 23 1987 International Business Machines Corporation Method of assigning retention and deletion criteria to electronic documents stored in an interactive information handling system
5132900, Dec 26 1990 International Business Machines Corporation Method and apparatus for limiting manipulation of documents within a multi-document relationship in a data processing system
5167011, Feb 15 1989 W. H., Morris Method for coodinating information storage and retrieval
5321833, Aug 29 1990 GOOGLE LLC Adaptive ranking system for information retrieval
5333266, Mar 27 1992 International Business Machines Corporation Method and apparatus for message handling in computer systems
5377354, Aug 15 1989 HTC Corporation Method and system for sorting and prioritizing electronic mail messages
5410344, Sep 22 1993 INTELLECTUAL VENTURES VIDEO PREFERENCES 3 LLC Apparatus and method of selecting video programs based on viewers' preferences
5446891, Feb 26 1992 International Business Machines Corporation System for adjusting hypertext links with weighed user goals and activities
5446919, Feb 20 1990 24 7 REAL MEDIA, INC Communication system and method with demographically or psychographically defined audiences
5483278, Jun 01 1993 U S PHILIPS CORPORATION System and method for finding a movie of interest in a large movie database
5504896, Dec 29 1993 AT&T IPM Corp Method and apparatus for controlling program sources in an interactive television system using hierarchies of finite state machines
5515098, Sep 08 1994 INVIDI Technologies Corporation System and method for selectively distributing commercial messages over a communications network
5541638, Jun 28 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT User programmable entertainment method and apparatus
5576954, Nov 05 1993 University of Central Florida Research Foundation, Inc Process for determination of text relevancy
5583763, Sep 09 1993 Intel Corporation Method and apparatus for recommending selections based on preferences in a multi-user system
5616876, Apr 19 1995 Microsoft Technology Licensing, LLC System and methods for selecting music on the basis of subjective content
5619709, Sep 20 1993 Fair Isaac Corporation System and method of context vector generation and retrieval
5704017, Feb 16 1996 Microsoft Technology Licensing, LLC Collaborative filtering utilizing a belief network
5721827, Oct 02 1996 PERSONAL AUDIO LLC System for electrically distributing personalized information
5724567, Apr 25 1994 Apple Inc System for directing relevance-ranked data objects to computer users
5749081, Apr 06 1995 Microsoft Technology Licensing, LLC System and method for recommending items to a user
5749549, Dec 29 1995 TOPCON POSITION SYSTEMS, INC ; Topcon GPS LLC Satellite positioning system antenna supporting tripod
5759101, Mar 10 1986 QUEST NETTECH CORPORATION Central and remote evaluation of responses of participatory broadcast audience with automatic crediting and couponing
5790935, Jan 30 1996 Hughes Electronics Corporation Virtual on-demand digital information delivery system and method
5835087, Nov 29 1994 Pinpoint Incorporated System for generation of object profiles for a system for customized electronic identification of desirable objects
5848396, Apr 26 1996 Conversant, LLC Method and apparatus for determining behavioral profile of a computer user
5931901, Dec 09 1996 TUMBLEWEED HOLDINGS LLC Programmed music on demand from the internet
5945988, Jun 06 1996 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system
5963916, Sep 13 1990 INTOUCH GROUP, INC Network apparatus and method for preview of music products and compilation of market data
6018738, Jan 22 1998 Microsoft Technology Licensing, LLC Methods and apparatus for matching entities and for predicting an attribute of an entity based on an attribute frequency value
6266649, Sep 18 1998 Amazon Technologies, Inc Collaborative recommendations using item-to-item similarity mappings
6453302, Nov 25 1996 Presentation Specialist Technologies, LLC Computer generated presentation system
7117516, Jan 19 2000 Individual Networks LLC Method and system for providing a customized media list
GB2304489,
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Mar 12 2003Apple Inc.(assignment on the face of the patent)
Date Maintenance Fee Events
Dec 14 2010ASPN: Payor Number Assigned.
Dec 14 2010RMPN: Payer Number De-assigned.
Aug 15 2012M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Oct 26 20134 years fee payment window open
Apr 26 20146 months grace period start (w surcharge)
Oct 26 2014patent expiry (for year 4)
Oct 26 20162 years to revive unintentionally abandoned end. (for year 4)
Oct 26 20178 years fee payment window open
Apr 26 20186 months grace period start (w surcharge)
Oct 26 2018patent expiry (for year 8)
Oct 26 20202 years to revive unintentionally abandoned end. (for year 8)
Oct 26 202112 years fee payment window open
Apr 26 20226 months grace period start (w surcharge)
Oct 26 2022patent expiry (for year 12)
Oct 26 20242 years to revive unintentionally abandoned end. (for year 12)