Как контролировать миллионы исполнителей: инструменты и правила «Яндекс.Толоки»
Проблема качества — одна из ключевых в краудсорсинге. Когда работаешь с удалёнными, незнакомыми тебе исполнителями, невозможно угадать, кто возьмёт очередное задание. Достаточно ли он внимателен? Хорошо ли изучил инструкцию? И вообще, это человек или робот? Мы в Яндексе используем краудсорсинг каждый день. Создавать и развивать наши сервисы помогают миллионы пользователей. Как нам удалось не сойти с ума, пытаясь контролировать крауд, рассказывает Иван Карпеев, старший менеджер по развитию бизнеса Яндекс.Толоки.
Яндекс начал использовать краудсорсинг в 2008 году — для оценки результатов поиска и обучения поисковых алгоритмов. Подход, при котором объёмная задача делится на множество небольших подзадач, позволил нам формализовать, автоматизировать и масштабировать процессы сбора данных. Но потребовал строгой, также автоматизированной системы контроля качества, и мы стали работать над ней.
Проектов с машинным обучением в компании становилось больше. Росла потребность в данных и исполнителях, которые бы эти данные генерировали. А значит — и в инструментах контроля с гибкими настройками для разных задач. В 2014-м мы запустили собственную краудсорсинговую платформу — Толоку. В 2015–2019 годах количество проектов на ней увеличилось в девять раз — с 443 до 4055 — и продолжает расти. Многолетний опыт работы с краудом позволил нам выстроить в Толоке ступенчатую систему управления качеством.
Основное правило краудсорсинга — отдавать в крауд задания, которые не требуют специальной квалификации. Чтобы справиться с ними, исполнителям достаточно изучить инструкцию. Удалённые пользователи классифицируют тексты и фото, выделяют области на изображениях, расшифровывают короткие аудиозаписи. Например, отвечают на вопросы: «На фотографии есть домашнее животное? Это кот или собака?» Ничего сложного, но ошибки возможны из-за спешки и невнимательности.
Сейчас на платформе зарегистрировано более 8 млн исполнителей — толокеров. Они выполняют около 13 млн заданий в день и тратят порядка 1,2 млн человеко-часов в месяц. При таких объёмах контролировать процессы вручную невозможно. В Толоке мы делаем это автоматически на всех этапах разметки — от поиска исполнителей до обработки результатов.
Обучение и экзамены: тренируем исполнителей
Первая ступень контроля — отбор исполнителей. С помощью обучения и экзаменов мы отсеиваем невнимательных и оставляем тех, кто ответственно относится к задачам.
Обучение — это тест, задания с правильными ответами и подсказками.
Пример обучающего задания, в котором допущена ошибка. Исполнитель пытается отправить неверный ответ и видит подсказку
Если задача сложная и требует строгого отбора, заказчики дополняют обучение экзаменом. Это тоже комплект заданий с ответами, но уже без подсказок. В итоге к основной разметке приступает лишь тот, кто потренировался и успешно сдал экзамен.
Пример настройки доступа: к разметке приступят только исполнители, которые правильно ответили на 80% (или больше) экзаменационных вопросов
Капча и контроль действий: отстраняем читеров
Вторая ступень — правила контроля качества, которые в режиме реального времени регулируют выполнение заданий и доступ толокеров к ним.
Прежде всего системе, в которой миллионы удалённых пользователей выполняют однотипные задания, нужна защита от ботов и бездумного прокликивания. В дополнение к встроенным антифродовым технологиям мы используем правила, которые можно настроить под каждую конкретную задачу. С их помощью оцениваем поведение исполнителей и блокируем тех, кто пытается хитрить. В частности, устанавливаем лимиты на пропуск заданий, неправильный ввод капчи или слишком быстрые ответы.
Например, задача исполнителя — выделить на фотографии объекты для обучения алгоритмов компьютерного зрения. Чтобы обвести объект аккуратно, нужно делать это медленно. Правило «Быстрые ответы» ограничит скорость разметки и отстранит исполнителей, которые отправят несколько заданий подряд быстрее контрольного времени.
Лимиты полезны и в опросах, и в проектах по генерации контента. С помощью правила «Выполненные задания» мы ограничиваем число задач, доступных одному пользователю. Это позволяет привлечь больше исполнителей и получить больше уникальных ответов.
Пример настройки правила «Выполненные задания»: исполнитель может отправить только одну страницу с заданиями, после чего будет заблокирован
Контрольные задания, мнение большинства, результаты проверки: выбираем лучших
Другая группа правил позволяет следить за ответами добросовестных пользователей и отбирать тех, кто лучше справляется. Например, с помощью контрольных заданий — вопросов с заранее известными правильными ответами.
Например, толокерам нужно выбрать один из нескольких вариантов ответа: «Что изображено на фотографии — легковой автомобиль, грузовик, автобус, мотоцикл, другое транспортное средство?» Вперемешку с основными мы загружаем контрольные задания — фотографии, про которые точно знаем, что на них изображено. По количеству верных ответов на эти задания проверяем исполнителей и присваиваем им навыки — оценки по шкале от 0 до 100.
Пример настройки правила «Контрольные задания»: навык (оценка) исполнителя будет равен проценту правильных ответов на эти задания
Те, кто набрал критическое число ошибок, потеряют доступ к разметке. А толокеров с высоким навыком можно поощрить повышенной оплатой.
Вместе с контрольными заданиями или вместо них можно использовать правило «Мнение большинства». Мы настраиваем выдачу одного и того же задания нескольким исполнителям, например пятерым. И назначаем правильным тот вариант ответа, который выберут трое. Остальным засчитываем ошибку.
Пример настройки правила «Мнение большинства»: навык исполнителя будет равен проценту ответов, совпавших с мнением минимум двух других толокеров
Контрольные задания и мнение большинства не работают там, где каждый исполнитель должен дать уникальный ответ: записать аудио, снять фото или сочинить текст. Заказчики или другие толокеры проверяют их вручную и отклоняют ошибки. Итоги такой проверки тоже используются для настройки доступа к заданию. С помощью правила «Результаты проверки» мы автоматически отбираем тех, кто редко ошибается в заданиях с ручной приёмкой, и выдаём задания только им.
Пример настройки правила «Результаты проверки»: система заблокирует пользователя, если больше половины его ответов окажутся отклонёнными
Работа над ошибками: просим переделать
Исполнители, которые пытаются обмануть систему или часто ошибаются, теряют доступ к разметке. Важно, чтобы ответы, которые они успели дать до блокировки, не попали в итоговый датасет.
Мы сделали так, чтобы с помощью правил контроля качества в Толоке можно было автоматически отправлять на переразметку все сомнительные результаты. И каждый отклонённый ответ по отдельности, и сразу все задания, которые успел выполнить пользователь до того, как отправился в бан.
Обработка отклонённых заданий: как только вы отклонили ответ, перекрытие (количество пользователей, выполняющих одно и то же задание) увеличивается. Это значит, что непринятое задание отправляется на доработку другому толокеру
Агрегация результатов: выбираем достоверные ответы
Третья ступень — работа с результатами разметки.
Собрав нескольких мнений, легче получить объективную картину. Мы запускаем задания с «перекрытием» — задаём один и тот же вопрос разным исполнителям. А когда все задания выполнены, чтобы не разбирать ответы вручную, запускаем агрегацию. Система сама определяет наиболее достоверный ответ — оценивает статистическую значимость всех вариантов и учитывает навыки пользователей.
Комбинируем и экспериментируем
Правила и инструменты можно и нужно сочетать. Например, вот как с помощью толокеров мы сортируем упоминания компании в социальных сетях. Одна большая задача — фильтрация сообщений — разбита на три простые: 1) оценить важность упоминания; 2) понять, о каком продукте или сервисе речь; 3) определить тональность. Все три задания предполагают выбор ответа из нескольких вариантов. Стоит использовать:
- капчу — для защиты от автоматического прокликивания;
- ограничение быстрых ответов — чтобы исполнители не спешили и внимательно читали посты и комментарии;
- контрольные задания, проверку мнением большинства, чтобы отсеять исполнителей, которые допускают много ошибок;
- агрегацию ответов, чтобы получить более точный результат.
Проектам с генерацией контента подойдёт другое сочетание. Компания ID R&D с помощью Толоки собрала датасеты из оригинальных фотографий. В подобных задачах можно настроить:
лимит на выполненные задания, чтобы не доверять значительную их часть одному исполнителю;
- доступ по результатам проверки, чтобы не выдавать задания тем, кто ошибается;
обработку отклонённых заданий, чтобы собрать столько данных, сколько запланировано.
Каждый проект требует индивидуального подхода. Инструменты, эффективные для решения одних задач, неэффективны для других. Если ваша компания решила внедрить краудсорсинг в бизнес-процесс и вырастить собственных экспертов по работе с краудом, можно подать заявку на корпоративное обучение. Но можно разобраться и самостоятельно. Анализируйте, ставьте себя на место исполнителя, пробуйте разные методы. И не стесняйтесь обращаться в поддержку, если что-то не получается.