Исправление опечаток всего в 21 строке Python

Исправление опечаток всего в 21 строке Python

Питер Норвиг показал очень компактный пример вероятностного spell checker — без нейросетей и сложных моделей.

Идея простая:

- берём слово с ошибкой

- генерируем варианты на расстоянии 1–2 правок

- оставляем слова, которые есть в словаре

- выбираем самый вероятный вариант по частоте в корпусе

Одна правка — это:

удаление → перестановка → замена → вставка

Например:

speling → spelling

Ключевой момент - алгоритм не пытается «понять» слово. Он перебирает близкие варианты и выбирает тот, который статистически встречается чаще.

Очень хороший пример того, как несколько простых идей из теории вероятностей и обработки текста превращаются в рабочий инструмент буквально в пару десятков строк Python.

1