Мнение большинства
Обратите внимание
Документация на русском языке может быть устаревшей. Самые последние изменения доступны в документации на английском языке.
Описание
Мнение большинства — это способ контроля качества, основанный на совпадении ответов большинства исполнителей, выполняющих одно и то же задание. Правильным считается ответ, выбранный большинством, другие ответы считаются неверными. В зависимости от доли правильных ответов вы можете либо увеличить значение навыка у исполнителя, либо заблокировать для него доступ к заданиям.
Алгоритм мнения большинства работает только с обязательными полями выходной спецификации.
Для проверки мнением большинства, на основе ответов исполнителя, можно настроить:
- подсчет значения навыка;
- обновление значения навыка;
- блокировку аккаунта исполнителя.
Чтобы настроить проверку, задайте значения ключей в массиве quality_control.configs
(параметры пула).
Тело запроса
Настроена проверка для пула с перекрытием «5». При подсчете учитываются задания, в которых совпали ответы трех и более исполнителей. Доля правильных (совпавших с большинством) ответов сохраняется как значение навыка 43. Навык можно применить для отбора исполнителей. Первый расчет навыка производится после выполнения двух заданий, совпавших с мнением большинства.
Вы можете заблокировать доступ исполнителя к заданиям в проекте на необходимое количество дней, часов, минут (по отдельности и в совокупности) или навсегда.
Блокировка на 10 дней
{
"configs": [
{
"collector_config": {
"type": "MAJORITY_VOTE",
"parameters": {
"answer_threshold": 3,
"history_size": 10
}
},
"rules": [
{
"conditions": [
{
"key": "total_answers_count",
"operator": "GT",
"value": 2
}
],
"action": {
"type": "SET_SKILL_FROM_OUTPUT_FIELD",
"parameters": {
"skill_id": "43",
"from_field": "correct_answers_rate"
}
}
},
{
"conditions": [
{
"key": "total_answers_count",
"operator": "GTE",
"value": 5
},
{
"key": "incorrect_answers_rate",
"operator": "GT",
"value": 3
}
],
"action": {
"type": "RESTRICTION_V2",
"parameters": {
"scope": "PROJECT",
"duration_unit": "DAYS",
"duration": 10,
"private_comment": "Does not correspond to the opinion of the majority"
}
}
}
]
}
]
}
Чтобы задать другой период блокировки, измените значение соответствующего параметра ключа action
:
{
...
"action": {
"type":"RESTRICTION_V2",
"parameters": {
"scope": "PROJECT",
"duration_unit": "HOURS",
"duration": 12,
"private_comment": "Does not correspond to the opinion of the majority"
}
}
...
}
{
...
"action": {
"type":"RESTRICTION_V2",
"parameters": {
"scope": "PROJECT",
"duration_unit": "MINUTES",
"duration": 30,
"private_comment": "Does not correspond to the opinion of the majority"
}
}
...
}
{
...
"action": {
"type":"RESTRICTION_V2",
"parameters": {
"scope": "PROJECT",
"duration_unit": "PERMANENT",
"private_comment": "Does not correspond to the opinion of the majority"
}
}
...
}
Параметр |
Описание |
configs[] |
array of objects | обязательный Массив настроек контроля качества. |
configs.collector_config |
object | обязательный Параметры для сбора статистики (например, количество пропусков заданий в пуле). |
configs.collector_config.type |
string | обязательный Критерий, на котором основан блок качества:
|
configs.collector_config. parameters.answer_ threshold |
integer | обязательный Количество исполнителей, которое считается большинством (например, 3 из 5). |
configs.collector_config. parameters.history_size |
integer | обязательный Максимальное количество последних ответов исполнителя в рамках проекта, которое нужно учитывать при подсчете доли правильных ответов. Если поле отсутствует, в расчете учитываются все ответы исполнителя в рамках пула. |
configs.rules.conditions |
object | обязательный Условия (например, пропуск 10 страниц заданий подряд). Несколько условий объединяются с помощью оператора «или». |
configs.rules.conditions.key |
string | обязательный Значения, которые проверяются в условии:
|
configs.rules.conditions. operator |
string | обязательный Оператор сравнения (данные
|
configs.rules.conditions. value |
integer | обязательный
Пороговое значение переменной, указанной в |
configs.rules.action |
object | обязательный Действие в случае выполнения условий (например, закрыть доступ к проекту). |
configs.rules.action.type |
string | обязательный Тип действия:
|
configs.rules.action. parameters |
object | обязательный Параметры действия. |
configs.rules.action. parameters.scope |
string | обязательный Уровень ограничения:
|
configs.collector_config. parameters |
object | обязательный при условии Обязательный, если Параметры для сбора данных (зависят от блока контроля качества, указанного в ключе |
configs.rules.action. parameters.skill_id |
string | обязательный при условии Обязателен, если Идентификатор навыка, который необходимо обновлять по мере выполнения заданий. |
configs.rules.action. parameters.from_field |
string | обязательный при условии Обязателен, если Значение, которое нужно присвоить навыку:
|
configs.rules.action. parameters.skill_value |
integer | обязательный при условии Обязателен, если Фиксированное значение, которое нужно присвоить навыку (число от 0 до 100). |
configs.rules.action. parameters.delta |
integer | обязательный при условии Обязателен, если Значение определяет, на сколько изменить перекрытие. |
configs.rules.action. parameters.public_comment |
string | обязательный при условии Обязателен, если Комментарий (причина отклонения ответов). Доступен заказчику и исполнителю. |
configs.rules.action. parameters.duration_unit |
string Единица измерения длительности блокировки:
|
configs.rules.action. parameters.duration |
integer Длительность блокировки. |
configs.rules. action.parameters. private_comment |
string Комментарий (причина блокировки). Доступен только заказчику. |
configs.rules.action. parameters.open_pool |
boolean Определяет, нужно ли открыть закрытый пул:
|