Fase de Treinamento
Crie fases de treinamento e qualificação no Potato com itens de prática, respostas de referência e limites de aprovação/reprovação para certificar anotadores antes da tarefa principal.
O Potato 2.0 inclui uma fase de treinamento opcional que ajuda a qualificar os anotadores antes que eles iniciem a tarefa principal de anotação. Os anotadores respondem a perguntas de prática com respostas corretas conhecidas e recebem feedback sobre seu desempenho.
Como o treinamento filtra os anotadores
Casos de uso
- Garantir que os anotadores entendam a tarefa
- Filtrar anotadores de baixa qualidade
- Oferecer prática guiada antes das anotações reais
- Coletar métricas de qualidade de referência
- Ensinar as diretrizes de anotação por meio de exemplos
Como funciona
- Os anotadores completam um conjunto de perguntas de treinamento
- Eles recebem feedback imediato sobre cada resposta
- O progresso é acompanhado em relação aos critérios de aprovação
- Apenas os anotadores aprovados podem avançar para a tarefa principal
Configuração
Configuração básica
training:
enabled: true
data_file: "data/training_data.json"
annotation_schemes: ["sentiment"]
passing_criteria:
min_correct: 3
require_all_correct: false
allow_retry: true
failure_action: "repeat_training"Configuração completa
phases:
order: [consent, instructions, training, annotation]
consent:
type: consent
file: surveyflow/consent.json
instructions:
type: instructions
file: surveyflow/instructions.html
training:
type: training
file: data/training_data.jsonCritérios de aprovação
Você pode definir vários critérios para aprovação na fase de treinamento:
Mínimo de acertos
passing_criteria:
min_correct: 3O anotador deve acertar pelo menos 8 das 10 perguntas.
Exigir todas corretas
passing_criteria:
require_all_correct: trueO anotador deve responder corretamente a todas as perguntas para ser aprovado.
Máximo de erros
passing_criteria:
max_mistakes: 5O anotador é desqualificado após 3 erros no total.
Máximo de erros por pergunta
passing_criteria:
max_mistakes_per_question: 2O anotador é desqualificado após 2 erros em qualquer pergunta individual.
Critérios combinados
passing_criteria:
min_correct: 3
max_mistakes: 5
max_mistakes_per_question: 2Deve acertar 8 perguntas E não errar nenhuma pergunta individual mais de 3 vezes.
Formato dos dados de treinamento
Os dados de treinamento devem incluir respostas corretas e explicações opcionais:
[
{
"id": "train_1",
"text": "I absolutely love this product! Best purchase ever!",
"correct_answers": {
"sentiment": "Positive"
},
"explanation": "This text expresses strong positive sentiment with words like 'love' and 'best'."
},
{
"id": "train_2",
"text": "This is the worst service I've ever experienced.",
"correct_answers": {
"sentiment": "Negative"
},
"explanation": "The words 'worst' and the overall complaint indicate negative sentiment."
},
{
"id": "train_3",
"text": "The package arrived on time.",
"correct_answers": {
"sentiment": "Neutral"
},
"explanation": "This is a factual statement without emotional indicators."
}
]Treinamento com múltiplos esquemas
Para tarefas com vários esquemas de anotação:
{
"id": "train_1",
"text": "Apple announced new iPhone features yesterday.",
"correct_answers": {
"sentiment": "Neutral",
"topic": "Technology"
},
"explanation": {
"sentiment": "This is a factual news statement.",
"topic": "The text discusses Apple and iPhone, which are tech topics."
}
}Experiência do usuário
Fluxo de treinamento
- O usuário vê o indicador "Training Phase"
- A pergunta é exibida com o formulário de anotação
- O usuário envia sua resposta
- O feedback é mostrado imediatamente:
- Correto: marca verde, avança para a próxima
- Incorreto: X vermelho, explicação exibida, opção de tentar novamente
Exibição de feedback
Quando um anotador responde incorretamente:
- A resposta correta é destacada
- A explicação fornecida é exibida
- O botão de tentar novamente aparece (se as novas tentativas estiverem habilitadas)
- O progresso em relação aos critérios de aprovação é exibido
Monitoramento de administração
Acompanhe o desempenho do treinamento no painel de administração:
- Taxas de conclusão
- Média de respostas corretas
- Taxas de aprovação/reprovação
- Tempo gasto no treinamento
- Precisão por pergunta
Acesse pelos endpoints da API /admin:
GET /api/admin/training/stats
GET /api/admin/training/user/{user_id}
Exemplo: treinamento de análise de sentimento
annotation_task_name: "Sentiment Analysis"
task_dir: "."
port: 8000
data_files:
- "data/reviews.json"
item_properties:
id_key: id
text_key: text
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the sentiment of this review?"
labels:
- Positive
- Negative
- Neutral
sequential_key_binding: true
training:
enabled: true
data_file: "data/training_data.json"
annotation_schemes: ["sentiment"]
passing_criteria:
min_correct: 3
require_all_correct: false
allow_retry: true
failure_action: "repeat_training"
phases:
order: [training, annotation]
training:
type: training
file: "data/training_data.json"
output_annotation_dir: "output/"
export_annotation_format: "jsonl"
user_config:
allow_all_users: trueExemplo: treinamento de NER
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight named entities"
labels:
- Person
- Organization
- Location
- Date
training:
enabled: true
data_file: "data/ner_training.json"
annotation_schemes: ["entities"]
passing_criteria:
min_correct: 2
allow_retry: trueDados de treinamento para anotação de span:
{
"id": "train_1",
"text": "Tim Cook announced that Apple will open a new store in New York on March 15.",
"correct_answers": {
"entities": [
{"start": 0, "end": 8, "label": "Person"},
{"start": 24, "end": 29, "label": "Organization"},
{"start": 54, "end": 62, "label": "Location"},
{"start": 66, "end": 74, "label": "Date"}
]
},
"explanation": "Tim Cook is a Person, Apple is an Organization, New York is a Location, and March 15 is a Date."
}Boas práticas
1. Comece simples
Comece com exemplos diretos antes de introduzir casos extremos:
[
{"text": "I love this!", "correct_answers": {"sentiment": "Positive"}},
{"text": "I hate this!", "correct_answers": {"sentiment": "Negative"}},
{"text": "It arrived yesterday.", "correct_answers": {"sentiment": "Neutral"}}
]2. Cubra todos os rótulos
Garanta que o treinamento inclua exemplos de cada rótulo possível:
[
{"correct_answers": {"sentiment": "Positive"}},
{"correct_answers": {"sentiment": "Negative"}},
{"correct_answers": {"sentiment": "Neutral"}}
]3. Escreva explicações claras
As explicações devem ensinar as diretrizes de anotação:
{
"explanation": "While this text mentions a problem, the overall tone is constructive and the reviewer expresses satisfaction with the resolution. This makes it Positive rather than Negative."
}4. Defina critérios razoáveis
Não exija perfeição desnecessariamente:
passing_criteria:
require_all_correct: true5. Inclua casos extremos
Adicione exemplos complicados para preparar os anotadores:
{
"text": "Not bad at all, I guess it could be worse.",
"correct_answers": {"sentiment": "Neutral"},
"explanation": "Despite negative words like 'not bad' and 'worse', this is actually a lukewarm endorsement - neutral rather than positive or negative."
}Integração com fluxos de trabalho
O treinamento se integra a fluxos de trabalho de múltiplas fases:
passing_criteria:
min_correct: 3
max_mistakes_per_question: 2Considerações de desempenho
- Os dados de treinamento são carregados na inicialização
- O progresso é armazenado em memória por sessão
- Impacto mínimo no desempenho da anotação principal
- Considere separar treinamentos complexos em várias fases
Leitura adicional
- 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
- Fluxos de Trabalho de Múltiplas Fases - Fluxos de trabalho de anotação complexos
Para detalhes de implementação, consulte a documentação de origem.