Tecniche per la sintesi automatica dei documenti utilizzando modelli linguistici

Tecniche avanzate per la creazione automatica di documenti utilizzando modelli linguistici

La sintesi è la tecnica di condensare informazioni ingenti in una forma compatta e significativa, ed è un pilastro della comunicazione efficiente nella nostra era ricca di informazioni. In un mondo pieno di dati, riassumere lunghi testi in sintesi brevi risparmia tempo e aiuta a prendere decisioni informate. La sintesi riduce il contenuto, risparmiando tempo e migliorando la chiarezza presentando le informazioni in modo conciso e coerente. La sintesi è indispensabile per prendere decisioni e gestire grandi volumi di contenuti.

I metodi di sintesi hanno un’ampia gamma di applicazioni che servono a vari scopi, come:

  • Aggregazione di notizie – L’aggregazione di notizie consiste nel riassumere gli articoli di notizie in una newsletter per l’industria dei media
  • Sommario di documenti legali – Il sommario di documenti legali aiuta i professionisti del settore legale ad estrarre informazioni legali chiave da documenti lunghi come termini, condizioni e contratti
  • Ricerca accademica – La sintesi annota, indica, condensa e semplifica informazioni importanti da articoli accademici
  • Data curation per blog e siti web – Puoi creare sintesi di contenuti coinvolgenti ed originali per i lettori, specialmente nel marketing
  • Rapporti finanziari e analisi di mercato – Puoi estrarre informazioni finanziarie dai rapporti e creare riepiloghi esecutivi per presentazioni agli investitori nel settore finanziario

Grazie ai progressi nel trattamento del linguaggio naturale (NLP), nei modelli di linguaggio e nell’IA generativa, la sintesi di testi di varia lunghezza è diventata più accessibile. Strumenti come LangChain, combinati con un grande modello di linguaggio (LLM) alimentato da Amazon Bedrock o Amazon SageMaker JumpStart, semplificano il processo di implementazione.

In questo post verranno approfondite le seguenti tecniche di sintesi:

  • Sintesi estrattiva utilizzando il riassumitore estrattivo BERT
  • Sintesi astrattiva utilizzando modelli di sintesi specializzati e LLM
  • Due tecniche di sintesi multi-livello:
    • Sintesi estrattiva-astrattiva utilizzando la strategia di sintesi del contenuto estrattivo-astrattivo (EACSS)
    • Sintesi astrattiva-astrattiva utilizzando Map Reduce e Map ReRank
Tecniche di sintesi del testo

Il codice completo di esempio è disponibile nel repository GitHub. Puoi avviare questa soluzione in Amazon SageMaker Studio.

Fai clic qui per aprire la console AWS e seguire le istruzioni.

Tipi di sintesi

Esistono diverse tecniche per riassumere il testo, che vengono ampiamente suddivise in due approcci principali: sintesi estrattiva e sintesi astrattiva. Inoltre, le metodologie di sintesi multi-livello incorporano una serie di passaggi che combinano tecniche sia estrattive che astrattive. Questi approcci multi-livello sono vantaggiosi quando si tratta di testi con token più lunghi del limite di un LLM, consentendo di comprendere narrazioni complesse.

Summarizzazione estrattiva

La summarizzazione estrattiva è una tecnica utilizzata nell’NLP e nell’analisi del testo per creare un riassunto estraendo frasi chiave. Invece di generare nuove frasi o contenuti come nella summarizzazione astrattiva, la summarizzazione estrattiva si basa sull’identificazione e l’estrazione delle porzioni più rilevanti e informative del testo originale per creare una versione condensata.

La summarizzazione estrattiva, sebbene vantaggiosa nel preservare il contenuto originale e garantire una elevata leggibilità estratte direttamente dal testo originale, ha delle limitazioni. Mancando di creatività, non è in grado di generare frasi nuove e potrebbe trascurare dettagli sottili, perdendo potenzialmente informazioni importanti. Inoltre, potrebbe produrre riassunti lunghi, sovraccaricando a volte i lettori con informazioni eccessive e non desiderate. Esistono molte tecniche di summarizzazione estrattiva, come TextRank e LexRank. In questo articolo, ci concentriamo sul sommatore estrattivo BERT.

Sommatore estrattivo BERT

Il sommatore estrattivo BERT è un tipo di modello di summarizzazione estrattiva che utilizza il modello linguistico BERT per estrarre le frasi più importanti da un testo. BERT è un modello linguistico pre-addestrato che può essere adattato per una varietà di compiti, compresa la summarizzazione del testo. Funziona inserendo le frasi del testo in BERT per ottenere una rappresentazione vettoriale per ogni frase che cattura il suo significato e contesto. Il modello utilizza quindi un algoritmo di clustering per raggruppare le frasi in cluster. Le frasi più vicine al centro di ciascun cluster vengono selezionate per formare il riassunto.

Rispetto ai LLM, il vantaggio del sommatore estrattivo BERT è che è relativamente semplice da addestrare e implementare il modello ed è più esplicativo. Lo svantaggio è che la summarizzazione non è creativa e non genera frasi. Seleziona solo frasi dal testo originale. Questo limita la sua capacità di riassumere testi complessi o sottili.

Summarizzazione astrattiva

La summarizzazione astrattiva è una tecnica utilizzata nell’NLP e nell’analisi del testo per creare un riassunto che vada oltre la semplice estrazione di frasi o frasi dal testo di origine. Invece di selezionare e riorganizzare i contenuti esistenti, la summarizzazione astrattiva genera nuove frasi o frasi che catturano il significato centrale e le idee principali del testo originale in una forma più condensata e coerente. Questo approccio richiede che il modello comprenda il contenuto del testo e lo esprima in un modo non necessariamente presente nel materiale di origine.

Modelli di summarizzazione specializzati

Questi modelli di linguaggio naturale pre-addestrati, come BART e PEGASUS, sono appositamente progettati per compiti di summarizzazione del testo. Utilizzano architetture encoder-decoder e hanno meno parametri rispetto ai loro equivalenti. Questa dimensione ridotta consente una facile messa a punto e implementazione su istanze più piccole. Tuttavia, è importante notare che questi modelli di summarizzazione hanno anche dimensioni più ridotte per i token di input e output. A differenza dei loro equivalenti più generici, questi modelli sono esclusivamente progettati per compiti di summarizzazione. Di conseguenza, l’input richiesto per questi modelli è solo il testo da riassumere.

Modelli di linguaggio grandi

Un modello di linguaggio grande si riferisce a un qualsiasi modello che viene addestrato su insiemi di dati estesi e diversificati, tipicamente attraverso l’apprendimento auto-supervisionato su larga scala, ed è in grado di essere messo a punto per una vasta gamma di task specifici. Questi modelli hanno una dimensione dei parametri più grande e lavorano meglio nei compiti. In particolare, presentano dimensioni dei token di input notevolmente più grandi, alcune arrivando fino a 100.000, come Claude di Anthropic. Per utilizzare uno di questi modelli, AWS offre il servizio completamente gestito Amazon Bedrock. Se hai bisogno di maggior controllo sul ciclo di sviluppo del modello, puoi implementare LLM tramite SageMaker.

Data la loro natura versatile, questi modelli richiedono istruzioni specifiche per il compito fornite tramite l’input di testo, una pratica nota come ingegneria della richiesta. Questo processo creativo produce risultati variabili in base al tipo di modello e al testo di input. L’efficacia delle prestazioni del modello e la qualità della richiesta influenzano significativamente la qualità finale delle sue uscite. Di seguito sono riportati alcuni suggerimenti per l’ingegneria delle richieste per la summarizzazione:

  • Includi il testo da riassumere: inserisci il testo che deve essere riassunto. Questo servirà come materiale di origine per il riassunto.
  • Definisci l’obiettivo: specifica chiaramente che l’obiettivo è il riassunto del testo. Ad esempio, “Riassumi il seguente testo: [testo di input].”
  • Fornisci contesto: offri una breve introduzione o contesto per il testo dato che deve essere riassunto. Ciò aiuta il modello a comprendere il contenuto e il contesto. Ad esempio, “Ti viene dato il seguente articolo sull’Intelligenza Artificiale e il suo ruolo nella Sanità: [testo di input].”
  • Richiedi il riassunto: chiedi al modello di generare un riassunto del testo fornito. Sii chiaro sulla lunghezza o sul formato desiderato del riassunto. Ad esempio, “Per favore genera un riassunto conciso dell’articolo dato sull’Intelligenza Artificiale e il suo ruolo nella Sanità: [testo di input].”
  • Imposta vincoli o linee guida sulla lunghezza: opzionalmente, guida la lunghezza del riassunto specificando un conteggio delle parole desiderato, un conteggio delle frasi o un limite di caratteri. Ad esempio, “Per favore genera un riassunto che non superi le 50 parole: [testo di input].”

L’ingegneria della richiesta efficace è fondamentale per garantire che i riassunti generati siano accurati, pertinenti e allineati con l’obiettivo di sintesi desiderato. Per ottenere risultati di sintesi ottimali, affina la richiesta tramite esperimenti e iterazioni. Dopo aver stabilito l’efficacia delle richieste, è possibile riutilizzarle con l’uso di modelli di richiesta.

Sintesi a più livelli

La sintesi estrattiva e quella astrattiva sono utili per testi più brevi. Tuttavia, quando il testo di input supera il limite massimo dei token del modello, diventa necessaria la sintesi a più livelli. La sintesi a più livelli prevede una combinazione di varie tecniche di sintesi, come metodi estrattivi e astrattivi, per condensare efficacemente testi più lunghi applicando più livelli di processi di sintesi. In questa sezione, discuteremo due tecniche di sintesi a più livelli: la sintesi estrattiva-astrattiva e la sintesi astrattiva-astrattiva.

Sintesi estrattiva-astrattiva

La sintesi estrattiva-astrattiva funziona generando prima un riassunto estrattivo del testo. Quindi utilizza un sistema di sintesi astrattiva per perfezionare il riassunto estrattivo, rendendolo più conciso e informativo. Ciò migliora l’accuratezza fornendo riassunti più informativi rispetto ai soli metodi estrattivi.

Strategia di sintesi del contenuto estrattiva-astrattiva

La tecnica EACSS combina i punti di forza di due potenti tecniche: l’estrattore BERT per la fase estrattiva e i modelli linguistici a lungo termine per la fase astrattiva, come illustrato nel seguente diagramma.

Sintesi del Testo Estrattivo Astratta

L’EACSS offre diversi vantaggi, tra cui la conservazione di informazioni cruciali, una maggiore leggibilità e adattabilità. Tuttavia, l’implementazione dell’EACSS è computazionalmente costosa e complessa. C’è il rischio di possibili perdite di informazioni, e la qualità del riassunto dipende fortemente dalle prestazioni dei modelli sottostanti, rendendo essenziale una selezione e un’affinazione attenta del modello per ottenere risultati ottimali. L’implementazione include i seguenti passaggi:

  1. Il primo passaggio consiste nel suddividere il grande documento, come un libro, in sezioni o blocchi più piccoli. Questi blocchi sono definiti come frasi, paragrafi o addirittura capitoli, a seconda della granularità desiderata per il riassunto.
  2. Per la fase estrattiva, utilizziamo il riassuntore estrattivo BERT. Questo componente funziona inserendo le frasi all’interno di ciascun blocco e quindi utilizzando un algoritmo di clustering per identificare le frasi più vicine ai centroidi dei cluster. Questa fase estrattiva aiuta a preservare i contenuti più importanti e rilevanti da ogni blocco.
  3. Dopo aver generato riassunti estrattivi per ogni blocco, passiamo alla fase di sintesi astrattiva. Qui utilizziamo modelli linguistici a lungo termine noti per la loro capacità di generare riassunti coerenti e pertinenti dal punto di vista contestuale. Questi modelli prendono come input i riassunti estrattivi e producono riassunti astrattivi che catturano l’essenza del documento originale garantendo al contempo leggibilità e coerenza.

Combining le tecniche di riassunto estrattivo e astrattivo, questo approccio offre un modo efficiente e completo per riassumere documenti lunghi come libri. Garantisce l’estrazione delle informazioni importanti consentendo la generazione di riassunti concisi e leggibili, rendendolo uno strumento prezioso per diverse applicazioni nel campo del riassunto documenti.

Riassunto astratto-astratto

Il riassunto astratto-astratto è un approccio in cui vengono utilizzati metodi astrattivi sia per l’estrazione che per la generazione dei riassunti. Offre vantaggi notevoli, tra cui una maggiore leggibilità, coerenza e la flessibilità di regolare lunghezza e dettaglio del riassunto. Eccelle nella generazione del linguaggio, consentendo la parafrasazione e l’evitare la ridondanza. Tuttavia, ci sono svantaggi. Ad esempio, è computazionalmente costoso e richiede molte risorse, e la sua qualità dipende molto dall’efficacia dei modelli sottostanti, che, se non ben allenati o versatili, possono influire sulla qualità dei riassunti generati. La selezione dei modelli è fondamentale per mitigare queste sfide ed assicurare riassunti astratti di alta qualità. Per il riassunto astratto-astratto, discutiamo due strategie: Map Reduce e Map ReRank.

Map Reduce usando LangChain

Questo processo in due fasi consiste in una fase di Map e una fase di Reduce, come illustrato nel diagramma seguente. Questa tecnica consente di riassumere un input più lungo del limite di token di input del modello.

Riassunto astratto del testo tramite mapreduce

Il processo consiste in tre passaggi principali:

  1. Il corpus viene diviso in porzioni più piccole che si adattano al limite di token dell’LLM.
  2. Utilizziamo una fase di Map per applicare individualmente una catena LLM che estrae tutte le informazioni importanti da ciascun passaggio, e il suo output viene utilizzato come nuovo passaggio. A seconda delle dimensioni e della struttura del corpus, questo potrebbe essere sotto forma di temi generali o riassunti brevi.
  3. La fase di Reduce combina i passaggi di output della fase di Map o di una fase di Reduce in modo che si adatta al limite di token e lo alimenta nell’LLM. Questo processo viene ripetuto fino a quando l’output finale è un passaggio singolo.

Il vantaggio di utilizzare questa tecnica è che è altamente scalabile e parallelizzabile. Tutte le elaborazioni in ogni fase sono indipendenti l’una dall’altra, sfruttando i sistemi distribuiti o i servizi serverless e riducendo il tempo di calcolo.

Map ReRank usando LangChain

Questa catena esegue un prompt iniziale su ciascun documento che non solo cerca di completare un compito, ma fornisce anche un punteggio per quanto è certo nella sua risposta. Viene restituita la risposta con il punteggio più alto.

Questa tecnica è molto simile a Map Reduce, ma con il vantaggio di richiedere meno chiamate complessive, semplificando il processo di riassunto. Tuttavia, la sua limitazione risiede nella sua incapacità di unire informazioni provenienti da più documenti. Questa restrizione la rende particolarmente efficace in scenari in cui ci si aspetta una singola risposta diretta da un singolo documento, rendendola meno adatta per compiti di recupero d’informazioni più complessi o multifacetati che coinvolgono più fonti. Una considerazione attenta del contesto e della natura dei dati è essenziale per determinare l’appropriazione di questo metodo per specifiche esigenze di riassunto.

Cohere ReRank utilizza un sistema di riposizionamento basato sulla semantica che contestualizza il significato della query dell’utente oltre alla rilevanza delle parole chiave. Può essere utilizzato con sistemi di archiviazione vettoriale oltre che con motori di ricerca basati su parole chiave, conferendogli flessibilità.

Confronto tra tecniche di riassunto

Ogni tecnica di riassunto ha i suoi vantaggi e svantaggi unici:

  • Il riassunto estrattivo preserva il contenuto originale e garantisce una elevata leggibilità ma manca di creatività e può produrre riassunti lunghi.
  • Il riassunto astrattivo, pur offrendo creatività e generando riassunti concisi e fluenti, comporta il rischio di modifiche non intenzionali al contenuto, sfide nell’accuratezza del linguaggio e nello sviluppo intensivo di risorse.
  • Il riassunto estrattivo-astrattivo a più livelli riassume efficacemente documenti di grandi dimensioni e offre una maggiore flessibilità nel perfezionamento della parte estrattiva dei modelli. Tuttavia, è costoso, richiede molto tempo e manca di parallelizzazione, rendendo difficile l’ottimizzazione dei parametri.
  • Il riassunto astratto-astratto a più livelli riassume efficacemente documenti di grandi dimensioni ed eccelle nella leggibilità e coerenza avanzate. Tuttavia, è computazionalmente costoso e richiede molte risorse, affidandosi molto all’efficacia dei modelli sottostanti.

La selezione accurata del modello è cruciale per mitigare le sfide e garantire riassunti astratti di alta qualità in questo approccio. La tabella seguente riassume le capacità per ogni tipo di riassunto.

Aspetto Riassunto Estrattivo Riassunto Astratto Riassunto Multi-livello
Generare riassunti creativi e coinvolgenti No
Preservare il contenuto originale No No
Bilanciare la conservazione delle informazioni e la creatività No
Adatto per testi brevi e oggettivi (lunghezza del testo di input inferiore al massimo dei token del modello) No
Efficace per documenti più lunghi e complessi come i libri (lunghezza del testo di input superiore al massimo dei token del modello) No No
Combina l’estrazione e la generazione di contenuti No No

Le tecniche di riassunto multi-livello sono adatte per documenti lunghi e complessi in cui la lunghezza del testo di input supera il limite dei token del modello. La tabella seguente confronta queste tecniche.

Tecnica Vantaggi Svantaggi
EACSS (estrattivo-astratto) Preserva informazioni cruciali, fornisce la capacità di affinare la parte estrattiva dei modelli. Computazionalmente costoso, potenziale perdita di informazioni e mancanza di parallelizzazione.
Map Reduce (astratto-astratto) Scalabile e parallelizzabile, con minor tempo di calcolo. La migliore tecnica per generare riassunti creativi e concisi. Processo intensivo in termini di memoria.
Map ReRank (astratto-astratto) Riassunto ottimizzato con classificazione basata sulla semantica. Fusione limitata delle informazioni.

Consigli quando si riassume il testo

Considera le seguenti best practice quando si riassume il testo:

  • Sii consapevole della dimensione totale dei token – Preparati a suddividere il testo se supera i limiti dei token del modello o utilizza più livelli di riassunto quando si utilizzano LLMs.
  • Sii consapevole dei tipi e del numero di fonti di dati – Combinare informazioni da più fonti potrebbe richiedere trasformazioni, chiara organizzazione e strategie di integrazione. LangChain Stuff ha integrato una vasta gamma di fonti di dati e tipi di documenti. Semplifica il processo di combinazione del testo da diversi documenti e fonti di dati con l’uso di questa tecnica.
  • Sii consapevole della specializzazione del modello – Alcuni modelli potrebbero eccellere in determinati tipi di contenuti ma avere difficoltà con altri. Potrebbero esserci modelli ottimizzati che si adattano meglio al tuo dominio di testo.
  • Utilizza il riassunto multi-livello per grandi quantità di testo – Per testi che superano i limiti dei token, considera un approccio di riassunto multi-livello. Inizia con un riassunto ad alto livello per catturare le idee principali e successivamente riassumi progressivamente le sottosezioni o i capitoli per ottenere approfondimenti più dettagliati.
  • Riassumi il testo per argomenti – Questo approccio aiuta a mantenere un flusso logico e ridurre la perdita di informazioni, e dà la priorità alla conservazione di informazioni cruciali. Se stai utilizzando LLMs, crea prompt chiari e specifici che guidino il modello a riassumere un argomento specifico invece di tutto il testo.

Conclusione

La sintesi rappresenta uno strumento essenziale nella nostra era ricca di informazioni, permettendo di distillare in modo efficiente informazioni estese in forme concise e significative. Gioca un ruolo fondamentale in vari settori, offrendo numerosi vantaggi. La sintesi risparmia tempo comunicando rapidamente i contenuti essenziali da documenti lunghi, aiuta nel processo decisionale e nell’estrazione di informazioni critiche e migliora la comprensione nell’ambito dell’istruzione e della curatela dei contenuti.

Questo articolo fornisce una panoramica completa delle diverse tecniche di sintesi, inclusi gli approcci estrapolativi, astrattivi e a più livelli. Con strumenti come LangChain e modelli linguistici, è possibile sfruttare il potere della sintesi per ottimizzare la comunicazione, migliorare il processo decisionale e sbloccare il pieno potenziale di vasti archivi di informazioni. La tabella di confronto in questo articolo può aiutarti a identificare le tecniche di sintesi più adatte per i tuoi progetti. Inoltre, i consigli condivisi nell’articolo fungono da preziose linee guida per evitare errori ripetitivi durante l’esperimento con LLM per la sintesi del testo. Questi consigli pratici ti permettono di applicare le conoscenze acquisite, garantendo una sintesi di successo ed efficiente nei progetti.

Riferimenti