I like this approach but:

1) I don't want an undocumented numeric literal here.

2) I want you to do the multiplication down below at line 643 so that it is explicitly part of the decision about whether to make the word an autocorrection or not.

It looks like the constant AUTO_CORRECT_THRESHOLD is already defined up above, but is currently unused.   Please repurpose that constant, change to 1.15 (assuming that's the best value from your testing), use it on line 643, and update the comment above that to explain.  (Also, I think you can remove the XXX part of the comment at line 122)