Пулы

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

Свойства пула передаются в формате JSON. Пример пула в формате JSON и описание ключей представлены ниже.

Если в проекте несколько пулов, очередность их выполнения зависит от параметров:

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

  • Пулы с разными настройками фильтров и/или разной платой за задание отправляются на выполнение при открытии пула.

Вы можете выполнять следующие операции над пулами с помощью API:

Пример пула в JSON

{
  "id": "197",
  "project_id": "1",
  "private_name": "My first pool",
  "private_comment": "This is my first pool",
  "public_description": "Pool's description ",
  "may_contain_adult_content": false,
  "will_expire": "2020-09-01T13:00",
  "reward_per_assignment": 0.02,
  "dynamic_pricing_config": {
        "type": "SKILL",
        "skill_id": "1289",
        "intervals": [
            {
            "from": 0,
            "to": 60,
            "reward_per_assignment": 0.03
            },
            {
            "from": 61,
            "to": 100,
            "reward_per_assignment": 0.04
            }
        ]
    },
  "assignment_max_duration_seconds": 300,
  "auto_accept_solutions": true,
  "auto_accept_period_day": 7,
  "auto_close_after_complete_delay_seconds": 60,
  "assignments_issuing_config": {
         "issue_task_suites_in_creation_order": false
  },

  "filter": {<настройки фильтров для отбора пользователей>},
  "quality_control": {
         "training_requirement": {
                "training_pool_id": "21",
                "training_passing_skill_value": 70
         },
         "captcha_frequency": "LOW",
         "configs": {<настройки блоков контроля качества>},
         "checkpoints_config": {
             "real_settings": {
                 "target_overlap": 5,
                 "task_distribution_function": {
                     "scope": "PROJECT",
                     "distribution": "UNIFORM",
                     "window_days": 7,
                     "intervals":[
                         {
                             "from": 1,
                             "to": 100,
                             "frequency": 25
                             },
                         {
                             "from": 101,
                             "to": 1000,
                             "frequency": 5
                             }
                      ]
                   }
              }
         }
  },
  "dynamic_overlap_config": {
        "type": "BASIC",
        "max_overlap": 5,
        "min_confidence": 0.9,
        "answer_weight_skill_id": "1289",
        "fields": [
            {
                "name": "result"
            }
        ]
    },
  "defaults" : {
         "default_overlap_for_new_task_suites" : 3,
         "default_overlap_for_new_tasks": 3
  },
  "mixer_config": {
         "real_tasks_count": 6,
         "golden_tasks_count": 1,
         "training_tasks_count": 1,
         "min_real_tasks_count": 2,
         "min_golden_tasks_count": 0,
         "min_training_tasks_count": 0,
         "force_last_assignment": true,
         "force_last_assignment_delay_seconds": 10,
         "mix_tasks_in_creation_order": true,
         "shuffle_tasks_in_task_suite": false,
         "golden_task_distribution_function": {
             "scope": "PROJECT",
             "distribution": "UNIFORM",
             "window_days": 7 ,
             "intervals": [
                 {
                     "from": 1,
                     "to": 25,
                     "frequency": 5
                     },
                 {
                     "from": 26,
                     "to": 1000,
                     "frequency": 25
                     }
              ]
         },
         "training_task_distribution_function": {
             "scope": "PROJECT",
             "distribution": "UNIFORM",
             "window_days": 7,
             "intervals": [
                 {
                     "from": 1,
                     "to": 25,
                     "frequency": 5
                     },
                 {
                     "from": 26,
                     "to": 1000,
                     "frequency": 25
                     }
              ]
         }
  },
  "priority": 10,
  "type": "REGULAR",
  "status" : "CLOSED",
  "last_close_reason": "EXPIRED",
  "created" : "2016-04-08T14:23:04.785"
}
Скопировано

Ключи

Ключ

Значение

Тип данных

Обязательный при создании

project_id

Идентификатор проекта, для которого создан пул.

Строка

Да

private_name

Название пула (доступно только заказчику).

Строка

Да

private_comment

Комментарий к пулу (доступен только заказчику).

Строка

Нет

public_description
Описание для пользователей. Если заполнено, то текст будет отображаться вместо public_description проекта в списке заданий для исполнителей. Строка Нет
may_contain_adult_content

Присутствие контента для взрослых в заданиях.

Булев

Да

will_expire

Дата и время по UTC, когда пул нужно закрыть (даже если не все страницы заданий выполнены). Формат даты ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Да

reward_per_assignment

Плата за страницу заданий в долларах США. Для центов используйте точку («.») в качестве разделителя. Минимальная плата составляет $0.01.

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

Число

Да

dynamic_pricing_config

Настройки динамического ценообразования.

JSON

Нет

dynamic_pricing_config.type

Тип параметра для расчета динамического ценообразования. Значение SKILL.

Строка

Да, если используется динамическое ценообразование.

dynamic_pricing_config.skill_id

Идентификатор навыка, по уровню которого рассчитывается плата за задание

Строка

Да, если используется динамическое ценообразование

dynamic_pricing_config.intervals

Интервалы уровней навыка. Не должны пересекаться.

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

JSON

Да, если используется динамическое ценообразование

dynamic_pricing_config.intervals.from

Нижняя граница интервала. По умолчанию 0.

Число от 0 до 100

Да, если используется динамическое ценообразование.

dynamic_pricing_config.intervals.to

Верхняя граница интервала. По умолчанию 100.

Число от 0 до 100

Да, если используется динамическое ценообразование.

dynamic_pricing_config.intervals.reward_per_assignment

Цена за страницу заданий для исполнителя с указанным уровнем навыка.

Число

Да, если используется динамическое ценообразование.

assignment_max_duration_seconds

Время на выполнение страницы заданий в секундах. Невыполненные задания перераспределяются другим пользователям.

Рекомендуется выделять на страницу заданий не менее 60 секунд (с учетом времени на загрузку страницы, отправку ответов).

Число

Да

auto_accept_solutions

Необходимость проверки заданий вручную:

  • true — автоматическая приемка заданий (проверка не нужна);

  • false — проверка заданий заказчиком.

По умолчанию значение true.

Булев

Нет

auto_accept_period_day

Время (количество дней) проверки задания заказчиком. Если заказчик не примет или не отклонит задание за данный срок, то решение будет принято автоматически. Может принимать значение от 1 до 21.

Число

Нет

auto_close_after_complete_delay_seconds

Время ожидания (в секундах) перед автоматическим закрытием пула, после того как все задания выполнены. Минимум — 0, максимум — 259 200 секунд (трое суток). По умолчанию значение 0.

Используйте, если:
  • ваш процесс обработки данных близок к реальному времени;
  • вам нужен открытый пул, в который периодически загружаете задания;
  • в пуле включено динамическое перекрытие (dynamic_overlap_config).

Число

Нет

assignments_issuing_config

Настройки выдачи заданий в пуле.

JSON

Нет

assignments_issuing_config.issue_task_suites_in_creation_order

Для пулов, которые не используют «умное смешивание» .

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

Параметр можно использовать, если в проекте "assignments_issuing_type": "AUTOMATED".

Булев

Нет

priority

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

Возможные значения: от 0 до 100.

По умолчанию значение 0.

Число

Нет

filter

Настройки фильтров для отбора пользователей.

JSON

Нет

quality_control

Настройки блоков контроля качества и идентификатор пула с обучающими заданиями.

JSON

Нет

quality_control.training_requirement

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

JSON

Нет

quality_control.training_requirement.training_pool_id

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

Строка

Нет

quality_control.training_requirement.training_passing_skill_value

Доля правильных ответов в обучающих заданиях (от 0 до 100), необходимая для допуска к основным заданиям. Для подсчета используются первые ответы пользователя в заданиях.

Число

Нет

quality_control.captcha_frequency

Частота показа капчи:

  • LOW — показывать каждые 20 заданий.

  • MEDIUM, HIGH — показывать каждые 10 заданий.

По умолчанию капча не показывается.

Строка

Нет

quality_control.configs

Блоки контроля качества.

JSON

Нет

quality_control.checkpoints_config

Выборочная проверка мнением большинства. Только некоторые задания выдаются с высоким перекрытием (например, «5») и проходят проверку. Остальные задания выдаются с перекрытием, установленным в настройках пула (например, «1») и остаются без проверки. Выборочная проверка позволяет экономить средства и ускорить выполнение пула.

Вы можете сокращать частоту проверок со временем.

Пример настроек: в первых 25 заданиях, выполненных пользователем в пуле, выдавать каждое пятое задание с перекрытием «5», чтобы сверить ответы. В последующих заданиях выдавать каждое 25 задание с перекрытием «5».

JSON

Нет

quality_control.checkpoints_config.real_settings.target_overlap

Перекрытие в заданиях с проверкой мнением большинства.

Число

Да, если используется выборочная проверка мнением большинства
quality_control.checkpoints_config.real_settings.task_distribution_function
Распределение заданий с проверкой мнением большинcтва.

JSON

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.scope
Подсчет заданий, выполненных пользователем:
  • POOL — учитывать задания, выполненные в пуле.

  • PROJECT — учитывать задания, выполненные в проекте.

Строка

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.distribution
Распределение заданий с проверкой мнением большинства внутри интервала. У параметра одно возможное значение — UNIFORM.

Строка

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.window_days

Период, за который нужно подсчитывать выполненные задания (количество дней).

Число

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals[]

Границы интервалов и количество заданий с проверкой мнением большинства.

Массив JSON-объектов

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals.from

Начало интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals.to
Конец интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals.frequency

Частота выдачи заданий с проверкой мнением большинства в интервале. Первое задание в интервале проверочное. Например, при значении frequency: 3 задания 1, 4, 7 и т. д. будут проверочными.

Число

Да, если используется выборочная проверка мнением большинства

dynamic_overlap_config

Настройка динамического перекрытия. Позволяет изменять перекрытие в зависимости от того, насколько хорошо исполнители справляются с заданием.

Установите интервал закрытия (auto_close_after_complete_delay_seconds). Его должно быть достаточно, чтобы были выполнены задания с перекрытием, выше минимального.

Когда все задания в пуле будут выполнены, агрегируйте ответы.

JSON Нет
dynamic_overlap_config.type

Алгоритм динамического перекрытия.

BASIC — каждому ответу присваивается вес в зависимости от значения навыка исполнителя. Достоверность агрегированного ответа рассчитывается на основе вероятностного алгоритма. Перекрытие задания повышается до тех пор, пока не достигнет max_overlap или достоверность агрегированного ответа не превысит min_confidence.

Необходимо указать max_overlap, min_confidence, answer_weight_skill_id и fields.

Строка Да, если используется динамическое перекрытие
dynamic_overlap_config.max_overlap

Максимальное перекрытие. Должно превышать значения в defaults. Минимум — 1. Максимум — 30000.

Число Да, если используется динамическое перекрытие
dynamic_overlap_config.min_confidence

Минимальная достоверность агрегированного ответа. Значения от 0 до 1.

Число с плавающей точкой Да, если используется динамическое перекрытие
dynamic_overlap_config.answer_weight_skill_id
Навык, который определяет вес ответа исполнителя. Для получения наилучших результатов используйте навык, значение которого вычисляется как доля правильных ответов на контрольные заданий. Строка Да, если используется динамическое перекрытие
dynamic_overlap_config.fields

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

Не указывайте несколько полей, если их значения зависят друг от друга.

JSON Да, если используется динамическое перекрытие
dynamic_overlap_config.fields.name
Имя поля выходных данных. Строка Да, если используется динамическое перекрытие
defaults

Настройки, которые применяются по умолчанию при загрузке новых страниц заданий в пул.

JSON

Да

defaults.default_overlap_for_new_task_suites

Перекрытие для страниц заданий, которые загружаются в пул (используется, если при загрузке указан параметр allow_defaults=true).

Число

Да

defaults.default_overlap_for_new_tasks

Перекрытие для заданий, которые загружаются в пул (используется, если при загрузке указан параметр allow_defaults=true).

Число

Нет

mixer_config

Параметры для автоматического создания страниц заданий («умное смешивание»). Подробнее о формировании страниц заданий см. в документе Толока. Руководство заказчика.

JSON

Да, если используется «умное смешивание»

mixer_config.real_tasks_count

Количество основных заданий на странице.

Максимальное количество заданий на странице, если используется training_task_distribution_function или golden_task_distribution_function.

Число

Да, если используется «умное смешивание»

mixer_config.golden_tasks_count

Количество контрольных заданий на странице.

Число

Да, если используется «умное смешивание»

mixer_config.training_tasks_count

Количество обучающих заданий на странице.

Число

Да, если используется «умное смешивание»

mixer_config.min_real_tasks_count

Минимальное количество основных заданий на странице (если не набирается число, указанное в mixer_config.real_tasks_count). Минимум — 0. По умолчанию значение равно указанному в mixer_config.real_tasks_count.

Число

Нет

mixer_config.min_golden_tasks_count

Минимальное количество контрольных заданий на странице (если не набирается число, указанное в mixer_config.golden_tasks_count). Минимум — 0. По умолчанию значение равно указанному в mixer_config.golden_tasks_count.

Число

Нет

mixer_config.min_training_tasks_count

Минимальное количество обучающих заданий на странице (если не набирается число, указанное в mixer_config.golden_tasks_count). Минимум — 0. По умолчанию значение равно указанному в mixer_config.training_tasks_count.

Число

Нет

mixer_config.force_last_assignment

Настройка для последней страницы заданий в пуле, если невыполненных основных заданий осталось меньше минимума (mixer_config.min_real_tasks_count). Значения:

  • true — выдавать неполную страницу заданий.

  • false — не выдавать задания. Этот вариант удобен, если вы собираетесь добавлять задания после запуска пула.

По умолчанию значение true.

Параметр распространяется только на основные задания. Количество контрольных и обучающих заданий на последней странице должно быть полным (mixer_config.golden_tasks_count, mixer_config.training_tasks_count).

Булев

Нет

mixer_config.force_last_assignment_delay_seconds

Время ожидания (в секундах) с момента добавления задания или увеличения перекрытия до выдачи последней страницы заданий в пуле. Минимум — 0, максимум — 86 400 секунд (одни сутки).

Параметр можно использовать, если в пуле force_last_assignment: true.

Число

Нет

mixer_config.mix_tasks_in_creation_order

Порядок, в котором задания включаются в страницы:

  • true — включать задания в страницы в том порядке, в котором они были загружены. Например, в пуле с перекрытием 5 первое загруженное задание будет включено в первые 5 страниц заданий. Они будут выданы 5 пользователям.

  • false — включать задания в страницы в случайном порядке.

По умолчанию значение false.

Булев

Нет

mixer_config.shuffle_tasks_in_task_suite

Порядок заданий внутри страницы заданий:

  • true — случайный.

  • false — порядок, в котором задания были загружены.

По умолчанию значение true.

Булев

Нет

mixer_config.golden_task_distribution_function

Выдача контрольных заданий с неравномерной частотой. Позволяет изменять частоту проверки по мере выполнения заданий пользователем.

Если заполнено, то в real_task_count укажите максимальное количество заданий на странице. Чтобы использовать опцию, установите значение параметров golden_tasks_count:0 и min_golden_tasks_count:0.

Граница интервала — номер задания в пуле. Если на странице заданий несколько интервалов, то к странице будет применена настройка первого интервала.

Пример:
На первой странице заданий (интервал от 1 до 25) каждое пятое задание будет контрольным, на последующих страницах — каждое 25-е задание.

JSON

Нет

mixer_config.golden_task_distribution_function.scope
Подсчет заданий, выполненных пользователем:
  • POOL — учитывать задания, выполненные в пуле.

  • PROJECT — учитывать задания, выполненные в проекте.

Строка

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.distribution

Распределение контрольных заданий внутри интервала. У параметра одно возможное значение — UNIFORM.

Строка

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.window_days

Период, за который нужно подсчитывать выполненные задания (количество дней).

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals[]

Границы интервалов и количество контрольных заданий в интервале.

Массив JSON-объектов

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals.from

Начало интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals.to

Конец интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals.frequency

Частота выдачи контрольных заданий в интервале. Первое задание в интервале контрольное. Например, при значении frequency: 3 задания 1,4,7 и т. д. будут контрольными.

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.training_task_distribution_function

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

Если заполнено, то в real_task_count укажите максимальное количество заданий на странице. Чтобы использовать опцию, установите значение параметров training_task_count:0 и min_training_tasks_count:0.

Пример:
На первой странице заданий (интервал от 1 до 25) каждое пятое задание будет обучающим, на последующих страницах — каждое 25-е задание.

JSON

Нет

mixer_config.training_task_distribution_function.scope
Подсчет заданий, выполненных пользователем:
  • POOL — учитывать задания, выполненные в пуле.

  • PROJECT — учитывать задания, выполненные в проекте.

Строка

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.distribution

Распределение обучающих заданий внутри интервала. У параметра одно возможное значение — UNIFORM.

Строка

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.window_days

Период, за который нужно подсчитывать выполненные задания (количество дней).

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals[]

Границы интервалов и количество контрольных заданий в интервале.

Массив JSON-объектов

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals.from

Начало интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals.to

Конец интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals.frequency

Частота выдачи обучающих заданий в интервале. Первое задание в интервале обучающее. Например, при значении frequency: 3 задания 1,4,7 и т. д. будут обучающими.

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

id

Идентификатор пула.

Строка

Не используется

status

Статус пула:

  • OPEN — открыт;

  • CLOSED — закрыт;

  • ARCHIVED — архивный.

Строка

Не используется

last_close_reason

Причина, по которой пул был закрыт в последний раз:

  • MANUAL — закрыт заказчиком.

  • EXPIRED — истек срок, указанный в ключе will_expire.

  • COMPLETED — закрыт автоматически, так как все задания в пуле выполнены.

  • NOT_ENOUGH_BALANCE — закрыт автоматически, так как закончились деньги на счете в Толоке.

  • ASSIGNMENTS_LIMIT_EXCEEDED — закрыт автоматически, так как превышен лимит выданных страниц заданий (не более 2 млн).

  • BLOCKED — закрыт автоматически, так как аккаунт заказчика заблокирован администратором Толоки.

Строка

Не используется

created

Дата и время создания пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Не используется

last_started

Дата и время последнего запуска пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Не используется

last_stopped

Дата и время последней остановки пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Не используется

type
Тип пула:
  • REGULAR — обычный пул;

  • TRAINING — обучающий пул.

Строка

Не используется

Ключ

Значение

Тип данных

Обязательный при создании

project_id

Идентификатор проекта, для которого создан пул.

Строка

Да

private_name

Название пула (доступно только заказчику).

Строка

Да

private_comment

Комментарий к пулу (доступен только заказчику).

Строка

Нет

public_description
Описание для пользователей. Если заполнено, то текст будет отображаться вместо public_description проекта в списке заданий для исполнителей. Строка Нет
may_contain_adult_content

Присутствие контента для взрослых в заданиях.

Булев

Да

will_expire

Дата и время по UTC, когда пул нужно закрыть (даже если не все страницы заданий выполнены). Формат даты ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Да

reward_per_assignment

Плата за страницу заданий в долларах США. Для центов используйте точку («.») в качестве разделителя. Минимальная плата составляет $0.01.

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

Число

Да

dynamic_pricing_config

Настройки динамического ценообразования.

JSON

Нет

dynamic_pricing_config.type

Тип параметра для расчета динамического ценообразования. Значение SKILL.

Строка

Да, если используется динамическое ценообразование.

dynamic_pricing_config.skill_id

Идентификатор навыка, по уровню которого рассчитывается плата за задание

Строка

Да, если используется динамическое ценообразование

dynamic_pricing_config.intervals

Интервалы уровней навыка. Не должны пересекаться.

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

JSON

Да, если используется динамическое ценообразование

dynamic_pricing_config.intervals.from

Нижняя граница интервала. По умолчанию 0.

Число от 0 до 100

Да, если используется динамическое ценообразование.

dynamic_pricing_config.intervals.to

Верхняя граница интервала. По умолчанию 100.

Число от 0 до 100

Да, если используется динамическое ценообразование.

dynamic_pricing_config.intervals.reward_per_assignment

Цена за страницу заданий для исполнителя с указанным уровнем навыка.

Число

Да, если используется динамическое ценообразование.

assignment_max_duration_seconds

Время на выполнение страницы заданий в секундах. Невыполненные задания перераспределяются другим пользователям.

Рекомендуется выделять на страницу заданий не менее 60 секунд (с учетом времени на загрузку страницы, отправку ответов).

Число

Да

auto_accept_solutions

Необходимость проверки заданий вручную:

  • true — автоматическая приемка заданий (проверка не нужна);

  • false — проверка заданий заказчиком.

По умолчанию значение true.

Булев

Нет

auto_accept_period_day

Время (количество дней) проверки задания заказчиком. Если заказчик не примет или не отклонит задание за данный срок, то решение будет принято автоматически. Может принимать значение от 1 до 21.

Число

Нет

auto_close_after_complete_delay_seconds

Время ожидания (в секундах) перед автоматическим закрытием пула, после того как все задания выполнены. Минимум — 0, максимум — 259 200 секунд (трое суток). По умолчанию значение 0.

Используйте, если:
  • ваш процесс обработки данных близок к реальному времени;
  • вам нужен открытый пул, в который периодически загружаете задания;
  • в пуле включено динамическое перекрытие (dynamic_overlap_config).

Число

Нет

assignments_issuing_config

Настройки выдачи заданий в пуле.

JSON

Нет

assignments_issuing_config.issue_task_suites_in_creation_order

Для пулов, которые не используют «умное смешивание» .

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

Параметр можно использовать, если в проекте "assignments_issuing_type": "AUTOMATED".

Булев

Нет

priority

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

Возможные значения: от 0 до 100.

По умолчанию значение 0.

Число

Нет

filter

Настройки фильтров для отбора пользователей.

JSON

Нет

quality_control

Настройки блоков контроля качества и идентификатор пула с обучающими заданиями.

JSON

Нет

quality_control.training_requirement

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

JSON

Нет

quality_control.training_requirement.training_pool_id

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

Строка

Нет

quality_control.training_requirement.training_passing_skill_value

Доля правильных ответов в обучающих заданиях (от 0 до 100), необходимая для допуска к основным заданиям. Для подсчета используются первые ответы пользователя в заданиях.

Число

Нет

quality_control.captcha_frequency

Частота показа капчи:

  • LOW — показывать каждые 20 заданий.

  • MEDIUM, HIGH — показывать каждые 10 заданий.

По умолчанию капча не показывается.

Строка

Нет

quality_control.configs

Блоки контроля качества.

JSON

Нет

quality_control.checkpoints_config

Выборочная проверка мнением большинства. Только некоторые задания выдаются с высоким перекрытием (например, «5») и проходят проверку. Остальные задания выдаются с перекрытием, установленным в настройках пула (например, «1») и остаются без проверки. Выборочная проверка позволяет экономить средства и ускорить выполнение пула.

Вы можете сокращать частоту проверок со временем.

Пример настроек: в первых 25 заданиях, выполненных пользователем в пуле, выдавать каждое пятое задание с перекрытием «5», чтобы сверить ответы. В последующих заданиях выдавать каждое 25 задание с перекрытием «5».

JSON

Нет

quality_control.checkpoints_config.real_settings.target_overlap

Перекрытие в заданиях с проверкой мнением большинства.

Число

Да, если используется выборочная проверка мнением большинства
quality_control.checkpoints_config.real_settings.task_distribution_function
Распределение заданий с проверкой мнением большинcтва.

JSON

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.scope
Подсчет заданий, выполненных пользователем:
  • POOL — учитывать задания, выполненные в пуле.

  • PROJECT — учитывать задания, выполненные в проекте.

Строка

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.distribution
Распределение заданий с проверкой мнением большинства внутри интервала. У параметра одно возможное значение — UNIFORM.

Строка

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.window_days

Период, за который нужно подсчитывать выполненные задания (количество дней).

Число

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals[]

Границы интервалов и количество заданий с проверкой мнением большинства.

Массив JSON-объектов

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals.from

Начало интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals.to
Конец интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выборочная проверка мнением большинства

quality_control.checkpoints_config.real_settings.task_distribution_function.intervals.frequency

Частота выдачи заданий с проверкой мнением большинства в интервале. Первое задание в интервале проверочное. Например, при значении frequency: 3 задания 1, 4, 7 и т. д. будут проверочными.

Число

Да, если используется выборочная проверка мнением большинства

dynamic_overlap_config

Настройка динамического перекрытия. Позволяет изменять перекрытие в зависимости от того, насколько хорошо исполнители справляются с заданием.

Установите интервал закрытия (auto_close_after_complete_delay_seconds). Его должно быть достаточно, чтобы были выполнены задания с перекрытием, выше минимального.

Когда все задания в пуле будут выполнены, агрегируйте ответы.

JSON Нет
dynamic_overlap_config.type

Алгоритм динамического перекрытия.

BASIC — каждому ответу присваивается вес в зависимости от значения навыка исполнителя. Достоверность агрегированного ответа рассчитывается на основе вероятностного алгоритма. Перекрытие задания повышается до тех пор, пока не достигнет max_overlap или достоверность агрегированного ответа не превысит min_confidence.

Необходимо указать max_overlap, min_confidence, answer_weight_skill_id и fields.

Строка Да, если используется динамическое перекрытие
dynamic_overlap_config.max_overlap

Максимальное перекрытие. Должно превышать значения в defaults. Минимум — 1. Максимум — 30000.

Число Да, если используется динамическое перекрытие
dynamic_overlap_config.min_confidence

Минимальная достоверность агрегированного ответа. Значения от 0 до 1.

Число с плавающей точкой Да, если используется динамическое перекрытие
dynamic_overlap_config.answer_weight_skill_id
Навык, который определяет вес ответа исполнителя. Для получения наилучших результатов используйте навык, значение которого вычисляется как доля правильных ответов на контрольные заданий. Строка Да, если используется динамическое перекрытие
dynamic_overlap_config.fields

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

Не указывайте несколько полей, если их значения зависят друг от друга.

JSON Да, если используется динамическое перекрытие
dynamic_overlap_config.fields.name
Имя поля выходных данных. Строка Да, если используется динамическое перекрытие
defaults

Настройки, которые применяются по умолчанию при загрузке новых страниц заданий в пул.

JSON

Да

defaults.default_overlap_for_new_task_suites

Перекрытие для страниц заданий, которые загружаются в пул (используется, если при загрузке указан параметр allow_defaults=true).

Число

Да

defaults.default_overlap_for_new_tasks

Перекрытие для заданий, которые загружаются в пул (используется, если при загрузке указан параметр allow_defaults=true).

Число

Нет

mixer_config

Параметры для автоматического создания страниц заданий («умное смешивание»). Подробнее о формировании страниц заданий см. в документе Толока. Руководство заказчика.

JSON

Да, если используется «умное смешивание»

mixer_config.real_tasks_count

Количество основных заданий на странице.

Максимальное количество заданий на странице, если используется training_task_distribution_function или golden_task_distribution_function.

Число

Да, если используется «умное смешивание»

mixer_config.golden_tasks_count

Количество контрольных заданий на странице.

Число

Да, если используется «умное смешивание»

mixer_config.training_tasks_count

Количество обучающих заданий на странице.

Число

Да, если используется «умное смешивание»

mixer_config.min_real_tasks_count

Минимальное количество основных заданий на странице (если не набирается число, указанное в mixer_config.real_tasks_count). Минимум — 0. По умолчанию значение равно указанному в mixer_config.real_tasks_count.

Число

Нет

mixer_config.min_golden_tasks_count

Минимальное количество контрольных заданий на странице (если не набирается число, указанное в mixer_config.golden_tasks_count). Минимум — 0. По умолчанию значение равно указанному в mixer_config.golden_tasks_count.

Число

Нет

mixer_config.min_training_tasks_count

Минимальное количество обучающих заданий на странице (если не набирается число, указанное в mixer_config.golden_tasks_count). Минимум — 0. По умолчанию значение равно указанному в mixer_config.training_tasks_count.

Число

Нет

mixer_config.force_last_assignment

Настройка для последней страницы заданий в пуле, если невыполненных основных заданий осталось меньше минимума (mixer_config.min_real_tasks_count). Значения:

  • true — выдавать неполную страницу заданий.

  • false — не выдавать задания. Этот вариант удобен, если вы собираетесь добавлять задания после запуска пула.

По умолчанию значение true.

Параметр распространяется только на основные задания. Количество контрольных и обучающих заданий на последней странице должно быть полным (mixer_config.golden_tasks_count, mixer_config.training_tasks_count).

Булев

Нет

mixer_config.force_last_assignment_delay_seconds

Время ожидания (в секундах) с момента добавления задания или увеличения перекрытия до выдачи последней страницы заданий в пуле. Минимум — 0, максимум — 86 400 секунд (одни сутки).

Параметр можно использовать, если в пуле force_last_assignment: true.

Число

Нет

mixer_config.mix_tasks_in_creation_order

Порядок, в котором задания включаются в страницы:

  • true — включать задания в страницы в том порядке, в котором они были загружены. Например, в пуле с перекрытием 5 первое загруженное задание будет включено в первые 5 страниц заданий. Они будут выданы 5 пользователям.

  • false — включать задания в страницы в случайном порядке.

По умолчанию значение false.

Булев

Нет

mixer_config.shuffle_tasks_in_task_suite

Порядок заданий внутри страницы заданий:

  • true — случайный.

  • false — порядок, в котором задания были загружены.

По умолчанию значение true.

Булев

Нет

mixer_config.golden_task_distribution_function

Выдача контрольных заданий с неравномерной частотой. Позволяет изменять частоту проверки по мере выполнения заданий пользователем.

Если заполнено, то в real_task_count укажите максимальное количество заданий на странице. Чтобы использовать опцию, установите значение параметров golden_tasks_count:0 и min_golden_tasks_count:0.

Граница интервала — номер задания в пуле. Если на странице заданий несколько интервалов, то к странице будет применена настройка первого интервала.

Пример:
На первой странице заданий (интервал от 1 до 25) каждое пятое задание будет контрольным, на последующих страницах — каждое 25-е задание.

JSON

Нет

mixer_config.golden_task_distribution_function.scope
Подсчет заданий, выполненных пользователем:
  • POOL — учитывать задания, выполненные в пуле.

  • PROJECT — учитывать задания, выполненные в проекте.

Строка

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.distribution

Распределение контрольных заданий внутри интервала. У параметра одно возможное значение — UNIFORM.

Строка

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.window_days

Период, за который нужно подсчитывать выполненные задания (количество дней).

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals[]

Границы интервалов и количество контрольных заданий в интервале.

Массив JSON-объектов

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals.from

Начало интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals.to

Конец интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.golden_task_distribution_function.intervals.frequency

Частота выдачи контрольных заданий в интервале. Первое задание в интервале контрольное. Например, при значении frequency: 3 задания 1,4,7 и т. д. будут контрольными.

Число

Да, если используется выдача контрольных заданий с неравномерной частотой

mixer_config.training_task_distribution_function

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

Если заполнено, то в real_task_count укажите максимальное количество заданий на странице. Чтобы использовать опцию, установите значение параметров training_task_count:0 и min_training_tasks_count:0.

Пример:
На первой странице заданий (интервал от 1 до 25) каждое пятое задание будет обучающим, на последующих страницах — каждое 25-е задание.

JSON

Нет

mixer_config.training_task_distribution_function.scope
Подсчет заданий, выполненных пользователем:
  • POOL — учитывать задания, выполненные в пуле.

  • PROJECT — учитывать задания, выполненные в проекте.

Строка

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.distribution

Распределение обучающих заданий внутри интервала. У параметра одно возможное значение — UNIFORM.

Строка

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.window_days

Период, за который нужно подсчитывать выполненные задания (количество дней).

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals[]

Границы интервалов и количество контрольных заданий в интервале.

Массив JSON-объектов

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals.from

Начало интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals.to

Конец интервала (номер задания, выполненного пользователем в проекте или пуле).

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

mixer_config.training_task_distribution_function.intervals.frequency

Частота выдачи обучающих заданий в интервале. Первое задание в интервале обучающее. Например, при значении frequency: 3 задания 1,4,7 и т. д. будут обучающими.

Число

Да, если используется выдача обучающих заданий с неравномерной частотой

id

Идентификатор пула.

Строка

Не используется

status

Статус пула:

  • OPEN — открыт;

  • CLOSED — закрыт;

  • ARCHIVED — архивный.

Строка

Не используется

last_close_reason

Причина, по которой пул был закрыт в последний раз:

  • MANUAL — закрыт заказчиком.

  • EXPIRED — истек срок, указанный в ключе will_expire.

  • COMPLETED — закрыт автоматически, так как все задания в пуле выполнены.

  • NOT_ENOUGH_BALANCE — закрыт автоматически, так как закончились деньги на счете в Толоке.

  • ASSIGNMENTS_LIMIT_EXCEEDED — закрыт автоматически, так как превышен лимит выданных страниц заданий (не более 2 млн).

  • BLOCKED — закрыт автоматически, так как аккаунт заказчика заблокирован администратором Толоки.

Строка

Не используется

created

Дата и время создания пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Не используется

last_started

Дата и время последнего запуска пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Не используется

last_stopped

Дата и время последней остановки пула по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

Строка

Не используется

type
Тип пула:
  • REGULAR — обычный пул;

  • TRAINING — обучающий пул.

Строка

Не используется