Если задания выданы с перекрытием 2 и больше, запустите агрегацию результатов. Яндекс Задания обработают все ответы исполнителей на задание и выдадут итоговый ответ и степень его достоверности.
Примечание
Если вы запускали пул с отложенной приемкой, убедитесь, что все ответы приняты.
Агрегация займет от нескольких минут до нескольких часов. Следите за процессом на странице Операции. После завершения агрегации скачайте файл с результатами.
Чтобы получать уведомления и письма о завершении агрегации результатов, настройте оповещения:
Войдите в аккаунт.
Перейдите в Профиль → Уведомления → Выполнение пула или агрегации.
Выберите способ оповещения:
Почта — письма придут на вашу электронную почту.
Сообщения — уведомления придут в Сообщения вашего аккаунта. Кроме вас их увидят те, у кого настроен совместный доступ к вашему аккаунту.
Браузер — уведомления придут на устройства, с которых вы вошли в свой аккаунт.
Для агрегации ответов на все завершенные задания с помощью API отправьте POST-запрос с параметрами агрегации:
См. подробную информацию о запросе, параметрах и ответах в разделе Агрегировать ответы в пуле документации API Яндекс Заданий. Там же есть примеры запросов на разных языках программирования.
Агрегация результатов по методу Дэвида — Скина
Метод агрегации Дэвида — Скина учитывает неоднородность исполнителей при агрегации ответов. Статистическая значимость итогового ответа определяется на основе анализа ответов всех исполнителей.
Принцип работы
Метод рассчитывает для каждого исполнителя |L|² параметров, где L — это множество всех уникальных значений для агрегации.
Параметры, которые использует метод, создаются автоматически для каждого пула и используются только в расчетах. В результатах агрегации вы не увидите эти параметры.
Примечание
Поскольку этот метод оценивает для каждого исполнителя |L|² параметров, мы не рекомендуем использовать агрегацию Дэвида — Скина в тех случаях, когда исполнитель размечает количество заданий < |L|². Иначе вы можете получить низкое качество агрегации.
По итогам агрегации вы получите файл с ответами. Поле CONFIDENCE: <название поля выходных данных> — значимость ответа в процентах.
Преимущества
Данные для агрегации можно загружать любым способом.
Особенности
Метод Дэвида — Скина — это нетривиальный алгоритм агрегации. Ознакомьтесь с особенностями и узнайте подробнее о модели.
Метод не гарантирует, что для агрегации результата будут использоваться исходные ответы исполнителей. Алгоритм учитывает параметры качества исполнителей и закономерности в ответах. Соответственно, он может выдать результат, которого нет в ответах исполнителей на это задание.
Пример
В задании на классификацию изображений все три исполнителя выбрали первый вариант ответа. В другом аналогичном задании эти же три человека выбрали первый вариант, а четвертый исполнитель выбрал второй вариант. Если в следующем задании ответ четвертого исполнителя окажется единственным, то метод Дэвида — Скина может признать такой ответ ошибочным и выдать другой результат.
Агрегация Дэвида — Скина работает с контрольными и обучающими заданиями так же как и с основными. Существует вероятность того, что в файле с ответами поле OUTPUT:result для контрольного задания не совпадет с реальным ответом на это задание (поле GOLDEN:result).
Если в вашем проекте есть выходные данные с отметкой "required": false и исполнители не заполнят это поле данных, то данное поле не будет участвовать в агрегации.
Например, у вас есть 1000 заданий: в 999 из них исполнители не разметили поле label, а один разметил его как label=x. В результате агрегации это поле данных будет иметь CONFIDENCE = 100%, так как только одно задание из тысячи попало под условия агрегации.
Как вычисляется
Метод Дэвида — Скина подбирает для каждого исполнителя его матрицу ошибок, и популярность в ответах. Это происходит с помощью EM-алгоритма.
Принцип работы EM-алгоритма заключается в том, что собираются наиболее точные агрегированные ответы для каждого задания, фиксируя матрицы ошибок и популярность ответов. Среди всех ответов алгоритм пытается найти наилучшие популярности и матрицы ошибок. Процесс происходит в несколько шагов. В качестве начальной уверенности в правильном ответе используется мнение большинства.
Основным требованием для этой агрегации являются поля выходных данных:
Поля, которые можно агрегировать
Поля, которые нельзя агрегировать
Строки и числа с допустимыми значениями.
Допустимое значение должно совпадать с параметром value в нужном элементе интерфейса.
Логический тип.
Целые числа с минимальным и максимальным значениями. Разница между ними не должна превышать 32.
Если в выходном поле слишком много возможных вариантов ответа, механизм динамического перекрытия не сможет агрегировать данные.
Допустимое значение должно совпадать с параметром value в нужном элементе интерфейса.
Массив.
Файл.
Географические координаты.
Объект JSON.
Как проверить
Если у вас есть сомнения в том, что агрегация методом Дэвида — Скина работает корректно, вы можете:
отправить задания на повторную разметку и сравнить полученные результаты;
проверить задание вручную.
Агрегация результатов по навыку
Анализирует ответы на основе уровня доверия к исполнителю. Уровень доверия определяется навыком, который вы выберете. Навык — оценка вероятности того, что исполнитель сделал задание правильно.
Преимущества
Если в вашем проекте обрабатывается большое количество данных, результаты агрегации будут точнее, по сравнению с методом Дэвида — Скина.
Вы сами выбираете поля выходных данных, которые нужно агрегировать.
Особенности
Навык исполнителя имеет «вес». Чем выше навык, тем больше мы доверяем конкретному исполнителю и считаем, что его ответ правильный.
По итогам агрегации вы получите файл с ответами. Поле CONFIDENCE: <название поля выходных данных> — уверенность в агрегированном ответе. В нашем случае это вероятность того, что названный ответ правильный.
Пример
Задания размечали три исполнителя с разным значением навыка «Мой навык»: у первого исполнителя навык — 70, у второго — 80, у третьего — 90.
На первое задание все исполнители ответили OK. В этом случае мы уверены на 100%, что ОК — это правильный ответ.
На второе задание первый и третий исполнители ответили OK, а второй — BAD. В этом случае мы сравним навыки исполнителей и на основе этого посчитаем уверенность в ответе.
K — константа для сглаживания (начиная от 0,5) при недостаточном количестве ответов на контрольные задания.
При наличии нескольких оценок для задания высчитывается наиболее популярный ответ — для каждого варианта ответа суммируем q[i] исполнителей, выбравших его. Ответ с большей суммой считаем более правильным. Назовем эту оценку z[j].
По теореме Байеса считаем апостериорную вероятность того, что оценка z[j] правильная.
В качестве априорного распределения оценок будет считать равномерное. Для оценки z[x] априорная вероятность:
P(z[x])=Y1,
где:
Y — количество вариантов ответов.
Далее считаем вероятность того, что оценка z[j] правильная.
Если исполнитель ответил z[j], то вероятность этого равна точности исполнителя q[i] . Если ответил иначе, то вероятность этого равна:
Y−11−q[i],
где:
(1−q[i]) — оставшаяся вероятность;
(Y−1) — количество оставшихся ответов.
Таким образом рассчитывается то, что вероятности ошибок равномерно распределены по оставшимся оценкам.
Взяв все ответы исполнителей и, например, вариант z[x] , мы считаем вероятность того, что исполнители ответят таким образом, при условии, что правильным ответом был z[x]:
func z_prob(x int) : float {
d = 1.0for w[i]: workers
if answers[w[i]] == z[x]
d *= q[i]
else
d *= (1 - q[i]) / (Y - 1)
return d
}
Далее по теореме Байеса считаем вероятность того, что ответ z[j] правильный:
r = 0for z[i]: answer_options
r += z_prob(i) * (1 / Y)
eps = z_prob(j) * (1 / Y) / r
Примечание
В агрегации учитываются только принятые задания.
Требования
Пул с динамическим перекрытием
Пул без динамического перекрытия
Чтобы запустить агрегацию необходимо корректно настроить динамическое перекрытие. Для этого:
Допустимое значение должно совпадать с параметром value в нужном элементе интерфейса.
Логический тип.
Целые числа с минимальным и максимальным значениями. Разница между ними не должна превышать 32.
Если в выходном поле слишком много возможных вариантов ответа, механизм динамического перекрытия не сможет агрегировать данные.
Допустимое значение должно совпадать с параметром value в нужном элементе интерфейса.
Вы сможете запустить агрегацию по навыку, если пул соответствует следующим требованиям:
У вас есть навык, который определяет уровень доверия к ответам исполнителя. Лучше всего использовать навык, рассчитываемый как доля правильных ответов на контрольные задания.
Чем отличается уверенность в агрегированном ответе в агрегации по Дэвиду - Скину от уверенности в агрегации по навыку?
В способе вычисления. В обоих агрегациях уверенность означает то же самое.
Как работает агрегация результатов по методу Дэвида — Скина?
Модель агрегации Dawid-Skene анализирует ответы исполнителей и создает матрицу ошибок каждого исполнителя. Так вычисляется статистическая значимость исполнителя для каждого ответа. Подробнее о модели.
Почему агрегация по методу Дэвида — Скина выдает ответ, который исполнители не выбирали?
Метод не гарантирует, что для агрегации результата будут использоваться исходные ответы исполнителей. Алгоритм учитывает параметры качества исполнителей и закономерности в ответах. Соответственно, он может выдать результат, которого нет в ответах исполнителей на это задание.
Где можно увидеть ход агрегации?
На странице пула есть кнопка К списку операций.
Почему может быть недоступна агрегация по навыку исполнителя?
Невозможно агрегировать поля проекта, которые не имеют допустимых значений. Необходимо указывать возможные значения для всех полей всех типов.
Агрегация по навыку недоступна. При запуске по API, код ошибки — ONLY_FOR_POOL_WITH_MIXER. Почему?
Количество исполнителей, которые должны выполнить каждое задание пула. Перекрытие используется для того, чтобы убедиться, что результатам можно доверять.
Набор данных, которые нужно разметить в проекте. Можно использовать настройки пула для выбора исполнителей, установки цены за задание и добавления правил контроля качества. Задания в пуле объединены общими свойствами (например, настройки отбора исполнителей, плата за страницу заданий) и отправляются на выполнение единовременно.
Задание, которое содержит правильный ответ. Контрольные задания нужны, чтобы следить за качеством ответов исполнителя.
Задание, которое содержит правильный ответ. Контрольные задания нужны, чтобы следить за качеством ответов исполнителя.
Вопрос или задача, которое требует ответа от исполнителя в Яндекс Заданиях.
Человек, выполняющий задания в Яндекс Заданиях и получающий за это оплату. Все вместе исполнители обычно называются «крауд» (коллектив, толпа).
Оценка качества выполнения заданий исполнителем (число от 0 до 100). Навык может рассчитываться автоматически, например, за правильные ответы на контрольные задания, а также назначаться вручную. Навыки используются для отбора исполнителей в пуле. Подробнее
Перекрытие, которое позволяет изменять количество исполнителей, которые должны выполнить каждое задание пула в зависимости от того, насколько хорошо исполнители справляются с заданием или насколько согласованы их ответы. Значение динамического перекрытия увеличивается при уменьшении уверенности в результатах и наоборот.