1. A method for categorizing documents comprising: tagging parts of speech of words comprising said documents; selecting a first set of features based on a first one of said parts of speech; grouping said documents into clusters according to their semantic affinity to said first set of features and to each other; and refining said clusters into a hierarchy of progressively refined clusters wherein subsequent sets of features are selected based on corresponding said parts of speech.