Stima della Competenza MACE
Stima la competenza degli annotatori e le etichette vere usando l'algoritmo MACE.
Stima della Competenza MACE
MACE (Multi-Annotator Competence Estimation) è un algoritmo Variational Bayes EM che stima congiuntamente le etichette vere per ogni elemento e i punteggi di competenza degli annotatori. Modella ogni annotatore come "competente" (produce etichette corrette) o "casuale" (produce etichette casuali), producendo un punteggio di competenza tra 0.0 e 1.0.
Quando Usare MACE
MACE è utile quando hai più annotatori che etichettano gli stessi elementi e vuoi:
- Identificare quali annotatori sono più affidabili
- Produrre etichette previste di qualità superiore pesando i contributi degli annotatori
- Rilevare automaticamente gli annotatori di bassa qualità (spammer)
- Misurare l'incertezza delle etichette (entropia) per elemento
MACE funziona con i tipi di annotazione categoriale: radio, likert, select e multiselect. Non si applica alle annotazioni a testo libero, span, slider o numeriche.
Come Funziona
- Estrazione dei dati: Potato raccoglie tutte le annotazioni per ogni schema su tutti gli annotatori, costruendo una matrice elementi×annotatori
- Algoritmo EM: MACE esegue più riavvii casuali dell'algoritmo Variational Bayes EM, mantenendo la soluzione con la migliore log-verosimiglianza
- Output: Per ogni schema, MACE produce etichette previste, entropia delle etichette (incertezza) e punteggi di competenza per annotatore
- Attivazione: MACE viene eseguito automaticamente dopo ogni N nuove annotazioni (configurabile), oppure può essere attivato manualmente tramite l'Admin API
Configurazione
mace:
enabled: true
# Esegui MACE dopo ogni N nuove annotazioni
trigger_every_n: 10
# Annotatori minimi per elemento prima di includerlo nel calcolo
min_annotations_per_item: 3
# Elementi minimi prima che MACE venga eseguito
min_items: 5
# Parametri dell'algoritmo EM
num_restarts: 10
num_iters: 50
alpha: 0.5 # Prior per lo spam degli annotatori (distribuzione Beta)
beta: 0.5 # Prior per la strategia di guess (distribuzione Dirichlet)Configurazione Minimale
mace:
enabled: trueUsa tutti i valori predefiniti: si attiva ogni 10 annotazioni, richiede 3 annotatori per elemento, minimo 5 elementi idonei, 10 riavvii con 50 iterazioni ciascuno.
Riferimento alla Configurazione
| Opzione | Tipo | Predefinito | Descrizione |
|---|---|---|---|
enabled | booleano | false | Abilita MACE |
trigger_every_n | intero | 10 | Esegui dopo ogni N nuove annotazioni |
min_annotations_per_item | intero | 3 | Annotatori minimi per elemento (deve essere >= 2) |
min_items | intero | 5 | Elementi minimi idonei prima dell'esecuzione |
num_restarts | intero | 10 | Riavvii casuali per EM |
num_iters | intero | 50 | Iterazioni EM per riavvio |
alpha | float | 0.5 | Prior per lo spam degli annotatori |
beta | float | 0.5 | Prior per la strategia di guess |
Endpoint Admin API
Tutti gli endpoint MACE richiedono l'autenticazione admin tramite l'header X-API-Key.
Panoramica
curl http://localhost:8000/admin/api/mace/overview \
-H "X-API-Key: your-admin-key"Restituisce i punteggi di competenza degli annotatori e lo stato 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
}Previsioni
curl "http://localhost:8000/admin/api/mace/predictions?schema=sentiment" \
-H "X-API-Key: your-admin-key"Restituisce le etichette previste e l'entropia per ogni elemento.
Trigger Manuale
curl -X POST http://localhost:8000/admin/api/mace/trigger \
-H "X-API-Key: your-admin-key"Interpretazione dei Risultati
Competenza degli Annotatori
- 0.9 - 1.0: Annotatore altamente affidabile
- 0.7 - 0.9: Buon annotatore, occasionali disaccordi
- 0.5 - 0.7: Annotatore moderato, potrebbe beneficiare di addestramento aggiuntivo
- Sotto 0.5: Potenziale spammer o annotatore confuso
Entropia delle Etichette
- Vicino a 0.0: Alta confidenza nell'etichetta prevista
- Sopra 0.5: Incertezza moderata, l'elemento potrebbe essere genuinamente ambiguo
- Vicino a log(num_labels): Massima incertezza, nessun consenso
Integrazione con l'Adjudication
Quando sia MACE che l'adjudication sono abilitati, le etichette previste da MACE appaiono come segnale aggiuntivo nell'interfaccia di adjudication:
adjudication:
enabled: true
adjudicator_users: ["admin"]
min_annotations: 2
mace:
enabled: true
trigger_every_n: 10
min_annotations_per_item: 2Best Practice
- Inizia con i valori predefiniti - la configurazione predefinita funziona bene per la maggior parte degli scenari
- Monitora i punteggi di competenza - usa la dashboard di amministrazione per tenere traccia della qualità degli annotatori nel tempo
- Combina con le fasi di addestramento - usa l'addestramento per qualificare gli annotatori, poi MACE per monitorare la qualità continua
- Imposta soglie appropriate - abbassa
min_annotations_per_itemper i progetti di annotazione più piccoli
Ulteriori Letture
- Controllo della Qualità - Altri meccanismi di controllo della qualità
- Dashboard di Amministrazione - Monitoraggio del progresso delle annotazioni
- Supporto AI - Annotazione assistita da AI
Per i dettagli di implementazione, consulta la documentazione sorgente.