Google CAPTCHA

Dec 09, 2010 09:06

Идея в том, что вместо неудобочитаемой надписи пользователю предлагают угадать содержание картинки. Предполагается что с этим не может возникнуть никаких проблем: на картинке изображены самые тривиальные вещи (солнце, трава, жираф, карандаш и т.п.). Предполагается также что для робота это будет непосильная задача.
Если кто помнит, буквенные капчи начинались с такого:



а закончилось всё таким:



что уже обычному человеку разгадать очень сложно, так что роботы тут видимо начали уже людей опережать.
Возможно, роботы со временем научатся понимать что изображено на картинке, т.е. определять содержание, а не только форму. Но пока, на первое время, думаю, такая капча будет им не по зубам: одно дело когда нужно увидеть на картинке T или t, тут всего два варианта формы: хотя даже буквы могут быть закручены, отзеркалены, и т.п. - суть остается прежней, это две пересекающиеся черточки. В отличие от буквы, некое понятие может быть представлено в огромном числе разных видов. Если это например собака, это может быть такса или дог - очень мало с виду похожие существа, она может стоять к зрителю передом или задом, а перед на зад совсем не похож, может лежать, может бежать. Это может быть также не животное а символ @, и т.п. Человеку не составит труда отличить собаку скажем от кошки, в то время как для искусственного интеллекта это будет непосильная задача, я думаю, еще в течение еще довольно длительного времени. Притом капчи не должны показывать только собак/кошек, они могут показывать все что угодно. Программисты в течение долгих лет учили роботов распознавать буквы, а буквы это ведь только один ограниченный вид [простых однотипных] объектов из бесчисленного множество объектов, с которыми человек имеет дело.



что может иметь круглую форму, кроме яйца? огромное множество объектов. В принципе, я думаю, человек справится с такой капчей и без подсказки. Подсказка нужна когда на картинке имеется несколько объектов сразу:



Как это устроено?
1. Из базы выбирается случайное слово, например "elephant"
2. Делается запрос к google images по этому слову
3. Из результата запроса вырезаются ссылки на изображения и из них выбирается случайным образом одна.
4. Картинка показывается пользователю, пользователь вводит слово.

Большой плюс в том, что результат запроса со временем меняется, т.е. то, что вернул гугл сегодня, будет не похоже на то, что он вернет через месяц. Возникает эффект сходный с тем, как часовые периодически меняют пароль/отзыв. Плюс, база используемых слов может постоянно пополняться.

Недостатки текущей реализации: медленная работа. Гугл сам довольно тормозной, плюс скачивание картинки занимает некоторое время. Картинки и ссылки на них в принципе можно кешировать, и постепенно набирать базу собственных картинок, а на гугл лазить только периодически, чтобы достать новых. Каждой картинке может соответствовать рейтинг угадывания. Слабо угадываемые картинки, для которых рейтинг опускается ниже определенного уровня - удалять. Картинки также нужно будет как-то искажать при показе, добавлять шум допустим, чтобы роботы не могли пользоваться базой с контрольными суммами изображений к примеру.

интернет, программирование

Previous post Next post
Up