Rivoluzionare la sintesi del testo Esplorare i trasformatori GPT-2 e XLNet

Rivoluzionare la sintesi del testo con GPT-2 e XLNet

Introduzione

Non abbiamo abbastanza tempo per leggere tutto e capire. Ecco dove entra in gioco il riassunto del testo. Ci aiuta a capire l’intero testo rendendolo più breve. È come ottenere le informazioni essenziali senza leggere tutti i dettagli. Il riassunto del testo è davvero utile in molte situazioni. Immagina di essere uno studente e di avere un esame domani ma non hai ancora iniziato a leggere. Devi studiare 3 capitoli per l’esame e hai solo oggi per studiare. Non preoccuparti. Usa il riassuntore di testo. Ti aiuterà a superare l’esame di domani. Eccitante, vero? Questo articolo esplorerà il riassunto del testo utilizzando i modelli di trasformazione GPT-2 e XLNet.

Obiettivi di apprendimento

In questo articolo, impareremo:

  • Informazioni sul riassunto del testo e i suoi tipi
  • Come si è sviluppato il modello di trasformazione e come funziona la sua architettura
  • Informazioni sui riassuntori di trasformazione come GPT-2 e XLNet
  • Infine, l’implementazione utilizzando le loro diverse varianti

Questo articolo è stato pubblicato come parte del Data Science Blogathon.

Cos’è il riassunto del testo?

Ti è mai capitata una situazione in cui dovevi leggere alcune pagine del libro ma non potevi a causa della tua pigrizia? Anche se il libro era interessante, a volte non riusciamo a sfogliare le pagine. Grazie al riassunto del testo. Usandolo, possiamo capire il riassunto dell’intero testo senza leggere effettivamente tutte le righe e tutte le pagine del libro.

Il riassunto del testo consiste nel convertire un testo lungo in uno breve mantenendo le informazioni importanti. È come creare il riassunto del testo. Il riassunto del testo è un campo affascinante nell’elaborazione del linguaggio naturale (NLP). Preserva le idee principali e le informazioni essenziali del testo originale. In parole semplici, l’obiettivo del riassunto del testo è catturare i punti critici del testo originale e consentire ai lettori di comprendere rapidamente il contenuto del testo senza leggerlo effettivamente.

Fonte: Microsoft

Tipi di riassunto

Esistono due tipi principali di approcci per il riassunto del testo. Sono:

  • Riassunto estrattivo
  • Riassunto astrattivo

Li capiremo nel dettaglio.

Riassunto estrattivo

Consiste nella selezione e combinazione di frasi importanti del testo originale per formare il riassunto. Questo tipo di riassunto mira a estrarre le frasi più rilevanti e informative. Queste frasi dovrebbero rappresentare l’idea principale e il contesto del testo originale. Le frasi selezionate formano direttamente il riassunto senza modifiche. Alcune tecniche standard utilizzate nel riassunto estrattivo includono:

  • Valutazione delle frasi: Questo è un approccio basato sui punteggi. Il sistema seleziona frasi per il riassunto in base alla frequenza delle parole, alla posizione delle frasi e all’importanza delle parole chiave. Verranno scelte frasi che ottengono un punteggio elevato per essere incluse nel riassunto. In questo modo, tutte le frasi ad alto punteggio formano il riassunto dell’intero testo originale.
  • Basato su grafi: Nei metodi basati su grafi, utilizziamo i grafi per rappresentare le relazioni tra le frasi. Qui tutte le frasi sono nodi e gli archi rappresentano la similarità o la relazione tra le frasi. Utilizzando alcuni algoritmi di grafi, identificare le frasi essenziali e tutte le frasi importanti formeranno il riassunto.
Fonte: SpringerLink
  • Metodi statistici: Queste tecniche utilizzano strumenti e algoritmi statistici per valutare l’importanza e la pertinenza delle singole frasi all’interno del testo. Questi metodi mirano a identificare le frasi più rilevanti e informative assegnando punteggi e pesi o utilizzando tecniche di ottimizzazione. Tutte le frasi importanti, a loro volta, formano il riassunto del testo.

Riassunto astrattivo

Il riassunto astrattivo consiste nella generazione di un riassunto che può contenere frasi riformulate o addirittura nuove frasi che non fanno parte del testo originale. Comprende il contenuto del testo e genera un riassunto per catturare le idee principali. A differenza del riassunto estrattivo, in cui vengono aggiunti direttamente testi originali senza modifiche al riassunto, il riassunto astrattivo è come se un essere umano generasse il riassunto con parole proprie. Le tecniche di riassunto astrattivo si basano su modelli avanzati di generazione del linguaggio naturale come reti neurali o trasformatori. Questi modelli avanzati possono interpretare e generare linguaggio simile a quello umano. Il riassunto astrattivo ha il vantaggio di produrre riassunti più simili a quelli umani e può gestire meglio i testi complessi. Alcune tecniche standard utilizzate nel riassunto astrattivo includono:

Modelli Sequence-to-Sequence: I modelli Sequence-to-Sequence utilizzano un’architettura neurale, prendono il testo sorgente in ingresso e forniscono un riassunto in output. Durante l’addestramento, i modelli Seq2Seq vengono addestrati su coppie di testo sorgente e relativi riassunti. Quindi il modello impara ad associare il testo in ingresso e il riassunto in output ottimizzando la funzione di perdita. La funzione di perdita indica la differenza tra il riassunto generato e il riassunto target originale fornito. Ottimizzando la funzione di perdita, il modello imparerà meglio e genererà i migliori riassunti.

Mechanismi di Attenzione: I meccanismi di attenzione sono fondamentali in molti compiti di elaborazione del linguaggio naturale (NLP), compresa la sintesi del testo. Qui i modelli si concentrano solo su parti rilevanti della sequenza in ingresso e generano il riassunto in output. Ciò aiuterà il modello a concentrarsi sulle informazioni importanti e a produrre riassunti più accurati e appropriati dal punto di vista contestuale.

Apprendimento per Rinforzo: Le tecniche di apprendimento per rinforzo perfezionano il modello di sintesi fornendo ricompense o penalità. Si basa sulla qualità dei riassunti generati. In questo modo, il modello si migliora da solo e fornisce riassunti migliori.

Modelli Transformer

Inizialmente, abbiamo le reti neurali ricorrenti (RNN), che sono reti neurali feed-forward che gestiscono dati sequenziali. Ma queste RNN hanno alcune limitazioni, tra cui il tempo necessario per addestrare il modello e talvolta sequenze lunghe che portano alla scomparsa dei gradienti. Dopodiché, è entrato in gioco il Long Short-Term Memory (LSTM). Le LSTM possono elaborare sequenze più lunghe rispetto alle RNN. Se le RNN sono lente da addestrare, le LSTM sono ancora più lente delle RNN a causa della loro struttura complessa. Sia per le LSTM che per le RNN, i dati di input devono essere passati in modo sequenziale. Le GPU attuali sono progettate per il calcolo parallelo e non adatte per il flusso sequenziale. Poi sono entrati in gioco i transformers.

L’Attenzione è Tutto Ciò di Cui Hai Bisogno

Il paper “L’attenzione è tutto ciò di cui hai bisogno” ha introdotto un’architettura innovativa chiamata Transformers. La rete Transformers utilizza l’architettura encoder-decoder, simile all’architettura RNN, ma consente di passare sequenze di input in parallelo. Innanzitutto, la rete Transformers passa una sequenza di input e la converte in un’incorporamento di input per rappresentare il significato della sequenza. Quindi, aggiunge un’incorporazione posizionale per catturare il contesto di ogni parola nella frase.

Il blocco di attenzione calcola i vettori di attenzione per ogni parola. Il problema qui è che il vettore di attenzione potrebbe attribuire un peso molto più elevato alla sua relazione con se stesso. Ma abbiamo bisogno dell’interazione di parole specifiche con altre parole. Il sistema calcola otto vettori di attenzione per parola e ottiene il vettore di attenzione finale per ogni parola calcolando una media ponderata. Questo processo coinvolge l’utilizzo di più vettori di attenzione, il che dà origine al termine “blocco di attenzione multi-head”. Il sistema passa quindi questi vettori di attenzione attraverso la rete feed-forward. L’output finale sarà costituito da alcuni vettori codificati che rappresentano ogni parola.

Fonte: Machine Learning Mastery

Rete Decoder

Ora vediamo la rete decoder. Innanzitutto, otteniamo le incapsulazioni dell’output. Quindi eseguiamo la codifica posizionale aggiungendo il valore posizionale per conservare il contesto. Successivamente, il sistema lo passa attraverso il primo blocco di attenzione multi-head, noto come blocco di attenzione multi-head mascherato. Durante l’elaborazione di ogni parola, tutte le parole successive sono mascherate e vengono formati vettori di attenzione utilizzando solo le parole precedenti. Successivamente, c’è un secondo blocco di attenzione multi-head. Successivamente, questi blocchi vengono passati attraverso il livello feed-forward. Infine, il sistema alimenta l’output attraverso i livelli lineari e softmax per fare previsioni per la parola successiva.

GPT-2 per la Sintesi del Testo

GPT-2 è un modello transformers che è stato pre-addestrato su un ampio corpus di dati in lingua inglese in modo auto-supervisionato. Stands for (Generative Pretrained Transformer). Questo modello è pre-addestrato su testi grezzi senza etichette. GPT-2 è un potente modello di linguaggio che può essere utilizzato per compiti di sintesi del testo. È noto per generare riassunti rilevanti dal punto di vista contestuale dei testi in ingresso. In realtà, è stato progettato inizialmente come un modello generativo per indovinare le parole successive nelle frasi.

Durante l’addestramento, prende sequenze di input con una certa lunghezza. E le sequenze di target sono simili alle sequenze di input ma spostate di una parola o token. Quindi il modello impara a prevedere la parola successiva in base alle parole precedenti. GPT-2 utilizza l’attenzione mascherata in modo che si assicurerà che solo i token precedenti vengano utilizzati per la previsione. Tutti i token futuri saranno mascherati. Attraverso il suo processo di addestramento, GPT-2 impara come le parole e le frasi si inseriscono insieme nella lingua inglese. Sviluppa una comprensione dei modelli e delle strutture. Questa conoscenza è memorizzata all’interno del modello e può essere utilizzata per generare nuovo testo che sembra scritto da un essere umano.

Varianti di GPT-2

Diverse varianti di GPT-2 si basano sulla dimensione del modello e sui parametri. Tutti i modelli GPT-2 preaddestrati sono disponibili sul Model Hub di Hugging Face e possiamo addestrarli ulteriormente in base alle esigenze. Ora vedremo le varianti di GPT-2 in dettaglio.

1. GPT2-Small: Compatto e Veloce

Questa è la versione più piccola di GPT-2. Ha meno parametri rispetto alle altre versioni ed è più veloce da usare. Questa versione è adatta per compiti che richiedono una comprensione e una generazione di base del linguaggio. Potrebbe non essere efficace con modelli linguistici complessi, ma comunque genera frasi sensate. GPT2-Small è ottimo per situazioni in cui non abbiamo molto tempo o computer potenti. Ha 124M di parametri. Il modello è chiamato gpt2 sul sito ufficiale di Hugging Face.

GPT2-Small può essere addestrato specificamente per compiti o domini per migliorare le prestazioni in applicazioni mirate. L’addestramento specifico implica addestrare il modello su un set di dati più piccolo e specifico per adattarlo a un determinato contesto. Questo processo permette a GPT2-Small di migliorare le sue prestazioni in domini specifici.

A causa della sua dimensione ridotta, potrebbe avere difficoltà a generare testi altamente dettagliati o ricchi di contesto. A volte potrebbe generare testi non correlati, specialmente quando si trova di fronte a prompt ambigui. Ma nella maggior parte dei casi, genererà testi significativi e correlati.

2. GPT2-VoAGI: Trovare un Equilibrio

GPT2-VoAGI è una versione di GPT-2 che si colloca a metà per dimensione e prestazioni. Offre un equilibrio tra la dimensione del modello e le sue prestazioni. Le varianti GPT2-Small e GPT2-Large in termini di capacità e funzionalità hanno un totale di 355M di parametri. Quindi catturano modelli complessi rispetto a GPT2-Small. Questi parametri sono le rappresentazioni apprese interne che consentono al modello di comprendere e generare testi.

Rispetto a GPT2-Small, GPT2-VoAGI può generare testi di qualità superiore con miglior coerenza e fluidità. È particolarmente richiesto nella generazione di testi di alta qualità. Offre capacità migliorate, ma richiede anche più risorse computazionali rispetto a GPT2-Small.

3. GPT2-Large: Competenze Linguistiche Avanzate

Questo modello GPT2-Large porta le capacità di generazione e comprensione del testo a nuove vette. Richiede più parametri rispetto a GPT2-VoAGI e migliora le capacità di modellazione del linguaggio. Quindi permette la generazione di testi ricchi di contesto. Ha un totale di 774M di parametri. Questi parametri permettono al modello di catturare molti modelli linguistici complessi, inclusa la dipendenza a lungo termine.

Può generare risposte più lunghe e elaborate che assomigliano a contenuti generati dall’uomo. A causa della sua dimensione maggiore, GPT-2 Large richiede più risorse computazionali per essere addestrato ed utilizzato efficacemente. Alcune delle sue applicazioni includono chatbot avanzati, generazione di contenuti creativi e assistenti virtuali.

4. GPT2-XL: Prestazioni Superiori

GPT-2 XL è una variante del modello linguistico GPT-2 che incorpora l’architettura XLNet. Questa è la variante più avanzata di GPT-2 nella modellazione del linguaggio. Richiede il maggior numero di parametri rispetto a tutte le varianti di GPT-2. Richiede un totale di 1.5B di parametri. L’architettura XLNet in GPT-2 XL permette una comprensione più approfondita del contesto. Ha catturato con successo relazioni complesse tra le parole e anche in sequenze lunghe. Inoltre, ha prestazioni migliorate in tutti i compiti.

Vedrete una vasta gamma di applicazioni in cui la modellazione del linguaggio avanzata è essenziale. Sfruttando il potere di GPT-2 XL, ricercatori e sviluppatori possono aprire nuove possibilità nell’elaborazione del linguaggio naturale.

Implementazione Usando GPT-2

Utilizziamo diverse varianti di GPT-2 per la sintesi del testo.

Inizialmente, ho preso una piccola storia e l’ho fornita. L’obiettivo è generare un riassunto dell’intera storia.

text='''C'era una volta, in una piccola città chiamata Willow Creek, si verificò un crimine che lasciò tutti sbalorditi. Il negozio di convenienza locale, un luogo di ritrovo amato dalla comunità, fu rapinato. La notizia si diffuse rapidamente, causando paura e preoccupazione tra gli abitanti del paese. All'agente Sarah Johnson fu assegnato il compito di investigare sul crimine. Esaminò attentamente il negozio alla ricerca di indizi, nella speranza di scoprire la verità. Furono trovate impronte di piedi, impronte digitali e una serratura rotta, fornendo prove preziose. Le telecamere di sicurezza del negozio rivelarono una figura mascherata che si intrufolava di notte. I giorni si trasformarono in settimane, ma non ci furono progressi nel caso. Gli abitanti della città divennero ansiosi, chiedendosi chi potesse commettere un crimine del genere. L'agente Johnson era determinata a risolvere il caso, lavorando instancabilmente giorno e notte. Una sera, mentre pattugliava il quartiere, Johnson notò una persona sospetta che si comportava in modo strano vicino al negozio. La seguì discretamente e si rivelò essere un giovane di nome Alex. Alex confessò il crimine, spiegando che stava affrontando difficoltà finanziarie e aveva preso una scelta folle per disperazione. L'agente Johnson mostrò empatia verso la situazione di Alex, comprendendo le pressioni che affrontava. Si assicurò che ricevesse l'aiuto di cui aveva bisogno anziché una punizione severa. La notizia dell'arresto si diffuse in tutta la città e l'incidente servì come un promemoria per la comunità di sostenersi a vicenda nei momenti difficili. La dedizione e la compassione dell'agente Johnson furono applaudite, facendone una figura rispettata a Willow Creek.'''

Per la sintesi del testo, utilizziamo bert-extractive-summarizer. Quindi importiamo TransformerSummarizer dal modulo summarizer.

pip install bert-extractive-summarizer
from summarizer import TransformerSummarizer

Prima di tutto, utilizzeremo la variante GPT2-Small. Quindi creiamo un’istanza della classe TransformerSummarizer e assegniamola alla variabile GPT2_model. Richiede due parametri. Il primo è il trasnformer_type, che specifica quale modello di trasformatore stiamo utilizzando. Qui stiamo usando GPT2. Il parametro successivo è transformer_model_key che specifica la variante. Qui stiamo usando gpt2. E poi, stamperemo il riassunto generato con una lunghezza minima di 50.

GPT2_model = TransformerSummarizer(transformer_type="GPT2",transformer_model_key="gpt2")
Summary = ''.join(GPT2_model(text, min_length=50))
print(Summary) 

C’era una volta, in una piccola città chiamata Willow Creek, avvenne un crimine che lasciò tutti sbalorditi. All’ufficiale Sarah Johnson fu assegnato il compito di investigare sul crimine. Gli abitanti della città erano ansiosi, chiedendosi chi potesse commettere un simile crimine. La dedizione e la compassione dell’ufficiale Johnson vennero applaudite, facendone una figura rispettata a Willow Creek.

Ora utilizzeremo la variante GPT2-VoAGI.

GPT2_VoAGI_model = TransformerSummarizer(transformer_type="GPT2",
                                          transformer_model_key="gpt2-VoAGI")
Summary = ''.join(GPT2_VoAGI_model(text, min_length=50))
print(Summary)

C’era una volta, in una piccola città chiamata Willow Creek, avvenne un crimine che lasciò tutti sbalorditi. Gli abitanti della città erano ansiosi, chiedendosi chi potesse commettere un simile crimine. L’ufficiale Johnson era determinato a risolvere il caso, lavorando instancabilmente giorno e notte. Una sera, durante una ronda nel quartiere, Johnson notò una persona sospetta che si comportava in modo strano vicino al negozio.

Ora utilizzeremo la variante GPT2-Large.

GPT2_large_model = TransformerSummarizer(transformer_type="GPT2",transformer_model_key="gpt2-large")
Summary = ''.join(GPT2_large_model(text, min_length=50))
print(Summary)

C’era una volta, in una piccola città chiamata Willow Creek, avvenne un crimine che lasciò tutti sbalorditi. Lei esaminò attentamente il negozio alla ricerca di indizi, sperando di scoprire la verità. L’ufficiale Johnson era determinato a risolvere il caso, lavorando instancabilmente giorno e notte. La notizia dell’arresto si diffuse in tutta la città e l’incidente servì da monito alla comunità per sostenersi a vicenda durante i momenti difficili.

XLNet per la Sintesi del Testo

XLNet è un modello di linguaggio basato su trasformatori all’avanguardia e sta per “eXtreme Language understanding NETwork”. È stato progettato per superare alcune limitazioni dei modelli precedenti come BERT (Bidirectional Encoder Representations from Transformers). I modelli BERT elaborano solitamente la sequenza di input in modo bidirezionale. Ma XLNet è diverso. Qui permette al modello di considerare tutte le possibili permutazioni della sequenza di input. Questo è chiamato addestramento basato su permutazioni. Ciò aiuta XLNet a catturare più informazioni contestuali e migliorare le prestazioni su varie attività di elaborazione del linguaggio naturale.

XLNet introduce anche il concetto di addestramento “autoregressivo”. I modelli autoregressivi prevedono il token successivo in una sequenza in base ai token precedenti. Ciò consente loro di generare testi più coerenti e pertinenti in contesto. XLNet combina l’addestramento autoregressivo e basato su permutazioni, migliorando le prestazioni su varie attività.

Varianti di XLNet

XLNet ha diverse varianti disponibili e differisce per dimensione del modello e tipo di tokenizzazione utilizzata (cased o uncased). Possiamo scegliere la variante appropriata in base alle esigenze del compito e alle risorse computazionali. Tutti i modelli preaddestrati di XLNet sono disponibili sul Model Hub di Hugging Face e possiamo affinarli in base alle esigenze. Ora vedremo alcune delle varianti più popolari di XLNet.

1. XLNet Base Cased: Conserva la Sensibilità delle Maiuscole/minuscole

XLNet Base Cased è una variante specifica del modello XLNet che viene addestrata su testo con maiuscole/minuscole. Ciò significa che mantiene la capitalizzazione originale delle parole nei dati di addestramento. Ha un totale di 110M parametri. Il “Base” in XLNet Base Cased si riferisce alla sua architettura di base, che include diversi strati, meccanismi di attenzione e altri componenti.

Il termine “Cased” in XLNet Base Cased indica che il modello conserva le informazioni sulle maiuscole e minuscole delle parole durante l’addestramento e l’inferenza. Ciò significa che le lettere maiuscole e minuscole vengono trattate in modo diverso e il modello è in grado di distinguerle. Questo è molto vantaggioso quando la capitalizzazione porta un significato semantico. Con la sua architettura bilanciata e l’addestramento che preserva le maiuscole e minuscole, questo modello ha un buon equilibrio tra complessità, risorse computazionali e prestazioni complessive.

2. XLNet Large Cased: Modello su larga scala con sensibilità alle maiuscole e minuscole

XLNet Large Cased è un’altra variante di XLNet con una capacità e una capacità aumentate, rendendolo adatto per compiti più complessi. Ha più parametri rispetto a XLNet-Base Cased. In totale ha 340M di parametri. Con la sua dimensione di modello più grande e un’architettura migliorata, può catturare efficacemente modelli linguistici intricati. L’architettura di XLNet Large si basa sul fondamento di XLNet Base Cased. Aggiunge alcuni strati e componenti aggiuntivi per migliorarne le capacità.

XLNet Large Cased richiede anche risorse computazionali elevate e una capacità e prestazioni aumentate. L’addestramento e il fine-tuning di XLNet Large Cased possono richiedere risorse computazionali eccezionalmente elevate, inclusi potenti GPU e configurazioni hardware. XLNet Large Cased eccelle in vari compiti di NLP sfidanti, tra cui la traduzione automatica, la classificazione del testo, l’analisi del sentiment, la risposta alle domande e la sintesi dei documenti.

3. XLNet Base Multilingual Cased: Supporto multilingue per compiti cross-linguistici

XLNet Base Multilingual Cased è una variante del modello XLNet, progettata specificamente per supportare applicazioni multilingue e compiti cross-linguistici. Ha capacità e capacità migliorate per gestire più lingue. Il modello è stato addestrato su un ampio corpus di testi multilingue. Ciò aiuta il modello a imparare più rappresentazioni e a catturare modelli linguistici. Con l’addestramento multilingue, il modello può trasferire conoscenze e sarà in grado di generalizzare bene tra diverse lingue. Questa capacità aiuta anche a gestire lingue che non sono state utilizzate durante il processo di addestramento.

XLNet Base Multilingual Cased conserva le informazioni sulle maiuscole e minuscole delle parole durante l’addestramento e l’inferenza, rendendolo sensibile alle maiuscole e minuscole. Ciò significa che può distinguere tra lettere maiuscole e minuscole. Questo ha molte applicazioni ed è particolarmente utile per compiti cross-linguistici. Questi includono traduzione automatica, classificazione dei documenti cross-linguistici, ecc.

4. XLNet Base Cased IMDb

XLNet Base Cased IMDb è un’altra variante di XLNet specificamente addestrata e fine-tuned sul dataset IMDb per l’analisi del sentiment. Questo dataset IMDb è molto popolare nel Natural Language Processing (NLP) e contiene recensioni di film etichettate con sentimenti positivi o negativi. Hanno eseguito il fine-tuning di questo modello per 5 epoche utilizzando una dimensione di batch di 32 e un tasso di apprendimento di 2e-05. La lunghezza massima della sequenza è stata impostata su 512. Poiché si trattava di un compito di classificazione, hanno utilizzato la funzione di perdita di entropia incrociata per addestrare il modello. Anche se questo modello è principalmente destinato a compiti di classificazione, può comunque generare risultati per compiti di sintesi, ma i risultati potrebbero non essere ottimali.

Implementazione utilizzando XLNet

Utilizziamo lo stesso testo che abbiamo utilizzato prima per GPT-2. Tutti i moduli importati rimangono gli stessi.

Prima, utilizzeremo il modello xlnet-base-cased

xlnet_base_cased_model = TransformerSummarizer(transformer_type="XLNet",
                                               transformer_model_key="xlnet-base-cased")
Summary = ''.join(xlnet_base_cased_model(text, min_length=50))
print(Summary)

C’era una volta, in una piccola città chiamata Willow Creek, un crimine che ha lasciato tutti sbalorditi. All’ufficiale Sarah Johnson è stato assegnato il compito di investigare sul crimine. Ha esaminato attentamente il negozio alla ricerca di indizi, sperando di scoprire la verità. Le telecamere di sicurezza del negozio hanno rivelato una figura mascherata che si intrufolava di notte.

Vediamo i risultati utilizzando il modello xlnet-large-cased.

xlnet_large_cased_model = TransformerSummarizer(transformer_type="XLNet",
                                                transformer_model_key="xlnet-large-cased")
Summary = ''.join(xlnet_large_cased_model(text, min_length=50))
print(Summary)

C’era una volta, in una piccola città chiamata Willow Creek, un crimine che ha lasciato tutti sbalorditi. Il negozio di convenienza locale, un amato luogo di ritrovo per la comunità, è stato rapinato. Si è assicurata che ricevesse l’aiuto di cui aveva bisogno invece di una punizione severa. La notizia dell’arresto si diffuse in tutta la città e l’incidente servì come un promemoria per la comunità di sostenersi a vicenda durante i momenti difficili.

Infine, utilizzeremo il modello xlnet-base-cased-imdb.

xlnet_base_cased_imdb_model = TransformerSummarizer(transformer_type="XLNet",
                              transformer_model_key="textattack/xlnet-base-cased-imdb")
Summary = ''.join(xlnet_base_cased_imdb_model(text, min_length=50))
print(Summary)

C’era una volta, in una piccola città chiamata Willow Creek, un crimine che ha lasciato tutti sconvolti. Lei ha esaminato attentamente il negozio alla ricerca di indizi, sperando di scoprire la verità. Le telecamere di sicurezza del negozio hanno rivelato una figura mascherata che si intrufolava di notte. La notizia dell’arresto si diffuse per tutta la città e l’incidente servì come un promemoria per la comunità di supportarsi a vicenda durante i momenti difficili.

Conclusione

La sintesi del testo semplifica il processo di estrazione delle informazioni chiave da testi lunghi. Ci consente di cogliere rapidamente i punti principali. Con l’emergere di nuovi modelli di trasformatori come GPT-2 e XLNet, la sintesi del testo ha raggiunto nuove vette. Questo articolo ci ha insegnato la sintesi del testo e il modello di trasformatori. L’emergere dei modelli di trasformatori e l’architettura di essi e la comprensione di come funzionano esattamente. Poi abbiamo esplorato diverse varianti di GPT-2 e XLNet.

Punti chiave

  • La sintesi del testo è una tecnica straordinaria per estrarre informazioni importanti da testi significativi.
  • Utilizzando riassunti del testo, possiamo risparmiare tempo nella comprensione del testo senza leggerlo e fornire riassunti più precisi e coerenti.
  • Ha molte applicazioni, tra cui Analisi dei social media, Riassunto dei documenti, Aggregazione delle notizie e molte altre.
  • GPT-2 e XLNet sono potenti modelli di trasformatori e questi modelli hanno apportato contributi significativi nel campo della sintesi del testo.

Domande frequenti

Il materiale mostrato in questo articolo non è di proprietà di Analytics Vidhya ed è utilizzato a discrezione dell’autore.