1. A method comprising: identifying a plurality of phrase candidates from a plurality of text string entries in a corpus; for each phrase candidate of the plurality of phrase candidates: identifying a plurality of left contexts and a plurality of right contexts for the phrase candidate, each left context of the plurality of left contexts being a nearest unique feature to the left of the phrase candidate in each respective text string entry and each right context of the plurality of right contexts being a nearest unique feature to the right of the phrase candidate in each respective text string entry, and calculating both a left context vector including a respective score for each left context feature and a right context vector including a respective score for each right context feature of the phrase candidate; and determining a similarity between one or more pairs of phrase candidates of the plurality of phrase candidates using the respective left and right context vectors for each phrase candidate of each pair, wherein determining a similarity between a pair of phrase candidates includes: calculating a first similarity between the respective left context vectors of the pair of phrase candidates; calculating a second similarity between the respective right context vectors of the pair of phrase candidates; and calculating the similarity between the pair of phrase candidates using the first similarity and the second similarity.