Об этом спрашивали в интервью.
Я думаю, что ответ может быть получен путем построения дерева всех допустимых слов, а затем предложения могут быть сделаны на основе возможного допустимого пути, который в противном случае был указан как неправильный.
Скажите, если пользователь наберет apfle, и система обнаружит, что после ap возможный допустимый путь был app, который затем удовлетворил бы apple.
Есть ли лучшее решение, чем это? Возможно, тот, который реализован средствами проверки орфографии.