Skip to content

Control de Calidad

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

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.

Cuatro controles de calidad, un dataset fiable — Cada control detecta un fallo distinto; combínalosCuatro controles de calidad, un dataset fiable

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

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

Preguntas frecuentes

Las preguntas siguientes tratan cómo montar un proceso de control de calidad y cómo los estándares de oro siguen la precisión del anotador a lo largo de una sesión.

¿Cómo se monta un proceso de control de calidad para la anotación?

Mezcla en la cola elementos con respuestas conocidas y mide el acuerdo en los elementos que comparten varios anotadores. En Potato, las verificaciones de atención señalan a los anotadores que no están leyendo, los estándares de oro miden la precisión de cada anotador frente a las etiquetas de expertos y las métricas de acuerdo muestran en qué preguntas discrepan los anotadores. Cada uno es un bloque propio en la configuración YAML de la tarea.

¿Cómo detectan los estándares de oro la deriva de los anotadores?

Los estándares de oro siguen apareciendo con una frecuencia fija, por ejemplo uno cada 20 elementos, así que la precisión frente a las etiquetas de expertos se mide durante todo el tiempo que trabaja un anotador y no una sola vez en el entrenamiento. Por defecto, Potato registra las respuestas en silencio y muestra a un anotador en el panel de administración cuando su precisión, sobre al menos evaluation_count estándares de oro, cae por debajo de accuracy.min_threshold. Esa precisión es acumulada sobre todas las respuestas del anotador a estándares de oro, así que un descenso al final de una sesión larga la mueve despacio. Los fallos en las verificaciones de atención se cuentan en lugar de promediarse, así que una racha repentina de fallos alcanza el umbral de advertencia sin importar cuántas verificaciones haya superado antes el anotador.

Lectura Adicional

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