докажи что не робот картинки
Почему капчи стали такими сложными
Доказывать, что ты не робот, становится всё сложнее
В какой-то момент прошлого года постоянные требования от Google доказать, что я человек, начали казаться всё более агрессивными. Всё чаще за простой и немного чересчур милой кнопочкой «Я не робот» начали появляться требования доказать это – выбрав все светофоры, переходы или витрины в сетке изображений. Вскоре светофоры начали прятаться в листве, переходы искажаться и уходить за угол, а вывески магазинов стали размытыми и перешли на корейский язык. Есть что-то весьма разочаровывающее в неудачных попытках найти на изображении пожарный гидрант.
Эти тесты называются CAPTCHA – акроним от «полностью автоматического публичного теста Тьюринга, предназначенного для различения людей и компьютеров», и когда-то они уже доходили до подобной степени неразборчивости. В начале 2000-х простых изображений с текстом было достаточно, чтобы остановить большинство спам-ботов. Прошло десять лет, и после того, как компания Google купила программу у исследователей из Университета Карнеги-Меллона и использовала её для оцифровки в проекте Google Books, тексты приходилось всё сильнее искажать и скрывать, чтобы обгонять улучшающиеся программы оптического распознавания символов – те самые программы, которые помогали улучшать те самые люди, кому приходилось разгадывать все эти капчи.
Поскольку CAPTCHA – элегантный инструмент для тренировок ИИ, то любой придуманный тест может продержаться лишь некоторое время, что признают и его изобретатели. Со всеми этими исследователями, мошенниками, и простыми людьми, решающими миллиарды задачек на грани возможного для ИИ, в какой-то момент машины просто обязаны были нас обогнать. В 2014-м Google стравила между собой свой лучший алгоритм по разгадыванию самых искажённых текстов и людей: компьютер правильно распознал текст в 99,8% случаев, а люди всего в 33%.
После этого Google перешла на NoCaptcha ReCaptcha, наблюдающую за поведением людей и собирающую их данные, что позволяет некоторым из них пройти дальше просто по клику на кнопке «Я не робот», а другим выдаёт задачи на поиск изображений, которые мы сегодня и наблюдаем. Но машины снова настигают нас. Все эти навесы, которые могут быть или не быть витринами магазинов – это заключительная стадия гонки вооружений людей и машин.
Язон Полакис, профессор информатики в Университете Иллинойса в Чикаго лично отвечает за недавнее усложнение капчи. В 2016-м он опубликовал работу, в которой использовал готовые программы распознавания изображений, включая собственный поиск по изображением от Google, чтобы решать капчи с точностью в 70%. Другие исследователи справлялись с распознаванием аудио капчи от Google при помощи программ по распознаванию речи от самой же компании.
Машинное обучение уже не хуже людей справляется с распознаванием простых текстов, изображений и голоса, говорит Полакис. Алгоритмы, возможно, даже делают это уже лучше: «Мы дошли до момента, когда усложнение задач для софта приводит к тому, что задачи становятся чрезмерно сложными для людей. Нам нужна альтернатива, но чёткого плана пока нет».
Литература по капчам переполнена фальстартами и странными попытками найти что-то кроме текста и изображений, с чем хорошо справляются все люди и плохо справляются машины. Исследователи пробовали предлагать пользователям сортировать изображения людей по выражению лиц, полу и этнической принадлежности (можете представить, как это прошло). Были предложения организовать капчи с викторинами, капчи на основе колыбельных, распространённых в тех местах, где, как предполагается, вырос пользователь. Такие капчи с культурной привязкой нацелены не только на роботов, но и на людей из других стран, решающих капчи за копейки. Люди пытались загнать алгоритмы распознавания изображений в тупик, предлагая пользователю опознать, например, свинью, но при этом рисованную и в солнечных очках. Исследователи изучали такие варианты, как предложить пользователям распознать объекты в мешанине калейдоскопа. В одном из интересных вариантов в 2010-м исследователи предложили использовать капчу для сортировки древних петроглифов – компьютеры плохо справляются с распознаванием скетчей или изображений оленей на стенах пещер.
Недавно были попытки разработать игровые капчи, где пользователю нужно вращать объекты на определённые углы или передвигать кусочки головоломки, причём инструкции по решению капчи давались не в виде текста, а в виде символов, или же подразумевались по контексту игрового поля. Надежда на то, что люди поймут логику загадки, а компьютеры без чётких инструкций споткнутся. Другие исследователи пытались использовать факт наличия у людей тел, и применяли камеры устройств или дополненную реальность для интерактивного подтверждения наличия человека.
Со многими из этих тестов проблема не в том, что роботы слишком умные, а в том, что люди плохо с ними справляются. И дело не в том, что люди тупые; они просто очень сильно различаются по языку, культуре и опыту. Избавившись от всего этого, чтобы сделать тест, который может пройти любой человек без тренировки и долгих размышлений, мы остаёмся с такими грубыми задачами, как распознавание изображений – а это именно то, с чем хорошо справится специально заточенный под это ИИ.
«Тесты ограничены возможностями человека, — говорит Полакис. – Дело не только в физических возможностях – нужно найти что-то межкультурное, межъязыковое. Нужна задача, которая хорошо работает с человеком из Греции, с человеком из Чикаго, с человеком из Южной Африки, Ирана и Австралии одновременно. И она не должна зависеть от культурных нюансов и различий. Нужна задача, с которой хорошо справляется средний человек, она не должно быть ограничено определённой подгруппой людей, и она должна быть трудной для компьютера. Всё это сильно ограничивает выбор вариантов. А ещё это должно быть что-то, с чем люди справляются быстро, и что не сильно раздражает».
Попытки решения этих загадок с размытыми картинками быстро переводят человека на философские рельсы: есть ли какое-то универсальное человеческое качество, которое можно продемонстрировать машине, и которое машина не может имитировать? Что значит – быть человеком?
Может, наша человечность измеряется не тем, как мы выполняем задачи, а тем, как мы ведём себя, продвигаясь сквозь мир – или, в данном случае, сквозь интернет. Игровые капчи, видеокапчи, любые капчи, которые вы сможете придумать, в итоге будут взломаны, говорит Шуман Госмахумдер [Shuman Ghosemajumder], занимавшийся в Google борьбой с автоматизацией кликов, а потом ставший технологическим директором компании по распознаванию роботов Shape Security. Он склоняется в сторону «постоянной авторизации» вместо отдельных тестов – к наблюдению за поведением пользователя и поиску признаков автоматизации. «Реальный человек не очень хорошо контролирует моторику, и не может двигать мышь одинаковым образом много раз во время нескольких взаимодействий, даже если будет пытаться сделать это», — говорит Госмахумдер. Робот будет взаимодействовать со страницей, не двигая мышью, или двигая её очень точно, а в действиях человека будет наблюдаться «энтропия», которую сложно подделать, говорит Госмахумдер.
Собственная команда Google, занимающаяся капчей, работает в сходном направлении. Последняя версия reCaptcha v3, выход которой был объявлен в конце прошлого года, использует «адаптивный анализ рисков» для оценки трафика по подозрительности; владельцы сайтов могут предлагать подозрительным пользователям задачи вроде ввода пароля или двухфакторной авторизации. В Google не сообщают, какие факторы учитываются при оценках, кроме того, что компания оценивает, как выглядит на сайте «хороший трафик», и использует эту информацию для фильтрации «плохого трафика», согласно Сай Кормаи [Cy Khormaee], менеджеру продукта из команды CAPTCHA. Исследователи в области безопасности говорят, что это, вероятно, смесь куков, атрибутов браузера, закономерностей трафика и других факторов. Один недостаток новой модели распознавания роботов состоит в том, что навигация в вебе при попытках минимизации наблюдений за пользователем может стать немного раздражающей, поскольку такие вещи, как VPN и расширения, затрудняющие отслеживание пользователя, могут отметить вас, как подозрительного.
Аарон Маленфант [Aaron Malenfant], ведущий инженер команды CAPTCHA в Google, говорит, что сдвиг в сторону от тестов Тьюринга должен помочь обойти соревнование, которое люди всё время проигрывают. «Чем больше мы будем вкладываться в машинное обучение, тем сложнее эти задачи будут становиться для людей, и, в частности, поэтому мы запустили CAPTCHA V3 – чтобы опередить эту кривую». Маленфант говорит, что через 5-10 лет задачи в капче вообще не будут иметь смысла. Большая часть веба будет зависеть от постоянного скрытого теста Тьюринга, работающего на фоне.
В своей книге «Самый человечный человек» Брайан Кристиан [Brian Christian] принимает участие в тесте Тьюринга в качестве подсадной утки и понимает, что очень сложно доказать свою человечность в беседах. С другой стороны разработчики ботов обнаружили, что эти тесты легко пройти, не притворяясь красноречивым или интеллектуальным собеседником, а отвечая на вопросы при помощи нелогичных шуток, делая опечатки, или, как в случае бота, выигравшего соревнование Тьюринга в 2014-м, заявляя, что ты – 13-летний украинский мальчик, плохо говорящий по-английски. Ведь человеку свойственно ошибаться. Возможно, что такое будущее ждёт и капчу, самый распространённый тест Тьюринга в мире – новая гонка вооружений будет создавать не роботов, превосходящих людей в сортировке изображений и разборе текста, а роботов, делающих ошибки, промахивающихся по кнопкам, отвлекающимся и переключающим вкладки. «Думаю, народ начинает понимать, что есть области применения для симуляции среднего пользователя-человека… или тупых людей», — говорит Госмахумдер.
Капчи могут сохраниться и в этом мире. В 2017-м Amazon зарегистрировала патент на схему, в которой используются оптические иллюзии и логические задачки, с которыми тяжело справляться людям. Этот тест называется «тест Тьюринга через ошибку», и единственный способ пройти его – дать неверный ответ.
«Я не робот»: история Яндекса о том, как победить ботов, а не людей
Никто не любит капчу. Угадай слово по плохой картинке, собери пазл, отличи светофор от гидранта, сложи два числа и так далее. Формы бывают разные, но суть всегда одна: мы тратим своё время и нервы.
Чуть больше года назад моя команда взялась за модернизацию старой капчи Яндекса. Обычно в таких задачах стремятся повысить качество и полноту отсева ботов, оставив человеку шанс прорваться через капчу. Но мы зашли с другой стороны: решили сделать капчу более дружелюбной к людям, не ухудшив при этом защиту от ботов. Казалось бы, наивный подход. Но у нас получилось.
Сегодня я расскажу об этом подробнее. Вы узнаете, как мы отказались от распознавания текста и перешли к его генерации. Покажу примеры дружелюбной капчи. Расскажу о необычном опыте применения капчи в образовании. А ещё покажу текущий вариант капчи без капчи и немного поразмышляю о будущем.
Несколько слов о том, зачем нужна капча. Уверен, это и так не секрет, но историю всё же стоит начать с основ, чтобы быть на одной волне.
Капча — это инструмент, который помогает сервису понять, обратился к нему человек или робот. Это полезно, потому что роботы создают нагрузку или даже занимаются откровенным вредительством. При этом нужно показывать капчу не всем, а только тем, чьи запросы похожи на автоматические. Для этого надо проанализировать запрос. Анализ — это уже давно не просто подсчёт числа заходов с конкретного IP. Факторов для анализа намного больше, чем один. С другой стороны — сервис с нагрузкой в сотни тысяч RPS и с жёстким требованием к скорости ответа пользователю. Если снизить скорость ответа, то пострадают пользователи. Если снизить полноту выявления ботов, то в итоге опять же пострадают пользователи. Значит, нужно искать баланс между этими крайностями. И получается, всегда будут люди, которым покажут капчу.
Первые шаги
Год назад наши пользователи видели примерно такие задания:
Два слова. Одно мы знаем. Другое хотим узнать. Вряд ли я открою большой секрет, если расскажу, что капчу часто применяют для обучения компьютерного зрения. Раньше так было и у нас.
В целом ничего жуткого, да? Но могу и жути нагнать. Вот примеры более сложных (но крайне редких) вариантов:
Мы, конечно, такое вычищали. Использовали для этого как классификаторы неоднозначно читаемых картинок, так и данные о поведении пользователей (если человек даже не пытается ввести текст, то это плохой сигнал). Но и после таких изменений людям было очень сложно. Можно сказать, что старая капча отлично экономила ресурсы: её не могли пройти ни боты, ни люди. Только 35% реальных пользователей справлялись с первой попытки. Очень страшное число. Нужно было что-то менять.
Начали с анализа наиболее частых ошибок. В топе оказались знаки препинания, верхний и нижний регистр букв, лишние пробелы. Посчитали, как у ботов с этими проблемами. Оказалось, что можно безболезненно отказаться от их учёта при проверке результата. Эти элементарные, быстрые решения принесли нам с ходу +15%. Но дальше простые идеи закончились. Нужно было подойти к задачке более глобально.
Свои картинки с текстом
Поговорим о картинках. Так как их мы не генерировали, а вырезали из готовых, иногда там встречались очень необычные тексты. Их вы уже видели выше: это и перевёрнутые штрихкоды, и логарифмы. Их можно фильтровать с переменным успехом, но гибкости в работе с ними нет. Нельзя оперативно управлять сложностью, контролировать допустимый словарный запас, выбирать язык для разных стран. Если хочешь полностью контролировать качество капчи, то выход только один — генерировать картинки самостоятельно. Так мы и поступили.
Мы хотели создать капчу, которая будет существенно легче читаться людьми, но не ботами. На входе у нас есть какой-то текст и какой-то фон. Осталось понять, что нужно с ними сделать, чтобы добиться желаемого.
Наиболее эффектно, пожалуй, выглядит способ точечно искажать исходную картинку так, чтобы машина видела в ней совершенно не то, что видит человек.
Лёгкий шум превратил горы в собаку и рыбку в краба. Источник: https://arxiv.org/pdf/1710.06081v2.pdf
Но такой подход крайне чувствителен к изменениям алгоритмов распознавания на стороне роботов. Пришлось бы мониторить их особенно тщательно и слишком часто адаптироваться. Поэтому мы подошли более консервативно.
Задачу распознавания текста нейросетями сейчас решают хорошо, причём уже далеко не только лидеры индустрии. Но трудные задачки по-прежнему встречаются. Наиболее сложные датасеты с распознаванием слов на сегодняшний день представляют собой сильно искривлённые тексты (irregular text recognition).
Это то, с чем человек справляется относительно просто. Но не робот. Этот подход мы применили и у себя. Пример такой капчи:
Выглядит проще, чем раньше? Наши пользователи тоже так считают: эту капчу легко преодолевают уже 85% пользователей. А вот ребятам, которые учатся обходить нашу капчу, работы прибавилось.
Скриншот с одного из «секретных» форумов об автоматизации
Конечно, со временем к ней адаптировались, но масштабы проблемы в итоге не больше, чем у старой капчи. При этом людям стало существенно проще.
Полезная и добрая капча
Успех с генерацией собственных картинок воодушевил нас. Мы осознали, что капче не обязательно быть исключительным злом в глазах пользователей. Она может быть такой, какой мы захотим её сделать. Например, полезной для людей.
Каждый октябрь в России отмечают День учителя. Мы решили отпраздновать его по-своему и с пользой. Собрали данные о том, в каких словах пользователи чаще всего делают ошибки. (Яндекс по понятным причинам неплохо в этом разбирается.) На базе этого словаря сгенерировали капчу, отметив те буквы, в которых люди ошибаются. Выкатили на огромную аудиторию. Ботам это ничем не помогло, а вот людям (хочется верить!) пользу принесло.
Другой пример работы с капчей, чуть ближе к концу 2020 года. Хотелось немного поднять пользователям настроение. Придумали использовать для генерации капчи не какие попало слова и фразы, а только те, что несут положительный эмоциональный заряд. Проще говоря, такие слова, которые как минимум не портят настроение ещё больше, а в идеале улучшают его.
Собрали данные с помощью толокеров. Сгенерировали. Получили капчу, которая содержала фразы «Приятных эмоций», «Вам всё по плечу», «Продуктивного дня» и подобные.
В общем, идей для работы с капчей много. Но нельзя забывать самую главную: лучшая капча — это та, которой нет.
Капча без капчи
Вернёмся в самое начало нашей истории. Там я рассказывал о том, что капчу предлагают только тем пользователям, чьи запросы в результате быстрого анализа показались нам подозрительными. Быстрый анализ отрабатывает примерно за одну (!) миллисекунду. Делать это дольше без вреда для высоконагруженного сервиса и миллионов пользователей нельзя. Это значит, что нужно использовать быстрые алгоритмы, а они не всегда самые точные. Из-за этого люди видят капчу. Как можно обойти это узкое место? Использовать промежуточный шаг!
Если быстрый анализ вынес вердикт о подозрительности запроса, то мы можем перенаправить его на страницу с капчей. Но саму капчу пока что не показывать. Потому что в этот момент у нас появляется время на второй, более глубокий и сложный анализ. Мы можем потратить намного больше, чем одна миллисекунда, а значит, спасти существенное количество наших пользователей от необходимости преодолевать пусть и не страшную, но всё же капчу.
Теперь это работает так. Если человеку не повезло попасть на страницу с капчей, то вместо капчи он видит предложение поставить галочку и подтвердить, что он не робот.
Пока пользователь ставит галочку, мы проводим дополнительный анализ с использованием более сложной ML-модели. Если всё хорошо, то возвращаем на сервис. Если «подозрительность» сохраняется, то показываем текстовую капчу.
И ещё кое-что важное. Переход от бинарных вердиктов (бот — не бот) на первом этапе к вероятностным («робот на N%») на втором позволяет нам управлять сложностью капчи! Если на втором этапе мы по-прежнему считаем запрос подозрительным, но степень уверенности в этом не такая высокая, то показываем простейшую капчу. А вот если мы уверены, что перед нами робот, то можем сложность и приподнять. Простое, но эффективное решение.
Несколько слов о значимости этого решения для людей. Выше мы радовались тому, что 85% (а не 35%, как было раньше) пользователей справляются с новой текстовой капчей с первой попытки. Но с галочкой «Я не робот» ситуация изменилась радикально: теперь более половины пользователей возвращаются в сервис вообще без необходимости разгадывать капчу! Вот такая вот капча без капчи.
За последний год мы прошли длинный путь, но идей на будущее от этого меньше не стало. Мы уже работаем над тем, чтобы получать более точные вердикты в реальном времени и без перенаправления на промежуточные страницы. И уже есть первые успехи. Один частный пример: теперь в Safari в режиме Инкогнито встретиться даже с галочкой «Я не робот» вероятность примерно в десять раз ниже, чем раньше. Кроме того, хотим пробовать новые, более добрые форматы капчи для тех случаев, когда без неё никак.
Формы капчи могут быть разные, но главное в том, чтобы относиться к людям по-человечески и уважать их время.
Я не робот! Как интернет-пользователям приходилось доказывать, что они люди, попутно решая чужие проблемы
Я определенно не робот. На мне есть кожа, под ней — органические кости и мышцы, сухожилия и артерии, кровь и лимфа. В черепной коробке даже имеется мозг, благодаря которому я осознаю себя человеком, умею принимать решения, решать головоломки, ломать голову над бытовыми проблемами, а порой и создавать себе проблемы, которые не поддаются логичному и разумному толкованию. Я определенно не робот.
Однако мой компьютер с завидной частотой заставляет меня доказывать обратное. Собрался что-то поискать в интернете? Введи капчу. Логинишься в почтовый аккаунт? Будь добр решить капчу. Входишь в онлайн-игру? Капча тут как тут.
И знаете, что во всем этом самое неприятное? Иногда с первого раза пройти эту капчу не удается. Она стала заметно сложнее с тех пор, когда я увидел ее в интернете впервые в середине нулевых.
Что такое капча на самом деле? Почему она так усложнилась за последние годы? И как капчу используют для того, чтобы учить их злейших врагов — роботов? Сегодня поговорим об этом.
Нигерийские принцы
Начнем с того, что капча — это аббревиатура. Точнее, акроним — слово, которое можно произнести слитно и которое представляет собой сокращение. КГБ — это аббревиатура, вуз — это акроним. Капча происходит от английского CAPTCHA — Completely Automated Public Turing test to tell Computers and Humans Apart. Перевести это можно как «полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить компьютеры от людей». Если все это сократить, получится аббревиатура, а не акроним.
В интернете ранних нулевых большой проблемой был спам — массовые рассылки рекламных писем на самую разную тематику — от образования до медикаментов и контрафакта.
Часть этих писем были мошенническими. Спам-боты регистрировали тысячи аккаунтов, с которых и велась рассылка. Например, от «нигерийских принцев», которым нужна небольшая сумма денег, чтобы осыпать адресата несметными богатствами. Рассылки эти были столь массовыми, что нигерийские спамеры стали частью интернет-фольклора. В 2005-м им присудили Шнобелевскую премию по литературе за создание колоритных персонажей, а в следующем году Forbes включил одного из выдуманных «нигерийских принцев» в список богатейших вымышленных персонажей.
Первые варианты капчи
Почтовым сервисам нужно было срочно придумать что-то, чтобы остановить этот бесконечный поток спама, который нагружал серверы и мешал людям пользоваться услугами почтового ящика. Так и были изобретены первые легкие тесты, которые мог бы пройти человек, но с которыми было сложно тягаться компьютеру. Тесты действительно должны были быть легкими, чтобы их смог пройти любой человек вне зависимости от его образования, возраста или местонахождения.
Поэтому изначально большинство капч базировались на самом простом, что умеет человек. Раз он вышел в интернет, значит, он умеет читать. Ему не составит труда прочитать растянутые и каким-либо образом искаженные буквы в осмысленных и общеизвестных словах.
Да, компьютеры в нулевых уже умели в «оптическое распознавание символов». Существовало ПО, которое могло распознать напечатанный и отсканированный текст — для перевода книг и документов в электронный вид или автоматизации систем учета в бизнесе. Однако оно довольно часто сбоило и не справлялось должным образом со всеми отсканированными буквами.
Мы умеем читать тексты, искаженные под разными углами, в различных условиях освещения, перечеркнутые и растянутые. Некоторые даже справляются с текстами, написанными врачами в рецептурных листках. Ботам нулевых такое давалось куда сложнее.
Однако они не стояли на месте. Довольно быстро было разработано несколько путей обхода капчи. Порой для распознавания использовали дешевый человеческий труд, банальные ошибки в реализации капчи на ресурсах и машинное обучение. Например, у некоторых систем CAPTCHA был ограниченный набор слов, у других — слова фиксированной длины. Один человек на сдельной зарплате мог раскусывать сотни таких головоломок в час, пополняя базу спам-ботов.
С этим надо было что-то делать.
reCAPTCHA
В 2005 году от создателей оригинальной капчи (хотя за авторство этих тестов велись долгие и упорные битвы) вышла reCAPTCHA — новая и улучшенная версия теста.
Ее автор, гватемальский ученый и предприниматель Луис Фон Ан, в какой-то момент осознал, что «невольно создал систему, которая растрачивала с шагом в десять секунд миллионы часов самого ценного ресурса — циклов человеческого мозга». Все-таки на решение CAPTCHA нужно было время, и многих она раздражала. А потому Луис решил, что было бы неплохо, если бы новая версия конвертировала потраченное время пользователей во что-то полезное.
Пользователю предлагалось распознать два слова. Одно генерировалось системой reCAPTCHA автоматически, так что она знала правильный ответ. Второе бралось из книги или древнего архива газеты The New York Times, и система не знала, что же за слово было на второй картинке. Если пользователь вводил первое слово правильно, то система предполагала, что и второе слово он прочитал верно.
Потом это второе слово предлагалось разгадать другим пользователям reCAPTCHA. И если большинство из них писало одно и то же, то в системе этот ответ утверждался и в дальнейшем ассоциировался со словом на картинке. Если же его слишком часто пропускали, то оно помечалось как нечитаемое и исчезало из системы.
reCAPTCHA использовалась столь массово, что каждые четыре дня благодаря пользователям, которые не особо вдавались в подробности, оцифровывался годичный объем статей NYT.
В 2009 году Google приобрела разработчиков reCAPTCHA и поставила на поток оцифровку книг. Система показывала 100 млн окон с проверкой ежедневно, массово использовалась компаниями Facebook, Twitter, новостными ресурсами.
Да будь ты проклята, капча!
Спустя три года зародилась самая мерзкая, отвратительная и ужасная версия reCAPTCHA. В Google подумали, что замечательной идеей будет подсовывать пользователям для проверки не слова, а фотографии из сервиса Google Street View. Таким образом «корпорация добра» решила улучшить данные на своем сервисе Google Maps, заставляя пользователей определять названия улиц и служебные адреса.
Нет, первое слово в тесте оставалось прежним — сгенерированным системой. А вместо второго система подсовывала маленькие картинки с размытыми номерами домов, названиями улиц и дорожными знаками.
Таким образом проходило обучение системы компьютерного зрения, которую разрабатывали в Google, — опять же бесплатно, за счет времени, которое тратили на это пользователи сети. Некоторые ресурсы даже доплачивали Google, если на их страницах осуществлялось более 1 млн запросов к системе reCAPTCHA в месяц.
Правда, в какой-то момент технологии искусственного интеллекта, натасканные на reCAPTCHA, умели читать максимально изуродованный текст с точностью 99,8%, тогда как среди обычных пользователей этот процент был равен 33. Компьютеры обошли нас в тесте, в котором долгое время мы оставались лидерами.
А Google шла все дальше. Со временем к небольшим вырезкам из картинок с Google Street View добавились двойные тесты, на которых пользователи должны были выбрать всех котиков или индеек. Дальше задачи усложнялись: приходилось находить дорожную разметку, автомобили, велосипеды, лодки и еще кучу объектов, на распознавание которых Google натаскивала свои беспилотные автомобили.
Это бесило не только простых пользователей. Google, по сути, эксплуатировала неоплачиваемый труд сотен миллионов юзеров по всему интернету.
noCAPTCHA
Это начали понимать и в Google. И в 2014 году там решили обновить систему, напрямую попросив пользователей поставить галочку рядом с текстом «Я не робот».
Эта новая система активно считывает все взаимодействия пользователя с окошком CAPTCHA — до, во время и после нажатия на чекбокс, — чтобы определить, что он не является ботом.
По сути, система следит за нашим поведением на странице с капчей. Находясь на ней, мы проходим секретный тест, в котором компьютер решает, что мы ведем себя в интернете достаточно человечно, чтобы пропустить нас дальше: не кликаем безумно по странице, не печатаем абзацы текста всего за несколько секунд. Во-первых, HTML-код кнопки noCAPTCHA не похож на кнопку, он просто выглядит как любая другая часть страницы, поэтому ботам трудно даже найти нужное поле. Во-вторых, это делается с помощью JavaScript, а не обычной HTML-формы. Большинство ботов не работают с JavaScript. Google также изучает поведение пользователя, например, активность мыши, используемый браузер, ваш IP-адрес и, возможно, на каких других страницах была замечена ваша активность, чтобы выяснить, действуете ли вы как бот.
Звучит достаточно жутко. Но в сети уже давно нельзя сидеть со спокойной душой, так как отслеживать наши действия интернет-корпорации научились прекрасно.
Впрочем, старые методы проверки не ушли далеко. Если система все-таки засомневается в поведении пользователя, она вывалит ему все те же тесты с распознаванием объектов на картинках. На очень плохих и маленьких картинках. Но такова уж цена возможности зваться человеком в интернете.