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.
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
phases:
training:
enabled: true
data_file: "data/training_data.json"
schema_name: sentiment # Which annotation scheme to train
# Passing criteria
passing_criteria:
min_correct: 8 # Must get at least 8 correct
total_questions: 10Configuração completa
phases:
training:
enabled: true
data_file: "data/training_data.json"
schema_name: sentiment
passing_criteria:
# Different criteria options (choose one or combine)
min_correct: 8
require_all_correct: false
max_mistakes: 3
max_mistakes_per_question: 2
# Allow retries
retries:
enabled: true
max_retries: 3
# Show explanations for incorrect answers
show_explanations: true
# Randomize question order
randomize: trueCrité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: 8
total_questions: 10O 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: 3O 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: 8
max_mistakes_per_question: 3Deve 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
task_name: "Sentiment Analysis"
task_dir: "."
port: 8000
# Main annotation data
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
# Training phase configuration
phases:
training:
enabled: true
data_file: "data/training_questions.json"
schema_name: sentiment
passing_criteria:
min_correct: 8
total_questions: 10
max_mistakes_per_question: 2
retries:
enabled: true
max_retries: 3
show_explanations: true
randomize: true
output_annotation_dir: "output/"
output_annotation_format: "json"
allow_all_users: trueExemplo: treinamento de NER
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight named entities"
labels:
- Person
- Organization
- Location
- Date
phases:
training:
enabled: true
data_file: "data/ner_training.json"
schema_name: entities
passing_criteria:
min_correct: 7
total_questions: 10
show_explanations: 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:
# Too strict - may lose good annotators
passing_criteria:
require_all_correct: true
# Better - allows for learning
passing_criteria:
min_correct: 8
total_questions: 105. 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:
phases:
consent:
enabled: true
data_file: "data/consent.json"
prestudy:
enabled: true
data_file: "data/demographics.json"
instructions:
enabled: true
content: "data/instructions.html"
training:
enabled: true
data_file: "data/training.json"
schema_name: sentiment
passing_criteria:
min_correct: 8
annotation:
# Main task - always enabled
enabled: true
poststudy:
enabled: true
data_file: "data/feedback.json"Consideraçõ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.