Skip to content

Control de Calidad

Verificaciones de atención, estándares de oro y métricas de acuerdo entre anotadores.

Control de Calidad

Potato proporciona funciones integrales de control de calidad para garantizar anotaciones de alta calidad. Esto incluye verificaciones de atención, estándares de oro, soporte de pre-anotación y métricas de acuerdo en tiempo real.

Descripción General

El control de calidad en Potato consta de cuatro características principales:

  1. Verificaciones de Atención - Verifican el compromiso del anotador con elementos de respuesta conocida
  2. Estándares de Oro - Rastrean la precisión contra elementos etiquetados por expertos
  3. Soporte de Pre-anotación - Pre-llenan formularios con predicciones de modelos
  4. Métricas de Acuerdo - Calculan el acuerdo entre anotadores en tiempo real

Verificaciones de Atención

Las verificaciones de atención son elementos con respuestas correctas conocidas que verifican que los anotadores están prestando atención y no haciendo clic aleatoriamente.

Configuración

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

Archivo de Elementos de Verificación de Atención

json
[
  {
    "id": "attn_001",
    "text": "Please select 'Positive' for this item to verify you are reading carefully.",
    "expected_answer": {
      "sentiment": "positive"
    }
  }
]

Estándares de Oro

Los estándares de oro son elementos etiquetados por expertos que se utilizan para medir la precisión del anotador. Por defecto, los estándares de oro son silenciosos - los resultados se registran para revisión del administrador, pero los anotadores no reciben retroalimentación.

Configuración

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

Archivo de Elementos de Estándares de Oro

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"
  }
]

Auto-Promoción

Los elementos pueden convertirse automáticamente en estándares de oro cuando múltiples anotadores están de acuerdo:

yaml
gold_standards:
  auto_promote:
    enabled: true
    min_annotators: 3          # Wait for at least 3 annotators
    agreement_threshold: 1.0   # 100% must agree (unanimous)

Soporte de Pre-anotación

La pre-anotación permite pre-llenar formularios de anotación con predicciones de modelos, útil para flujos de trabajo de aprendizaje activo y corrección.

Configuración

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

Formato de Datos

Incluye predicciones en tus elementos de datos:

json
{
  "id": "item_001",
  "text": "I love this product!",
  "predictions": {
    "sentiment": "positive",
    "confidence": 0.92
  }
}

Métricas de Acuerdo

Las métricas de acuerdo entre anotadores en tiempo real usando el alfa de Krippendorff están disponibles en el panel de administración.

Configuración

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

Interpretación del Alfa de Krippendorff

Valor AlfaInterpretación
α >= 0.8Buen acuerdo - confiable para la mayoría de propósitos
0.67 <= α <= 0.8Acuerdo tentativo - se pueden extraer conclusiones tentativas
0.33 <= α <= 0.67Acuerdo bajo - revisar las directrices
α <= 0.33Acuerdo deficiente - problemas significativos

Integración con el Panel de Administración

Visualiza las métricas de control de calidad en el panel de administración en /admin:

  • Verificaciones de Atención: Tasas generales de aprobación/rechazo, estadísticas por anotador
  • Estándares de Oro: Precisión por anotador, análisis de dificultad por elemento
  • Acuerdo: Alfa de Krippendorff por esquema con interpretación
  • Elementos Auto-Promovidos: Lista de elementos promovidos por alto acuerdo

Endpoints de la API

Métricas de Control de Calidad

http
GET /admin/api/quality_control

Devuelve estadísticas de verificaciones de atención y estándares de oro.

Métricas de Acuerdo

http
GET /admin/api/agreement

Devuelve el alfa de Krippendorff por esquema con interpretación.

Ejemplo Completo

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:
    warn_threshold: 2
    block_threshold: 5
 
gold_standards:
  enabled: true
  items_file: "data/gold_standards.json"
  mode: mixed
  frequency: 25
  accuracy:
    min_threshold: 0.7
    evaluation_count: 5
 
agreement_metrics:
  enabled: true
  min_overlap: 2
  refresh_interval: 60

Solución de Problemas

Las verificaciones de atención no aparecen

  1. Verifica que la ruta de items_file sea correcta (relativa al directorio de la tarea)
  2. Comprueba que los elementos tengan los campos requeridos (id, expected_answer)
  3. Asegúrate de que frequency o probability estén configurados

Las métricas de acuerdo muestran "No items with N+ annotators"

  1. Asegúrate de que los elementos hayan sido anotados por múltiples usuarios
  2. Reduce min_overlap si es necesario
  3. Verifica que las anotaciones se estén guardando correctamente

Lectura Adicional

Para detalles de implementación, consulta la documentación fuente.