Как сравнивать аналогичные строки?

Допустим у меня есть приложение, которое в зависимости от входной строки выдаёт выходную. К примеру пишу "Hello" и в ответ получаю "Hello".

Я хочу, чтобы приложение понимало и "HeLLo", и с ошибками "Helo".

Для начала я могу перевести строку в нижний регистр, но строка может состоять не только из одного слова. Я не хочу создавать список с фразами и тупо сравнивать.

Как это реализуют в больших проектах? (В чат-ботах например). Язык не важен, лучше объясните принцип. Заранее спасибо!


Ответы (1 шт):

Автор решения: passant

Регулярками все не опишеш. В "больших" проектах это делается "большими" программами. Коих много.

https://netpeak.net/ru/blog/luchshiye-programmy-dlya-ispravleniya-orfograficheskikh-oshibok-story/

Есть и он-лайн.

https://bugaga.net.ru/orfografija/

https://www.xn----7sbbiparddsgqdgdxrq.xn--p1ai/

Есть и сервисы с соответствующим АIP.

Известна и теория этого дела (не простая). При желании можно и ознакомиться

http://www.100byte.ru/stdntswrks/spellCh/spellCh.html

→ Ссылка