Страницы заданий

Страница заданий — это задания, размещенные на одной веб-странице. Чтобы создать страницу заданий, в Толоку нужно загрузить JSON, который содержит:

  • входные данные заданий (например, текст, URL картинок);

  • правильные ответы (для контрольных заданий);

  • подсказки (для тренировочных заданий);

  • параметры распределения заданий.

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

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

Пример страницы заданий в JSON

{
    "id": "63614047-38c3-4ad4-8a86-99c5c651a9b8",
    "pool_id": "1",
    "tasks": [
        {"id": "49a333ea-2728-4c1c-ab1f-8ab1bfe4ee7e",
         "origin_task_id": "e3da7fe1-828d-4d9c-b49d-42c0eb5fcfde",
         "input_values": {
                "image_url": "www.image1.ru"
            },
            "known_solutions": [
                {
                    "correctness_weight": 0.95,
                    "output_values": {
                        "colour": "black"
                    }
                },
                {
                    "correctness_weight": 0.7,
                    "output_values": {
                        "colour": "gray"
                    }
                }
            ],
            "message_on_unknown_solution": "Слон черный"
        },
        {
            "input_values": {
                "image_url": "www.image2.ru"
            },
            "known_solutions": [
                {
                    "correctness_weight": 1,
                    "output_values": {
                        "colour": "white"
                    }
                }
            ],
            "message_on_unknown_solution": "Слон белый"
        }
    ],
    "overlap": 5,
    "infinite_overlap": false,
    "remaining_overlap": 3,
    "reserved_for": [],
    "unavailable_for": [],
    "issuing_order_override": 3,
    "mixed": true,
    "automerged": false,
    "created": "2016-04-18T12:43:04.988"
}

Ключи

Ключ

Значение

Тип данных

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

id

Идентификатор страницы заданий.

Строка

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

pool_id

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

Строка

Да

tasks[]

Данные заданий.

Массив

Да

tasks[].id

Идентификатор задания, если страница сформирована автоматически с помощью опции «умное смешивание» (см. подробнее в документе Толока. Руководство заказчика).

Строка

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

tasks[].origin_task_id
Идентификатор задания из другого пула, с которого было скопировано это задание, для проверки мнением большинства. Строка Не используется
tasks[].input_values

Входные данные для задания. Список пар:

"<id поля 1>": "<значение поля 1>",
"<id поля 2>": "<значение поля 2>",
...
"<id поля n>": "<значение поля n>"

JSON

Да

tasks[].known_solutions

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

JSON

Нет

tasks[].known_solutions.output_values

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

"<id поля 1>": "<правильный ответ>",
"<id поля 2>": "<правильный ответ>",
...
"<id поля n>": "<правильный ответ n>"            

JSON

Нет

tasks[].known_solutions.correctness_weight

Вес правильного ответа. Позволяет задать несколько вариантов правильных ответов и ранжировать их по правильности. Например, при весе правильного ответа 0.5 пользователю засчитывается половина ошибки. Чем правильнее ответ в correctValues, тем выше его вес.

Число с плавающей точкой

Нет

tasks[].message_on_unknown_solution

Подсказка к заданию (для тренировочных заданий).

Строка

Нет

overlap

Перекрытие страницы заданий.

Число

Нет, если при создании страницы заданий используется параметр
allow_defaults=true
и перекрытие указано в параметрах пула (ключ defaults.​default_​overlap_for_​new_task_suites).
infinite_overlap
Выдача страницы заданий с бесконечным перекрытием. Используется, например, для страниц обучающих заданий, чтобы выдать их всем пользователям:
  • true — установить бесконечное перекрытие;

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

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

Булев

Нет

remaining_overlap

Оставшееся перекрытие для каждого задания. Например, если для задания установлено перекрытие 5, а его разметили два человека, то значение remaining_overlap будет 3.

Если задание ожидает приемки или активно, ключ принимает значение 0.

Число

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

reserved_for[]

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

Массив

Нет

unavailable_for[]

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

Массив

Нет

issuing_order_override

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

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

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

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

Число с плавающей точкой

Нет

longitude
Долгота точки на карте для страницы заданий.

Число с плавающей точкой

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

latitude

Широта точки на карте для страницы заданий.

Число с плавающей точкой

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

mixed

Способ создания страницы заданий:

Булев

Нет

automerged
Флаг страницы заданий, созданной после слияния заданий. Значение:
  • true — страница заданий сгенерирована в результате слияния идентичных заданий;
  • false — обычная страница заданий, созданная «умным смешиванием» или заказчиком.
Булев Не используется
created

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

Строка

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

Ключ

Значение

Тип данных

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

id

Идентификатор страницы заданий.

Строка

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

pool_id

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

Строка

Да

tasks[]

Данные заданий.

Массив

Да

tasks[].id

Идентификатор задания, если страница сформирована автоматически с помощью опции «умное смешивание» (см. подробнее в документе Толока. Руководство заказчика).

Строка

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

tasks[].origin_task_id
Идентификатор задания из другого пула, с которого было скопировано это задание, для проверки мнением большинства. Строка Не используется
tasks[].input_values

Входные данные для задания. Список пар:

"<id поля 1>": "<значение поля 1>",
"<id поля 2>": "<значение поля 2>",
...
"<id поля n>": "<значение поля n>"

JSON

Да

tasks[].known_solutions

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

JSON

Нет

tasks[].known_solutions.output_values

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

"<id поля 1>": "<правильный ответ>",
"<id поля 2>": "<правильный ответ>",
...
"<id поля n>": "<правильный ответ n>"            

JSON

Нет

tasks[].known_solutions.correctness_weight

Вес правильного ответа. Позволяет задать несколько вариантов правильных ответов и ранжировать их по правильности. Например, при весе правильного ответа 0.5 пользователю засчитывается половина ошибки. Чем правильнее ответ в correctValues, тем выше его вес.

Число с плавающей точкой

Нет

tasks[].message_on_unknown_solution

Подсказка к заданию (для тренировочных заданий).

Строка

Нет

overlap

Перекрытие страницы заданий.

Число

Нет, если при создании страницы заданий используется параметр
allow_defaults=true
и перекрытие указано в параметрах пула (ключ defaults.​default_​overlap_for_​new_task_suites).
infinite_overlap
Выдача страницы заданий с бесконечным перекрытием. Используется, например, для страниц обучающих заданий, чтобы выдать их всем пользователям:
  • true — установить бесконечное перекрытие;

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

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

Булев

Нет

remaining_overlap

Оставшееся перекрытие для каждого задания. Например, если для задания установлено перекрытие 5, а его разметили два человека, то значение remaining_overlap будет 3.

Если задание ожидает приемки или активно, ключ принимает значение 0.

Число

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

reserved_for[]

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

Массив

Нет

unavailable_for[]

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

Массив

Нет

issuing_order_override

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

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

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

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

Число с плавающей точкой

Нет

longitude
Долгота точки на карте для страницы заданий.

Число с плавающей точкой

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

latitude

Широта точки на карте для страницы заданий.

Число с плавающей точкой

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

mixed

Способ создания страницы заданий:

Булев

Нет

automerged
Флаг страницы заданий, созданной после слияния заданий. Значение:
  • true — страница заданий сгенерирована в результате слияния идентичных заданий;
  • false — обычная страница заданий, созданная «умным смешиванием» или заказчиком.
Булев Не используется
created

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

Строка

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