Majority vote is a quality control method based on matching responses from the majority of Tolokers who complete the same task. The response chosen by the majority is considered correct, and other responses are considered incorrect. Depending on the percentage of correct responses, you can either increase the Toloker's skill value, or ban the Toloker from tasks.
The majority vote algorithm only works with the required fields of the output specification.
For majority vote verification based on Toloker responses, you can set up the following:
To set up the verification, define key values in the quality_control.configs
array in the pool settings.
The pool is set up to use verification with an overlap of 5. The calculation uses tasks in which three or more Tolokers submitted the same response. The percentage of correct responses (those that match the majority vote) is stored as skill level 43. You can apply the skill for filtering Tolokers. The skill is first calculated after 2 tasks that coincide with the majority vote have been completed.
You can ban a Toloker from accessing the tasks in the project for a given number of days, hours, minutes (at a time or in total), or permanently.
{ "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" } } } ] } ]}
To set a different ban period, change the
action
key:
{ ... "action": { "type": "RESTRICTION_V2", "parameters": { "scope": "PROJECT", "duration_unit": "HOURS", "duration": 12, "private_comment": "Does not correspond to the opinion of the majority" } } ...}
Parameter | Overview |
---|---|
configs[] | array of objects | required Array of quality control settings. |
configs[].collector_config | object | required Parameters for collecting statistics (for example, the number of tasks skipped in the pool). |
configs[].collector_config.type | string | required Criteria for the quality control rule:
|
configs[].collector_config.parameters | object | required if
Parameters for collecting data (depends on the quality control rule specified in the |
configs[].collector_config.parameters.answer_threshold | integer | required The number of Tolokers considered the majority (for example, 3 out of 5). |
configs[].collector_config.parameters.history_size | integer | required The maximum number of the Toloker's recent responses in the project to use for calculating the percentage of correct responses. If this field is omitted, the calculation is based on all the Toloker's responses in the pool. |
configs[].rules | object | required Parameters for the control rule conditions and actions. |
configs[].rules.conditions | object | required Conditions (for example, 10 task suites skipped in a row). Multiple conditions are combined with the AND operator. |
configs[].rules.conditions.key | string | required
|
configs[].rules.conditions.operator | string | required
|
configs[].rules.conditions.value | integer | required The threshold value of the variable specified in key . |
configs[].rules.action | object | required The action to perform if conditions are met (for example, block access to the project). |
configs[].rules.action.type | string | required
|
configs[].rules.action.parameters | object | required Action parameters. |
configs[].rules.action.parameters.scope | string | required
|
configs[].rules.action.parameters.skill_id | string | required if Required if type=SET_SKILL_FROM_OUTPUT_FIELD .ID of the skill to update as tasks are completed. |
configs[].rules.action.parameters.from_field | string | required if
|
configs[].rules.action.parameters.skill_value | integer | required if Required if type=SET_SKILL_FROM_OUTPUT_FIELD .A fixed value to assign to the skill (a number from 0 to 100). |
configs[].rules.action.parameters.delta | integer | required if Required if type=CHANGE_OVERLAP .The value determines the amount to change the overlap by. |
configs[].rules.action.parameters.public_comment | string | required if Required if type=REJECT_ALL_ASSIGNMENTS .Comments (the reason for rejecting responses). Available to the requester and the Toloker. |
configs[].rules.action.parameters.duration_unit | string Ban duration unit:
|
configs[].rules.action.parameters.duration | integer Ban duration. |
configs[].rules.action.parameters.private_comment | string Comments (the reason for blocking access). Visible only to the requester. |
configs[].rules.action.parameters.open_pool | boolean
|
Last updated: August 8, 2023