Quantyca Data Mesh use cases image
Scopri

Contesto

Nel corso dei decenni che hanno caratterizzato l’era dell’Information Technology si è assistito ad un susseguirsi di tecnologie ed approcci per assolvere ad esigenze eterogenee ed innovative. In questo ciclo ripetitivo ma costante ciò che ha realmente prodotto valore per le organizzazioni è stato il saper raccogliere, governare ed infine utilizzare in modo intelligente i dati a propria disposizione.

La tipologia ed i formati di dato da elaborare possono però essere di diverse tipologie.

Con i Data Warehouse, ad esempio, l’obiettivo è quello di fornire un repository centralizzato che consente di estrarre informazioni utili ai processi decisionali. A prescindere dalle tecnologie e dalle diverse modalità di implementazione e modellizzazione di tali strumenti, il punto in comune è l’utilizzo del dato nella suo forma strutturata.

Dati che hanno uno schema fisso, solitamente chiamato “modello dati”, che deve essere progettato in anticipo rispetto all’interazione con il dato stesso, e nel quale vengono indicati gli attributi e le tipologie di dato a cui questi attributi fanno riferimento. Grazie alla presenza di una struttura ben definita questo tipo di dato risulta facilmente interrogabile tramite linguaggi di query strutturati, di cui il SQL (structured query language) è il principale esempio.

 

A questa prima tipologia di dati, grazie al crescere delle capacità computazionali da un lato e delle nuove possibilità nella produzione e nel consumo di informazione, si è passati all’era definita dei ”Big Data”. Le piattaforme dati, costruite in particolar modo attorno al concetto di Data Lake, hanno mantenuto lo scopo di fornire un punto centralizzato per l’analisi dei dati, ma sono cambiate le tecnologie utilizzate con l’idea di fondo della necessità di distribuire, per questioni di scaling e di affidabilità, sia lo storage dei dati che l’elaborazione necessaria per estrarne valore. In questo scenario un aspetto fondamentale è la necessità di raccogliere in modo veloce qualsiasi tipologia di dato prodotto, e dunque anche nella sua forma semi strutturata e non strutturata.

Dati che presentano una struttura parziale, ma che non seguono uno schema rigido come nel caso dei dati strutturati. Sono organizzati principalmente per entità semantiche, ed utilizzano formati flessibili che possono essere estesi o modificati molto facilmente. Un esempio tipico è dato dai formati XML e JSON. Un vantaggio nell’utilizzo dei dati semi strutturati è la maggior leggibilità anche da parte di esseri umani, oltre che che da sistemi informatici, a fronte però di metodi di query ed analisi che possono avere performance peggiori rispetto ai dati strutturati.

Dati che non rientrano nelle altre due categorie, dunque che non rispondono a priori a uno schema specifico o per i quali esso risulta difficilmente definibile. Fanno parte di questa categoria le informazioni contenute all’interno di documenti testuali, i post social, o i file multimediali quali immagini, audio o video. Sono quelli più “vicini” al tipo di linguaggio naturale degli esseri umani, ma proprio per questo risultano di più difficile interpretazione ed elaborazione da parte di automatismi.

 

A prescindere dal tipo di formato di partenza, fino a pochi anni fa, per poter elaborare ed estrarre informazioni dai dati era necessario riportarlo ad un formato strutturato.

Il dato non strutturato, proprio per una maggiore distanza dalle modalità di elaborazione automatiche, ha sempre avuto una minore considerazione ed una gestione principalmente manuale. Gli strumenti non erano adeguati, o erano costruiti ad hoc (modelli di machine learning, computer vision, …) per determinati dataset.

Ma è ancora vera questa affermazione nell’era dell’AI Generativa?

Punti Critici

Esistono diverse problematiche nell’estrazione di valore da dati non strutturati:

La presenza di formati eterogenei (testi, immagini, video, audio, …) nei dati non strutturati richiede tecniche avanzate di elaborazione ed analisi. La mancanza di standard nella struttura rende questa tipologia di dati più incline a rumorosità, presenza di errori o informazioni incomplete, rendendo complessa l’identificazione di metriche di qualità univoche, più facilmente definibili per il dato strutturato. Il loro utilizzo richiede inoltre approcci specifici alla governance, che tengano conto della difficoltà di mappare e catalogare il contenuto, garantendo al contempo conformità con le normative vigenti, specialmente per quanto riguarda la gestione dei dati personali spesso nascosti o impliciti all’interno del contenuto stesso.

Il processo di trasformazione del dato non strutturato in una forma strutturata utilizzabile richiede strumenti sofisticati e risorse significative. Si utilizzano ad esempio soluzioni di OCR che combinano logiche posizionali a modelli di computer vision, ma che spesso falliscono in contesti dove il formato e la tipologia di documento hanno alta variabilità.

Risulta difficile garantire che le informazioni estratte dal dato non strutturato siano interpretate correttamente, che riflettano cioè le specifiche interpretazioni semantiche che potrebbero essere state definite in un particolare contesto all’interno di una organizzazione. Spesso le informazioni prodotte a livello enterprise rispecchiano un linguaggio che è specifico di una particolare area di business, dove la conoscenza del contesto è implicita nelle persone che lavorano nell’organizzazione. Se per il dato strutturato è più semplice definire dei processi di riconciliazione semantica, ad esempio attraverso l’utilizzo di modelli concettuali, tale mappatura è di certo più complessa se consideriamo il volume di contenuto informativo presente nel dato non strutturato.

Soluzione

Le nuove possibilità messe a disposizione dall’intelligenza artificiale possono aiutare notevolmente nel risolvere i problemi di elaborazione e gestione del dato non strutturato.

Quando si parla di intelligenza artificiale si rischia però di rimanere ad un livello di generalizzazione troppo alto. All’interno di ciò che comunemente viene definito intelligenza artificiale si hanno infatti una notevole quantità di discipline e di strumenti. Volendo fornire una prima organizzazione potremmo utilizzare lo schema seguente:

Insieme di pratiche e algoritmi con obiettivi di analisi e previsione ben definiti, finalizzati ad “apprendere” da un insieme di dati.

Algoritmi di apprendimento automatico che hanno una struttura complessa a strati basata su reti neurali con un elevato numero di parametri. Richiedono capacità di calcolo avanzate ed utilizzano insiemi di dati più ampi.

Tecniche di Deep Learning che, attraverso la comprensione di pattern presenti all’interno dei dati visti in fase di addestramento, sono in grado di generare nuovo contenuto informativo, dunque potenzialmente un nuovo asset reale (testo, immagine, video) per l’utilizzatore di tali strumenti.

Concetto teorico che si riferisce alla capacità di un algoritmo di “capire” ed agire in modo autonomo, resiliente al contesto.

Nel passaggio dal Machine Learning “tradizionale” all’utilizzo delle nuove tecnologie di Generative AI, di cui i Large Language Models costituiscono la componente principale, si è potuto assistere ad un cambio di paradigma netto:

 

Nel primo caso si ha a che fare con modelli molto diversi tra loro, ciascuno in grado di assolvere al meglio un determinato task. L’attività principale dei data scientist consiste nello scegliere il modello più appropriato per il caso d’uso in esame e nella costruzione del dataset di miglior qualità dedicato a quel preciso caso d’uso. In questo contesto si utilizzano principalmente i dati strutturati messi a disposizione dalle piattaforme dati. Siano essi in formato csv, raccolti all’interno di un layer del Data Lake, oppure creati a partire da file Excel, o ancora ottenuti come estrazione di database relazionali, la creazione dei training set necessari per addestrare e successivamente utilizzare i modelli di Machine Learning ha necessità di dato strutturato.

Nel secondo caso invece, utilizzando un LLM come unico modello, è possibile svolgere una quantità di task molto elevata. In realtà lo scopo principale di tali modelli, semplificando, è quello di eseguire la predizione più accurata possibile della “prossima parola” rispetto ad un testo fornito in input. A partire da questo semplice task, e attraverso addestramenti mirati a fornire frasi di senso compiuto e allineate alle aspettative umane, si è riusciti ad avere applicazioni in grado di simulare perfettamente la comprensione del linguaggio naturale. Alla base di questi modelli rimane l’utilizzo di reti neurali, che necessitano dunque di un dataset di addestramento.

Quindi anche in questo caso si utilizza il dato strutturato? 

In realtà no, ed è proprio questo che costituisce una delle differenze principali e di quei cambiamenti di paradigma citati sopra.   Per costruire i dataset necessari al funzionamento di questi modelli si può partire da un intero documento testuale, come può essere un libro, una pagina web, l’intero repository di un codice, e semplicemente “spezzare” il contenuto testuale in frasi di dimensione sempre maggiore, dove la “prossima parola” corretta è esattamente la parola successiva già contenuta nel testo. Questo è ciò che sta alla base dell’addestramento dei Large Language Models e di fatto è stato possibile trasformando un addestramento di tipo supervised in uno di tipo unsupervised. A questo punto la domanda che può sorgere spontanea è: da dove è possibile prendere una grande mole di dati di questa tipologia? Ovviamente da internet, utilizzando tutto il testo disponibile, possibilmente cercando di garantire la migliore qualità possibile.

Con queste nuove tecnologie ha assunto un ruolo sempre più rilevante l’elaborazione del dato a partire da documenti di vario tipo, dunque anche e soprattutto in formato non strutturato. Se ciò è vero per la necessità di addestramento di questi modelli, è altrettanto vero rispetto alle diverse modalità di utilizzo e tipologie di elaborazione che risultano abilitate da questi strumenti.

ChatGPT ha dimostrato per primo la potenza dei Large Language Models (LLM), grazie alla loro capacità di comprendere e rispondere coerentemente agli input testuali. Inizialmente utilizzato per scopi ludici ed esplorativi, con funzionalità come traduzione, sintesi, formattazione ed interpretazione del linguaggio naturale, ha portato rapidamente all’implementazione di funzionalità avanzate, come il supporto nella generazione e interpretazione del codice (copilot), al tool calling e alla definizione di agenti, sfruttando sia la generazione di testo sia componenti applicativi integrati.

Grazie a queste nuove capacità o nuovi utilizzi dei modelli, l’intelligenza artificiale sta trovando sempre più utilizzo anche in contesti enterprise, non solo per gli scopi analitici e predittivi legati al Machine Learning, ma anche e soprattutto per portare efficientamento in diversi processi aziendali utilizzando la Generative AI.

Di seguito vengono descritti due degli ambiti di utilizzo più impiegati:

Tecnica di estrazione di dato strutturato a partire da testi non strutturati. L’utilizzo di un LLM in questo ambito consente di sfruttare le capacità di comprensione del testo e la conoscenza intrinseca del modello linguistico per recuperare informazioni a partire da qualsiasi tipologia di testo. Un tipico use case è quello della digitalizzazione di documenti. Consideriamo il caso in cui un’organizzazione riceve una serie di documenti in formato non digitalizzato, e ha necessità di estrarre alcune informazioni da questi documenti, siano essi fatture, documenti di trasporto di merce, bollette, … La combinazione di strumenti quali OCR e LLM permette di svolgere in automatico questo compito con ottimi livelli di affidabilità, e soprattutto di elaborare i documenti estraendo dato strutturato a prescindere dalla lingua o da formati e template documentali vari.

Un framework nell’utilizzo dei modelli linguistici che consiste nel permettere ai modelli stessi di eseguire ricerche su knowledge base proprietarie e gestite dalle organizzazioni, in modo da estendere la conoscenza intrinseca dei modelli con una conoscenza specifica di dominio. In questo modo, a fronte di una richiesta al modello da parte di un utente, il modello può decidere di recuperare dalla knowledge base le informazioni più rilevanti e vicine alla richiesta fatta (retrieve), andare ad inserire tali informazioni all’interno del contesto del modello linguistico (augmented) e sfruttare tutto ciò per generare una risposta coerente e contenente informazioni dettagliate (generation).

 

In entrambi questi esempi possiamo utilizzare come input il dato nella sua forma non strutturata.

Il primo esempio abilita la raccolta automatica di informazioni a partire da una serie di documenti che le organizzazioni nel tempo hanno raccolto, ma per i quali la metadatazione e la conversione in dato strutturato dovevano avvenire manualmente, o al più con euristiche fortemente basate sulla struttura dei documenti stessi.

Il secondo esempio invece è ciò che sta alla base dei moderni chatbot. Viene utilizzata la capacità dei LLM di generare testi in linguaggio naturale e di mantenere una conversazione di qualità con gli utenti, dando la possibilità a questi chatbot di interagire con la base documentale di cui hanno bisogno per rispondere puntualmente alle domande. Ovviamente è possibile utilizzare questa metodologia anche con il dato strutturato, ad esempio facendo generare al modello una query SQL coerente con la richiesta espressa dall’utente, e dunque recuperare dati in formato strutturato. Il vero valore si ha però combinando le due funzionalità.

In generale possiamo affermare che il dato non strutturato sta assumendo sempre più rilevanza: da un lato i nuovi strumenti dell’intelligenza artificiale permettono di facilitarne l’impiego e di ricondurlo ad una forma strutturata, che rientra dunque all’interno dei processi di utilizzo più tradizionali; dall’altro questa tipologia di dato serve a questi nuovi strumenti sia per il loro addestramento, sia in ambiti di utilizzo che portano reale valore alle organizzazioni.

Come per tutte le discipline che rientrano all’interno del Data Management, anche questi nuovi utilizzi dell’intelligenza artificiale devono essere controllati e devono rientrare all’interno di un processo di Data Governance definito a livello organizzativo.

Vantaggi

Qualità e governance dei dati
La qualità e la governance del dato non strutturato possono essere supportate dall’utilizzo di framework come la Named Entity Recognition, che consente di identificare e strutturare informazioni rilevanti in maniera automatica.
Elaborazione semplificata
La trasformazione del dato non strutturato in dato strutturato può essere affrontata attraverso una combinazione di OCR avanzati e modelli linguistici come i LLM. L'adozione di pipeline che integrano OCR e Named Entity Recognition, permette di gestire documenti con formati e variabilità elevati.
Controllo del contesto
Per affrontare le difficoltà legate all’interpretazione contestuale risulta fondamentale sfruttare il framework Retrieval Augmented Generation. Questo consente ai modelli di integrare informazioni estratte da fonti di conoscenza proprietarie e specifiche di dominio, aumentando la capacità del sistema di comprendere e contestualizzare correttamente i dati.

Use Case

Contattaci!

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