Skip to content

Che cos'è l'annotazione dei dati?

Introduzione in parole semplici all'annotazione dei dati: che cos'è, i principali tipi di task (classificazione, etichettatura di span, ranking, testo libero) e come portare avanti un progetto di annotazione con Potato.

Annotare i dati vuol dire attaccare etichette a dati grezzi, testo, immagini, audio, video o output di un modello, in modo da poterli misurare, confrontare o usare per addestrare e valutare modelli di machine learning. Un'etichetta può essere la categoria di sentiment di un tweet, un nome evidenziato dentro una frase, un voto di qualità da 1 a 5 su una risposta di un chatbot o un riquadro attorno a un pedone in una foto.

L'annotazione viene chiamata anche etichettatura, tagging o codifica (il termine usato nelle scienze sociali). Vedi Data annotation e l'idea collegata di insieme di dati etichettati su Wikipedia.

Perché conta

Il machine learning supervisionato impara da esempi che portano già con sé la risposta giusta. La qualità di quelle risposte fissa un tetto alla qualità del modello, quindi annotare con cura è spesso la parte del progetto che rende di più. L'annotazione è anche il modo in cui si valuta un modello: per sapere se un sistema di AI risponde bene, di solito serve una persona che giudichi i suoi output.

I principali tipi di task di annotazione

Quasi tutti i progetti ricadono in poche famiglie. Ciascuna corrisponde a uno o più controlli di annotazione in Potato (vedi Schemi di annotazione).

  • Classificazione: scegli una o più categorie per un elemento intero. Esempio: questa recensione è positiva, negativa o neutra? Vedi Annotazione di testo.
  • Etichettatura di span: segni una porzione interna all'elemento, come un nome in una frase o un tratto di una registrazione audio. Vedi Annotazione a span.
  • Valutazione e punteggio: collochi un elemento su una scala, per esempio un giudizio di qualità da 1 a 5. Vedi Scale di valutazione.
  • Ranking e confronto: ordini gli elementi o scegli il migliore tra due. Vedi Confronto a coppie e best–worst scaling.
  • Annotazione strutturata: colleghi gli span in relazioni, costruisci catene di coreferenza o annoti eventi. Vedi Estrazione di relazioni ed eventi.
  • Testo libero: scrivi una spiegazione, una correzione o una trascrizione.

Un esempio minimo

Un task di sentiment in Potato sta in poche righe di YAML. Il blocco annotation_schemes definisce le etichette che l'annotatore vede:

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this review?"
    labels:
      - Positive
      - Negative
      - Neutral

Questa è tutta la definizione dell'interfaccia. Tu fornisci i dati, lanci potato start e gli annotatori etichettano dal browser.

Come procede di solito un progetto

  1. Definisci il task. Metti per iscritto la domanda e l'insieme di etichette.
  2. Scrivi le linee guida. Dai agli annotatori regole ed esempi. Vedi Scrivere le linee guida di annotazione.
  3. Fai un pilota. Etichetta un piccolo lotto, individua i disaccordi, sistema le linee guida.
  4. Annota con sovrapposizione. Fai etichettare gli stessi elementi a più persone, così puoi misurare l'accordo.
  5. Misura l'accordo. Vedi Accordo tra annotatori.
  6. Concilia ed esporta. Risolvi i disaccordi ed esporta per l'addestramento o l'analisi.

Approfondimenti