15. The non-transitory computer storage medium of claim 13 , wherein determining the similarity between a particular pair of phrase candidates comprises: calculating context vectors for the one or more contexts for each phrase candidate of the particular pair; and determining the similarity using the context vectors for the one or more contexts for each phrase candidate of the particular pair.
13. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: identifying phrase candidates from text string entries; determining a similarity between one or more pairs of the phrase candidates, the determining based on one or more contexts for each phrase candidate of the pairs of phrase candidates, wherein the one or more contexts for a particular phrase candidate are features in one or more text string entries that contain the particular phrase candidate; clustering phrase candidates into one or more clusters based on the similarity determined between one or more pairs of phrase candidates; identifying, for the phrase candidates in the one or more clusters, one or more non-common features, wherein non-common features have relationships to particular phrase candidates such that the non-common features weaken the similarity between one or more pairs of phrase candidates in the one or more clusters; filtering the one or more non-common features from the respective phrase candidates in each cluster to generate filtered clusters; and determining a new similarity between the one or more pairs of the phrase candidates, the determining based on the one or more contexts for each phrase candidate of the pairs of phrase candidates in the generated filtered clusters.