15. A computer-implemented method comprising: receiving a set of target search terms for a search; using a microprocessor of a computer, selecting a plurality of candidate terms, each candidate term selected to reduce an ontology space of the document due to the candidate term having a higher affinity with a target tag and a lower affinity with the other candidate terms; sending the candidate terms to a user of the computer via a user interface of the computer to recommend the candidate terms as search terms; receiving, via the user interface of the computer, a selection by the user of one or more terms of the candidate terms and identifying one or more terms of the candidate 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 next terms as search terms.
16. The method of claim 15 , the receiving the set of target search terms for the search further comprising: receiving a target search term of the set of target search terms from a source selected from a group consisting of: user input; and a computer analysis; and recording the source of the target search term.