Исправления опечаток

Исправления опечаток Для исправления опечаток недостаточно уметь вычислять расстояние редактирования: для заданных множества строк V (соответствующих терминам в лексиконе) и строки запроса q необходимо найти строку или строки из множества V с минимальным расстоянием редактирования до запроса q. Эту проблему можно рассматривать как задачу декодирования, в которой кодовые слова (строки из множества V) заданы заранее. Очевидный способ решения - вычислить расстояние редактирования от запроса q до каждой из строк, принадлежащих множеству V, а затем выбрать строку или строки с минимальным расстоянием. Этот исчерпывающий поиск является чрезмерно затратным. По этой причине для эффективного поиска терминов в словаре, имеющих небольшое расстояние редактирования до терминов запроса, на практике применяется большое количество эвристических правил.

Простейший эвристический прием заключается в ограничении поиска терминами словаря, начинающимися с той же буквы, что и строка запроса; расчет делается на то, что орфографические ошибки редко делаются с первой же буквы запроса. Более сложный вариант этого эвристического приема предусматривает использование перестановочного индекса, в котором игнорируется заключительный символ $. Рассмотрим множество всех перестановок строки запроса q. Для каждой перестановки г из этого множества мы проходим по В-дереву перестановочного индекса, тем самым идентифицируя все термины словаря, перестановки которых начинаются с буквы г. Например, если запрос q представляет собой строку mase и мы рассматриваем перестановку г = sema, то мы можем извлечь из словаря такие термины, как semantic и semaphore, имеющие довольно большое расстояние редактирования до запроса q. К сожалению, при этом мы можем пропустить более подходящие термины словаря, такие как mare и mane. Для того чтобы решить згу проблему, следует уточнить схему перестановок: при каждой перестановке до прохода по В-дереву мы пропустим суффикс, состоящий из I символов. Это гарантирует нам, что каждый термин из множества R, извлеченный из словаря, будет содержать “длинную” подстроку, общую с запросом q. Число I может зависеть от длины строки q. Статьи по теме интернета, вы найдете на сайте: vsemirpautina.ru из которых о многом для себя узнаете. В качестве альтернативы число I можно сделать фиксированной константой, например двойкой.

tel-icq