One of the most popular approaches to nonspecific error type correction, incorporated to various extents in many teams' systems, was the Language Model (LM) based approach.
the probability of a learner n-gram is compared with the probability of a candidate corrected ngram, and if the difference is greater than some threshold, an error was perceived to have been detected and a higher scoring replacement n-gram could be suggested.