Набор символов в таблицах Unicode поистине огромен: UTF-16 позволяет присвоить коды более чем миллиону знаков. Из них пока что используется лишь 128 тысяч, но и это уже немало. Когда нужно ввести конкретный символ, а его название неизвестно, это может вылиться в многочасовые поиски по таблицам. Сервис Shapecatcher призывает на помощь распознавание рукописного ввода и старается подобрать символы, максимально похожие на то, что пользователь накорябает мышкой.
Сервис прост как мычание: рисуем в окошке нужную загогулину, нажимаем Recognize, и Shapecatcher покажет все символы, которые посчитает похожими. С первой попытки, к сожалению, получается не всегда, поэтому жми Clear и рисуй снова, если не найдешь то, что искал. В теории можно даже попытаться найти эмодзи, но с этим у «Шейпкетчера» не так хорошо, как с буквами, стрелками и прочими значками.
Чуть ли не интереснее самого сервиса та работа, на которой он основан. Алгоритм не включает в себя никаких модных глубоких нейросетей: символы распознаются по так называемым контекстам — совпадающим опорным точкам.
Изначальной целью было создание системы распознавания reCAPTCHA на основе этого алгоритма. В своей научной работе автор сервиса Бенджамин Майлд пишет, что ему удалось добиться успеха примерно в 5% случаев. Впрочем, с тех пор разработчики reCAPTCHA уже успели подтянуть сложность, и теперь остается применять разработку лишь в самых мирных целях.