You shall not pass! - Gandalf playing Turing test
Кукумбер или сисимьег? САРТСНА или CAPTCHA? Лично во мне всегда бушевала ярость праведного гнева, когда тупая машина требовала от меня подтверждения тому, что я человек.
Хочешь оставить сообщение в гостевой?
- Вводи цифробуквенный код с картинки.
Зарегистрировать почту?
- Вводи, сцуко.
Скачать файл с обменника?
- А ты думал, в сказку попал?
Унизительное оскорбление недоверием.
Сейчас противостояние каптч и спамеров зашло уже так далеко, что чувствуешь себя человеком под копытами бьющихся Годзилл. По крайней мере, желая сегодня скачать файл с рапидшары, столкнулся с весьма нетривиальной задачей:
Рапидшара в этом плане очень показательна, эволюция ее каптч в соответствии со всеми законами диалектики происходила скачкообразно с увеличивающейся частотой. Сначала были просто искаженные цифры и буквы, потом появились шумовые эффекты в виде кошечек и собачек, сейчас все стало еще сложнее.
Корежить сильно ограниченный набор символов - тупиковая ветвь. Задачи распознавания образов уже достаточно хорошо решаются машинными способами, чтобы быть трудно распознаваемыми для ботов и одновременно легко - для человека. У меня, знаете ли, эти кошечки с собаками уже вызывают определенные трудности.
От распознавания образов уже пора отходить к созданию семантических тестов - т.е. проверки, насколько тестируемому понятен смысл распознанных образов. Одна из самых первых таких попыток (идиотская по сути своей) - тесты вида "11+7=". Не думаю, что вычисление подобного арифметического выражения вызвало большие трудности кодирования.
Более сложные семантические тесты - ввести название предмета, изображенного на картинке. Проблема состоит в том, что число изображений ограничено - так как для каждого именно человек должен установить соответствие между картинкой и словом. Процесс неавтоматизируемый, следовательно, спамер может спокойно собрать базу картинок и установить соответствие со словами, затратив ровно столько же времени, сколько "защищающийся". А это абсолютно неприемлемый результат.
Пока с трудом могу представить себе тест, который мог бы гарантированно находиться в защищенном состоянии хотя бы вдесятеро больше времени, чем потребовалось на его разработку.
Пришедший в голову во время написания поста вариант - подсасывание картинок с интернет-ресурсов (flickr, images.google и т. д.). Т. е. на запрос "обезьяна" images.google выводит в основном картинки именно обезьян. Поэтому базу имеющихся в распоряжении изображений можно пополнять автоматически ежесекундно. Практически неограниченное количество рисунков + их искажение даст хороший результат. Метод, правда, требует серьезных доработок как помимо целевых картинок тот же гугл выдает и много всякого мусора.