Data Products image
Scopri
Contesto

In una sempre più complessa e interconnessa rete di informazioni digitali, le organizzazioni possono trarre vantaggio dall’applicazione di processi di Document Intellgence per acquisire ed integrare nuovi dati di interesse per il proprio business.

L’eterogeneità delle fonti e dei formati, unita all’elevata mole di risorse, rischia di rendere onerosa l’attuazione di un processo che, seppur con qualche semplificazione, alla base è spesso banale ma deve fare i conti con la continua evoluzione dei propri driver.

Non è infatti raro assistere all’impiego di operazioni manuali per ricavare valore da informazioni non strutturate, allo scopo di trovare la soluzione più immediata ad un problema in assenza di un adeguato supporto tecnologico. Questo approccio, tuttavia, richiede tempi e costi elevati, oltre ad esporre al rischio di errori di valorizzazione per la natura spesso alienante dei task di raccolta.

Ad oggi esistono svariate soluzioni software in grado di estrarre informazioni da fonti non strutturate, abilitando l’automazione del processo attraverso una serie predefinita di steps. Queste soluzioni richiedono spesso elevati e continui effort di fine-tuning e sono tipicamente approcci statici. E’ il caso di soluzioni in grado di riconoscere l’occorrenza di un pattern specifico (es. la partita iva di una società) in una posizione predefinita (e.g. sull’intestazione di una fattura in alto a destra) ma che perdono efficacia se il dato viene indicato in una posizione diversa o con una label differente, seppur semanticamente analoga (es. usando sinonimi, abbreviazioni: P.iva o vat code, ecc).  Chiaramente anche queste situazioni possono essere gestite estendendo gli algoritmi esistenti per incorporare le variazioni note, ma è impensabile gestire tutte quelle possibili con questo approccio.

Grazie al supporto dell’AI è ora possibile implementare rapidamente soluzioni più flessibili ed efficaci per l’estrazione di valore da dati non strutturati.

Punti critici

I limiti connessi alle tradizionali soluzioni di Document Intelligence sono molteplici:

  • Rischio di errori ed imprecisioni nell’uso di operazioni manuali
  • Difficoltà nel supportare la dinamicità dei contesti, sia in termini di formato del contenuto, sia in termini di lingua utilizzata nel contenuto stesso
  • Limitazioni delle soluzioni software esistenti

Soluzione

Dato il contesto e le complessità precedentemente descritte, nonché le potenzialità offerte dai moderni sistemi di LLM, il processo di Document Intelligence può essere ridisegnato, guidato dall’impiego dell’Intelligenza Artificiale come nell’architettura a seguire.

soluzione Smart Content Harvesting

Il primo step della soluzione prevede una standardizzazione dei dati non strutturati in input, potenzialmente presenti in varie forme e risultato di processi più o meno complessi. Essi possono corrispondere a documenti di testo, immagini o, in contesti più moderni, essere il risultato di attività di web scraping, e non vanno tuttavia escluse situazioni peculiari in cui il dato sia contenuto in documenti cartacei.

Questa eterogeneità dei dati, sebbene debba essere tenuta in considerazione, non deve essere vista come un ostacolo o implicare onerose attività di pre-processing. Queste ultime, infatti, si concretizzeranno esclusivamente in una conversione in formato PDF del dato di partenza, attività che è possibile eseguire in maniera programmatica e con effort estremamente ridotto per qualsiasi tipologia di dato tra quelli precedentemente descritti.

La conversione del documento in PDF diviene condizione abilitante per la successiva applicazione di processi di OCR che, in maniera trasparente, permetteranno di estrarre informazioni testuali da documenti cartacei, immagini o pagine web, rendendo il testo accessibile ed interpretabile dai modelli di Artificial Intelligence ed, in particolare, LLM.

La soluzione finora descritta, dal punto di vista tecnologico, presenta molteplici modalità di implementazione, sfruttando ad esempio i servizi forniti dai principali Cloud Provider quali Textract per AWS o Azure Document Intelligence, dimostrando elasticità e potendosi quindi adattare agli stack tecnologici delle diverse realtà aziendali.

Estratto il contenuto testuale, è ora possibile spostarsi verso la sfera degli LLM per comprenderne il significato ed estrarre la porzione di interesse, potenzialmente rielaborata ed in un formato facilmente fruibile da sistemi a valle.  Controllare il formato dell’output restituito dall’LLM è un problema da non sottovalutare. Nella nostra architettura, suggeriamo di strutturare l’output e riversarlo all’interno di soluzioni di storage che abilitino successive analisi e ne consentano la fruizione da parte di più consumatori terzi in parallelo all’archiviazione del documento originario per riutilizzi futuri.

I modelli LLM possiedono la capacità di rispondere in modo linguistico preciso e accurato alle domande che vengono loro fornite, adottando la vasta conoscenza acquisita in fase di training. Questa abilità non solo consente loro di fornire risposte linguisticamente corrette, ma anche di presentare informazioni pertinenti e rilevanti per la persona con cui stanno interagendo e le domande che vengono poste.

Questo approccio, tuttavia, non è esente da problematiche e, tra queste, figura il knowledge cutoff.

Il problema del Knowledge CutOff è associato alla limitazione dei modelli nel processo di aggiornamento della propria base di conoscenze al di là delle fasi di addestramento, assumendo un ruolo critico quando si intende impiegare modelli di LLM internamente all’ambito aziendale, essendo incapaci di incorporare nuove informazioni in modo dinamico ed esteso.

Allenare un modello da zero è un processo complesso ed estremamente costoso. Allo stesso tempo estendere un modello esistente per ampliarne il campo di conoscenza a un dominio specifico, attraverso la somministrazione di documenti pertinenti, è più agevole ma comunque caratterizzato da complessità non trascurabili. A tal proposito, corrono in nostro supporto le tecniche di Prompt Engineering.

Il prompt engineering si fonda sul processo di organizzazione della conversazione con il modello per guidarlo verso risposte accurate e pertinenti. In quanto modelli probabilistici, la strutturazione del contesto, e conseguentemente della conversazione, influisce direttamente sulla qualità e correttezza delle risposte.

I moderni modelli di LLM sono tuttavia vincolati dalla capacità di considerare solo una quantità limitata di testo per generare una risposta (context windows), pertanto non è fattibile riversare l’intero corpus di dati aziendali nel prompt e formulare domande all’LLM su una potenzialmente vasta gamma di informazioni.

Le tecniche di prompt engineering utilizzate per guidare gli LLM a ragionare e fornire risposte su dati non presenti nel loro training set devono quindi lottare con questo limite, trovando il metodo di selezionare solo le informazioni rilevanti da passare al prompt in funzione della domanda che si vuole porre.

In tal senso, l’approccio Retrieval Augmented Generation (RAG) è ad oggi uno dei più popolari e si basa su architetture capaci di catalogare i dati di interesse e ricercarli in funzione della domanda posta in input.  Esso permette di utilizzare le capacità linguistiche del LLM per interagire con dati che non appartengono al suo patrimonio informativo, senza richiedere un’estensione dell’addestramento iniziale, fornendo oltre alle informazioni relative al dominio di interesse anche le regole che lo governano. Entrano qui in gioco i Knowledge Graphs (KG).

Il Knowledge Graprh è una modalità di rappresentazione dell’informazione che permette di mappare dati e metadati in un’unica struttura: I metadati rappresentano i concetti chiave per un’azienda, i suoi attributi e le relazioni esistenti (es. la definizione di “cliente” o di un processo), il modello di rappresentazione a livello concettuale prende il nome di Ontologia. Al contrario, i dati corrispondono a quanto presente all’interno dei sistemi informativi (es. tabelle e righe al loro interno).

In un Knowledge Graph viene definita un’associazione tra metadati e tra dati e metadati, è quindi possibile spostarsi da concetti astratti a dati fisici e viceversa. Questa associazione prende il nome di Semantic Linking.

Avendo a disposizione un Knowledge Graph, è possibile passare al prompt di un LLM, insieme alla domanda, l’intera ontologia e, a partire da questa, richiedere al modello di esplorarne i concetti e indicare, in relazione alla domanda posta, quali concetti e dati ad essi associati potrebbero risultare interessanti. Successivamente, i dati individuati possono essere estratti e nuovamente presentati al prompt per ottenere una risposta pertinente. Questo approccio sfrutta innanzitutto le abilità del LLM nell’eseguire compiti per comprendere quali siano i dati rilevanti e come generare le query necessarie per recuperarli dai sistemi informativi in cui sono archiviati. Successivamente, sfrutta le competenze linguistiche del modello per sintetizzare una risposta basata sui dati estratti nella fase precedente.

Spesso, non è tuttavia possibile passare all’LLM l’intera ontologia e determinare dinamicamente la porzione più rilevante richiede la comparazione tra i suoi concetti e il contesto del prompt, un’operazione di per sè non banale.

Per svolgere questa attività è possibile dotarsi di un VectorDB, una tecnologia appositamente progettata per archiviare, interrogare ed estrarre dati vettoriali e che eccelle quindi nell’eseguire ricerche di similarità basate su embeddings, spesso definita con il termine Semantic Search. Nella pratica, vettori semanticamente simili vengono mappati in prossimità gli uni agli altri nello spazio degli embeddings, la ricerca per vicinanza tra vettori si traduce quindi in una ricerca semantica.

Il popolamento di un VectorDB avviene tramite processing dei dati operativi ed eterogenei, spesso non strutturati, del contesto aziendale, che vengono elaborati e convertiti in embeddings tramite modelli dedicati. Gli embeddings risultanti possono ora essere indicizzati all’interno di un VectorDB per facilitarne la successiva ricerca.

Ad oggi, è possibile scegliere il modello dedito alla produzione degli embedding in un panorama sempre più ampio di librerie o servizi offerti dai principali cloud provider. È tuttavia importante sottolineare come modelli differenti producono embeddings in spazi distinti e non generalmente comparabili: il cambio di un modello implica solitamente dover ripopolare l’intero VectorDB.

Con il VectorDB così predisposto, è possibile avviare la fase di inferenza in cui il modello LLM, oltre alla domanda posta sul documento in esame, riceve un contesto aggiuntivo per eliminare eventuali allucinazioni e fornire una risposta accurata. Questo contesto è generato dall’integrazione del VectorDB, sul quale vengono eseguite ricerche di similarità rispetto agli embeddings ricavati dalla domanda stessa ricevuta in input.

Nella soluzione così descritta, Knowledge Graph e VectorDB lavorano in maniera sinergica per supportare il modello di LLM nel fornire informazioni accurate e pertinenti con il contesto aziendale e completare il processo di Document Intelligence.

Vantaggi

  • L’applicazione dell’OCR su documenti in formato PDF rende la soluzione applicabile a qualsiasi tipo di documento di input (docx, pagine web, immagini,  ..)
  • Riduzione significativa dell’effort di sviluppo e di fine-tuning
  • Riduzione significativa o eliminazione dell’intervento manuale nel processo
  • Scalabilità dell’approccio a un più elevato numero di fonti e formati con impatto nullo o minim

Hai bisogno di una consulenza personalizzata? Contattaci per trovare la soluzione migliore!

Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Entra a far parte del team Quantyca, facciamo squadra!

Siamo sempre alla ricerca di persone di talento da inserire nel team, scopri tutte le nostre posizioni aperte.

VEDI TUTTE LE POSIZIONI APERTE