Я работаю над реализацией функции проверки орфографии для веб-редактора WYSIWYG. В настоящее время я использую алгоритм расстояния Дамерау-Левенштейна, чтобы составить список орфографических предложений. Это все хорошо работает, но мне любопытно, как я могу улучшить функциональность.
В частности, моя реализация в настоящее время не обрабатывает соединенные слова. Например, я хотел бы иметь возможность обнаружить «areyou» и предложить «вместо тебя». Я думаю, что могу сделать это, разбив потенциально соединенное слово на вероятные сегменты и протестировав обе половины. Поскольку все английские слова должны иметь хотя бы одну гласную, я думаю, что могу искать гласные, которые помогут мне решить, где разбить слова на части.
Алгоритм расстояния Дамерау-Левенштейна был настолько полезен; Понятно, что другие больше думают об этом, чем я. Есть ли такой же умный алгоритм, который я должен рассмотреть для обнаружения соединенных слов, или я уже на правильном пути?