Vai al contenuto

Etichettatura assistita dal modello con un modello addestrato sulle tue etichette

Quando le pre-etichette di un modello addestrato sulle tue annotazioni fanno risparmiare tempo, come le pre-etichette ancorano gli annotatori e come un gruppo di holdout misura l'effetto.

L'etichettatura assistita dal modello accelera l'annotazione addestrando un modello sulle etichette che i tuoi annotatori hanno già assegnato e mostrando le predizioni del modello sui nuovi item come pre-etichette da confermare o correggere. Poiché una pre-etichetta spinge anche l'annotatore verso la risposta del modello, uno studio che usa le pre-etichette dovrebbe escludere alcuni annotatori e misurare di quanto si spostano le risposte.

Novità nella v2.14.0

Una pre-etichetta è un'etichetta che un modello ha proposto per un item prima che una persona lo etichettasse. L'etichettatura assistita dal modello, detta anche pre-etichettatura, è un flusso di lavoro human-in-the-loop in cui gli annotatori accettano, modificano o rifiutano quelle pre-etichette, e le etichette accettate e corrette diventano il dataset. Questa guida tratta il caso in cui il modello è addestrato sulle annotazioni del progetto stesso e riaddestrato man mano che ne arrivano altre. La guida sulla pre-annotazione con LLM e visione tratta le pre-etichette di un modello generalista guidato da un prompt, e la guida sull'apprendimento attivo tratta la scelta di quali item etichettare dopo.

In che cosa un modello addestrato sulle tue etichette differisce dalla pre-annotazione con LLM

Un LLM o un modello di visione preaddestrato può pre-etichettare dal primo item, guidato da un prompt e da qualche esempio. Un modello addestrato sulle tue etichette parte da zero e ha prima bisogno di un insieme iniziale di item etichettati. Il trainer sklearn-text di Potato si rifiuta di eseguire l'adattamento con meno di 10 item nella partizione di addestramento, e i classificatori Hugging Face per testo, token e immagini si rifiutano sotto i 20. In cambio, il modello addestrato impara i confini tra le etichette che i tuoi annotatori tracciano davvero sui tuoi item. Ogni esecuzione viene valutata su item esclusi dall'addestramento, e il punteggio compare nella pagina Training prima che qualunque annotatore veda una pre-etichetta. Un piccolo classificatore gira inoltre sulla tua macchina senza costi per item.

I suggerimenti di un LLM possono coprire l'inizio di uno studio mentre l'insieme iniziale cresce, e il modello addestrato può subentrare quando il suo punteggio held-out supera l'accordo dell'LLM con le stesse etichette. L'apprendimento attivo si combina con entrambi, perché l'apprendimento attivo sceglie l'ordine degli item e la pre-etichettatura cambia il lavoro su ciascun item.

Quando le pre-etichette fanno risparmiare tempo

La pre-etichettatura fa risparmiare tempo quando leggere e confermare un'etichetta è più veloce che produrla. In un esperimento di part-of-speech tagging con due annotatori, Fort e Sagot (2010) hanno misurato un annotatore a circa 7,5 minuti ogni 10 frasi senza pre-annotazione e a circa 2,5 minuti correggendo l'output di un tagger. Un tagger addestrato su sole 50 frasi ha raggiunto l'81,6% di accuratezza, e il tempo risparmiato dalle pre-annotazioni di quel tagger non differiva in modo significativo dal tempo risparmiato da un tagger addestrato su 37.990 frasi al 96,4%. Solo il tagger addestrato su 10 frasi ha reso l'annotazione significativamente più lenta degli altri tagger, e quel tagger aveva il 66,5% di accuratezza. Lingren et al. (2014) hanno trovato risparmi di tempo dal 13,85% al 21,5% per entità nell'annotazione di entità nominate cliniche, senza cambiamenti significativi nell'accordo o nelle prestazioni degli annotatori. Mikulová et al. (2022) hanno trovato che la pre-annotazione da un parser accurato rendeva l'annotazione delle dipendenze più veloce e più coerente.

Per un modello addestrato sulle etichette di un progetto, il risultato di Fort e Sagot suggerisce che un modello addestrato sui primi poche decine di item etichettati può già far risparmiare tempo. Un modello ancora vicino al caso costa tempo, quindi le prime pre-etichette dovrebbero attendere un punteggio held-out ben sopra il caso.

Quando le pre-etichette danneggiano

Le pre-etichette cambiano le risposte oltre alla velocità. L'ancoraggio è l'attrazione di una risposta suggerita su un giudizio successivo, e l'approvazione automatica (rubber-stamping) è accettare i suggerimenti senza leggerli, una forma di automation bias. Nell'esperimento di Fort e Sagot, l'accuratezza dell'annotatore più accurato è scesa dal 98,1% al 95,8% con le pre-annotazioni del tagger all'81,6%, e con il tagger migliore lo stesso annotatore ha commesso errori sistematici che coincidevano con quelli del tagger (aggettivo al posto di participio passato). In uno studio pre-registrato sui suggerimenti di LLM per compiti soggettivi, Schroeder et al. (2025) hanno trovato che gli annotatori non diventavano più veloci e accettavano i suggerimenti abbastanza spesso da spostare la distribuzione delle etichette. Anche l'accuratezza misurata dell'LLM saliva quando le etichette assistite servivano da riferimento di valutazione.

Riaddestrare sulle pre-etichette accettate aggiunge un circolo di retroazione. Una pre-etichetta che l'annotatore salva senza modifiche diventa la risposta di quell'annotatore, e l'esecuzione di addestramento successiva impara dalla risposta come da qualunque altra etichetta. Un errore che gli annotatori accettano torna quindi come dato di addestramento, e il modello successivo può ripetere l'errore su nuovi item. Le misure di accordo non possono individuare il circolo, perché gli annotatori che accettano la stessa pre-etichetta concordano per costruzione. Come distinguere la revisione dall'approvazione automatica descrive i segnali temporali per gli annotatori che accettano senza leggere, e misurare come i suggerimenti degli LLM ancorano gli annotatori descrive gli item alla cieca per gli annotatori che leggono e vengono comunque attratti.

Scelte di progettazione

Quattro impostazioni decidono se le pre-etichette aiutano un dato studio: la soglia minima di confidenza, gli item che ricevono pre-etichette, la quota di annotatori esclusi e la frequenza con cui il modello viene riaddestrato.

Soglia di confidenza

Sotto una soglia minima di confidenza, una predizione viene nascosta e l'annotatore etichetta l'item da zero. Una soglia più alta mostra meno pre-etichette e una quota maggiore di corrette. Una soglia ha significato solo quando le confidenze del modello sono calibrate. Le predizioni di un modello calibrato con confidenza 0,8 sono giuste circa l'80% delle volte sugli item esclusi dall'addestramento. sklearn-text di Potato calibra per impostazione predefinita le confidenze del classificatore quando un'esecuzione ha almeno 50 item di addestramento, con lo scaling di Platt sotto i 1.000 item e la regressione isotonica da lì in poi. Imposta la soglia a partire dagli item esclusi dall'addestramento, alla confidenza sopra la quale il modello è giusto abbastanza spesso da rendere il controllo di una pre-etichetta più veloce dell'etichettatura dell'item.

Quali item ricevono pre-etichette

Potato non pre-etichetta mai gli item di addestramento di un modello, perché un modello è sicuro sui dati di addestramento per ragioni che non dicono nulla sui dati nuovi. Oltre a questa regola, tieni le pre-etichette fuori dagli item usati per misurare l'accordo tra annotatori e fuori dagli item gold. L'accordo sugli item con una pre-etichetta condivisa misura la pre-etichetta, e un item gold a cui si risponde con la pre-etichetta sullo schermo misura il modello tanto quanto l'annotatore. Tra gli item restanti, una coda di revisione ordinata dalla confidenza più bassa mette gli annotatori sui probabili errori del modello. Una coda che serve ogni item a partire dalla confidenza più bassa si adatta a uno studio in cui ogni item ha ancora bisogno di un'etichetta umana.

Escludere annotatori per misurare l'effetto

L'ancoraggio si misura confrontando le risposte date con una pre-etichetta con quelle date senza, dagli stessi annotatori sullo stesso tipo di item. ai_support.holdout di Potato nega ogni forma di assistenza a una quota casuale di coppie annotatore-item, e le pre-etichette di addestramento rientrano tra le forme negate. Potato estrae per coppia e non per item, e la maggior parte degli item ha allora alcuni annotatori assistiti e alcuni esclusi. Un hash con sale mantiene ogni coppia nello stesso gruppo dopo un riavvio. Per gli schemi radio, multiselect, likert e select, la scheda AI influence della dashboard di amministrazione confronta i due gruppi su quanto spesso le risposte coincidono con il modello, quanto spesso coincidono con il gold e l'accordo all'interno di ciascun gruppo. La scheda riporta la differenza di accordo con il modello con un intervallo bootstrap al 95% una volta che ogni gruppo ha 10 risposte su item con una risposta del modello. Imposta la quota e il sale prima che l'annotazione inizi, perché cambiare l'uno o l'altro a studio avviato rimescola i gruppi. Misurare l'influenza dell'IA elenca ogni superficie di assistenza che l'holdout nega.

Con quale frequenza riaddestrare

Riaddestrare spesso mantiene le pre-etichette al passo con le ultime decisioni sulle linee guida e con le correzioni, e ogni riaddestramento sostituisce anche le pre-etichette che gli annotatori vedono. auto_retrain di Potato avvia un'esecuzione quando sono arrivate update_frequency nuove annotazioni (25 per impostazione predefinita) e sono passati min_interval_s secondi dalla fine dell'ultima esecuzione (600 per impostazione predefinita). Un update_frequency più grande risparmia calcolo e mantiene stabili le pre-etichette per tratti di lavoro più lunghi. Mantieni fisso split_seed per lo studio, perché cambiare il seme sposta item esclusi dall'addestramento nell'addestramento e rende il punteggio held-out di un'esecuzione non confrontabile con quello della successiva. Potato inserisce inoltre ogni item corretto da un revisore nella partizione train di ogni esecuzione successiva. Una correzione insegna allora al modello successivo e non viene mai usata per valutare il modello.

L'etichettatura assistita dal modello in Potato

L'addestramento di modelli di Potato adatta un modello alle annotazioni di uno studio dalla pagina Training dell'amministratore, valuta il modello su item esclusi dall'addestramento e riscrive le predizioni del modello negli item come pre-etichette. Il write-back mostra la risposta del modello preselezionata nella pagina di annotazione. Una pre-etichetta diventa la risposta dell'annotatore solo quando l'annotatore la modifica o passa oltre. Fino ad allora l'item non conta come completato. Questi blocchi aggiungono l'etichettatura assistita dal modello con riaddestramento automatico e un holdout del 20% a una configurazione con uno schema radio chiamato sentiment:

yaml
model_training:
  enabled: true
  auto_retrain:
    enabled: true
    trainer: sklearn-text
    schemas: [sentiment]
    update_frequency: 50
    min_interval_s: 600
  writeback:
    schemas: [sentiment]
    include_unlabeled: true
    min_confidence: 0.8
 
ai_support:
  holdout:
    fraction: 0.2
    salt: reviews-2026

writeback.schemas indica gli schemi le cui predizioni vedono gli annotatori. L'elenco è vuoto per impostazione predefinita, e gli annotatori non vedono predizioni finché l'elenco non indica uno schema. include_unlabeled: true predice anche gli item che nessuno ha ancora etichettato, e quegli item sono quelli in cui una pre-etichetta fa risparmiare tempo. Senza questa impostazione, un'esecuzione predice solo gli item esclusi dall'addestramento dell'esecuzione. Le predizioni sotto min_confidence vengono memorizzate e non mostrate. Il blocco holdout funziona con ai_support.enabled disattivato.

assignment_strategy: model_review serve gli item pre-etichettati a partire dal meno sicuro per la revisione, e assignment_strategy: llm_confidence serve ogni item in quell'ordine. Un revisore registra un verdetto accept, correct o reject su ogni pre-etichetta. Una pre-etichetta rifiutata viene tolta dall'item e non viene più mostrata. DELETE /admin/training/api/runs/<run_id>/predictions ritira ogni pre-etichetta scritta da un'esecuzione. Il modello nel ciclo percorre passo dopo passo il write-back, la coda di revisione, l'ordine di acquisizione e auto_retrain, e il riferimento sul write-back di Potato elenca ogni controllo che una predizione supera prima che un annotatore la veda.

Ulteriori letture

Riferimenti

  1. Fort, K., and Sagot, B. (2010). Influence of Pre-annotation on POS-tagged Corpus Development. Proceedings of the Fourth Linguistic Annotation Workshop, 56-63. https://aclanthology.org/W10-1807/
  2. Lingren, T., Deleger, L., Molnar, K., Zhai, H., Meinzen-Derr, J., Kaiser, M., Stoutenborough, L., Li, Q., and Solti, I. (2014). Evaluating the impact of pre-annotation on annotation speed and potential bias: natural language processing gold standard development for clinical named entity recognition in clinical trial announcements. Journal of the American Medical Informatics Association, 21(3), 406-413. https://doi.org/10.1136/amiajnl-2013-001837
  3. Mikulová, M., Straka, M., Štěpánek, J., Štěpánková, B., and Hajič, J. (2022). Quality and Efficiency of Manual Annotation: Pre-annotation Bias. Proceedings of the Thirteenth Language Resources and Evaluation Conference, 2909-2918. https://aclanthology.org/2022.lrec-1.312/
  4. Schroeder, H., Roy, D., and Kabbara, J. (2025). Just Put a Human in the Loop? Investigating LLM-Assisted Annotation for Subjective Tasks. Findings of the Association for Computational Linguistics: ACL 2025, 25771-25795. https://doi.org/10.18653/v1/2025.findings-acl.1323