Я работаю над проверкой орфографии в C ++ и застрял на определенном этапе реализации.
Допустим, у нас есть текстовый файл с правильно написанными словами и введенной строкой, которые мы хотели быпроверьте на орфографические ошибки.Если эта строка является словом с ошибкой, я легко могу найти ее правильную форму, проверив все слова в текстовом файле и выбрав слово, которое отличается от него минимумом букв.Для этого типа ввода я реализовал функцию, которая вычисляет расстояние редактирования Левенштейна между двумя строками.Пока все хорошо.
Теперь сложная часть: что, если введенная строка представляет собой комбинацию слов с ошибками?Например, "iloevcokies".Учитывая, что «i», «love» и «cookies» - это слова, которые можно найти в текстовом файле, как я могу использовать уже реализованную функцию Левенштейна, чтобы определить, какие слова из файла подходят для исправления?Кроме того, как бы я вставил пробелы в правильные позиции?
Любая идея приветствуется:)