Spellchecking is a quick check of words that can never be right. My idea is to expand this to multiple words.
making token groups from a sentence of n tokens (5? 3 seems too short, 7 might be too long) that do not contain any spelling error, could be made into a hash, the hash could be counted and counted into a relative frequency, on which a treshhold could be created to add it to the ‘ok word groups hash list’.
A rule could be made then to trigger this ‘uncommon word group’ error. Of course, using disambiguation smart exceptions could be made, as well as adding entries.