Как Instacart построил краудсорсинговый процесс маркировки данных (и как вы тоже можете!)

Авторы: Нил Аджарапу и Омар Алонсо

Организации, разрабатывающие технологии, основанные на поиске информации, машинном обучении, системах рекомендаций и обработке естественного языка, зависят от ярлыков для моделирования и экспериментов. Люди предоставляют эти ярлыки в контексте конкретной задачи, а собранные данные используются для создания обучающих наборов и оценки производительности различных алгоритмов.

Как мы собираем человеческие ярлыки? Краудсорсинг стал одним из возможных способов массового сбора этикеток. Популярные сервисы, такие как Amazon Mechanical Turk или FigureEight, являются примерами платформ, на которых можно создавать задачи, загружать наборы данных и оплачивать работу. Однако перед тем, как набор данных будет готов для маркировки, необходимо выполнить домашнее задание. Это еще более важно для новых доменов, где нет существующих обучающих наборов или других критериев ... такие домены, как бакалея!

В Instacart мы революционизируем то, как люди ищут, открывают и покупают продукты в больших количествах. Каждый день наши пользователи проводят миллионы поисковых запросов на нашей платформе, и мы возвращаем им на выбор сотни миллионов продуктов. В такой уникальной области масштабный сбор человеческих ярлыков позволил нам расширить поиск в Instacart и создать передовой опыт, которым мы надеемся поделиться.

Представляем вашему вниманию «Предполетный чек-лист» задач для реализации масштабных краудсорсинговых задач. Этот список не зависит от конкретной платформы краудсорсинга и может быть адаптирован для любого домена.

  1. Оцените расположение земли
  2. Определите свои варианты использования
  3. Изучите данные о вашем продукте
  4. Разработайте свою интеллектуальную задачу человека (HIT)
  5. Определите свои руководящие принципы
  6. Сообщите свою задачу
  7. Поддерживать высокое качество

Прежде чем мы перейдем к терминологии, мы используем термины «оценщик», «оценщик» или «работник» как синонимы для упоминания человека, выполняющего задачу. В задаче людей просят ответить на один или несколько вопросов. В зависимости от домена этот процесс обычно называется маркировкой, оценкой или аннотацией.

1. Оцените расположение земли.

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

  • Выполняли ли мы раньше какие-либо подобные задачи по оценке с участием человека?
  • Есть ли у нас данные, помеченные людьми?

Если ваша организация уже собрала данные, оцененные людьми, убедитесь, что понимаете существующие процессы. У вас есть продавцы, с которыми вы уже работаете? Есть ли устоявшийся способ хранения данных, помеченных людьми? Существующие подходы могут повлиять на то, как вы разрабатываете задачу краудсорсинга, поэтому важно подвести итоги. Понять, что было хорошо в предыдущих проектах и ​​какие уроки были извлечены.

Если вы начинаете с нуля, сосредоточьтесь на области, о которой организация хотела бы узнать больше. Например, вы можете не знать, насколько хороши ваши топ-k органических результатов, и хотите количественно оценить этот показатель.

В Instacart ранее мы завершали несколько специальных проектов, но теперь, когда мы начинаем запускать крупномасштабные проекты, мы пересматриваем методологию.

2. Определите свои варианты использования.

Создание данных, оцененных человеком, часто является дорогостоящим и трудоемким процессом. Обязательно спросите себя:

  • Чего мы хотим, чтобы данные, оцененные человеком, достигли? Имеется в виду метрика?
  • Почему здесь необходимы данные, полученные человеком? Это важный проект или его приятно иметь?
  • Это разовая попытка или часть более крупного непрерывного проекта?

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

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

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

3. Разберитесь в своих данных

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

  • Какие данные представляются пользователю?
  • Какие данные отправляет пользователь?
  • Какие журналы мы фиксируем?
  • Есть ли у нас вся необходимая информация, чтобы человек мог сделать осознанное суждение?

Это понимание необходимо, поскольку оно закладывает основу для разработки вашей задачи. Не потратив достаточно времени, вы встретите множество сюрпризов и ярлыков, не соответствующих вашим ожиданиям.

В Instacart наша цель состояла в том, чтобы измерить, насколько наши результаты поиска соответствуют нашим запросам - тщательный анализ всех связанных данных помог нам в дальнейшем избежать ошибок. Например, мы изначально предполагали, что отображения названий продуктов и изображений будет достаточно для описания наших продуктов. Однако, когда мы внутренне пытались оценить некоторые данные, у нас возникли проблемы с оценкой запросов, которые указывали размер продукта, таких как «шесть пачек пива» или «массовые конфеты». Вернувшись к поиску в Instacart, мы вспомнили, что на «карточках товаров» Instacart под названием продукта отображаются размер и количество продукта. Мы позаботились о том, чтобы представить ту же информацию в нашей задаче оценки человеком. Если бы мы не выполнили внутреннее упражнение и не обнаружили это несоответствие, оценщики определенно запутались бы в запросах, связанных с измерениями, и нас бы ждал сюрприз с нашими ярлыками!

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

4. Разработайте свою интеллектуальную задачу человека (HIT)

После определения вариантов использования и данных вы захотите разработать и реализовать свою интеллектуальную задачу человека (HIT) - фактическую задачу, которую должен выполнить ваш оценщик. С этого момента мы будем использовать «задача» и «УДАР» как синонимы. При разработке своей задачи обязательно спросите:

  • Что именно вы хотите измерить, используя человеческую оценку?
  • Как человек может наиболее просто оценить эти данные?

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

В Instacart есть много способов измерить релевантность результатов поиска. С помощью модели «запрос-лист» оценщику можно представить запрос и набор продуктов, которые он / она оценивает в целом на предмет релевантности. В качестве альтернативы мы могли бы попытаться зафиксировать взаимосвязь между запросом и продуктом, например, является ли продукт ингредиентом запроса или дополнительным к запросу, что затем мы могли бы сопоставить с оценкой релевантности.

В конечном итоге мы решили, что наиболее простой подход - это спросить: «Насколько этот продукт соответствует данному запросу?» - в котором оценщик оценивает отдельный запрос и пару товаров. Это была самая простая задача, которую мы могли поставить перед оценщиком, отвечая на самый важный вопрос, на который мы хотели получить ответ.

Для нас особенно актуальна была простая задача, тем более что поисковая релевантность еды - это уже такая сложная область. При поиске продуктов необходимо учитывать бренды, диетические ограничения, ингредиенты, комплименты и многое другое - все это мы должны были учесть в наших рекомендациях!

5. Определите свои рекомендации

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

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

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

В Instacart мы прошли все вышеперечисленное. Начав с простого набора критериев, наша команда оценила сотни пар запрос-продукт. В наших рейтингах были разногласия, и нам пришлось задать себе интересные вопросы, например: когда пользователи ищут «макароны без глютена», насколько актуальны макароны из пшеницы? Или для таких запросов, как «булочки для хот-догов», можно ли показывать дополнительные результаты, например, сосиски для хот-догов? Насколько релевантен продукт конкурента, такой как «Пепси», при поиске по бренду, таком как «Кока-кола»? После того, как мы определили эти типы случаев, мы включили данные нашей группы исследования пользователей о том, как существующие пользователи думают об этих типах результатов поиска. Мы проходили этот процесс итеративно, пока не получили набор руководящих принципов, которые обеспечили бы нам необходимую точность, но при этом не были бы чрезмерными.

6. Сообщите о своей задаче

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

  • Как мы можем четко и кратко передать наши рекомендации рейтеру?
  • Какие примеры будут наиболее эффективными при обучении рейтера нашей задаче?
  • Как мы можем представить информацию в соответствии с тем, как она представлена ​​в нашем продукте?

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

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

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

7. Поддерживайте высокое качество

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

  • Как выбрать лучших судей для нашей задачи?
  • Как избежать неправильных оценок и измерить качество?
  • Как мы справляемся с неверными входными данными или чрезвычайно сложными задачами?

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

Также необходимо убедиться, что ваши оценщики понимают задачу. Сообщив оценщикам рекомендации по выполнению своих задач, протестируйте их на серии выбранных вручную HIT, которые отражают сложность рекомендаций. Это подтвердит, что они поняли задачу и ее сложности, прежде чем смогут оценить фактические данные. Разрешите оценщикам оценивать ваши данные только в том случае, если они набрали по вашему тесту значение выше выбранного вами порога.

Вы захотите доверять лейблам, которые вы получаете от своей платформы. То есть данные должны быть достоверными. Данные надежны, если сотрудники согласны с ответами. Разные работники дают одинаковые результаты, если понимают инструкции, которые мы им предоставили. Если два или более рабочих согласны с одним и тем же ответом, высока вероятность того, что окончательная этикетка верна. В Instacart пять оценщиков оценивали каждую задачу и брали согласованный рейтинг (3 или более оценщиков согласны) в качестве окончательной.

Надежность соглашения между экспертами измеряет степень, в которой независимые эксперты оценивают задачу и дают одинаковый ответ. Одной из наиболее широко используемых статистических данных для вычисления согласия является каппа Коэна (k), мера согласия между двумя оценщиками, рассчитанная на случайную корректировку. Обобщение для n экспертов - это каппа Флейса. Обе статистики доступны в стандартных библиотеках и пакетах, таких как R или scikit-learn. Мы настоятельно рекомендуем использовать межэкспертную статистику для измерения надежности каждого набора данных.

Еще одна распространенная стратегия обеспечения высокого качества работы - это случайное включение предопределенных данных золотого стандарта в набор данных, чтобы мы могли проверить, как работают сотрудники. Этот метод известен как «медовые горшочки», «золотые данные» или «проверяемые ответы». Если вы знаете правильные метки для набора HIT, вы можете использовать эту предварительно вычисленную информацию для тестирования рабочих. Посредством чередования горшков с медом в наборе данных можно определить работников, которые могут работать плохо. Если все исполнители плохо справляются с какими-либо конкретными приманками, это также может указывать на несоответствие между предполагаемым ярлыком и тем, как работники интерпретируют ваши инструкции.

Как сделать набор горшочков для меда? В рамках вашей внутренней процедуры маркировки определите случаи, когда вы и ваша команда достигли консенсуса. Эти ящики могут служить вашими заранее рассчитанными горшками с медом. Затем вы можете случайным образом добавить золотые данные в набор данных, который необходимо пометить, чтобы оценщики оценивали задачи в горшке с медом так же, как ваш неоцененный набор данных.

В некоторых случаях HIT может содержать неверные данные, например неправильное изображение продукта или сильно орфографический термин. В подобных случаях он может помочь оценщику предложить вариант «Я не знаю» вместо того, чтобы угадывать. Пройдя еще один шаг, вы можете попросить оценщиков, которые выбирают опцию, объяснить, почему они не могут оценить задачу. Вы можете предоставить список причин, по которым они выбирают или добавляют текстовое поле. Эти параметры могут помочь вам диагностировать качество вашей информации и имеют дополнительное преимущество в сдерживании чрезмерного использования параметра. Дополнительные меры предосторожности, такие как ограничение скорости использования опции «Я не знаю», также могут быть использованы, чтобы гарантировать, что оценщики не злоупотребят этой опцией.

Готов к взлету!

Теперь, когда вы выполнили предполетный контрольный список, вы почти готовы маркировать большие наборы данных!

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

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

В следующем посте этой серии мы сосредоточимся на деталях непрерывного и масштабного выполнения задач краудсорсинга.

Благодарности и дополнительная литература

Мы благодарим членов нашей команды Джонатана Бендера, Николаса Кули, Джереми Диаса, Валери Карпей, Аврору Лин, Джеффа Моултона, Ангадха Сингха, Тайлера Тейта, Теджасви Теннети, Адитью Субраманиан и Рэйчел Чжан. Спасибо Haixun Wang за дополнительные отзывы.

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

  • О. Алонсо. «Практика краудсорсинга», Morgan & Claypool, 2019.
  • А. Доан, Р. Рамакришнан, А. Халеви. «Системы краудсорсинга во всемирной паутине», Commun. ACM 54 (4): 86–96, 2011.
  • А. Маркус и А. Парамесваран. «Краудсорсинговое управление данными: отраслевые и академические перспективы», Найдено. Базы данных тенденций 6 (1-2), 2015.
  • Дж. Вортман Воган. «Лучшее использование толпы: как краудсорсинг может способствовать развитию исследований в области машинного обучения», Дж. Мах. Учиться. Res. 18, 2017.

Хотите разрабатывать подобные крупномасштабные проекты данных? Наша команда алгоритмов принимает на работу! Перейдите на instacart.com/careers, чтобы увидеть наши текущие вакансии