НАЧВТЬ, СТАТР, ВПИРЕД...
Обработка ошибок в чат-ботах
Никак не могу привыкнуть к своему новому телефону. Клавиатура визуально больше. А вот в нужные буквы не попадаю. То ли не привык, то ли еще что...
В общем, все мы люди и все допускаем ошибки при написании слов. Особенно, когда делаем это на бегу.
Но каждый раз, когда это происходит, с той стороны экрана грустит уставший автоматизатор.
Еще одно слово надо добавить в настройки чат-бота. Или даже предложение. А, возможно, это не только в одном месте надо исправить.
А если бот реагирует не на короткое слово, а на целое предложение? Тогда вариантов с ошибочным написанием становится еще больше...
В пору задуматься о том, как минимизировать все это с самого начала.
И тут на помощь приходит расстояние Дамерау — Левенштейна.
Не пугайся. Щас все объясню.
По простому - это количество ошибок, которое надо исправить в одном слове, чтобы получить другое.
Чтобы из слова "хлеб" сделать "пиво", надо исправить 4 ошибки 🙃
А вот чтобы получить слово "начать" из:
"начат" - 1 ошибка (пропущена буква)
"начаьт" - 1 ошибка (переставлены местами 2 соседние буквы)
"ночать" - 1 ошибка (О вместо А)
"на чать" - 1 ошибка (один лишний символ - пробел)
Такая вот нехитрая штука.
Я в своей работе уже давно практикую не простое сравнение слов, а смотрю именно на возможные ошибки в фразе.
И, если количество ошибок в допустимом пределе, считаем, что все ок.
В коротком слове можно допустить 1 ошибку. В длинном - 2-3. В предложении из нескольких слов можно дать еще поблажку.
А вот теперь, если ты читаешь эти строки...
Скажи мне, нужен ли тебе простенький сервис для определения количества ошибок? Чтобы можно было пользоваться им в Автопилоте, ActiveUsers и других чат-ботах.
Пиши в комментарии. Если наберется достаточное количество желающих - поделюсь своим.