Используется алгоритм Noisy Channel. В качестве модели ошибки берутся все слова с расстоянием Дамерау-Левенштейна = 2 (присутствующие в словаре), языковая же модель это Knesser-Ney Smoothing, натренированный на 200 метровом сборнике статей из англоязычных блогов на ЖЖ. Lang Model базируется на 3-gram и 20 вариантном просмотре каждого слова (20-е - само слово, на случай когда словарное представленное слово, если есть в словаре, не ошибочно).
Перед использованием нужно распаковать текстовый файл с языковой моделью из архива. В процессе использования создает в начале рабочий файл "fdict_bin" для ускоренной загрузки в дальнейшем.