Patent ID: 8005835

Claim:
A method for responding to a user query, the method comprising accessing a store of annotations created by a plurality of annotating users, each annotation being associated with one of the annotating users and with one of a plurality of documents belonging to a corpus, each annotation including a plurality of disparate forms of user-specific metadata related to the one of a plurality of documents belonging to the corpus; aggregating, across the plurality of annotating users, one or more items of user-specific metadata related to the same one of the documents, thereby generating one or more aggregate attributes for the document, the one or more items of the user-specific metadata include a user-supplied keyword describing the one of a plurality of documents belonging to the corpus, wherein the act of aggregating includes identifying a keyword set of most frequently user-supplied keywords from the plurality of annotating users, the keyword set comprising one of the aggregate attributes, wherein the one or more items of user-specific metadata aggregated during the act of aggregating include an aggregate global rating for the one of a plurality of documents belonging to the corpus, the aggregate global rating based on one or more ratings assigned by each of the plurality of annotating users to the one of a plurality of documents; analyzing categorical information of the plurality of documents to which the plurality of annotating users have assigned ratings; aggregating one or more user interests of the plurality of annotating users on the basis of the analyzed categorical information; receiving a query submitted by a query user, the query user being one of the plurality of annotating users; searching the corpus to identify one or more hits, wherein each hit is a document from the corpus that is determined to be relevant to the query, wherein searching the corpus includes extracting a search term from the query and identifying as a hit any document in the corpus for which the keyword set includes the search term; generating a search report including a listing of the hits, wherein the listing is based on the aggregate attributes of the hits, the aggregate global rating of the hits, and one or more aggregated interests of the query user, wherein the search report includes the keyword set for each hit; and transmitting the search report to the query user.