1. A computer-implemented method for providing writing assistance to a user, the method comprising: utilizing a processor that is a component of the computer to automatically generate a mapping between two strings of text that are in the same language, wherein automatically generating the mapping comprises applying statistical analysis so as to produce an alignment of words in a first of the two strings with words in the second one of the two strings; identifying a syntactic relationship between two words separated by other words within the first of the two strings; providing, based at least in part on the mapping, and based at least upon the identified syntactic relationship, a list of suggested substitutions that represent potential modifications that will resolve an error contained in an input received from the user, the suggested substitutions in the list reflecting a ranking indicative of which of the potential modifications is most likely to resolve the error, the ranking being based on an evaluation of the suggested substitutions in the list relative to a language model trained based on a collection of well-formed data and wherein the language model is an n-gram language model smoothed to accommodate one or more unknown words; and wherein the first of the two strings is an output from a machine translation system that includes the error and is identified as being a low quality translation of a collection of text, the second of the two strings being a higher quality translation of the collection of text.