Подскажите пожалуйста, как правильно называется такая задача: замена текста, написанного с неправильной раскладкой клавиатуры. Т.е. из 'ghbdtn' надо получить 'привет', а из 'руддщ' получить 'hello'. И ещё бы такое для украинской раскладки)
Это можно сделать простой заменой по буквам, но... а если у меня будет текст на англе с правильной раскладкой, а я его на русский сменю? Как это отлавливать? Тут уже не просто замена букв получается. Или когда смешанный текст, например 'hello vjq lheu' - 'hello мой друг'
Можно обучить какую-нибудь простую посимвольную языковую модельку (например, тупо посчитать буквенные триграммы по каким-то корпусам типа кусочка википедии).
И дальше менять раскладку, только если вероятность измененного слова, согласно модельке, сильно выше, чем вероятность исходного. И прогонять это по отдельности для каждого слова.