platform
platform copied to clipboard
Добавить автоисправление раскладки
Задача:
Исправлять текст автоматически, если пользователь набрал его не в той раскладке.
Решение:
Основная проблема заключается в том, когда нужно автоматически заменять текст в другой раскладке. Есть несколько решений:
- Сделать словарь по всем нашим текстам, записать его в виде дерева по символьно,и “переключать” раскладку перед отправкой в Algolia.
- Ввести частотность сочетаний символов (биграфы и триграфы) а основе статистики языка, записать частотность в виде объекта и сравнивать статистику для вариантов с разной раскладкой. Наилучший результат с точки зрения частотности отправлять в Algolia.
- Отправлять в Algolia два варианта, принимать два ответа от неё, показывать пользователю тот, где результатов больше или есть другие признаки релевантности. (В этом случае мы в два раза быстрее выберем бесплатные минуты).
Первое решение требует времени на сборку словаря при каждом изменении. Третье решение обладает самым важным недостатком: мы увеличиваем трафик к Algolia в два раза. Второе решение представляется наиболее адекватным. Начну с него.
А punto switcher от yandex не решает эту проблему?