Мнение большинства
Мнение большинства — это способ контроля качества, основанный на совпадении ответов большинства исполнителей, выполняющих одно и то же задание. Правильным считается ответ, выбранный большинством, другие ответы считаются неверными. В зависимости от доли правильных ответов вы можете либо увеличить значение навыка у исполнителя, либо заблокировать для него доступ к заданиям.
Алгоритм мнения большинства работает только с обязательными полями выходной спецификации.
Для проверки мнением большинства, на основе ответов исполнителя, можно настроить:
- подсчет значения навыка;
- обновление значения навыка;
- блокировку аккаунта исполнителя.
Чтобы настроить проверку, задайте значения ключей в массиве 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"
}
}
}
]
}
]
}
Чтобы задать другой период блокировки, измените значение параметров duration_unit и duration ключа configs.rules.action.parameters
:
Единица измерения длительности блокировки:
MINUTES
— минуты;HOURS
— часы;DAYS
— дни;PERMANENT
— навсегда.
Длительность блокировки.
{
...
"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[]
. Он является обязательным и содержит следующие параметры:
Параметр |
Описание |
object Параметры для сбора статистики (например, количество пропусков заданий в пуле). |
|
object Набор правил контроля качества, которые нужно применить. |
'configs[].collector_config'
Параметр |
Описание |
|
string Критерий, на котором основан блок качества:
|
object (обязательный при условии) Обязательный, если
Параметры для сбора данных (зависят от блока контроля качества, указанного в ключе |
'configs[].collector_config.parameters'
Параметр |
Описание |
|
integer (обязательный при условии) Обязательный, если значение Количество исполнителей, которое считается большинством (например, 3 из 5). |
|
integer (обязательный при условии) Обязательный, если значение Минимальная приемлемая скорость ответа в секундах. |
|
integer (обязательный при условии) Обязательный, если
Максимальное количество последних заданий, выполненных исполнителем в проекте, ответов исполнителя или показов капчи в рамках проекта, которое нужно учитывать при подсчете. Если поле отсутствует, в расчете учитываются все задания, ответы исполнителя или показы капчи в пуле. |
'configs[].rules'
Параметр |
Описание |
object Действие в случае выполнения условий (например, закрыть доступ к проекту). |
|
object Условия (например, пропуск 10 страниц заданий подряд). Несколько условий объединяются с помощью оператора «и». |
'configs[].rules.action'
object Параметры действия. |
|
|
string Тип действия:
|
'configs[].rules.action.parameters'
Параметр |
Описание |
|
string Уровень ограничения:
|
|
string (обязательный при условии) Обязателен, если Идентификатор навыка, который необходимо обновлять по мере выполнения заданий. |
|
string (обязательный при условии) Обязателен, если Значение, которое нужно присвоить навыку:
|
|
integer (обязательный при условии) Обязателен, если Фиксированное значение, которое нужно присвоить навыку (число от 0 до 100). |
|
integer (обязательный при условии) Обязателен, если Значение определяет, на сколько изменить перекрытие. |
|
string (обязательный при условии) Обязателен, если Комментарий (причина отклонения ответов). Доступен заказчику и исполнителю. |
|
string Единица измерения длительности блокировки:
|
|
integer Длительность блокировки. |
|
string Комментарий (причина блокировки). Доступен только заказчику. |
|
boolean Определяет, нужно ли открыть закрытый пул:
|
'configs[].rules.conditions'
Параметр |
Описание |
|
string Значения, которые проверяются в условии:
Несколько условий с одинаковым значением поля |
|
string Оператор сравнения (данные
|
|
integer Пороговое значение переменной, указанной в |
Обязательный параметр