Come usare Hugging Face Transformers in Python

Come Usare Hugging Face Transformers In Python



Hugging Face è riconosciuta come una comunità artificiale intelligente che è open source e fornisce tutti i framework, gli strumenti, i modelli e le architetture importanti che aiutano a comunicare o allenarsi con i modelli linguistici (elaborazione del linguaggio naturale). Hugging Face transformers è un'architettura del linguaggio che aiuta con la fornitura dei modelli di elaborazione del linguaggio pre-addestrati in Python. Questi trasformatori di Hugging Face forniscono un'ampia gamma di set di dati e API a più livelli che aiutano i programmatori a creare facilmente un'interazione con i modelli pre-addestrati con i loro pacchetti di libreria.

Sintassi

I trasformatori Hugging Face all'avanguardia hanno una vasta gamma di modelli pre-addestrati. Questi modelli possono essere applicati a vari modelli linguistici elencati di seguito:

  • Questi trasformatori possono elaborare il testo in diverse lingue e possono eseguire diverse attività sul testo come classificazione del testo, domande e risposte, traduzione del testo in diverse lingue e generazione del testo.
  • Possiamo anche utilizzare questi trasformatori in Hugging Face per attività di classificazione basate sulla visione come il rilevamento di oggetti e attività basate sul parlato, ad es. classificazione del parlante o identificazione/riconoscimento vocale.

I trasformatori di Hugging Face includono TensorFlow, PyTorch, ONNX, ecc. Per la sintassi dell'installazione del pacchetto per questi trasformatori, utilizziamo il seguente comando:







$ pip installa trasformatori

Ora proviamo a provare diversi esempi in cui utilizziamo i modelli del trasformatore Hugging Face per diverse attività di elaborazione del linguaggio.



Esempio 1: generazione di testo utilizzando i trasformatori Hugging Face

Questo esempio copre il metodo per utilizzare i trasformatori per la generazione del testo. Per la generazione del testo, utilizziamo e importiamo il modello di generazione del testo pre-addestrato dal trasformatore. Il trasformatore ha una libreria di base nota come 'pipeline'. Queste pipeline funzionano per i trasformatori eseguendo tutta l'elaborazione pre e post necessaria sui dati che devono essere inviati ai modelli pre-addestrati come input.



Iniziamo a codificare l'esempio installando prima il pacchetto della libreria dei 'trasformatori' nel terminale Python. Per scaricare il pacchetto del trasformatore, utilizzare il 'pip install con il nome del pacchetto, ad es. trasformatore'. Una volta scaricato e installato il pacchetto transformer, procediamo importando il pacchetto 'pipelines' dal trasformatore. La pipeline viene utilizzata per elaborare i dati prima che vengano inseriti nel modello.





Importiamo il 'pprint' dal pprint. Questo pacchetto viene installato per stampare l'output dal modello di generazione del testo in una forma più leggibile, strutturata e ben formattata. Altrimenti, se usiamo la funzione 'print()', mostra l'output in un'unica riga che non è ben formattata e facilmente leggibile. I modelli di generazione del testo aiutano a generare o aggiungere più testo al testo che inizialmente abbiamo fornito al modello come input.

Per chiamare il modello addestrato dal trasformatore, usiamo la funzione pipeline() che ha i due parametri come input. Il primo specifica il nome dell'attività selezionata e il secondo è il nome del modello da un trasformatore. In questo scenario, l'attività selezionata è la generazione del testo. Il modello pre-addestrato che utilizziamo dal trasformatore è 'gpt'.



Dopo aver utilizzato la funzione pipeline, decidiamo l'input che vogliamo dare al nostro modello per generare testo aggiuntivo per esso. Quindi, passiamo questo input alla funzione 'task_pipeline ()'. Questa funzione crea l'output per il modello prendendo in input, la lunghezza massima dell'output e il numero di frasi che l'output dovrebbe avere come parametri di input.

Diamo l'input come 'Questo è un modello linguistico'. Fissiamo la lunghezza massima dell'output a '30' e il numero di frasi nell'output a '3'. Ora chiamiamo semplicemente la funzione pprint() per visualizzare i risultati generati dal nostro modello.

!pip installa i trasformatori

dalla conduttura dell'importazione dei trasformatori
da pprint importa pprint

SELECTED_TASK = 'generazione testo'
MODELLO = 'gpt2'
attività = pipeline(f'{SELECTED_TASK}', modello = MODEL)

INPUT = 'Questo è un modello di linguaggio'
OUt_put = task(INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

Dallo snippet e dall'output del codice menzionato in precedenza, possiamo vedere che il modello genera le informazioni/testo aggiuntivi rilevanti per l'input che gli abbiamo fornito.

Esempio 2: classificazione del testo utilizzando le pipeline dei trasformatori

L'esempio precedente copriva il metodo per generare il testo aggiuntivo rilevante per l'input usando i trasformatori e le relative pipeline del pacchetto. Questo esempio ci mostra come eseguire la classificazione del testo con le pipeline. La classificazione del testo è il processo di identificazione dell'input che viene fornito al modello come membro di una classe specifica, ad es. positivo o negativo.

Per prima cosa importiamo le tubazioni dai trasformatori. Quindi, chiamiamo la funzione 'pipeline ()'. Passiamo il nome del modello che, nel nostro caso, è “classificazione testo” ai suoi parametri. Una volta che il modello è stato specificato utilizzando la pipeline, ora possiamo chiamarlo 'classificatore'. Fino a questo punto, il modello predefinito per la classificazione del testo viene scaricato sul nostro computer host. Ora possiamo usare questo modello per il nostro compito.

Quindi, importa i Panda come 'pd'. Vogliamo importare questo pacchetto perché vogliamo stampare l'output dal modello sotto forma di DataFrame. Ora specifichiamo il testo che vogliamo dare al nostro modello come input per classificarlo come frase positiva o negativa. Impostiamo il testo come 'Sono un bravo ragazzo'. Passiamo questo testo al modello classifier() che abbiamo appena creato in questo esempio e salviamo i risultati in una variabile 'output'.

Per visualizzare l'output, chiamiamo il prefisso di Pandas, ovvero pd come '.Dataframe()' e passiamo l'output dal modello di classificazione a questa funzione. Ora visualizza i risultati del modello di classificatore come mostrato nel frammento di output seguente. Il nostro modello di classificatore classifica il testo come classe positiva.

!pip installa i trasformatori
dalla conduttura dell'importazione dei trasformatori
importa panda come pd
classifier = pipeline('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
testo = 'sono un bravo ragazzo'
risultato = classificatore(testo)
pprint(risultato)
df = pd.DataFrame(risultato)

Conclusione

Questa guida trattava l'architettura del trasformatore di Hugging Face. Abbiamo discusso della libreria 'pipeline' dal trasformatore Hugging Face. Quindi, con l'aiuto di questa libreria, abbiamo utilizzato i modelli di trasformatori pre-addestrati per le attività di generazione e classificazione del testo.