Все пользователи интернета сталкивались в нём с полем «Я не робот» (I'm not a robot), напротив которого нужно поставить галочку, чтобы продолжить работу на сайте. Откуда это поле знает, что вы на самом деле не робот и почему это имеет значение? Чтобы ответить на этот вопрос, мы должны вспомнить, что такое капча.
CAPTCHA означает полностью автоматизированный публичный тест Тьюринга для распознавания компьютеров и людей. Этот тест был изобретён в 2003 году Луисом вон Аном и его командой исследователей из университета Карнеги-Меллон. Целью этих искаженных кусков текста является остановка распространения спама и автоматических программ в интернете, вроде скупающих всех продающихся онлайн билетов для их перепродажи дороже. Капча работает, потому что люди могут распознавать искажённый текст и случайные наборы символов, а компьютеры и боты нет.
Если вы хотите остановить роботов, то устанавливаете на своём сайте капчу. В результате в настоящее время она используется на миллионах сайтов и пользователи сталкиваются с ней ежедневно. Вон Ан начал думать над тем, нельзя ли использовать нечто более удобное и продвинутое и ответил на этот вопрос положительно. Разработчики решили использовать силу интеллекта для оцифровки всех существующих реальных книг. Книги нужно отсканировать, после чего используются программы оптического распознавания символов для преобразования слов в цифровой текст.
Все слишком сложные для распознавания слова разместили в базе данных reCAPTCHA. Вместо отображения случайных наборов символов капча стала показывать слова из книг, которые компьютер не смог понять. Когда достаточное число пользователей интернета вводили это слово, оно слово считается подтвержденным и отправляется в базу данных электронных книг. Вон Ан назвал этот проект reCAPTCHA.
Создатели продвигают лозунг «Остановите спам, читайте книги». Ежедневно reCAPTCHA используется более 100 млн. раз, это равнозначно прочтению 2,5 млн. книг в год. В компании Google решили купить reCAPTCHA и сделали это в 2009 году. Они начали использовать силу интеллекта для оцифровки архива статей New York Times, начиная с 19 века, а также всех Google Books. Когда эти ресурсы были исчерпаны, Google начала использовать номера домов из Google Street View и обозначения из карт Google. Однако на этом история не заканчивается.
Осталась пара проблем. Например, reCAPTCHA не могут использовать слепые люди. По этой причине была добавлена аудио reCAPTCHA, где слова произносятся вслух. Кроме того, даже при наличии зрения reCAPTCHA представляет проблемы для людей с дислексией. Начали появляться с сервисы, которые разбирались с reCAPTCHA автоматически, естественно не бесплатно. Эти сервисы используют сотрудников в странах третьего мира, которые за небольшую плату вводят капчу вручную и отправляют обратно пользователям.
Последняя и самая важная проблема заключается в технологиях компьютерного зрения, которые стали настолько качественными, что научились самостоятельно решать капчи. Поэтому инженеры задумались над тем, как усложнить процесс. Начали использоваться различные искажения шрифта, цифровой шум, дополнительные линии, однако технологии продолжали развиваться и научились преодолевать и эти сложности.
В Google решили заняться исследованиями и установили, что люди распознают сложные капчи всего в 33% случаев, тогда как алгоритмы самой Google распознают капчу в 99,8% случаев. Похоже, что компьютеры уже стали умнее людей. В результате в Google решили отказаться от различных искривленных сочетаний символов и стали использовать поле с надписью «Я не робот». Это поле получил название No CAPTCHA reCAPTCHA.
Когда вы нажимаете на галочку, в Google отправляется запрос HTTP с разнообразной информацией. Сюда входят в ваш IP-адрес, страна, временная отметка, информация из браузера, вроде данных о перемещении курсора за секунду до того, как вы поставить галочку, как вы прокручивали страницу, прежде чем кликнуть, промежутки времени между разными событиями браузера и множество других переменных, которые Google не разглашает.
Все эти параметры обрабатывают алгоритмы машинного обучения и анализа рисков. В большинстве случаев результаты анализа способны отличить человека от компьютерной программы. Однако анализ рисков показывает, что в небольшом проценте случаев есть сомнения и тогда перед пользователем ставится дополнительная задача. Появляются картинки, которые он должен распознать. Например, пользователь должен отметить все картинки, на которых указаны многоэтажные дома, дорожные знаки, магазины и т.д. Если в результате вы сможете доказать, что вы человек, движок Google запомнит это и в следующий раз при нажатии на поле «Я не робот» вы получите доступ без необходимости нажимать на картинки.