Phase de formation
Créez des phases de formation et de qualification dans Potato avec des questions d'exercice, des réponses étalons et des seuils de réussite pour certifier les annotateurs avant la tâche principale.
Potato 2.0 propose une phase de formation facultative qui permet de qualifier les annotateurs avant qu'ils n'abordent la tâche d'annotation principale. Les annotateurs répondent à des questions d'exercice dont la bonne réponse est connue et reçoivent un retour sur leurs résultats.
Comment la phase de formation filtre les annotateurs
Cas d'usage
- Vérifier que les annotateurs ont compris la tâche
- Écarter les annotateurs peu fiables
- Proposer un exercice guidé avant les vraies annotations
- Recueillir des mesures de qualité de référence
- Enseigner les consignes d'annotation par l'exemple
Fonctionnement
- Les annotateurs répondent à une série de questions de formation
- Ils reçoivent un retour immédiat sur chaque réponse
- La progression est suivie par rapport aux critères de réussite
- Seuls les annotateurs qui réussissent accèdent à la tâche principale
Configuration
Configuration de base
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: 10Configuration complète
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ères de réussite
Vous pouvez définir différents critères pour valider la phase de formation :
Nombre minimal de bonnes réponses
passing_criteria:
min_correct: 8
total_questions: 10L'annotateur doit répondre correctement à au moins 8 questions sur 10.
Toutes les réponses correctes
passing_criteria:
require_all_correct: trueL'annotateur doit répondre correctement à toutes les questions pour réussir.
Nombre maximal d'erreurs
passing_criteria:
max_mistakes: 3L'annotateur est disqualifié après 3 erreurs au total.
Nombre maximal d'erreurs par question
passing_criteria:
max_mistakes_per_question: 2L'annotateur est disqualifié après 2 erreurs sur une même question.
Critères combinés
passing_criteria:
min_correct: 8
max_mistakes_per_question: 3Il faut 8 bonnes réponses ET ne pas se tromper plus de 3 fois sur une même question.
Format des données de formation
Les données de formation doivent contenir les bonnes réponses et, éventuellement, des explications :
[
{
"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."
}
]Formation sur plusieurs schémas
Pour les tâches comportant plusieurs schémas d'annotation :
{
"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."
}
}Expérience utilisateur
Déroulement de la formation
- L'utilisateur voit un indicateur « Phase de formation »
- La question s'affiche avec le formulaire d'annotation
- L'utilisateur soumet sa réponse
- Le retour est affiché immédiatement :
- Bonne réponse : coche verte, passage à la suivante
- Mauvaise réponse : croix rouge, explication affichée, possibilité de réessayer
Affichage du retour
Quand un annotateur se trompe :
- La bonne réponse est mise en évidence
- L'explication fournie est affichée
- Un bouton pour réessayer apparaît (si les nouvelles tentatives sont activées)
- La progression vers les critères de réussite est affichée
Suivi côté administration
Suivez les résultats de la formation dans le tableau de bord d'administration :
- Taux d'achèvement
- Nombre moyen de bonnes réponses
- Taux de réussite et d'échec
- Temps passé sur la formation
- Justesse par question
Accès via les points de terminaison de l'API /admin :
GET /api/admin/training/stats
GET /api/admin/training/user/{user_id}
Exemple : formation à l'analyse de sentiment
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:
output_annotation_dir: "output/"
output_annotation_format: "json"
allow_all_users: trueExemple : formation à la reconnaissance d'entités nommées
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight named entities"
labels:
- Person
- Organization
- Location
- Date
phases:
training:
Données de formation pour l'annotation d'empans :
{
"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."
}Bonnes pratiques
1. Commencer simple
Commencez par des exemples francs avant d'introduire les cas limites :
[
{"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. Couvrir toutes les étiquettes
Veillez à ce que la formation contienne des exemples de chaque étiquette possible :
[
{"correct_answers": {"sentiment": "Positive"}},
{"correct_answers": {"sentiment": "Negative"}},
{"correct_answers": {"sentiment": "Neutral"}}
]3. Rédiger des explications claires
Les explications doivent enseigner les consignes d'annotation :
{
"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. Fixer des critères raisonnables
N'exigez pas la perfection sans raison :
# Too strict - may lose good annotators
passing_criteria:
require_all_correct: true
# Better - allows for learning
passing_criteria:
min_correct: 8
total_questions: 105. Inclure des cas limites
Ajoutez des exemples délicats pour préparer les annotateurs :
{
"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."
}Intégration aux flux de travail
La formation s'intègre aux flux de travail multi-phases :
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"Performances
- Les données de formation sont chargées au démarrage
- La progression est conservée en mémoire, par session
- L'impact sur les performances de l'annotation principale est négligeable
- Pour une formation complexe, envisagez de la répartir sur plusieurs phases
Pour aller plus loin
- Contrôle de la qualité - Contrôles d'attention et étalons
- Attribution par catégorie - Acheminer les éléments selon l'expertise des annotateurs
- Flux de travail multi-phases - Flux de travail d'annotation complexes
Pour les détails d'implémentation, consultez la documentation source.