Apprendimento a zero colpi nell'elaborazione del linguaggio naturale per la classificazione del testo

Cos'è l'apprendimento a zero colpi, e come può essere applicato efficacemente, nel Natural Language Processing, alla classificazione del testo, grazie ai trasformatori di facce abbracciate?

Cos'è l'apprendimento a zero colpi

Grazie al recente stato dell'arte dei modelli di Natural Language Processing basati su trasformatori, l'apprendimento a zero colpi ha guadagnato molta popolarità nel mondo del Natural Language Processing. L'idea è che un modello può ora riconoscere alcune classi, anche se non è stato addestrato per questo.

Questo è ciò che gli esseri umani fanno naturalmente. Per esempio, se tuo figlio sa cos'è un cammello, devi solo dirgli che esiste un altro animale chiamato dromedario, molto simile al cammello, solo che ha 1 gobba sulla schiena invece di 2! La prossima volta che tuo figlio vedrà la foto di un dromedario, saprà cos'è mentre è la prima volta che ne vede uno!

Le tecniche zero-shot associano classi osservate e non osservate attraverso una qualche forma di cosiddetta informazione "ausiliaria", che codifica le proprietà distintive degli oggetti. Questa è stata una tecnica molto popolare nella computer vision per molto tempo, che ora è sempre più usata nel Natural Language Processing.

Apprendimento a zero colpi e classificazione del testo

L'apprendimento a zero colpi funziona benissimo per la classificazione del testo. La classificazione del testo consiste nell'applicare una o più categorie a un pezzo di testo (spazio, affari, sport, ecc.).

Fino a poco tempo fa, i modelli di classificazione del testo potevano solo categorizzare pezzi di testo con un numero predefinito di categorie candidate. Queste categorie dovevano essere impostate in anticipo durante la formazione. Questo era doloroso perché significava che, ogni volta che si voleva aggiungere una categoria, si doveva riaddestrare il modello con più esempi.

Dalla creazione di modelli di Natural Language Processing molto più grandi (il più delle volte basati su Transformers), è stato possibile addestrare i modelli solo su un elenco specifico di categorie, e poi lasciare che gli utenti creino nuove categorie al volo senza dover riaddestrare il modello.

Per esempio, diciamo che il tuo modello di classificazione del testo a zero scatti è stato addestrato a riconoscere solo 3 categorie: spazio, natura e sport. Puoi ancora usarlo per classificare testi per altre categorie, come per esempio affari, cibo o scienza.

Questa è una tecnica molto potente che permette un sacco di flessibilità pur dando grandi risultati.

I migliori modelli di classificazione a zero colpi

Ci sono eccellenti modelli open-source di Natural Language Processing là fuori, basati su Hugging Face Transformers, che funzionano davvero bene per la classificazione del testo a scatto zero.

In NLP Cloud abbiamo selezionato questi 2 modelli che sono, secondo noi, i migliori modelli allo stato dell'arte per classificazione del testo a zero colpi per il momento:

Anche se la loro precisione è impressionante e la loro latenza è abbastanza buona, questi 2 modelli sono ancora modelli ad alta intensità di calcolo, e la latenza può facilmente aumentare se il testo che si vuole analizzare diventa troppo troppo grande o il numero di categorie candidate è troppo alto. Se l'accuratezza non è la vostra preoccupazione principale e preferiresti un modello più veloce e meno impegnativo in termini di risorse, potresti facilmente selezionare un altro modello. Per esempio, esistono versioni distillate di Bart, chiamate "DistilBart", e sono perfette per questo.

Conclusione

L'apprendimento a zero colpi, insieme all'apprendimento a pochi colpi, sono tecniche moderne che sono apparse con la creazione di grandi modelli di Natural Language Processing (vedere di più sull'apprendimento di pochi colpi qui). Danno un sacco di flessibilità e rendono il Natural Language Processing sempre più impressionante!

Sentitevi liberi di provare la classificazione a zero colpi e vedere se piace anche a voi.

Julien Salinas
CTO di NLP Cloud