В обговоренні мого недавнього перекладу чудової статті про CAPTCHA кілька разів з'являлися питання щодо reCAPTCHA, а саме як же ця система працює. Під катом я в загальних рисах поясню суть reCAPTCHA, наочно покажу як вона працює і яким же чином вона цифрує книжки.
Розповім я все досить коротко, але зате зрозуміло. Наведені ілюстрації були взяті з офіційного сайту reCAPTCHA
Stop spam
За своєю сутністю, reCAPTCHA виконує ту ж функцію, яку виконують інші капчі. Суть проста, вводимо запропонований текст і тим самим доводимо, що ми не робот. Головною відмінністю від інших систем є те, що reCAPTCHA не тільки захищає сайт від спамерів, але ще й виконує іншу, досить цікаву функцію.
Read books
Як ви напевно помітили, reCAPTCHA пропонує ввести два слова, що практично не зустрічається у інших капч. Суть у тому, що користувач при введенні цих слів не тільки доводить, що він людина, але ще й допомагає розпізнавати старі книги і газети.
Принцип роботи простий:
Припустимо, є енна книга, яка збереглася в малій кількості примірників, при цьому всі вони в поганому стані. Один екземпляр у відсканованому вигляді потрапив до рук Google (власник reCAPTCHA). Що з ним робити? Правильно, цифровати (і справа тут не тільки в збереженні спадщини, але про це пізніше). Як цифровати? Цифровати за допомогою системи розпізнавання символів (OCR). Але, як багатьом відомо, ці системи дуже часто грішать численними помилками у виданому результаті. Вручну перебирати весь текст на предмет помилок - занадто дороге задоволення. І ось, на допомогу приходить reCAPTCHA. Одне слово в зображенні розпізналося системою OCR правильно, а ось друге ніяк немає. Друге слово - за користувачем, саме те, що він введе буде використано як заміну помилковому варіанту, запропонованим OCR. Напевно зараз деякі засміхнуться, так, я знаю про те, що фактично замість другого слова можна ввести що завгодно. Але кожне незрозуміле для OCR слово reCAPTCHA показує користувачам сотні, а то й тисячі разів (при цифрі в 200 мільйонів генерацій в день це дуже мало), і в кінцевому підсумку правильним вважається той варіант, який користувачі вводили найчастіше.
Від нудного тексту перейдемо до ілюстрацій:
Ось так виглядає відсканований текст. Якість, можна сказати, на висоті, але давайте ж поглянемо на результат роботи OCR:
Червоним виділені помилки. Чи не правда їх занадто багато? А тепер подивимося, що ж буде результатом роботи reCAPTCHA:
Не треба бути семи п'ядей у лобі, щоб побачити різницю між OCR і дуетом OCR + reCAPTCHA. Оцифровка вийшла 100% безпомилковою.
Зрозуміло, це щось на зразок ідеальної ситуації, де все складається так, як замислювалося творцями reCAPTCHA. Але напевно багато хто з вас стикалися з абсолютно нечитаними словами, пропонованими для введення. Проблема в тому, що деякі книжки збереглися настільки погано, що часом і вручну вони розпізнаються огидно. Ось приклад:
Зображення огидної якості. Подивимося, що тут зможе зробити OCR...
… а нічого. Помилки не підсвічені тому, що все це - одна велика помилка.
Зате силами reCAPTCHA результат стає цілком собі читаним, хоч і не безпомилковим.
Саме таким чином користувачі допомагають оцифровувати книжки засобами reCAPTCHA. По-моєму, це прекрасно.
Я нічого не зрозумів!
Коротко: зображення, створене reCAPTCHA, складається з двох відсканованих слів. Одне вже свідомо відомо системі, щодо другого ж є сумніви. Саме це друге слово і є об'єкт для розпізнавання силами користувачів. Грубо кажучи, інтерфейс reCAPTCHA міг би виглядати і ось так:
Скрипти для розпізнавання
Існує помилкова думка, що reCAPTCHA неможливо зламати (йдеться про автоматичне розпізнавання наведеного тексту, без участі людини). Однак, судячи з тенденцій, це не так. З плином часу reCAPTCHA понаделала різних підводних каменів для систем розпізнавання. Серед них викривлення тексту, перетин його смугами, так само нещодавно була введена фіча, завдяки якій перевірочне (відоме системі) слово виглядає здвоєним. Все це вказує на те, що reCAPTCHA все таки відчуває деякі труднощі з захистом.
Ніхто і не підозрював
Є люди, які критикують reCAPTCHA, і з етичної точки зору, критикують вони не дарма. Справа в тому, що за розпізнаний текст Google так чи інакше отримує гроші. А самі тексти добуваються цілком собі безкоштовно, силами користувачів. Тобто, тут має місце безкоштовна праця. Особисто мене це не хвилює, до того ж, ніхто не змушує користувачів вводити reCAPTCHA, і більше того, ніхто не змушує веб-майстрів встановлювати її на свої сайти:)
Іронія
Напевно деякі з вас, прочитавши попередній абзац, зрозуміли, що тут щось не так. Всі знають про сервіси з ручного розпізнавання капчі, де мільйони азіатів вводять капчу за гроші. Отже, якщо взяти до уваги попередній абзац, то виходить, що ці азіати працюють не тільки на сервіс з розпізнавання, вони працюють і на Google. Безкоштовно.