×

Classificazione di testo senza addestramento

Zero Shot Classification

Una delle soluzioni possibili per la classificazione del testo in etichette prestabilite (candidate) è la Zero-Shot Classification (ZSL).
Questa tecnica permette di applicare etichette mai viste durante la fase di addestramento su un testo, utilizzando modelli pre-addestrati. In pratica, è possibile applicare etichette al testo grazie all'analisi semantica, ovvero il confronto tra il significato del testo e quello dell'etichetta. In altre parole, si confrontano due vettori e si calcola la loro distanza (score).

Il modello pre-addestrato è in grado di generare questi vettori, posizionando correttamente i vari token nello spazio vettoriale.

Vantaggi e Applicazioni

  • Flessibilità: Non è necessario addestrare un modello per ogni caso d'uso specifico, poiché il sistema è in grado di classificare dinamicamente i testi in categorie personalizzate.
  • Riduzione del tempo e delle risorse: Non è necessario raccogliere e annotare grandi quantità di dati per ogni nuova categoria.
  • Ampia applicabilità: La Zero-Shot Classification può essere utilizzata in vari ambiti, come il supporto clienti, l’e-commerce (ad esempio, il riconoscimento delle richieste di aggiunta al carrello), il monitoraggio dei social media e la moderazione dei contenuti.

Svantaggi e Limitazioni

  • Precisione inferiore rispetto ai modelli specifici: La Zero-Shot Classification potrebbe risultare meno accurata rispetto a modelli addestrati su dati etichettati e ottimizzati per un dominio specifico.
  • Sensibilità alla formulazione delle etichette: La qualità dei risultati dipende molto da come vengono definite le etichette. Se le etichette non sono formulate in modo chiaro e coerente con il testo, il modello potrebbe assegnare classificazioni errate.
  • Difficoltà con contesti complessi o ambigui: Il modello potrebbe non comprendere correttamente frasi particolarmente complesse, ironiche o che richiedono conoscenze specifiche.
  • Dipendenza dalla lingua e dal modello utilizzato: Alcuni modelli funzionano meglio in inglese rispetto ad altre lingue, e la qualità della classificazione può variare a seconda del modello scelto (ad esempio, BART, RoBERTa, GPT, ecc.).

Esempio Pratico in Python

Di seguito, viene illustrato un esempio pratico, in python, che utilizza la libreria Transformers di Hugging Face per classificare frasi come richieste di aggiunta al carrello o meno, utilizzando la funzione pipeline di Hugging Face per caricare un modello pre-addestrato di Zero-Shot Classification. Questo modello è già stato addestrato su un ampio corpus di dati testuali e può assegnare categorie a testi mai visti prima.

Si procede come segue:

  • Creazione delle frasi di test
  • Definizione delle etichette per la classificazione
  • Classificazione delle frasi e calcolo dello score

Risultato:

Phrase: 'Mi aggiungi questo articolo al carrello?' --> Label: Aggiungi al carrello (Score: 0.91)
Phrase: 'Mi metti questo nel carrello?' --> Label: Aggiungi al carrello (Score: 0.61)
Phrase: 'Vorrei acquistare questo prodotto.' --> Label: Aggiungi al carrello (Score: 0.47)
Phrase: 'Aggiungi il prodotto al carrello.' --> Label: Aggiungi al carrello (Score: 0.87)
Phrase: 'Come posso pagare per questo articolo?' --> Label: Non aggiungi al carrello (Score: 0.68)
Phrase: 'Hai un altro colore disponibile per questo prodotto?' --> Label: Altro (Score: 0.65)

Soluzioni Alternative

In alcuni casi particolari, un'alternativa è la creazione di un database vettoriale dedicato, in cui è possibile mappare i testi alle etichette, coprendo lo "spazio semantico" desiderato, utilizzando la funzione di embedding più adatta al caso.

Un'altra alternativa è l’utilizzo del Few-Shot Learning, che non comporta un vero e proprio addestramento né un rafforzamento, ma una mappatura supplementare con un numero limitato di esempi per ciascuna classe (etichetta) di riferimento.

Conclusione

La Zero-Shot Classification è un metodo potente per classificare testi senza la necessità di addestrare un modello specifico. Come mostrato nell'esempio, può essere applicata a contesti reali, come il riconoscimento delle intenzioni degli utenti in un negozio online. Tuttavia, come evidenziato nelle limitazioni, la qualità dei risultati dipende dalla formulazione delle etichette e dalla capacità del modello di comprendere il contesto.

Scrivi il tuo commento

X

Contattaci

Inviaci un messaggio, saremo lieti di ricontattarti per rispondere a tutte le tue domande