9. A 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: receiving textual input; processing the textual input to produce a first output comprising first keys, wherein each first key is an ngram occurring in the textual input; processing the first output to produce a second output comprising second keys and associated second values, wherein each second key is an anchor extracted from at least one of the first keys, wherein each anchor is defined by a beginning portion and an ending portion of a respective first key ngram, the beginning portion and ending portion being separated by a middle portion of the respective first key ngram, and wherein each second value is a set of middle portions associated with each distinct anchor; and processing the second output to produce a third output comprising third keys and associated third values, wherein each third key is a potential paraphrase pair identified from a second value set of middle portions, and each third value is a set of anchors associated with the potential paraphrase pair.
12. The storage medium of claim 9 , wherein identifying a potential paraphrase pair from a second value set of middle portions comprises identifying combinations of pairs of middle portions within the second value set of middle portions.