Fase de Entrenamiento
Entrena y califica anotadores con preguntas de práctica antes de la tarea principal.
Fase de Entrenamiento
Potato 2.0 incluye una fase de entrenamiento opcional que ayuda a calificar a los anotadores antes de que comiencen la tarea principal de anotación. Los anotadores responden preguntas de práctica con respuestas correctas conocidas y reciben retroalimentación sobre su desempeño.
Casos de Uso
- Asegurar que los anotadores entiendan la tarea
- Filtrar anotadores de baja calidad
- Proporcionar práctica guiada antes de las anotaciones reales
- Recopilar métricas de calidad base
- Enseñar directrices de anotación a través de ejemplos
Cómo Funciona
- Los anotadores completan un conjunto de preguntas de entrenamiento
- Reciben retroalimentación inmediata sobre cada respuesta
- Se rastrea el progreso contra los criterios de aprobación
- Solo los anotadores que aprueban pueden continuar a la tarea principal
Configuración
Configuración 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: 10Configuración 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: trueCriterios de Aprobación
Puedes establecer varios criterios para aprobar la fase de entrenamiento:
Mínimo Correcto
passing_criteria:
min_correct: 8
total_questions: 10El anotador debe responder correctamente al menos 8 de 10 preguntas.
Requerir Todo Correcto
passing_criteria:
require_all_correct: trueEl anotador debe responder correctamente cada pregunta para aprobar.
Máximo de Errores
passing_criteria:
max_mistakes: 3El anotador es descalificado después de 3 errores totales.
Máximo de Errores por Pregunta
passing_criteria:
max_mistakes_per_question: 2El anotador es descalificado después de 2 errores en cualquier pregunta individual.
Criterios Combinados
passing_criteria:
min_correct: 8
max_mistakes_per_question: 3Debe obtener 8 correctas Y no fallar ninguna pregunta individual más de 3 veces.
Formato de Datos de Entrenamiento
Los datos de entrenamiento deben incluir respuestas correctas y explicaciones opcionales:
[
{
"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."
}
]Entrenamiento con Múltiples Esquemas
Para tareas con múltiples esquemas de anotación:
{
"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."
}
}Experiencia del Usuario
Flujo de Entrenamiento
- El usuario ve el indicador "Training Phase"
- Se muestra la pregunta con el formulario de anotación
- El usuario envía su respuesta
- Se muestra retroalimentación inmediata:
- Correcto: Marca verde, continúa al siguiente
- Incorrecto: X roja, se muestra explicación, opción de reintento
Visualización de Retroalimentación
Cuando un anotador responde incorrectamente:
- Se resalta la respuesta correcta
- Se muestra la explicación proporcionada
- Aparece el botón de reintento (si los reintentos están habilitados)
- Se muestra el progreso hacia los criterios de aprobación
Monitoreo del Administrador
Rastrea el rendimiento del entrenamiento en el panel de administración:
- Tasas de finalización
- Promedio de respuestas correctas
- Tasas de aprobación/rechazo
- Tiempo dedicado al entrenamiento
- Precisión por pregunta
Accede a través de endpoints de API /admin:
GET /api/admin/training/stats
GET /api/admin/training/user/{user_id}
Ejemplo: Entrenamiento de Análisis de Sentimiento
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: trueEjemplo: Entrenamiento 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: trueDatos de entrenamiento para anotación 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."
}Mejores Prácticas
1. Empieza Simple
Comienza con ejemplos sencillos antes de introducir casos límite:
[
{"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. Cubre Todas las Etiquetas
Asegúrate de que el entrenamiento incluya ejemplos de cada etiqueta posible:
[
{"correct_answers": {"sentiment": "Positive"}},
{"correct_answers": {"sentiment": "Negative"}},
{"correct_answers": {"sentiment": "Neutral"}}
]3. Escribe Explicaciones Claras
Las explicaciones deben enseñar las directrices de anotación:
{
"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. Establece Criterios Razonables
No exijas perfección innecesariamente:
# Too strict - may lose good annotators
passing_criteria:
require_all_correct: true
# Better - allows for learning
passing_criteria:
min_correct: 8
total_questions: 105. Incluye Casos Límite
Agrega ejemplos difíciles para preparar a los 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."
}Integración con Flujos de Trabajo
El entrenamiento se integra con flujos de trabajo multifase:
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"Consideraciones de Rendimiento
- Los datos de entrenamiento se cargan al inicio
- El progreso se almacena en memoria por sesión
- Impacto mínimo en el rendimiento de la anotación principal
- Considera separar entrenamientos complejos en múltiples fases
Lectura Adicional
- Quality Control - Verificaciones de atención y estándares de referencia
- Category Assignment - Enrutar ítems por experiencia del anotador
- Multi-Phase Workflows - Flujos de trabajo de anotación complejos
Para detalles de implementación, consulta la documentación fuente.