1. A method for correcting at least one misspelled word in a phrase written in a natural language, comprising: (a) identifying a misspelled word in the phrase by checking the word against words in a dictionary and compiling a set of correction alternatives for each word identified as misspelled in the phrase; (b) for each identified word generating a set of N-grams, wherein each N-gram includes a correction alternative for the identified word and one or more other words from the phrase; (c) querying a validated N-gram database with substantially each of the generated N-grams to generate a score for substantially each of the generated N-grams, wherein the score of a given generated N-gram is at least partially based on a (relative) frequency of occurrence of the given N-gram in the N-gram database; (d) adjusting the score of substantially each N-gram based on a context scoring function; (e) calculating a final score for each of the correction alternatives based on a combination of the adjusted score for the correction alternative's associated N-gram and each of: (i) editing distance between the identified word and the correction alternative; (ii) phonetic distance between the identified word and the correction alternative; and (iii) Parts Of Speech and Grammar scoring; and (f) automatically suggesting a list of one or more of the misspelled word's correction alternatives, wherein said suggested correction alternatives are the alternatives for which the highest final scores were calculated including relative normalized scores.