Amazon Mechanical Turk: как это работает

Дата публикации:

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

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

Перед вами три базовых понятия:

  • HIT — Human Intelligence Task — задача, которую необходимо решить с помощью человека. Она представляет собой инструкцию для Worker и интерфейс для отправки результата Requester.
  • Worker — человек, который решает задачи.
  • Requester — человек, который создает задачи.

Зачем нужен Mechanical Turk?

Задачи, которые решаются с помощью MTurk, весьма разнообразны:

  • каталогизация данных;
  • модерация контента;
  • проведение опросов;
  • транскрипция аудио и видео и т.д.

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

Простые способы создания HIT

Два первых способа максимально просты. Они работают не только через API, но также имеют веб-интерфейс.

Первый способ — единоразовое создание задачи. Выглядит это примерно так:

Mechanical Turk-2

Вы заполняете все необходимые поля и создаете задачу. У вас также есть возможность выбрать вариант формы — простой текст, чекбоксы, радиокнопки и т.д. Форма запроса очень проста. Она нужна для создания единоразовой задачи. Такую же форму (даже более сложную) можно построить через API, используя специальный формат XML. В терминах MTurk это называется QuestionForm.

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

Проект создается из веб-интерфейса с помощью специального конструктора. Затем мы переходим к HIT — указываем идентификатор проекта и данные для задачи. Это можно сделать через API или через веб-интерфейс. Данные вносятся в специальную форму или загружаются из CSV файла.

Гибкие формы — создаем HIT практически для любой задачи

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

Способ №1: ExternalQuestion — вместо описания формы. Вы отправляете ссылку на HTML файл с вашей формой. MTurk отправляет ее в iframe и отображает для Worker. Этот способ удобен, если у вас статическая форма, но ее трудно описать через QuestionForm или для работы ей нужен JavaScript. В таком случае отличным решением станет размещение самой формы и всех ее ассетов на s3. И использование этой ссылки для создания HIT.

Способ №2: HTMLQuestion. То же самое, что и ExternalQuesion. Но вам не надо нигде хранить эти файлы. Вы динамически генерируете форму и отправляете ее в MTurk. Преимущество такого подхода в абсолютной гибкости. Недостаток — если форма ну очень сложная, проще использовать предыдущий подход: генерировать все файлы и загружать их на s3. А уже потом создавать HIT

При использовании этих двух подходов не забываем о специальном JavaScript, который нужно добавить в форму. Он должен будет назначить Worker вашей задаче.

Совет: Mechanical Turk Project позволяет изменять форму в собственном редакторе. Поэтому прототип формы проще создавать именно в нем. А потом уже динамически генерировать ее на своей стороне.

HIT на Вашей стороне

Все предыдущие подходы имеют ограничения, связанные с интерфейсом MTurk, так как формы отображаются внутри iframe. Как это исправить?

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

Общий FLOW

При создании HIT Requester указывает необходимые поля — заголовок, описание, цена, количество заявок (количество воркеров, которые могут подать заявку), квалификацию, и другие параметры. После этого HIT становится видимым для воркера, и он может подать заявку на выполнение. Requester ее утверждает, и затем Worker приступает к работе. По окончании все данные отправляются в MTurk, где Requester может их проверить и принять, либо отклонить. При положительном завершении проверки, Worker получает вознаграждение. Утверждение воркера на выполнение и принятие задачи можно сделать автоматическим.

Двухуровневые задачи

В самых сложный случаях, когда от результата работы в значительной степени зависит качество вашего продукта, MTurk можно использовать и для проверки результатов работы других Worker. Наш success story в двух словах. К задаче записи некоего текста голосом, мы добавили другую задачу, в которой Worker должен оценить полученные записи. Таким образом, мы смогли улучшить качество полученных результатов практически на полном автомате.

Общие советы для бизнеса, который хочет использовать MTurk

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

Общие советы для разработчиков

Выводы

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

Но самое главное — это найти баланс между автоматизацией и контролем Worker. Теоретически вы можете делать все в автоматическом режиме (автоматическое назначение на выполнение первого Worker, подавшего заявку и автоматическая выплата вознаграждения). Или же все контролировать самостоятельно. Но в таком случае вам обязательно понадобится сотрудник, который будет этим заниматься.

Если у вас остались вопросы, оставляйте комментарии или воспользуйтесь формой обратной связи.

Мы Крым Диджитал

С 2015 года мы предоставляем полный цикл услуг мобильной и веб-разработки клиентам из различных отраслей и разных стран.

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Прошел день карьеры в СевГУ

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая. Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы. Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов — как начать свою карьеру в ИТ? Есть ли возможность совмещать учебу с работой? Кем я смогу стать? Как понять, кем я хочу работать? И многие другие.

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая.

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

Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов - как начать свою карьеру в ИТ?

Есть ли возможность совмещать учебу с работой?

Кем я смогу стать?

Как понять, кем я хочу работать?

И многие другие.

Завершен набор студентов на летнюю практику

Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться — front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.
Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться - front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

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

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

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

Следующий курс намечен на август. Не пропусти анонс записи!