Skip to content

L'accordo tra annotatori spiegato

Guida pratica all'accordo tra annotatori: percentuale di accordo, kappa di Cohen e di Fleiss, alpha di Krippendorff, quando usare ciascuno e come Potato li riporta.

L'accordo tra annotatori (IAA) misura quanto spesso annotatori indipendenti assegnano la stessa etichetta. È la prova standard che un task di annotazione è ben definito e che le etichette prodotte sono affidabili. Un accordo basso di solito significa che le linee guida non sono chiare, non che gli annotatori siano stati sbrigativi.

L'argomento generale è l'affidabilità tra valutatori. Potato calcola l'accordo in tempo reale nella dashboard di amministrazione, vedi Controllo qualità.

Perché la percentuale di accordo grezza non basta

La misura più semplice è la percentuale di accordo: la frazione di elementi che gli annotatori hanno etichettato in modo identico. Il problema è che una parte dell'accordo capita per caso. Se due annotatori scelgono entrambi «positivo» nel 90% dei casi, concorderanno quasi sempre anche etichettando a caso. Le misure corrette per il caso risolvono questo problema.

Un coefficiente corretto per il caso ha questa forma:

text
        P_observed − P_expected
  κ =  ─────────────────────────
            1 − P_expected

dove P_observed è l'accordo effettivo e P_expected è l'accordo atteso per caso. Un valore di 1 indica accordo perfetto, 0 indica il livello del caso.

Le tre che userai davvero

  • Kappa di Cohen: due annotatori, etichette categoriali. La scelta classica per una coppia.
  • Kappa di Fleiss: più di due annotatori, etichette categoriali, quando elementi diversi possono essere giudicati da valutatori diversi.
  • Alpha di Krippendorff: l'opzione più generale. Funziona con qualsiasi numero di annotatori, gestisce i dati mancanti e supporta dati nominali, ordinali, a intervalli e di rapporto. È quella che Potato riporta di default.

Usa il kappa per semplici coppie con etichette categoriali; passa all'alpha di Krippendorff quando hai molti annotatori, una sovrapposizione incompleta o etichette ordinate o continue, dove sbagliare di uno dovrebbe pesare meno che sbagliare di quattro.

Interpretare il numero

Non esiste una soglia universale, ma per alpha e kappa si usa spesso questa indicazione di massima:

  • ≥ 0.80: abbastanza alto da farci affidamento.
  • 0.67–0.80: utilizzabile per conclusioni provvisorie, ma vale la pena esaminare i disaccordi.
  • < 0.67: rivedi le linee guida prima di fidarti delle etichette.

Prendili come spunti per indagare, non come esami da superare. Guarda sempre quali elementi e quali etichette generano il disaccordo.

Misurarlo in Potato

Fai lavorare gli annotatori in sovrapposizione su un sottoinsieme condiviso, poi attiva il calcolo dell'accordo:

yaml
agreement_metrics:
  enabled: true
  # Krippendorff's alpha is reported in the admin dashboard.

Per i task a span e quelli strutturati, misura l'accordo al livello che ti interessa davvero (match esatto degli span o sovrapposizione), perché le metriche a livello di documento nascondono i disaccordi sui confini.

Quando l'accordo è basso

  1. Leggi gli elementi su cui c'è disaccordo: è ambigua la linea guida o è l'elemento a essere davvero difficile?
  2. Rendi le definizioni più stringenti e aggiungi i casi difficili come esempi. Vedi Scrivere le linee guida di annotazione.
  3. Rifai il pilota. Se su task genuinamente soggettivi l'accordo resta basso, valuta di registrare il disaccordo stesso invece di forzare una risposta unica.

Approfondimenti