Estimación de Competencia MACE
Estima la competencia de los anotadores y las etiquetas verdaderas usando el algoritmo MACE.
Estimación de Competencia MACE
MACE (Multi-Annotator Competence Estimation) es un algoritmo EM Bayesiano Variacional que estima conjuntamente las etiquetas verdaderas para cada elemento y las puntuaciones de competencia del anotador. Modela a cada anotador como "conocedor" (produce etiquetas correctas) o "adivinador" (produce etiquetas aleatorias), generando una puntuación de competencia entre 0.0 y 1.0.
Cuándo Usar MACE
MACE es útil cuando tienes múltiples anotadores etiquetando los mismos elementos y deseas:
- Identificar qué anotadores son más confiables
- Producir etiquetas predichas de mayor calidad ponderando las contribuciones de los anotadores
- Detectar anotadores de baja calidad (spammers) automáticamente
- Medir la incertidumbre de las etiquetas (entropía) por elemento
MACE funciona con tipos de anotación categóricos: radio, likert, select y multiselect. No se aplica a anotaciones de texto libre, span, slider o numéricas.
Cómo Funciona
- Extracción de datos: Potato recopila todas las anotaciones para cada esquema de todos los anotadores, construyendo una matriz de elementos por anotadores
- Algoritmo EM: MACE ejecuta múltiples reinicios aleatorios del algoritmo EM Bayesiano Variacional, conservando la solución con la mejor log-verosimilitud
- Salida: Para cada esquema, MACE produce etiquetas predichas, entropía de etiquetas (incertidumbre) y puntuaciones de competencia por anotador
- Activación: MACE se ejecuta automáticamente después de cada N nuevas anotaciones (configurable), o puede activarse manualmente a través de la API de administración
Configuración
mace:
enabled: true
# Run MACE after every N new annotations
trigger_every_n: 10
# Minimum annotators per item before including in computation
min_annotations_per_item: 3
# Minimum eligible items before MACE will run
min_items: 5
# EM algorithm parameters
num_restarts: 10
num_iters: 50
alpha: 0.5 # Prior for annotator spamming (Beta distribution)
beta: 0.5 # Prior for guessing strategy (Dirichlet distribution)Configuración Mínima
mace:
enabled: trueUsa todos los valores por defecto: se activa cada 10 anotaciones, requiere 3 anotadores por elemento, mínimo 5 elementos elegibles, 10 reinicios con 50 iteraciones cada uno.
Referencia de Configuración
| Opción | Tipo | Por defecto | Descripción |
|---|---|---|---|
enabled | boolean | false | Habilitar MACE |
trigger_every_n | integer | 10 | Ejecutar después de cada N nuevas anotaciones |
min_annotations_per_item | integer | 3 | Mínimo de anotadores por elemento (debe ser >= 2) |
min_items | integer | 5 | Mínimo de elementos elegibles antes de ejecutar |
num_restarts | integer | 10 | Reinicios aleatorios para EM |
num_iters | integer | 50 | Iteraciones EM por reinicio |
alpha | float | 0.5 | Prior para spamming del anotador |
beta | float | 0.5 | Prior para estrategia de adivinación |
Endpoints de la API de Administración
Todos los endpoints de MACE requieren autenticación de administrador mediante el encabezado X-API-Key.
Vista General
curl http://localhost:8000/admin/api/mace/overview \
-H "X-API-Key: your-admin-key"Devuelve las puntuaciones de competencia de los anotadores y el estado de MACE:
{
"enabled": true,
"has_results": true,
"schemas": ["sentiment"],
"annotator_competence": {
"user_1": {"average": 0.92, "per_schema": {"sentiment": 0.92}},
"user_2": {"average": 0.85, "per_schema": {"sentiment": 0.85}},
"user_3": {"average": 0.45, "per_schema": {"sentiment": 0.45}}
},
"total_annotations": 30,
"annotations_until_next_run": 0
}Predicciones
curl "http://localhost:8000/admin/api/mace/predictions?schema=sentiment" \
-H "X-API-Key: your-admin-key"Devuelve las etiquetas predichas y la entropía para cada elemento.
Activación Manual
curl -X POST http://localhost:8000/admin/api/mace/trigger \
-H "X-API-Key: your-admin-key"Interpretación de Resultados
Competencia del Anotador
- 0.9 - 1.0: Anotador altamente confiable
- 0.7 - 0.9: Buen anotador, desacuerdos ocasionales
- 0.5 - 0.7: Anotador moderado, puede beneficiarse de entrenamiento adicional
- Por debajo de 0.5: Posible spammer o anotador confundido
Entropía de Etiquetas
- Cerca de 0.0: Alta confianza en la etiqueta predicha
- Por encima de 0.5: Incertidumbre moderada, el elemento puede ser genuinamente ambiguo
- Cerca de log(num_labels): Incertidumbre máxima, sin consenso
Integración con Adjudicación
Cuando tanto MACE como la adjudicación están habilitados, las etiquetas predichas por MACE aparecen como una señal adicional en la interfaz de adjudicación:
adjudication:
enabled: true
adjudicator_users: ["admin"]
min_annotations: 2
mace:
enabled: true
trigger_every_n: 10
min_annotations_per_item: 2Mejores Prácticas
- Comienza con los valores por defecto - la configuración predeterminada funciona bien para la mayoría de los escenarios
- Monitorea las puntuaciones de competencia - usa el panel de administración para rastrear la calidad de los anotadores a lo largo del tiempo
- Combina con fases de entrenamiento - usa el entrenamiento para calificar a los anotadores, luego MACE para monitorear la calidad continua
- Establece umbrales apropiados - reduce
min_annotations_per_itempara proyectos de anotación más pequeños
Lecturas Adicionales
- Quality Control - Otros mecanismos de control de calidad
- Admin Dashboard - Monitoreo del progreso de anotación
- AI Support - Anotación asistida por IA
Para detalles de implementación, consulta la documentación fuente.