Atribuição de tarefas
Controle como o Potato distribui os itens de anotação entre os anotadores. Abrange todas as estratégias de atribuição, incluindo a estratégia Batch personalizada para estudos de rodadas repetidas, e a recuperação de atribuições abandonadas por trabalhadores do Prolific ou bloqueados pelo QC.
A atribuição de tarefas controla quais itens cada anotador vê, quantos ele conclui, quantas anotações cada item recebe e a ordem em que os itens aparecem. Esta página aborda as estratégias de atribuição do Potato, a estratégia Batch personalizada para desenhos de estudo de rodadas repetidas e como recuperar atribuições abandonadas por trabalhadores de crowdsourcing.
Estratégias de atribuição
Defina assignment_strategy como um dos seguintes valores:
| Estratégia | O que faz |
|---|---|
random | Atribui itens aleatoriamente (o valor padrão). |
fixed_order | Atribui itens na ordem do conjunto de dados. |
least_annotated | Prioriza os itens com o menor número de anotações até o momento. |
max_diversity | Prioriza os itens com o maior desacordo entre as anotações existentes. |
diversity_clustering | Incorpora e agrupa os itens em clusters e, em seguida, os serve em rodízio entre os clusters. |
batch | Restringe a atribuição a coortes explícitas de anotadores/itens (veja abaixo). |
priority | Serve primeiro os itens de maior prioridade; consulte a fila de triagem. |
active_learning | Usa um modelo para priorizar os itens incertos. |
assignment_strategy: random
max_annotations_per_user: 10 # -1 for unlimited
max_annotations_per_item: 3 # -1 for unlimitedAtribuição Batch personalizada
A estratégia batch atribui lotes predefinidos de itens a anotadores específicos. Ela foi feita para desenhos de estudo de rodadas repetidas, em que os mesmos anotadores que viram um lote da primeira rodada precisam receber o lote correspondente da segunda rodada.
assignment_strategy: batch
num_annotators_per_item: 4
batch_assignment:
groups:
- name: round1_batch_a
annotators: ["u1", "u2", "u3", "u4"]
instances: ["r2_item_001", "r2_item_002"]Para lotes longos, mova a lista de instâncias para um arquivo de dados separado (json, jsonl, csv, tsv ou parquet); os IDs são lidos com item_properties.id_key:
batch_assignment:
groups:
- name: round1_batch_a
annotators: ["u1", "u2", "u3", "u4"]
instances_file: batches/round1_batch_a.csvOs itens também podem indicar diretamente seus anotadores permitidos, o que é útil quando os dados da segunda rodada são gerados a partir das anotações da primeira:
assignment_strategy: batch
batch_assignment:
annotator_key: round1_annotatorsOs usuários fora das coortes configuradas não recebem nenhum item sob essa estratégia.
Recuperação de atribuições abandonadas
Em lotes de crowdsourcing, os trabalhadores podem devolver os itens, exceder o tempo limite ou não passar nas verificações de qualidade depois de receber os itens atribuídos. Com instance_reclaim ativado, o Potato devolve ao pool os itens atribuídos, mas não anotados, para que possam ser atribuídos novamente.
instance_reclaim:
enabled: true
timeout_hours: 24
preserve_completed_annotations: trueA recuperação é executada automaticamente para atribuições obsoletas quando a atribuição é executada, para trabalhadores do Prolific cujos envios passam a RETURNED, TIMED-OUT ou REJECTED e para usuários bloqueados por falha em uma verificação de atenção (que liberam imediatamente seus itens não anotados).
Você pode decidir, motivo a motivo, se mantém as anotações concluídas de um trabalhador recuperado. Isso permite confiar no trabalho parcial de um trabalhador do Prolific que excedeu o tempo limite e, ao mesmo tempo, descartar tudo de um trabalhador bloqueado pelo controle de qualidade:
instance_reclaim:
enabled: true
timeout_hours: 24
preserve_completed_annotations: true # default for reasons not overridden below
prolific:
status_policies:
TIMED-OUT:
preserve_completed_annotations: true
RETURNED:
preserve_completed_annotations: true
REJECTED:
preserve_completed_annotations: false
quality_control:
preserve_completed_annotations: falseQuando preserve_completed_annotations é false, o Potato apaga as anotações desse usuário para os itens a ele atribuídos, remove seu crédito de anotador e devolve os itens ao pool. A resposta da verificação de atenção que falhou e aciona um bloqueio nunca é mantida.
Relacionados
- Cobertura heterogênea — limites de anotadores por item e amostragem de sobreposição
- Crowdsourcing — integração com MTurk e Prolific
- Fila de triagem baseada em sinais — a estratégia
priority
Para detalhes de implementação, consulte a documentação de origem.