Skip to content

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 — chaque contrôle attrape un mode de défaillance différent ; combinez-lesQuatre 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 :

  1. Contrôles d'attention - Vérifier l'engagement de l'annotateur avec des éléments dont la réponse est connue
  2. Étalons - Mesurer la justesse face à des éléments étiquetés par des experts
  3. Pré-annotation - Pré-remplir les formulaires avec les prédictions d'un modèle
  4. 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

yaml
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

json
[
  {
    "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

yaml
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 = unanimous

Fichier des éléments étalons

json
[
  {
    "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 :

yaml
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

yaml
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.7

Format des données

Incluez les prédictions dans vos éléments de données :

json
{
  "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

yaml
agreement_metrics:
  enabled: true
  min_overlap: 2             # Minimum annotators per item
  auto_refresh: true
  refresh_interval: 60       # Seconds between updates

Lire l'alpha de Krippendorff

Valeur d'alphaInterprétation
α ≥ 0.8Bon accord - fiable pour la plupart des usages
0.67 ≤ α ≤ 0.8Accord provisoire - ne tirez que des conclusions provisoires
0.33 ≤ α ≤ 0.67Accord faible - revoyez les consignes
α ≤ 0.33Accord 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é

http
GET /admin/api/quality_control

Renvoie les statistiques des contrôles d'attention et des étalons.

Mesures d'accord

http
GET /admin/api/agreement

Renvoie l'alpha de Krippendorff par schéma, avec son interprétation.

Exemple complet

yaml
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: 60

Dépannage

Les contrôles d'attention n'apparaissent pas

  1. Vérifiez que le chemin items_file est correct (relatif au répertoire de la tâche)
  2. Vérifiez que les éléments comportent les champs requis (id, expected_answer)
  3. Assurez-vous que frequency ou probability est défini

Les mesures d'accord affichent « Aucun élément avec N annotateurs ou plus »

  1. Vérifiez que les éléments ont bien été annotés par plusieurs utilisateurs
  2. Abaissez min_overlap si nécessaire
  3. Vérifiez que les annotations sont correctement enregistrées

Pour aller plus loin

Pour les détails d'implémentation, consultez la documentation source.