I am currently doing text classification and find out that some document in corpus has spelling mistakes like "goes" is written as "geos" and "available" is written as "avaliable". I am 524 smart stop words to remove stop words. This spelling mistakes are causing stop words not to removed correctly from corpus and reside there which may be effecting my classifier performance. I am using 20 News Group data set.
What should i use for spell corrections for English language in Java?