13. A system comprising: one or more computers; where the one or more computers are configured to perform operations comprising: receiving textual input; identifying a plurality of ngrams, each ngram being a sequence of words within the textual input; dividing each identified ngram into three portions: a beginning constant portion containing a first number of words at the beginning of the ngram, an ending constant portion containing a second number of words at the end of the ngram, and a middle portion containing the words of the ngram between the beginning constant portion and the ending constant portion; determining an anchor for each ngram, the anchor comprising the beginning constant portion and the ending constant portion of the ngram; identifying a plurality of potential paraphrase pairs, wherein if the anchor of a first ngram is the same as the anchor of a second ngram in the plurality of ngrams, the middle portion of the first ngram and the middle portion of the second ngram is identified as being a potential paraphrase pair, wherein the middle portion of the first ngram is textually different from the middle portion of the second ngram; receiving a query entered as an input in a search engine by a user; identifying one or more suggestions, each suggestion being an alternative term for replacing a sequence of one or more words in the query, where the sequence is one paraphrase member of a potential paraphrase pair and the suggestion is the other paraphrase member of the potential paraphrase pair; and generating one or more alternative queries using the one or more suggestions.
13. A system comprising: one or more computers; where the one or more computers are configured to perform operations comprising: receiving textual input; identifying a plurality of ngrams, each ngram being a sequence of words within the textual input; dividing each identified ngram into three portions: a beginning constant portion containing a first number of words at the beginning of the ngram, an ending constant portion containing a second number of words at the end of the ngram, and a middle portion containing the words of the ngram between the beginning constant portion and the ending constant portion; determining an anchor for each ngram, the anchor comprising the beginning constant portion and the ending constant portion of the ngram; identifying a plurality of potential paraphrase pairs, wherein if the anchor of a first ngram is the same as the anchor of a second ngram in the plurality of ngrams, the middle portion of the first ngram and the middle portion of the second ngram is identified as being a potential paraphrase pair, wherein the middle portion of the first ngram is textually different from the middle portion of the second ngram; receiving a query entered as an input in a search engine by a user; identifying one or more suggestions, each suggestion being an alternative term for replacing a sequence of one or more words in the query, where the sequence is one paraphrase member of a potential paraphrase pair and the suggestion is the other paraphrase member of the potential paraphrase pair; and generating one or more alternative queries using the one or more suggestions. 24. The system of claim 13 , wherein the first number of words is three words, and the second number of words is three words.