1. A computer-implemented method comprising: accessing a document stored in one or more tangible media; receiving a set of target tags for the document; using a microprocessor of a computer, identifying a plurality of terms, each identified term selected to reduce an ontology space of the document due to the identified term having a higher affinity with a target tag and a lower affinity with the other identified terms; sending the plurality of identified terms to a user of the computer via a user interface of the computer to recommend the plurality of identified terms as tags; receiving, via the user interface of the computer, a selection by the user of one or more terms of the plurality of identified terms and identifying one or more of the plurality of identified terms that were not selected by the user; using the microprocessor of the computer, determining a plurality of next terms that have both (i) an affinity with the one or more terms selected by the user that is above a first affinity threshold and (ii) an affinity with the one or more terms that were not selected by the user that is below a second affinity threshold; and sending the next terms to the user via the user interface of the computer to recommend the terms as tags.