Документация Толоки

Повторное выполнение заданий

Описание

Толока может отправлять задания на повторное выполнение, если:

  • сработал фильтр по навыку и исполнитель потерял доступ к пулу;
  • заказчик заблокировал доступ исполнителя к заданиям;
  • задания не прошли отложенную приемку.

Тело запроса

Отправлять страницы заданий на повторное выполнение, если сработал блок контроля качества или фильтр по навыку

{
  "configs": [{
    "collector_config": {
      "type": "USERS_ASSESSMENT"
    },
    "rules": [{
      "conditions": [{
          "key": "pool_access_revoked_reason",
          "operator": "EQ",
          "value": "SKILL_CHANGE"
        },
        {
          "key": "skill_id",
          "operator": "EQ",
          "value": "2626"
        }
      ],
      "action": {
        "type": "CHANGE_OVERLAP",
        "parameters": {
            "delta": 1,
            "open_pool": true
        }
      }
    }]
  }]
}

Параметр

Описание

configs[]

array of objects | обязательный

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

configs.collector_config

object | обязательный

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

configs.collector_config.type

string | обязательный

Критерий, на котором основан блок качества:

  • GOLDEN_SET — количество правильных и неправильных ответов в контрольных заданиях.
  • MAJORITY_VOTE — доля ответов, которые совпали с мнением большинства.
  • CAPTCHA — количество успешно и неуспешно введенных капч.
  • INCOME — плата за задания, выполненные исполнителем за последние 24 часа.
  • SKIPPED_IN_ROW_ASSIGNMENTS — количество пропущенных подряд страниц заданий.
  • ANSWER_COUNT — количество страниц заданий, выполненных исполнителем в пуле.
  • ASSIGNMENT_SUBMIT_TIME — количество «быстрых» ответов (минимальная скорость ответа задается в параметрах).
  • ACCEPTANCE_RATE — доля ответов исполнителя, которые были отклонены при отложенной приемке заданий.
  • ASSIGNMENTS_ASSESSMENT — количество принятых или отклоненных заданий при включенной отложенной приемке заданий.
  • USERS_ASSESSMENT — значение навыка исполнителя и его блокировка.

configs.collector_config. parameters.history_size

integer | обязательный

Максимальное количество последних ответов исполнителя в рамках проекта, которое нужно учитывать при подсчете доли правильных ответов.

Если поле отсутствует, в расчете учитываются все ответы исполнителя в рамках пула.

configs.rules.conditions

object | обязательный

Условия (например, пропуск 10 страниц заданий подряд). Несколько условий объединяются с помощью оператора «или».

configs.rules.conditions.key

string | обязательный

Значение, которое проверяется в условии:

  • pool_access_revoked_reason — причина, по которой исполнитель потерял доступ к пулу.

configs.rules.conditions. operator

string | обязательный

Оператор сравнения (данные key сравниваются с пороговым значением из value):

  • EQ («Equal») — равно.
  • NE («Not equal to») — не равно.
  • GT («Greater than») — больше чем.
  • LT («Less than») — меньше чем.
  • GTE («Greater than equal to») — больше или равно.
  • LTE («Less than equal to») — меньше или равно.

configs.rules.conditions. value

string | обязательный

Причина, по которой исполнитель потерял доступ к пулу:

  • SKILL_CHANGE — изменилось значение навыка;
  • RESTRICTION — сработала блокировка исполнителя в блоке контроля качества (например, по быстрым ответам).

configs.rules.action

object | обязательный

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

configs.rules.action.type

string | обязательный

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

configs.rules.action. parameters

object | обязательный Параметры действия.

configs.rules.action. parameters.scope

string | обязательный

Уровень ограничения:

  • POOL — пул. Не влияет на рейтинг исполнителя.
  • PROJECT — проект. Влияет на рейтинг исполнителя.
  • ALL_PROJECTS — все проекты заказчика.

configs.collector_config. parameters

object | обязательный при условии

Обязательный, если configs.collector_config.type=``GOLDEN_SET, MAJORITY_VOTE, CAPTCHA, ASSIGNMENT_SUBMIT_TIME.

Параметры для сбора данных (зависят от блока контроля качества, указанного в ключе type).

configs.rules.action. parameters.skill_id

string | обязательный при условии

Обязателен, если type=SET_SKILL_FROM_OUTPUT_FIELD.

Идентификатор навыка, который необходимо обновлять по мере выполнения заданий.

configs.rules.action. parameters.from_field

string | обязательный при условии

Обязателен, если type=SET_SKILL_FROM_OUTPUT_FIELD.

Значение, которое нужно присвоить навыку:

  • correct_answers_rate — доля правильных ответов;
  • wrong_answers_rate — доля неправильных ответов.

configs.rules.action. parameters.skill_value

integer | обязательный при условии

Обязателен, если type=SET_SKILL_FROM_OUTPUT_FIELD. Фиксированное значение, которое нужно присвоить навыку (число от 0 до 100).

configs.rules.action. parameters.delta

integer | обязательный при условии

Обязателен, если type=CHANGE_OVERLAP. Значение определяет, на сколько изменить перекрытие.

configs.rules.action. parameters.public_comment

string | обязательный при условии

Обязателен, если type=REJECT_ALL_ASSIGNMENTS. Комментарий (причина отклонения ответов). Доступен заказчику и исполнителю.

configs.rules.conditions.key

string

Учитывать только случаи, когда исполнитель теряет доступ к заданиям из-за снижения значения навыка: "key": "skill_id".

configs.rules.conditions. value

string

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

configs.rules.action. parameters.duration_unit

string

Единица измерения длительности блокировки:

  • MINUTES — минуты;
  • HOURS — часы;
  • DAYS — дни;
  • PERMANENT — навсегда.

configs.rules.action. parameters.duration

integer

Длительность блокировки.

configs.rules. action.parameters. private_comment

string

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

configs.rules.action. parameters.open_pool

boolean

Определяет, нужно ли открыть закрытый пул:

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