1. A computer-implemented method comprising: accessing a document stored in one or more tangible media, the document comprising a plurality of text units, a text unit comprising a plurality of words, the plurality of words comprising a plurality of keywords; performing the following for each text unit using a processor: ranking the plurality of words of the each text unit according to a ranking technique; selecting one or more highly ranked words as the keywords of the each text unit; establishing relatedness among the keywords of each text unit; and selecting one or more keywords according to the established relatedness as one or more candidate tags to yield a candidate tag set for the each text unit; using the processor, determining relatedness between the candidate tags of each candidate tag set and the candidate tags of other candidate tag sets; and using the processor, assigning at least one candidate tag to the document according to the determined relatedness.