Contrôle de la qualité
Garantissez la qualité des annotations dans Potato grâce aux questions de contrôle d'attention, à la validation par étalons, au recoupement configurable des annotateurs et au calcul de l'alpha de Krippendorff.
Potato propose des fonctions de contrôle de la qualité pour que les annotations restent fiables : contrôles d'attention, étalons, pré-annotation et mesures d'accord en temps réel.
Quatre contrôles de qualité, un jeu de données fiable
Vue d'ensemble
Le contrôle de la qualité dans Potato repose sur quatre fonctions :
- Contrôles d'attention - Vérifier l'engagement de l'annotateur avec des éléments dont la réponse est connue
- Étalons - Mesurer la justesse face à des éléments étiquetés par des experts
- Pré-annotation - Pré-remplir les formulaires avec les prédictions d'un modèle
- Mesures d'accord - Calculer l'accord inter-annotateurs en temps réel
Contrôles d'attention
Les contrôles d'attention sont des éléments dont la bonne réponse est connue, qui servent à vérifier que les annotateurs sont attentifs et ne cliquent pas au hasard.
Configuration
attention_checks:
enabled: true
items_file: "attention_checks.json"
# How often to inject attention checks
frequency: 10 # Insert one every 10 items
# OR
probability: 0.1 # 10% chance per item
# Optional: flag suspiciously fast responses
min_response_time: 3.0 # Flag if answered in < 3 seconds
# Failure handling
failure_handling:
warn_threshold: 2 # Show warning after 2 failures
warn_message: "Please read items carefully before answering."
block_threshold: 5 # Block user after 5 failures
block_message: "You have been blocked due to too many incorrect responses."Fichier des éléments de contrôle d'attention
[
{
"id": "attn_001",
"text": "Please select 'Positive' for this item to verify you are reading carefully.",
"expected_answer": {
"sentiment": "positive"
}
}
]Étalons
Les étalons sont des éléments étiquetés par des experts, qui servent à mesurer la justesse des annotateurs. Par défaut, ils sont silencieux : les résultats sont enregistrés pour l'administrateur, mais les annotateurs ne voient aucun retour.
Configuration
gold_standards:
enabled: true
items_file: "gold_standards.json"
# How to use gold standards
mode: "mixed" # Options: training, mixed, separate
frequency: 20 # Insert one every 20 items
# Accuracy requirements
accuracy:
min_threshold: 0.7 # Minimum required accuracy (70%)
evaluation_count: 10 # Evaluate after this many gold items
# Feedback settings (disabled by default)
feedback:
show_correct_answer: false
show_explanation: false
# Auto-promotion from high-agreement items
auto_promote:
enabled: true
min_annotators: 3
agreement_threshold: 1.0 # 1.0 = unanimousFichier des éléments étalons
[
{
"id": "gold_001",
"text": "The service was absolutely terrible and I will never return.",
"gold_label": {
"sentiment": "negative"
},
"explanation": "Strong negative language clearly indicates negative sentiment.",
"difficulty": "easy"
}
]Promotion automatique
Un élément peut devenir automatiquement un étalon quand plusieurs annotateurs se rejoignent :
gold_standards:
auto_promote:
enabled: true
min_annotators: 3 # Wait for at least 3 annotators
agreement_threshold: 1.0 # 100% must agree (unanimous)Pré-annotation
La pré-annotation permet de pré-remplir les formulaires d'annotation avec les prédictions d'un modèle, ce qui est utile pour l'apprentissage actif et les flux de travail de correction.
Configuration
pre_annotation:
enabled: true
field: "predictions" # Field in data containing predictions
allow_modification: true # Can annotators change pre-filled values?
show_confidence: true
highlight_low_confidence: 0.7Format des données
Incluez les prédictions dans vos éléments de données :
{
"id": "item_001",
"text": "I love this product!",
"predictions": {
"sentiment": "positive",
"confidence": 0.92
}
}Mesures d'accord
L'accord inter-annotateurs mesuré en temps réel par l'alpha de Krippendorff est consultable dans le tableau de bord d'administration.
Configuration
agreement_metrics:
enabled: true
min_overlap: 2 # Minimum annotators per item
refresh_interval: 60 # Seconds between updatesLire l'alpha de Krippendorff
| Valeur d'alpha | Interprétation |
|---|---|
| α ≥ 0.8 | Bon accord - fiable pour la plupart des usages |
| 0.67 ≤ α ≤ 0.8 | Accord provisoire - ne tirez que des conclusions provisoires |
| 0.33 ≤ α ≤ 0.67 | Accord faible - revoyez les consignes |
| α ≤ 0.33 | Accord insuffisant - problèmes sérieux |
Intégration au tableau de bord d'administration
Les mesures de contrôle de la qualité sont visibles dans le tableau de bord d'administration, sur /admin :
- Contrôles d'attention : taux de réussite et d'échec globaux, statistiques par annotateur
- Étalons : justesse par annotateur, analyse de difficulté par élément
- Accord : alpha de Krippendorff par schéma, avec son interprétation
- Éléments promus automatiquement : liste des éléments promus à partir d'un accord élevé
Points de terminaison de l'API
Mesures de contrôle de la qualité
GET /admin/api/quality_controlRenvoie les statistiques des contrôles d'attention et des étalons.
Mesures d'accord
GET /admin/api/agreementRenvoie l'alpha de Krippendorff par schéma, avec son interprétation.
Exemple complet
annotation_task_name: "Sentiment Analysis with Quality Control"
annotation_schemes:
- name: sentiment
annotation_type: radio
labels: [positive, negative, neutral]
description: "Select the sentiment of the text"
attention_checks:
enabled: true
items_file: "data/attention_checks.json"
frequency: 15
failure_handling:
gold_standards:
enabled: true
items_file: "data/gold_standards.json"
mode: mixed
frequency: 25
accuracy:
agreement_metrics:
enabled: true
min_overlap: 2
refresh_interval: 60Dépannage
Les contrôles d'attention n'apparaissent pas
- Vérifiez que le chemin
items_fileest correct (relatif au répertoire de la tâche) - Vérifiez que les éléments comportent les champs requis (
id,expected_answer) - Assurez-vous que
frequencyouprobabilityest défini
Les mesures d'accord affichent « Aucun élément avec N annotateurs ou plus »
- Vérifiez que les éléments ont bien été annotés par plusieurs utilisateurs
- Abaissez
min_overlapsi nécessaire - Vérifiez que les annotations sont correctement enregistrées
Foire aux questions
Les questions ci-dessous portent sur la mise en place d'un processus de contrôle de la qualité et sur la façon dont les étalons suivent la justesse d'un annotateur au fil d'une session.
Comment mettre en place un processus de contrôle qualité pour l'annotation ?
Mélangez à la file d'attente des éléments dont la réponse est connue et mesurez l'accord sur les éléments que plusieurs annotateurs partagent. Dans Potato, les contrôles d'attention signalent les annotateurs qui ne lisent pas, les étalons mesurent la justesse de chaque annotateur face aux étiquettes d'experts, et les mesures d'accord montrent sur quelles questions les annotateurs divergent. Chacun forme un bloc distinct dans la configuration YAML de la tâche.
Comment les étalons détectent-ils la dérive des annotateurs ?
Les étalons continuent d'apparaître à une fréquence fixe, par exemple un tous les 20 éléments, si bien que la justesse face aux étiquettes d'experts est mesurée pendant tout le temps où l'annotateur travaille, et non une seule fois pendant la formation. Par défaut, Potato enregistre les réponses sans rien afficher et signale un annotateur dans le tableau de bord d'administration dès que sa justesse, calculée sur au moins evaluation_count étalons, passe sous accuracy.min_threshold. Cette justesse est cumulée sur toutes les réponses de l'annotateur aux étalons, si bien qu'une baisse survenant tard dans une longue session la fait bouger lentement. Les échecs aux contrôles d'attention sont comptés et non moyennés, si bien qu'une série soudaine d'échecs atteint le seuil d'avertissement quel que soit le nombre de contrôles que l'annotateur a réussis auparavant.
Pour aller plus loin
- Phase de formation - Qualification des annotateurs
- Tableau de bord d'administration - Suivi des métriques
- Attribution des tâches - Maîtriser la distribution des annotations
Pour les détails d'implémentation, consultez la documentation source.