1. A computer-implemented method comprising: selecting a target word from a set of words from a plurality of documents; determining a first subset of words from the set comprising words that are most correlated with the target word; determining a set of values, wherein each value is associated with a correlation between a first word from the first subset and a second word from the first subset, wherein the first word and the second word co-occur with the target word in a document of a plurality of documents; and determining, based on the set of values, at least two clusters of words from the first subset; assigning weights to words in the first subset of words based on the at least two determined clusters; determining a second subset of words that occur in a particular document and correspond to words in the first subset of words, wherein the particular document has the target word; based on the weights of words in the first subset of words that correspond to the second subset of words, selecting, for the particular document, a cluster of the at least two clusters; refining the weights of words in the first subset of words based on the selected cluster; wherein at least the steps of determining the set of values, selecting the cluster, and refining the weights are performed by one or more computing devices.