1. A computer-implemented method for applying a paraphrase alternation pattern to an input string, the method comprising: receiving the input string; receiving the paraphrase alternation pattern, wherein the paraphrase alternation pattern indicates a pattern of transformation from a first set of words to a second set of words wherein the given paraphrase alternation pattern is abstract in that one or both of the first and second sets of words include a place holder or blank to be filled in rather than a complete listing of specific words; generating a language model; and utilizing a computer processor that is a functional component of the computer to apply the language model to determine how to apply the given paraphrase alternation pattern to the input string, and wherein applying the language model comprises: applying the given paraphrase alternation pattern to the input string in a plurality of different ways to produce a plurality of different textual variations, wherein applying the given paraphrase alternation pattern to the input string in a plurality of different ways comprises switching different combinations of words around a word within the input string identified as being a pivot word; and applying the language model to the plurality of different textual variations to determine a probable sequence of words.