System and method for searching and recommending documents in a collection using share bookmarks
First Claim
1. A method of adding a content pointer to a collection of shared content pointers contributed by a plurality of users, wherein each shared content pointer is associated with a content source, the content pointers organized into a plurality of categories, comprising the steps of:
- receiving a data item identifying a content source;
determining a category of the collection of shared content pointers in which to store the data item comprising the substeps of;
identifying a topic corresponding to the content source;
comparing the topic to a first list of topics in a user-specific hierarchy of categories;
if the topic is in the first list, identifying the category within the user-specific hierarchy corresponding to the topic;
if the topic is not in the first list, comparing the topic to a second list of topics in a global hierarchy of categories;
if the topic is in the second list, identifying the category within the global hierarchy corresponding to the topic; and
establishing a category within the user-specific hierarchy corresponding to the topic;
if the topic is not in the second list, establishing a category within the global hierarchy corresponding to the topic; and
establishing a category within the user-specific hierarchy corresponding to the topic;
wherein the global hierarchy of categories is initially determined by the steps of;
for each content pointer in the collection of shared document content pointers, identifying a content vector corresponding to the content pointer;
clustering the content vectors into a plurality of clusters; and
recursively repeating the clustering step on each cluster in the plurality of clusters to derive a hierarchy of clusters; and
storing the hierarchy of clusters as the global hierarchy of categories; and
storing the data item as a content pointer in the determined category of the collection.
9 Assignments
0 Petitions
Accused Products
Abstract
A search and recommendation system employs the preferences and profiles of individual users and groups within a community of users, as well as information derived from shared document bookmarks, to augment Internet searches, re-rank search results, and provide recommendations for documents based on a subject-matter query. The search and recommendation system operates in the context of a shared bookmark manager, which stores individual users'"'"' bookmarks (some of which may be published or shared for group use) on a centralized bookmark database connected to the Internet. The shared bookmark manager is implemented as a distributed program, portions of which operate on users'"'"' terminals and other portions of which operate on the centralized bookmark database.
753 Citations
67 Claims
-
1. A method of adding a content pointer to a collection of shared content pointers contributed by a plurality of users, wherein each shared content pointer is associated with a content source, the content pointers organized into a plurality of categories, comprising the steps of:
-
receiving a data item identifying a content source;
determining a category of the collection of shared content pointers in which to store the data item comprising the substeps of;
identifying a topic corresponding to the content source;
comparing the topic to a first list of topics in a user-specific hierarchy of categories;
if the topic is in the first list, identifying the category within the user-specific hierarchy corresponding to the topic;
if the topic is not in the first list, comparing the topic to a second list of topics in a global hierarchy of categories;
if the topic is in the second list, identifying the category within the global hierarchy corresponding to the topic; and
establishing a category within the user-specific hierarchy corresponding to the topic;
if the topic is not in the second list, establishing a category within the global hierarchy corresponding to the topic; and
establishing a category within the user-specific hierarchy corresponding to the topic;
wherein the global hierarchy of categories is initially determined by the steps of;
for each content pointer in the collection of shared document content pointers, identifying a content vector corresponding to the content pointer;
clustering the content vectors into a plurality of clusters; and
recursively repeating the clustering step on each cluster in the plurality of clusters to derive a hierarchy of clusters; and
storing the hierarchy of clusters as the global hierarchy of categories; and
storing the data item as a content pointer in the determined category of the collection.
-
-
2. A system for maintaining a collection of shared document content pointers contributed by a plurality of users, wherein each shared document content pointer represents a document in a document repository, comprising:
-
a plurality of user terminals in communication with the repository;
a database in communication with the repository and the plurality of user terminals, wherein the database is adapted to store the collection of shared document content pointers; and
software adapted to maintain the collection of shared document content pointers. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for generating a recommendation from a collection of shared document content pointers contributed by a plurality of users, wherein each shared document content pointer represents a document, comprising the steps of:
-
identifying at least one unavailable content pointer;
searching at least a portion of the collection of shared document content pointers; and
retrieving a group of content pointers that match the unavailable content pointer.
-
-
17. A method for searching an information repository comprising the steps of:
-
establishing a collection of shared content pointers, the content pointers contributed by and shared among a plurality of users;
receiving at least one subject keyword;
searching at least a portion of the collection of shared content pointers; and
retrieving a group of content pointers that match the subject keyword;
identifying a context within the collection of shared content pointers;
ranking the group of content pointers based a computed match with the context; and
wherein the context comprises a profile for a group of users chosen from the plurality of users. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
identifying a context within the collection of shared content pointers;
identifying a set of user metrics, the set of user metrics chosen from the group consisting of a popularity metric, a frequency of access metric, a recency of access metric, and a link structure metric;
combining a computed match with the context, and at least one of the set of user metrics, for each content pointer into a composite measure; and
ranking the group of content pointers based on the composite measure.
-
-
27. The method of claim 26, further comprising the steps of:
-
identifying a group of users comprising at least one user selected from the plurality of users; and
wherein, the set of user metrics are identified with respect to the group of users.
-
-
28. A method for searching an information repository comprising the steps of:
-
establishing a collection of content pointers, the content pointers contributed by a plurality of users;
receiving at least one query keyword;
augmenting the query with at least one additional keyword derived from the collection;
searching the information repository; and
retrieving at least one of a group of documents, each including content indicia, at least one content index matching the query keyword. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
identifying a context within the collection; and
identifying at least one additional keyword within the context.
-
-
30. The method of claim 29, wherein the context comprises a profile, the profile selected from a group consisting of a user profile for a single user chosen from the plurality of users, a group profile for a group of users chosen from the plurality of users, and a profile for the plurality of users.
-
31. The method of claim 30, wherein the profile is derived from at least one document represented by at least one content pointer in at least one selected topical category of content pointers contributed by at least one user.
-
32. The method of claim 28, further comprising the step of ordering the retrieved documents in a ranking order, the order determined by a weighted set of user metrics.
-
33. The method of claim 32, wherein the set of user metrics are chosen from the group consisting of a popularity metric, a frequency of access metric, a recency of access metric, and a link structure metric.
-
34. The method of claim 33, wherein the step of identifying the popularity of each document in the group of documents comprises determining what fraction of users in the plurality of users contributed a content pointer representative of the document.
-
35. The method of claim 33, wherein the link structure comprises a computed inlink weight combined with a computed outlink weight.
-
36. The method of claim 29, further comprising the step of re-ranking the group of content pointers based on a spreading activation analysis of the group of content pointers.
-
37. The method of claim 28, further comprising the steps of:
-
identifying a context within the collection of shared content pointers;
identifying a set of user metrics, the set of user metrics chosen from the group consisting of a popularity metric, a frequency of access metric, a recency of access metric, and a link structure metric;
combining a computed match with the context, and at least one of the set of user metrics, for each content pointer into a composite measure; and
ranking the group of content pointers based on the composite measure.
-
-
38. The method of claim 37, further comprising the steps of:
-
identifying a group of users comprising at least one user selected from the plurality of users; and
wherein, the set of user metrics are identified with respect to the group of users.
-
-
39. A method for searching an information repository comprising the steps of:
-
establishing a collection of content pointers, the content pointers contributed by a plurality of users;
receiving at least one query keyword;
searching the information repository;
identifying a context within the collection;
retrieving at least one of a group of documents, each including content indicia, at least one content index matching the query keyword, wherein the retrieved at least one of a group of documents is ranked in accordance with a computed match with the context; and
wherein the context comprises a profile, the profile selected from a group consisting of a user profile for a single user chosen from the plurality of users, a group profile for a group of users chosen from the plurality of users, and a profile for the plurality of users. - View Dependent Claims (40, 41, 42, 43, 44, 45)
identifying at least one additional keyword within the context;
augmenting the query with the at least one additional keyword derived from the collection to define an augmented query keyword;
searching the information repository; and
retrieving at least one of a group of documents, each including content indicia, at least one content index matching the augmented query keyword.
-
-
42. The method of claim 41, wherein the augmented query keyword is derived from the collection context.
-
43. The method of claim 39, further comprising the step of ordering the retrieved documents in a ranking order, the order determined by a weighted set of user metrics.
-
44. The method of claim 43, wherein the set of user metrics are chosen from the group consisting of a popularity metric, a frequency of access metric, a recency of access metric, and a link structure metric.
-
45. The method of claim 44, wherein the step of identifying the popularity of each document in the group of documents comprises determining what fraction of users in the plurality of users contributed a content pointer representative of the document.
-
46. A method for searching an information repository comprising the steps of:
-
establishing a collection of content pointers, the content pointers contributed by a plurality of users;
receiving at least one query keyword;
searching the information repository;
retrieving at least one of a group of documents, each including content indicia, at least one content index matching the query keyword; and
ordering the retrieved documents in a ranking order, the order determined by a weighted set of user metrics. - View Dependent Claims (47, 48)
-
-
49. A method for generating ordered recommendations of content sources from an information repository comprising the steps of:
-
establishing a collection of content pointers, the content pointers contributed by a plurality of users, each content pointer associated with a content source;
receiving at least one query keyword;
searching the information repository;
retrieving a group of content sources that each includes a content profile matching the query keyword;
identifying a context within the collection; and
ranking the group of content sources based on a computed match between each content source'"'"'s content profile and the identified context. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56)
identifying at least one associate keyword from within the context;
augmenting the query with at least one associate keyword derived from the collection;
searching the information repository; and
retrieving at least one of a group of documents, each including a content profile matching the augmented query keyword.
-
-
56. The method of claim 55, wherein the augmented query keyword is derived from the collection context.
-
57. A method for generating ordered recommendations of content sources from an information repository comprising the steps of:
-
establishing a collection of content pointers, the content pointers contributed by a plurality of users, each content pointer associated with a content source;
receiving at least one query keyword;
searching the information repository;
retrieving a group of content sources that match the query keyword;
identifying a context within the collection;
identifying a set of user recommendation priority metrics;
combining a computed match with the context and the set of user recommendation priority metrics for each content source into a composite recommendation metric; and
ranking the group of content sources based on each content source'"'"'s composite recommendation metric. - View Dependent Claims (58)
identifying a group of users comprising at least one user selected from the plurality of users;
identifying the set of user recommendation priority metrics with respect to the group; and
wherein the user recommendation priority metrics are chosen from the group consisting of a popularity metric, a frequency of access metric, a recency of access metric, and a link structure metric.
-
-
59. An information repository search engine comprising:
-
a collection of content pointers, the content pointers contributed by a plurality of users;
a user input engine, configured to receive at least a keyword query input;
a query augmentation engine, configured to derive an associate keyword from the collection; and
a search engine, configured to search the collection of shared content pointers. - View Dependent Claims (60, 61, 62, 63)
-
-
64. In a search engine of the type configured to search an information repository on the basis of at least a query keyword input by a user, the search engine retrieving at least one of a group of content sources, each content source including content indicia, a recommendation engine comprising:
-
a collection of content pointers, the content pointers contributed by a plurality of users;
a metrics identification engine, the metrics identification engine identifying a set of user recommendation metrics; and
an ordering engine, the ordering engine ordering a set of retrieved content sources in accordance with the set of user recommendation metrics. - View Dependent Claims (65, 66, 67)
a contextualization engine, the contextualization engine identifying a context within the collection; and
wherein the ordering engine orders a set of retrieved content sources in accordance with a computed match between the context and each content source'"'"'s content indicia.
-
-
67. The recommendation engine of claim 66, further comprising:
-
combining means for computing a match between the context, and at least one of the set of user metrics, for each content pointer into a composite measure; and
wherein the ordering engine orders a set of retrieved content sources in accordance with the computed match between the composite measure and each content source'"'"'s content indicia.
-
Specification