Parliamone
// tecnologie.data-profiling-cleansing

Data Profiling & Cleansing

Profilazione statistica, rilevamento di anomalie, deduplicazione, standardizzazione e imputazione: metodi, architetture e problemi aperti nella preparazione sistematica dei dati.

Data GovernanceData Engineering

Executive summary

Quando un'organizzazione raccoglie dati da fonti diverse, sistemi gestionali, sensori, applicazioni esterne, è inevitabile che una parte di quei dati contenga errori, duplicati, valori mancanti o formati incoerenti. Se questi problemi non vengono individuati e corretti prima dell'uso, le analisi che ne derivano diventano inaffidabili e le decisioni che si basano su di esse rischiano di essere sbagliate. Questo articolo analizza in profondità le tecniche oggi disponibili per esaminare la struttura e la qualità dei dati, individuare le anomalie, eliminare i duplicati, uniformare i formati e ricostruire le informazioni mancanti, confrontando gli approcci tradizionali con quelli basati su modelli di apprendimento automatico. L'analisi mostra che le soluzioni più efficaci combinano l'analisi statistica preventiva con metodi adattivi capaci di apprendere dai dati stessi, ma che la piena automazione di questi processi rimane una sfida aperta, soprattutto quando i dati cambiano nel tempo o provengono da contesti molto eterogenei.


Background

La preparazione dei dati, l'insieme di operazioni necessarie a trasformare dati grezzi in dati utilizzabili per l'analisi, assorbe una quota preponderante del tempo nei progetti data-intensive. Stime consolidate indicano che i data scientist dedicano fino all'80% del proprio tempo ad attività di pulizia e preparazione, un dato che non ha subito variazioni significative nell'ultimo decennio nonostante l'evoluzione degli strumenti disponibili [1]. Il problema non è semplicemente operativo: errori non rilevati nei dati si propagano lungo le pipeline analitiche, producendo risultati che appaiono plausibili ma sono sistematicamente distorti, un fenomeno noto nella letteratura come garbage in, garbage out.

Rahm e Do hanno fornito nel 2000 la prima tassonomia sistematica dei problemi di qualità dei dati e degli approcci di pulizia, classificando gli errori lungo due assi ortogonali: la fonte (singola o multipla) e il livello (schema o istanza) [2]. Questa classificazione ha orientato la ricerca per oltre due decenni, ma il panorama tecnologico in cui opera è radicalmente mutato. Le architetture moderne, data lakehouse, pipeline ELT, streaming, hanno moltiplicato i punti in cui la qualità può degradarsi: ogni trasformazione, ogni join, ogni materializzazione rappresenta un'opportunità per l'introduzione o la propagazione di errori. Ilyas e Chu hanno consolidato lo stato dell'arte in una monografia pubblicata da ACM nel 2019, organizzando le tecniche di data cleaning in quattro categorie fondamentali: rilevamento di outlier, trasformazione dei dati, riparazione di errori (inclusa l'imputazione di valori mancanti) e deduplicazione [1]. Questa tassonomia fornisce il framework concettuale per l'analisi che segue.

Il concetto di data profiling, l'analisi sistematica dei metadati e delle proprietà statistiche di un dataset, precede logicamente ogni intervento di pulizia. Abedjan, Golab e Naumann, nella loro survey pubblicata su The VLDB Journal, hanno classificato le attività di profiling in categorie di complessità crescente: statistiche a singola colonna (cardinalità, distribuzioni, pattern), dipendenze funzionali, dipendenze di inclusione e profiling multi-tabella [3]. Il profiling non è un'operazione accessoria: è il prerequisito che consente di definire regole di validazione informate, calibrare soglie di anomalia e identificare le aree del dataset che richiedono intervento prioritario.

L'evoluzione più recente del campo è segnata dall'ingresso dei large language model (LLM) nelle attività di data wrangling. Narayan et al. hanno dimostrato nel 2022 che modelli fondazionali come GPT-3 raggiungono prestazioni competitive con lo stato dell'arte su cinque task classici di pulizia e integrazione dei dati, entity matching, rilevamento di errori, imputazione, trasformazione di schema e data discovery, senza addestramento specifico per questi compiti [4]. Questo risultato ha aperto una nuova direzione di ricerca che interseca la preparazione dei dati con i progressi dell'intelligenza artificiale generativa, sollevando interrogativi sulla sostenibilità economica e sulla verificabilità dei risultati in contesti di produzione.


Profilazione statistica dei dati

Il data profiling costituisce la fase diagnostica di ogni strategia di qualità dei dati. Prima di intervenire su errori, duplicati o valori mancanti, è necessario comprendere la struttura, il contenuto e le relazioni statistiche dei dataset su cui si opera. La profilazione si articola su tre livelli di analisi con complessità computazionale e valore informativo crescenti.

Profiling a livello di colonna

Il profiling a singola colonna calcola statistiche descrittive per ciascun attributo: cardinalità, distribuzione dei valori, percentuale di valori nulli, estremi (minimo, massimo), momenti statistici (media, varianza, skewness, kurtosis), pattern sintattici ricorrenti e tipo di dato inferito. Abedjan et al. hanno sistematizzato queste operazioni identificando cinque sotto-categorie: cardinalità, distribuzioni dei valori, tipi e pattern, dipendenze funzionali approssimate e profiling multi-colonna avanzato [3]. La maggior parte degli strumenti, sia commerciali sia open-source, copre adeguatamente le prime tre categorie, ma trascura le dipendenze e le correlazioni inter-attributo, una lacuna che limita la capacità di rilevare errori strutturali complessi.

Un esempio concreto chiarisce il punto. Il profiling a colonna singola può rilevare che un campo "codice postale" contiene valori alfanumerici anziché numerici, o che la distribuzione dei valori presenta un picco anomalo. Non può rilevare che un codice postale è sintatticamente valido ma semanticamente incoerente con la provincia dichiarata nello stesso record, un errore che richiede l'analisi congiunta di più attributi. La discovery di dipendenze funzionali (FD) e dipendenze funzionali approssimate (AFD) affronta esattamente questo problema: dato un dataset con attributi $A_1, \ldots, A_n$, una dipendenza funzionale $A_i \rightarrow A_j$ stabilisce che il valore di $A_i$ determina univocamente il valore di $A_j$. Le violazioni di FD note costituiscono un segnale diretto di errore nei dati [3].

Profiling a livello di tabella e inter-tabella

Il profiling a livello di tabella esamina proprietà aggregate: volume (conteggio righe, dimensione dello storage), frequenza di aggiornamento, distribuzione temporale degli inserimenti, schema evolution. Queste metriche sono essenziali per stabilire le baseline operative che i sistemi di monitoraggio utilizzano per rilevare anomalie volumetriche, un calo improvviso nel conteggio giornaliero delle righe può indicare un'interruzione nella pipeline di ingestion prima che il problema si manifesti nei report downstream.

Il profiling inter-tabella analizza le relazioni tra dataset: integrità referenziale, sovrapposizione delle chiavi, consistenza dei valori condivisi. Questo livello è il più costoso computazionalmente e il meno supportato dagli strumenti attuali, nonostante sia critico per identificare problemi di consistenza che il profiling isolato di singole tabelle non può rilevare. Un'analisi condotta da Ehrlinger e Wöß su 667 strumenti software dedicati alla qualità dei dati ha evidenziato come la copertura funzionale sia frammentata: la maggior parte degli strumenti copre solo parzialmente lo spettro delle esigenze operative, concentrandosi sul profiling a colonna singola e trascurando l'analisi delle dipendenze e le correlazioni inter-tabella [5].

Strumenti di profiling automatizzato

L'automazione del profiling ha raggiunto un livello di maturità significativo. Schelter et al. hanno proposto nel 2018 il sistema Deequ, costruito su Apache Spark, che calcola profili statistici dei dataset e utilizza questi profili per suggerire algoritmicamente vincoli di qualità, un approccio che trasforma il profiling da output descrittivo a input per la generazione automatica di test [6]. La libreria ydata-profiling (ex pandas-profiling) offre un'interfaccia a singola riga di codice per generare report comprensivi di statistiche descrittive, analisi delle correlazioni, rilevamento di valori mancanti e identificazione di pattern, supportando sia Pandas sia Spark DataFrame [7]. Great Expectations integra il profiling con la validazione dichiarativa, consentendo di definire expectations, asserzioni sulla forma dei dati, che vengono verificate automaticamente ad ogni esecuzione della pipeline [8].

Il pattern architetturale emergente prevede che il profiling non sia un'operazione isolata eseguita una tantum, ma un processo continuo integrato nella pipeline: i profili statistici vengono calcolati ad ogni aggiornamento del dataset, le deviazioni dalla baseline vengono rilevate automaticamente, e i vincoli di qualità vengono ricalibrati in funzione dell'evoluzione dei dati. Deequ implementa questo pattern attraverso la verifica incrementale dei vincoli, riducendo il costo computazionale rispetto alla validazione completa ad ogni batch [6].


Rilevamento di anomalie nei dati tabulari

Il rilevamento di anomalie nei dati tabulari si distingue dal profiling per la natura del problema: non si tratta di descrivere le proprietà statistiche di un dataset, ma di identificare osservazioni che deviano significativamente dal comportamento atteso. In contesti di data quality, le anomalie possono essere errori di inserimento, corruzioni nella pipeline, o segnali genuini di eventi rari, e la distinzione tra queste categorie richiede conoscenza del dominio che nessun algoritmo può sostituire completamente.

Approcci statistici classici

I metodi statistici classici operano definendo un modello della distribuzione "normale" dei dati e segnalando le osservazioni che cadono al di fuori di una regione di confidenza. Per attributi univariati, il test di Grubbs, il criterio di Chauvenet e l'approccio basato sull'intervallo interquartile (IQR) forniscono soglie computazionalmente efficienti per l'identificazione di outlier. Per dati multivariati, la distanza di Mahalanobis generalizza il concetto di outlier tenendo conto delle correlazioni tra attributi: un valore che appare normale considerando ciascun attributo isolatamente può risultare anomalo quando si considera la struttura di correlazione congiunta.

Il limite principale degli approcci statistici è l'assunzione di una distribuzione parametrica sottostante, tipicamente gaussiana, che raramente si verifica nei dati reali, specialmente in presenza di attributi categorici, distribuzioni multimodali o dipendenze non lineari. La robustezza è un ulteriore problema: un insieme sufficiente di outlier può distorcere le stime dei parametri della distribuzione, rendendo il modello incapace di rilevare le stesse anomalie che dovrebbe identificare.

Metodi basati su machine learning

I metodi di anomaly detection basati su machine learning superano i limiti degli approcci parametrici apprendendo la struttura dei dati senza assumere una distribuzione specifica. Isolation Forest costruisce un ensemble di alberi di decisione casuali e identifica come anomalie le osservazioni che richiedono meno split per essere isolate, l'intuizione è che i punti anomali, essendo rari e diversi, sono più facili da separare dal resto dei dati [9]. Local Outlier Factor (LOF) confronta la densità locale di ciascuna osservazione con quella dei suoi vicini, identificando come anomalie i punti che risiedono in regioni a densità significativamente inferiore rispetto al loro intorno.

Un filone più recente esplora l'uso di modelli basati su deep learning per l'anomaly detection su dati tabulari. Approcci come ECOD (Empirical Cumulative Distribution-based Outlier Detection) e metodi basati su autoencoder apprendono una rappresentazione compressa dei dati e segnalano come anomale le osservazioni che producono un errore di ricostruzione elevato. Il benchmark ADBench, pubblicato nel 2024, ha confrontato sistematicamente 30 algoritmi di anomaly detection su 57 dataset tabulari, evidenziando che nessun singolo metodo domina uniformemente: le prestazioni dipendono fortemente dalle caratteristiche del dataset, con Isolation Forest e ECOD che offrono il miglior rapporto tra efficacia e costo computazionale nella maggior parte degli scenari [9].

Anomaly detection con LLM su dati tabulari

Una direzione emergente utilizza large language model per il rilevamento di anomalie su dati tabulari. Il sistema AnoLLM, presentato a ICLR 2025, serializza i record tabulari in sequenze di testo, esegue il fine-tuning di un LLM sul dataset, e utilizza la log-verosimiglianza assegnata dal modello a ciascun record come score di anomalia, i record meno probabili secondo il modello linguistico vengono classificati come anomali [10]. I risultati sperimentali sul benchmark ODDS mostrano miglioramenti significativi rispetto ai metodi tradizionali, in particolare su dataset con attributi eterogenei (mix di numerici e categorici) dove i metodi classici faticano a costruire uno spazio metrico coerente. Tuttavia, il costo computazionale del fine-tuning e dell'inferenza limita attualmente l'applicabilità a dataset di dimensioni moderate, rendendo l'approccio più adatto a scenari ad alto valore dove la qualità del rilevamento giustifica l'investimento in risorse.


Deduplicazione e entity resolution

La deduplicazione, l'identificazione e la rimozione di record che rappresentano la stessa entità del mondo reale, è uno dei problemi più antichi e persistenti nella gestione della qualità dei dati. Il problema è formalmente noto come entity resolution (ER) quando opera tra dataset diversi, e come deduplication quando opera all'interno dello stesso dataset. La sfida fondamentale è che record riferiti alla stessa entità possono differire per errori di digitazione, abbreviazioni, formati diversi, aggiornamenti non sincronizzati o fusioni di sistemi con convenzioni distinte.

Il framework probabilistico di Fellegi-Sunter

Il fondamento teorico della deduplicazione probabilistica è il modello di Fellegi e Sunter, pubblicato nel 1969 sul Journal of the American Statistical Association [11]. Il modello formalizza il confronto tra coppie di record come un problema di decisione statistica: dato un insieme di coppie $(a, b)$ estratte dal prodotto cartesiano di due dataset, ciascuna coppia appartiene all'insieme $M$ (match, stessa entità) o $U$ (non-match, entità diverse). Per ciascun attributo confrontato, si calcola un rapporto di verosimiglianza:

$$R = \frac{P(\gamma | M)}{P(\gamma | U)}$$

dove $\gamma$ è il vettore di confronto (accordo/disaccordo su ciascun attributo). Il logaritmo di $R$ produce un peso che, sommato su tutti gli attributi, genera uno score composito. Due soglie $T_\mu$ e $T_\lambda$ partizionano lo spazio delle decisioni in tre regioni: link (score $\geq T_\mu$), non-link (score $\leq T_\lambda$) e revisione manuale (score intermedio) [11].

Il modello di Fellegi-Sunter resta il riferimento teorico per la maggior parte delle implementazioni pratiche, ma presenta limiti noti: assume indipendenza condizionale tra gli attributi (raramente verificata nella pratica), richiede la stima dei parametri $m$ e $u$ (le probabilità di accordo nei match e nei non-match rispettivamente) che in assenza di dati etichettati viene tipicamente effettuata con l'algoritmo EM, e non gestisce nativamente attributi con valori mancanti.

Blocking e scalabilità

Il confronto esaustivo di tutte le coppie di record ha complessità $O(n^2)$, impraticabile per dataset di grandi dimensioni. Le tecniche di blocking riducono lo spazio di confronto partizionando i record in blocchi sulla base di chiavi condivise, ad esempio, le prime tre lettere del cognome, il codice postale, o l'anno di nascita, e confrontando solo i record all'interno dello stesso blocco. Christophides et al. hanno fornito una survey comprensiva delle tecniche di blocking e delle strategie di entity resolution end-to-end per big data, evidenziando come la scelta della funzione di blocking rappresenti un trade-off critico tra recall (la probabilità di non perdere match veri) e costo computazionale [12].

Le tecniche di blocking tradizionali (standard blocking, sorted neighborhood) sono state progressivamente integrate con approcci basati su rappresentazioni distribuite: i record vengono mappati in uno spazio vettoriale tramite embedding, e il blocking avviene identificando i vicini nello spazio latente tramite strutture di indicizzazione approssimata (LSH, HNSW). Questo approccio è particolarmente efficace quando gli errori nei dati sono distribuiti in modo non uniforme tra gli attributi, rendendo difficile la selezione di una chiave di blocking deterministica.

Deep learning per entity matching

L'applicazione del deep learning all'entity matching ha subito un'accelerazione significativa a partire dal 2018. Mudgal et al. hanno proposto DeepMatcher, un framework che esplora sistematicamente lo spazio di progettazione delle architetture neurali per il matching di entità, dimostrando che il deep learning supera significativamente i metodi tradizionali su entity matching testuale e "dirty" (dati con errori e inconsistenze), pur non offrendo vantaggi su dati strutturati e puliti [13]. Il sistema Ditto, proposto da Li et al. nel 2020, ha portato il paradigma dei modelli pre-addestrati nell'entity matching: serializzando le coppie di record come sequenze di testo e fine-tunando un transformer (BERT), Ditto raggiunge prestazioni superiori del 4-9% in F1 rispetto ai metodi precedenti sui benchmark standard, con miglioramenti particolarmente marcati su dataset con alta eterogeneità e rumore [14].

L'evoluzione più recente utilizza direttamente i large language model per l'entity matching tramite prompting, senza fine-tuning. Narayan et al. hanno dimostrato che GPT-3, opportunamente sollecitato, raggiunge prestazioni competitive con Ditto su diversi benchmark, con il vantaggio di non richiedere dati di addestramento etichettati [4]. Questo approccio è attraente per la sua semplicità operativa, ma presenta tre criticità significative in contesti di produzione: il costo per-token è ordini di grandezza superiore rispetto a un modello fine-tunato locale, la latenza è incompatibile con la deduplicazione di dataset con milioni di record, e il non-determinismo delle risposte rende difficile la riproducibilità e l'audit dei risultati.


Standardizzazione e normalizzazione

La standardizzazione dei dati, la trasformazione di valori semanticamente equivalenti in una rappresentazione canonica uniforme, è una precondizione necessaria sia per la deduplicazione sia per l'analisi. Senza standardizzazione, due record che rappresentano la stessa entità possono differire per formati di data (01/03/2025 vs. 2025-03-01 vs. 1 marzo 2025), convenzioni di indirizzo (Via vs. V. vs. via), abbreviazioni (Ing. vs. Ingegnere), codifiche di caratteri, o unità di misura, variazioni che inquinano le metriche di qualità e degradano le prestazioni di qualsiasi algoritmo downstream.

Parsing e normalizzazione di attributi strutturati

Il parsing degli attributi strutturati è il livello più elementare di standardizzazione. Per indirizzi, nomi, numeri di telefono e date esistono librerie e servizi consolidati che scompongono stringhe non strutturate in componenti semantiche (via, numero civico, CAP, città, provincia) e le riformattano secondo uno schema canonico. Il problema è computazionalmente semplice in apparenza, ma operativamente complesso: le variazioni linguistiche e regionali (si pensi alla differenza tra convenzioni di indirizzo italiane, tedesche e americane) e la presenza di abbreviazioni non standard rendono il parsing deterministico fragile. Rahm e Do hanno classificato queste trasformazioni come operazioni a livello di istanza su singola fonte, la categoria più elementare nella loro tassonomia, eppure una delle più laboriose nella pratica [2].

Standardizzazione semantica e ontologie di dominio

A un livello di complessità superiore, la standardizzazione semantica affronta il problema dell'allineamento terminologico: attributi che usano vocabolari diversi per rappresentare lo stesso concetto. In ambito sanitario, ad esempio, lo stesso principio attivo può essere codificato con il nome commerciale, la denominazione comune internazionale (DCI), o un codice ATC, ciascuno valido nel proprio contesto ma incompatibile con gli altri. Le ontologie di dominio e i vocabolari controllati (SNOMED CT per la medicina, GS1 per la supply chain, XBRL per i dati finanziari) forniscono un framework di normalizzazione, ma la loro applicazione richiede un mapping, spesso manuale o semi-automatico, tra le terminologie locali e lo standard di riferimento.

La standardizzazione è un problema che resiste all'automazione completa perché le convenzioni di rappresentazione sono artefatti culturali e organizzativi, non proprietà intrinseche dei dati. Un sistema di pulizia automatizzato può normalizzare "Via G. Garibaldi, 42" in "VIA GIUSEPPE GARIBALDI 42", ma non può determinare autonomamente se "G." debba espandersi in "Giuseppe" o "Giovanni" senza contesto aggiuntivo, ed è esattamente in questa zona grigia che si concentrano gli errori più insidiosi.


Imputazione di valori mancanti

I valori mancanti rappresentano una delle forme più pervasive di incompletezza nei dataset reali. La letteratura distingue tre meccanismi generativi di missingness, formalizzati da Rubin nel 1976: Missing Completely At Random (MCAR), dove la probabilità di assenza non dipende da alcun valore osservato o non osservato; Missing At Random (MAR), dove la probabilità di assenza dipende solo dai valori osservati; e Missing Not At Random (MNAR), dove la probabilità di assenza dipende dal valore mancante stesso [15]. La distinzione è critica perché determina quali metodi di imputazione producono stime non distorte: metodi validi sotto MCAR possono produrre bias sistematico sotto MAR o MNAR.

Metodi statistici classici

I metodi statistici di imputazione operano su assunzioni distribuzionali esplicite. L'imputazione con la media (o la mediana, o la moda) è il metodo più semplice ma anche il più distorcente: sostituendo ogni valore mancante con una costante, si riduce la varianza dell'attributo e si attenuano le correlazioni con gli altri attributi, producendo un dataset che sottostima sistematicamente l'incertezza. L'imputazione mediante regressione stima i valori mancanti come funzione lineare degli attributi osservati, preservando le relazioni lineari ma introducendo una sottostima della varianza residua.

La Multiple Imputation (MI), proposta da Rubin e implementata operativamente dall'algoritmo MICE (Multiple Imputation by Chained Equations), affronta il problema della sottostima dell'incertezza generando $m$ dataset completi, ciascuno con valori imputati leggermente diversi campionati dalla distribuzione predittiva posteriore [15]. Le analisi vengono condotte separatamente su ciascun dataset imputato, e i risultati vengono combinati secondo le regole di Rubin, che incorporano sia la varianza within-imputation sia la varianza between-imputation. MICE è considerato lo standard de facto per l'imputazione statistica in ambito scientifico, ma presenta limiti computazionali su dataset con molti attributi e relazioni non lineari tra variabili.

Imputazione basata su deep learning

L'applicazione del deep learning all'imputazione dei valori mancanti ha prodotto una famiglia di metodi che superano le assunzioni di linearità dei metodi classici. Yoon et al. hanno proposto nel 2018 GAIN (Generative Adversarial Imputation Nets), un'architettura basata su reti generative avversariali in cui il generatore osserva i valori presenti di un record, imputa i valori mancanti, e produce un vettore completo; il discriminatore riceve il vettore completo e tenta di distinguere quali componenti sono stati osservati e quali imputati [16]. Un meccanismo di hint, un vettore che rivela parzialmente l'informazione di missingness, garantisce che il generatore apprenda la distribuzione congiunta dei dati piuttosto che una distribuzione marginale qualsiasi.

I metodi basati su autoencoder variazionali (VAE) e su modelli di diffusione rappresentano evoluzioni più recenti. Kazijevs e Samad hanno condotto una revisione comparativa dei metodi di deep learning per l'imputazione rispetto agli approcci convenzionali e osservando la dominanza di autoencoder e reti ricorrenti per dati tabulari temporali, con una tendenza crescente verso architetture basate su transformer per la cattura di dipendenze a lungo raggio [17]. Un risultato trasversale a tutti i benchmark è che nessun singolo metodo di imputazione domina uniformemente: le prestazioni dipendono dal tipo di dato, dalla percentuale di valori mancanti, dal meccanismo di missingness e dalla struttura di correlazione del dataset.

Trade-off pratici

La scelta del metodo di imputazione in contesti di produzione è vincolata da considerazioni che la letteratura accademica tende a sottovalutare. La complessità computazionale è un fattore discriminante: MICE su un dataset con 100 attributi e 10 milioni di record richiede ore di calcolo, mentre l'imputazione con la mediana è istantanea. La interpretabilità è un altro vincolo: in contesti regolamentati (finanza, sanità), un valore imputato da una rete neurale opaca può essere inaccettabile per ragioni di compliance, mentre un valore imputato dalla mediana condizionata a un sottoinsieme di attributi è verificabile e spiegabile. La stabilità è un requisito spesso trascurato: un metodo di imputazione che produce risultati diversi ad ogni esecuzione (come GAIN, che è stocastico per costruzione) complica la riproducibilità delle analisi downstream. Nella pratica, l'approccio più robusto è spesso una strategia ibrida: metodi semplici per attributi con bassa percentuale di missingness e bassa criticità, metodi sofisticati per attributi ad alto impatto, e l'esplicitazione della missingness come feature aggiuntiva quando il meccanismo è MNAR e l'assenza stessa porta informazione.


Automazione del data wrangling

Il termine data wrangling designa l'insieme delle operazioni di pulizia, trasformazione e preparazione dei dati, un processo che storicamente è stato manuale, iterativo e scarsamente riproducibile. L'automazione del wrangling è l'obiettivo verso cui converge l'evoluzione degli strumenti descritti nelle sezioni precedenti, ma il livello di automazione raggiunto varia significativamente tra le diverse operazioni.

Pipeline dichiarative e data quality as code

Il paradigma data quality as code codifica le aspettative di qualità in asserzioni eseguibili, test che restituiscono successo o fallimento, integrate nel ciclo di vita della pipeline. Great Expectations implementa questo paradigma attraverso un'architettura a cinque componenti (Data Context, Expectations, Expectation Suites, Validation Definitions, Checkpoints) che consente di definire oltre 300 tipi di asserzioni sulla forma dei dati, dall'assenza di valori nulli alla compatibilità distribuzionale con un profilo di riferimento [8]. Soda Core adotta un approccio complementare con il linguaggio dichiarativo SodaCL, che esprime i controlli di qualità in YAML con una sintassi leggibile anche da profili non strettamente ingegneristici, traducendoli in query SQL ottimizzate per il warehouse di destinazione [19].

Il vantaggio fondamentale dell'approccio as code è la riproducibilità: le regole di qualità vengono versionate, testate e deployate con gli stessi strumenti e processi del codice applicativo (Git, CI/CD, code review). Il limite è che le regole sono statiche, codificano le aspettative al momento della scrittura, ma non si adattano quando la distribuzione dei dati evolve. Un check che verifica "il volume giornaliero è compreso tra 10.000 e 50.000 record" diventa un falso positivo quando il business cresce e il volume supera legittimamente la soglia, o un falso negativo quando un nuovo pattern stagionale riduce temporaneamente i volumi.

Automazione guidata dal profiling

Deequ ha introdotto un pattern che colma parzialmente il divario tra regole statiche e adattamento dinamico: i profili statistici vengono calcolati ad ogni aggiornamento del dataset, e i vincoli di qualità vengono suggeriti algoritmicamente sulla base dei profili osservati [6]. Se il profiling rileva che un attributo ha sempre avuto cardinalità 50, il sistema suggerisce automaticamente un vincolo hasCardinalityConstraint(column, == 50). Se la cardinalità cambia legittimamente, il vincolo viene ricalibrato. Questo approccio riduce significativamente il costo di manutenzione delle regole, ma richiede una baseline stabile: su dataset con alta variabilità naturale, la generazione automatica di vincoli produce un numero eccessivo di falsi positivi, con conseguente alert fatigue degli operatori.

LLM come motore di wrangling

La direzione più recente utilizza i large language model come orchestratori di pipeline di pulizia. Il framework AutoDCWorkflow, proposto nel 2024, investiga la capacità dei LLM di generare automaticamente workflow di data cleaning a partire da una descrizione in linguaggio naturale del dataset e dei problemi di qualità [20]. L'approccio è concettualmente potente, un analista descrive il problema e il modello genera il codice di pulizia, ma i risultati sperimentali evidenziano limiti significativi: i LLM correggono efficacemente anomalie semplici a livello di record (errori di formato, outlier evidenti), ma faticano con shift distribuzionali e errori contestuali che richiedono conoscenza del dominio non presente nel prompt [20].

Il lavoro di Narayan et al. rappresenta il benchmark di riferimento per l'applicazione dei modelli fondazionali al data wrangling, dimostrando prestazioni competitive su entity matching, error detection e imputation, ma anche evidenziando che il costo per-token e la latenza dell'inferenza rendono l'approccio economicamente sostenibile solo per dataset di dimensioni limitate o per task ad alto valore dove il costo della pulizia manuale è superiore [4]. In contesti di produzione con volumi nell'ordine dei milioni di record, l'approccio più pragmatico combina regole deterministiche per la standardizzazione e la validazione di base, modelli di machine learning tradizionali per la deduplicazione e l'anomaly detection, e LLM per la gestione di casi ambigui che richiedono comprensione semantica, un'architettura ibrida che bilancia costo, latenza e qualità.


Limiti e problemi aperti

Nonostante i progressi significativi degli ultimi anni, la preparazione sistematica dei dati presenta problemi aperti che limitano l'automazione completa dei processi di profiling e cleansing.

Il primo problema è la valutazione dell'efficacia. Misurare l'impatto della pulizia dei dati sulla qualità delle analisi downstream è sorprendentemente difficile. Un dataset "pulito" non è un concetto assoluto: è relativo all'uso che se ne fa. Un livello di rumore tollerabile per un'analisi aggregata può essere inaccettabile per un modello predittivo ad alta precisione. Ilyas e Chu hanno osservato che la relazione tra qualità dei dati e qualità dei modelli di machine learning è non lineare e dipende fortemente dal task: in alcuni casi, la pulizia aggressiva dei dati migliora le prestazioni; in altri, la rimozione di outlier elimina segnali informativi e degrada il modello [1].

Il secondo problema è la scalabilità delle tecniche sofisticate. I metodi basati su deep learning per l'imputazione, l'anomaly detection e l'entity matching producono risultati superiori nei benchmark accademici, ma il loro costo computazionale li rende impraticabili per pipeline con volumi dell'ordine dei miliardi di record e frequenze di aggiornamento sub-orarie. La ricerca su metodi incrementali, che aggiornano i risultati in funzione dei nuovi dati senza rielaborare l'intero dataset, è attiva ma non ha ancora prodotto soluzioni consolidate per tutte le operazioni di cleansing.

Il terzo problema è il concept drift. I dati reali evolvono nel tempo: cambiano le distribuzioni, si aggiungono nuovi pattern, le regole di business si modificano. Un modello di anomaly detection addestrato sui dati di gennaio può generare un volume insostenibile di falsi positivi a marzo, quando i pattern stagionali alterano le distribuzioni. I sistemi di monitoraggio continuo (data observability) affrontano parzialmente il problema, ma la distinzione tra drift legittimo e degrado della qualità resta una sfida che richiede conoscenza del dominio e intervento umano.

Il quarto problema è la composizione delle operazioni. Profiling, validazione, deduplicazione, standardizzazione e imputazione sono operazioni interdipendenti: l'ordine di esecuzione influenza i risultati. Deduplicare prima di imputare produce risultati diversi dall'imputare prima di deduplicare. La letteratura tratta ciascuna operazione in isolamento, ma nella pratica il design della pipeline di cleansing, la scelta dell'ordine, dei parametri, e delle dipendenze tra le operazioni, è un problema di ingegneria che richiede competenza specifica e non ha soluzioni generali.


Riferimenti

[1] I. F. Ilyas e X. Chu, "Data Cleaning," ACM Books, 2019. https://dl.acm.org/doi/book/10.1145/3310205

[2] E. Rahm e H. H. Do, "Data Cleaning: Problems and Current Approaches," IEEE Data Engineering Bulletin, vol. 23, no. 4, pp. 3-13, 2000. https://dbs.uni-leipzig.de/files/research/publications/2000-1/pdf/TBDE2000.pdf

[3] Z. Abedjan, L. Golab e F. Naumann, "Profiling Relational Data: A Survey," The VLDB Journal, vol. 24, no. 4, pp. 557-581, 2015. https://link.springer.com/article/10.1007/s00778-015-0389-y

[4] A. Narayan, I. Chami, L. Orr e C. Ré, "Can Foundation Models Wrangle Your Data?," in Proc. VLDB Endowment, vol. 16, no. 4, pp. 738-746, 2022. https://www.vldb.org/pvldb/vol16/p738-narayan.pdf

[5] L. Ehrlinger e W. Wöß, "A Survey of Data Quality Measurement and Monitoring Tools," Frontiers in Big Data, 2022. https://www.frontiersin.org/articles/10.3389/fdata.2022.850611

[6] S. Schelter, D. Lange, P. Schmidt, M. Celikel, F. Bießmann e A. Grafberger, "Automating Large-Scale Data Quality Verification," in Proc. VLDB Endowment, vol. 11, no. 12, pp. 1781-1794, 2018. https://www.vldb.org/pvldb/vol11/p1781-schelter.pdf

[7] YData, "ydata-profiling: Data Quality Profiling & Exploratory Data Analysis," GitHub repository, 2025. https://github.com/ydataai/ydata-profiling

[8] Great Expectations, "GX Core Documentation," 2025. https://docs.greatexpectations.io/docs/home/

[9] S. Han, X. Hu, H. Huang, M. Jiang e Y. Zhao, "ADBench: Anomaly Detection Benchmark," in Proc. NeurIPS, 2022. https://arxiv.org/abs/2206.09426

[10] Amazon Science, "AnoLLM: Large Language Models for Tabular Anomaly Detection," in Proc. ICLR, 2025. https://assets.amazon.science/f3/e4/9033ae94402eb468072da852f55c/anollm-large-language-models-for-tabular-anomaly-detection.pdf

[11] I. P. Fellegi e A. B. Sunter, "A Theory for Record Linkage," Journal of the American Statistical Association, vol. 64, no. 328, pp. 1183-1210, 1969. https://www.tandfonline.com/doi/abs/10.1080/01621459.1969.10501049

[12] V. Christophides, V. Efthymiou, T. Palpanas, G. Papadakis e K. Stefanidis, "An Overview of End-to-End Entity Resolution for Big Data," ACM Computing Surveys, vol. 53, no. 6, 2021. https://dl.acm.org/doi/10.1145/3418896

[13] S. Mudgal, H. Li, T. Rekatsinas, A. Doan et al., "Deep Learning for Entity Matching: A Design Space Exploration," in Proc. SIGMOD, 2018. https://dl.acm.org/doi/10.1145/3183713.3196926

[14] Y. Li, J. Li, Y. Suhara, A. Doan e W.-C. Tan, "Deep Entity Matching with Pre-Trained Language Models," in Proc. VLDB Endowment, vol. 14, no. 1, pp. 50-60, 2020. https://arxiv.org/abs/2004.00584

[15] D. B. Rubin, "Inference and Missing Data," Biometrika, vol. 63, no. 3, pp. 581-592, 1976.

[16] J. Yoon, J. Jordon e M. van der Schaar, "GAIN: Missing Data Imputation using Generative Adversarial Nets," in Proc. ICML, 2018. https://proceedings.mlr.press/v80/yoon18a.html

[17] S. Kazijevs e M. Samad, "Deep Learning versus Conventional Methods for Missing Data Imputation: A Review and Comparative Study," Expert Systems with Applications, vol. 234, 2023. https://www.sciencedirect.com/science/article/abs/pii/S0957417423007030

[18] Soda, "Soda Core Documentation," 2025. https://docs.soda.io/

[19] L. Huang et al., "AutoDCWorkflow: LLM-based Data Cleaning Workflow Auto-Generation and Benchmark," arXiv:2412.06724, 2024. https://arxiv.org/abs/2412.06724

Data Profiling & Cleansing

Raccontaci la situazione. Rispondiamo entro 24 ore nei giorni lavorativi.

Tweaks

Light mode
Atmospheric (glass)
Client logos
Terminal hero