1. A computer-implemented method comprising: (A) identifying a first plurality of documents associated with a user; (B) identifying by a processor a plurality of search strings based on a plurality of class keywords associated with a plurality of nodes in a taxonomy, the plurality of nodes being associated with a first plurality of classes, comprising: for each node N in a subset of the plurality of nodes: (B)(1) identifying a first subset of the plurality of search strings based on a branch of the taxonomy linking the root node of the taxonomy to node N; and (B)(2) identifying a second subset of the plurality of search strings based on a branch of the taxonomy linking node N to the root node of the taxonomy; (C) identifying a second plurality of classes, in the taxonomy, associated with the first plurality of documents by performing a plurality of searches on the first plurality of documents using the identified plurality of search strings; (D) associating the second plurality of classes with the user; and (E) storing the association of the second plurality of classes with the user.