Caramba Switcher. Исключения. Глава 4
Прошло 20 лет. Наши дни...
Мы в Карамбе сначала попробовали сделать так: внесение исключений производилось автоматом при ручной отмене автопереключения по doubleshift. Автопереключилось, пользователь видит что-то не то! Он нажимает даблшифт и создается исключение. Оказалось, что при скоростной работе человек опечатывается, отменяет переключение, меняет буквы местами, короче алерт не сходил с экрана. Чтобы избавиться от него люди нажимали "на какую-то кнопку". И вот в исключения стали залетать слова, написанные правильно! Тут срабатывало то, что мы на внутреннем языке разработки называем "конвульсяк":)
Пришлось переводить процесс добавления исключений из бессознательной сферы в сферу более сознательную:) Решено было в случае ошибочного переключения и последующего удаления напечатанного с помощью бэкспейса, дать впечатать то, что нужно, и нажать пробел. Только после этого появляется алерт с предложением создать исключение. Эта схема оказалась самой рабочей — ложных слов в пользовательских словарях стало минимум, количество жалоб тоже уменьшилось, в целом оказалось что это интуитивно понятно.
Временно оставляя эту тему, скажу, что проблема исключений касается в основном тех, кто активно работает с аббревиатурами, названиями товаров, с транслитерацией имен, фамилий, иностранных слов. Тогда как в среднем на одного пользователя приходится от 5 до 10 исключений и они создаются в первую неделю работы Карамбы. А если исключения присылают нам напрямую, то мы их проверяем, создаем для них подгруппу похожих, вставляем в языковую модель и как можно быстрее раздаем на тысячи пользователей! Пока такое решение. Может быть есть какое-то более изящное решение? Пожалуйста, пишите нам: caramba.tech@gmail.com