Atribuição de Tarefas
Controle a distribuição de instâncias no Potato — atribuições sequenciais, aleatórias, com sobreposição uniforme e personalizadas por anotador para gerenciar carga de trabalho e cobertura com precisão.
O Potato oferece estratégias flexíveis de atribuição de tarefas para controlar como as instâncias de anotação são distribuídas entre os anotadores.
Visão geral
A atribuição de tarefas controla:
- Quais itens cada anotador vê
- Quantos itens cada anotador completa
- Quantas anotações cada item recebe
- A ordem em que os itens são apresentados
Principais opções de configuração
| Opção | Descrição | Padrão |
|---|---|---|
assignment_strategy | Estratégia para atribuir itens | random |
max_annotations_per_user | Máximo de itens por anotador | ilimitado |
max_annotations_per_item | Anotações-alvo por item | 3 |
Estratégias de atribuição
Atribuição aleatória
Atribui os itens aleatoriamente aos anotadores, garantindo uma distribuição imparcial.
assignment_strategy: random
max_annotations_per_item: 3Ideal para: tarefas de anotação gerais em que a ordem não importa.
Atribuição em ordem fixa
Atribui os itens na ordem em que aparecem no conjunto de dados.
assignment_strategy: fixed_order
max_annotations_per_item: 2Ideal para: tarefas em que os anotadores devem ver os itens em uma sequência específica.
Atribuição por menos anotados
Prioriza os itens com menos anotações existentes, garantindo uma distribuição equilibrada.
assignment_strategy: least_annotated
max_annotations_per_item: 5Ideal para: garantir que todos os itens recebam cobertura adequada antes que qualquer item receba anotações em excesso.
Atribuição por diversidade máxima
Prioriza os itens com maior discordância entre as anotações existentes.
assignment_strategy: max_diversity
max_annotations_per_item: 4Ideal para: controle de qualidade e resolução de itens ambíguos.
Atribuição por aprendizado ativo
Usa aprendizado de máquina para priorizar instâncias incertas.
assignment_strategy: active_learning
active_learning:
enabled: true
schema_names: ["sentiment"]
min_annotations_per_instance: 2
min_instances_for_training: 20
update_frequency: 10Consulte Aprendizado Ativo para a configuração completa.
Configuração
Configuração moderna (recomendada)
# Strategy selection
assignment_strategy: random
# Limits
max_annotations_per_user: 10 # -1 for unlimited
max_annotations_per_item: 3 # -1 for unlimited
# Optional: nested configuration
assignment:
strategy: random
max_annotations_per_item: 3
random_seed: 1234Configuração legada
A configuração mais antiga automatic_assignment ainda é suportada:
automatic_assignment:
on: true
output_filename: task_assignment.json
sampling_strategy: random # 'random' or 'ordered'
labels_per_instance: 3 # Annotations per item
instance_per_annotator: 5 # Items per annotator
test_question_per_annotator: 0Perguntas de teste
Insira perguntas de verificação de atenção na fila de anotação:
Definindo perguntas de teste
Adicione _testing ao ID da instância no seu arquivo de dados:
text,id
"This is test question 1",0_testing
"Regular item",dkjfdOu em JSON:
[
{"id": "0_testing", "text": "This is a test question"},
{"id": "regular_001", "text": "Normal annotation item"}
]Configuração
automatic_assignment:
on: true
test_question_per_annotator: 2 # Insert 2 test questions per annotatorExemplos de configuração
Atribuição aleatória básica
annotation_task_name: "Sentiment Analysis"
assignment_strategy: random
max_annotations_per_user: 20
max_annotations_per_item: 3Atribuição focada em qualidade
annotation_task_name: "Quality Annotation"
assignment_strategy: max_diversity
max_annotations_per_item: 5
max_annotations_per_user: 50Configuração de crowdsourcing
annotation_task_name: "Crowdsourced Task"
assignment_strategy: random
max_annotations_per_user: 10
max_annotations_per_item: 3
# Crowdsourcing settings
hide_navbar: true
jumping_to_id_disabled: true
login:
type: url_direct
url_argument: workerIdConfiguração de aprendizado ativo
assignment_strategy: active_learning
active_learning:
enabled: true
schema_names: ["sentiment", "topic"]
min_annotations_per_instance: 2
min_instances_for_training: 20
update_frequency: 10
classifier_name: "sklearn.linear_model.LogisticRegression"
vectorizer_name: "sklearn.feature_extraction.text.TfidfVectorizer"Integração com o painel de administração
Monitore e ajuste as configurações de atribuição pelo painel de administração:
- Navegue até
/admin - Vá para a aba Configuration
- Modifique:
- Máximo de anotações por usuário
- Máximo de anotações por item
- Estratégia de atribuição
As alterações entram em vigor imediatamente, sem reiniciar o servidor.
Leitura adicional
- Aprendizado Ativo - Priorização de atribuição baseada em ML
- Controle de Qualidade - Verificações de atenção e padrões de referência
- Atribuição por Categoria - Encaminhe itens conforme a especialidade do anotador
- Integração de Crowdsourcing - Integração com MTurk e Prolific
Para detalhes de implementação, consulte a documentação de origem.