1. A method comprising: accessing, by one or more processors, a record to perform a clustering analysis, the record stored in one or more tangible storage media, the record recording a plurality of affinities, an affinity calculated using a directional affinity between a first word and a second word describing a quantitative relationship between the first word and the second word, the directional affinity indicating the probability of the occurrence of the second word given the occurrence of the first word; identifying, by the one or more processors, a plurality of clusters of a plurality of words according to the plurality of affinities, a cluster comprising two or more words that are sufficiently affine with each other, a first word sufficiently affine with a second word if the affinity between the first word and the second word satisfies one or more affinity criteria comprising a forward affinity with a current word criterion and a backward affinity with a seed word criterion, the identifying comprising building a cluster by: placing a seed word in the cluster; and repeating the following for each word added to the cluster: sorting the plurality of words according a forward affinity between the each word and a current word, identifying one or more candidate words satisfying the one or more affinity criteria, and placing the one or more candidate words in the cluster; performing, by the one or more processors, the clustering analysis using the clusters to yield a result; and reporting the result of the clustering analysis.