Executive summary
Quando un'organizzazione raccoglie informazioni sugli stessi soggetti da fonti diverse, come anagrafiche clienti, registri fornitori o banche dati sanitarie, accade quasi sempre che gli stessi individui o oggetti compaiano più volte con variazioni nei dati: nomi scritti in modo diverso, indirizzi aggiornati, campi mancanti. Il problema di riconoscere quali registrazioni si riferiscono allo stesso soggetto reale, e di unificarle, è tanto diffuso quanto sottovalutato: se non risolto, compromette la qualità delle analisi, genera costi operativi evitabili e produce decisioni basate su informazioni frammentarie. Questo articolo analizza l'evoluzione dei metodi per affrontare tale problema, dalle prime tecniche statistiche sviluppate negli anni Sessanta fino ai sistemi più recenti basati su modelli di intelligenza artificiale di ultima generazione. L'analisi evidenzia che le soluzioni più efficaci combinano strategie di riduzione dello spazio di ricerca con modelli di confronto sempre più sofisticati, e che la scelta dell'approccio ottimale dipende in modo critico dalle caratteristiche dei dati e dai vincoli operativi specifici di ogni contesto applicativo.
Background
Il problema dell'entity resolution, noto anche come record linkage, deduplication o fuzzy matching, consiste nell'identificare record appartenenti a uno o più dataset che si riferiscono alla medesima entità del mondo reale, in assenza di un identificativo univoco condiviso [1]. La rilevanza pratica di questo problema è difficile da sovrastimare: ogni processo di integrazione dati, dalla costruzione di una vista unificata del cliente alla riconciliazione di registri amministrativi, richiede una forma di entity resolution come prerequisito per produrre risultati affidabili [2].
Le origini del campo risalgono al lavoro pioneristico di Newcombe, Kennedy, Axford e James, che nel 1959 dimostrarono come i calcolatori potessero effettuare il collegamento automatico di registri anagrafici moltiplicando le probabilità di corrispondenza dei singoli campi per generare punteggi di linkage complessivi [3]. Questa intuizione, sviluppata nel contesto della ricerca epidemiologica canadese, fu formalizzata matematicamente un decennio più tardi da Fellegi e Sunter, che nel 1969 pubblicarono "A Theory for Record Linkage" sul Journal of the American Statistical Association [4]. Il contributo di Fellegi e Sunter non si limitò alla formalizzazione: i due autori dimostrarono l'ottimalità della regola decisionale proposta e introdussero metodi per la stima dei parametri senza dati di addestramento etichettati, un aspetto che rende il framework applicabile in contesti dove l'annotazione manuale è impraticabile.
Da allora il campo ha attraversato quella che Papadakis, Ioannou, Thanos e Palpanas hanno descritto come quattro generazioni di entity resolution, ciascuna caratterizzata dalla risposta a una diversa sfida dei dati: veridicità, volume, varietà e velocità [5]. La prima generazione si concentrava sull'accuratezza del matching tra coppie di record strutturati; la seconda ha affrontato il problema della scalabilità attraverso tecniche di blocking; la terza ha esteso il paradigma a dati semi-strutturati e eterogenei; la quarta generazione, attualmente in corso, integra approcci di deep learning e large language model con l'obiettivo di gestire simultaneamente tutte le dimensioni di complessità. La comprensione di questa traiettoria evolutiva è essenziale per operare scelte architetturali consapevoli nei sistemi di integrazione dati contemporanei.
Il workflow standard di entity resolution si articola in una pipeline a più stadi: preprocessing dei dati, blocking (o indexing), confronto a coppie, classificazione (match/non-match) e, opzionalmente, clustering per risolvere la transitività delle corrispondenze [2, 5]. Ciascuno di questi stadi presenta sfide algoritmiche specifiche e un ricco corpo di letteratura, che le sezioni successive esaminano in profondità.
Il modello Fellegi-Sunter e il framework probabilistico
Formulazione del modello
Il framework di Fellegi e Sunter [4] costituisce il fondamento teorico della maggior parte dei sistemi di record linkage probabilistico ancora oggi in uso. Si consideri un insieme di coppie di record $(a, b)$ provenienti da due dataset $A$ e $B$. L'insieme delle coppie si partiziona in due sottoinsiemi complementari: $M$ (le coppie che rappresentano la stessa entità) e $U$ (le coppie che rappresentano entità distinte). Per ciascuna coppia, si calcola un vettore di confronto $\gamma = (\gamma_1, \gamma_2, \ldots, \gamma_K)$, dove ogni $\gamma_k$ rappresenta il risultato del confronto sul $k$-esimo attributo (ad esempio, il grado di similarità tra due nomi o due indirizzi).
Il modello definisce due probabilità condizionate per ciascun pattern di confronto $\gamma$:
$$m(\gamma) = P(\gamma \mid (a,b) \in M)$$ $$u(\gamma) = P(\gamma \mid (a,b) \in U)$$
Il rapporto di verosimiglianza $w(\gamma) = m(\gamma) / u(\gamma)$ fornisce il peso evidenziale del pattern osservato. La regola decisionale ottimale, nel senso di Neyman-Pearson, consiste nel confrontare il logaritmo di questo rapporto con due soglie $T_\mu$ e $T_\lambda$: le coppie con peso superiore a $T_\mu$ sono classificate come match, quelle con peso inferiore a $T_\lambda$ come non-match, e quelle nell'intervallo intermedio richiedono revisione manuale [4].
Assunzione di indipendenza condizionale e sue estensioni
Un'assunzione critica del modello originale è l'indipendenza condizionale dei confronti attributo per attributo, dato lo stato di match o non-match della coppia. Sotto questa ipotesi, il peso complessivo si decompone nella somma dei contributi individuali:
$$\log w(\gamma) = \sum_{k=1}^{K} \log \frac{m_k(\gamma_k)}{u_k(\gamma_k)}$$
Questa decomposizione, pur essendo computazionalmente vantaggiosa, è spesso violata nella pratica: la corrispondenza del codice postale, ad esempio, non è indipendente dalla corrispondenza della città [1]. Estensioni successive hanno affrontato questo limite attraverso modelli a classi latenti che ammettono dipendenze tra attributi, raggruppando i confronti in blocchi condizionatamente indipendenti [1, 6]. Winkler ha proposto modelli log-lineari e mixture model che rilassano l'assunzione di indipendenza mantenendo la trattabilità computazionale [6]. Più recentemente, Binette e Steorts [1] hanno sistematizzato queste estensioni nel framework della graphical entity resolution, dove il problema è formulato come il recupero di un grafo bipartito che collega i record a entità latenti ricostruite, consentendo una trattazione bayesiana completa con quantificazione dell'incertezza.
Stima dei parametri con l'algoritmo EM
Un punto di forza del framework probabilistico è la possibilità di stimare i parametri $m(\gamma)$ e $u(\gamma)$ in modo non supervisionato attraverso l'algoritmo Expectation-Maximization (EM) [4, 7]. L'intuizione è che lo stato di match/non-match di ciascuna coppia costituisce una variabile latente: l'algoritmo alterna tra una fase di stima delle probabilità di match per ciascuna coppia (E-step) e una fase di aggiornamento dei parametri del modello sulla base di tali stime (M-step). Questo approccio, implementato in sistemi come Splink [7], consente di addestrare modelli di linkage su dataset privi di etichette, un vantaggio operativo significativo in contesti dove la creazione di ground truth è costosa o impraticabile. Splink, sviluppato dal Ministry of Justice del governo britannico e rilasciato come progetto open source, ha dimostrato la capacità di deduplicare 7 milioni di record in meno di due minuti su un singolo laptop, combinando il modello Fellegi-Sunter con aggiustamenti per la frequenza dei termini e backend SQL multipli tra cui DuckDB e Apache Spark [7].
Strategie di blocking e riduzione dello spazio di ricerca
Il problema della complessità quadratica
Il confronto esaustivo di tutti i record in un dataset di dimensione $n$ richiede $O(n^2)$ confronti a coppie, una complessità che diventa rapidamente proibitiva: per un dataset di un milione di record, il numero di coppie supera i $5 \times 10^{11}$. Il blocking è la famiglia di tecniche che affronta questo problema partizionando i record in sottoinsiemi (blocchi) e restringendo i confronti alle sole coppie all'interno dello stesso blocco [8]. Papadakis et al., nella loro survey pubblicata su ACM Computing Surveys, hanno fornito la tassonomia più completa delle tecniche di blocking e filtering, analizzando oltre 60 metodi proposti nella letteratura [8].
Blocking tradizionale e sue varianti
Il blocking tradizionale opera attraverso la definizione di blocking key, ovvero firme estratte dai record che determinano l'assegnazione ai blocchi. Due record vengono confrontati solo se condividono almeno una blocking key. Le chiavi più semplici sono valori esatti di un attributo (ad esempio, il codice postale), ma la rigidità di questo approccio produce elevati tassi di miss rate per record con errori proprio nell'attributo utilizzato come chiave. Strategie più sofisticate includono il sorted neighborhood method, che ordina i record per chiave e applica una finestra scorrevole di dimensione fissa entro cui effettuare i confronti [8]. Varianti adattive regolano dinamicamente la dimensione della finestra in base alla similarità delle chiavi di blocking, ottimizzando il bilanciamento tra completezza (recall) ed efficienza.
Meta-blocking e blocking schema-agnostico
Un avanzamento significativo è stato introdotto dal paradigma del meta-blocking, che opera come fase di post-processing sul risultato di tecniche di blocking convenzionali [5, 8]. Anziché definire a priori una strategia di blocking ottimale, il meta-blocking costruisce un grafo di co-occorrenza in cui i nodi rappresentano i record e gli archi collegano record assegnati allo stesso blocco. Attraverso potatura degli archi basata su metriche di centralità o peso, il meta-blocking elimina confronti ridondanti o a bassa probabilità di match, ottenendo riduzioni significative del numero di confronti senza degradare la qualità del matching. Questo approccio è particolarmente rilevante per dati semi-strutturati o eterogenei, dove la definizione di blocking key tradizionali risulta problematica a causa della variabilità negli schemi [5].
Blocking basato su embedding
L'avvento delle rappresentazioni vettoriali dense ha aperto una direzione ulteriore per il blocking. Anziché utilizzare chiavi discrete, ciascun record viene proiettato in uno spazio vettoriale continuo attraverso modelli di embedding, e i candidati vengono identificati tramite ricerca approssimata dei vicini più prossimi (approximate nearest neighbor, ANN) con strutture dati quali HNSW o IVF [9, 10]. Questo approccio supera il limite della corrispondenza esatta delle chiavi, catturando similarità semantiche tra record con formulazioni diverse dello stesso concetto. Tuttavia, introduce dipendenze dalla qualità degli embedding e dai parametri degli indici ANN, e richiede una calibrazione attenta per evitare che il richiamo del blocking degradi le prestazioni complessive della pipeline.
Tassonomia degli approcci al matching
Metodi basati su regole e similarità
L'approccio più diretto al matching consiste nella definizione manuale di regole che combinano misure di similarità tra attributi. Le funzioni di similarità stringa più utilizzate includono la distanza di Levenshtein (edit distance), la similarità di Jaro-Winkler (ottimizzata per nomi di persona), la similarità coseno su n-grammi di caratteri e la distanza di Jaccard su insiemi di token [2, 5]. Questi metodi offrono trasparenza e interpretabilità, ma presentano limiti strutturali: la definizione delle soglie è soggettiva, la combinazione delle similarità per attributi multipli richiede pesi che spesso vengono fissati empiricamente, e l'adattamento a domini diversi implica la riscrittura delle regole.
Il framework probabilistico di Fellegi-Sunter [4] rappresenta una prima forma di apprendimento automatico dei pesi, dove i contributi evidenziali di ciascun attributo sono derivati statisticamente dai dati piuttosto che fissati manualmente. Sistemi come Splink [7] e il Python Record Linkage Toolkit implementano questo approccio con diverse strategie di stima e confronto.
Machine learning supervisionato e active learning
L'applicazione di classificatori supervisionati al problema del matching trasforma la decisione match/non-match in un problema di classificazione binaria standard, dove il vettore di feature è costituito dalle similarità calcolate tra gli attributi corrispondenti dei due record [2]. Support vector machine, random forest e gradient boosting sono stati ampiamente utilizzati in questo contesto, con risultati che tipicamente superano i metodi puramente probabilistici quando sono disponibili dati di addestramento sufficienti [5].
Il collo di bottiglia principale è la disponibilità di coppie etichettate. Sarawagi e Bhamidipaty hanno affrontato questo problema nel 2002, proponendo l'applicazione dell'active learning alla deduplicazione [11]. Il sistema ALIAS presentato nel loro lavoro, pubblicato ai Proceedings di ACM SIGKDD, utilizza una strategia di uncertainty sampling per selezionare iterativamente le coppie più informative da sottoporre all'annotatore umano, riducendo significativamente il numero di etichette necessarie per raggiungere prestazioni competitive. Questa idea è stata successivamente adottata da strumenti come Dedupe [12] e Zingg [13], che pongono l'active learning al centro del loro workflow: l'utente etichetta un numero limitato di coppie (tipicamente poche centinaia) e il sistema apprende un modello di matching che viene progressivamente raffinato attraverso cicli di feedback.
Meduri et al. hanno condotto nel 2020 il primo benchmark sistematico dei metodi di active learning per entity matching, presentato a SIGMOD, valutando diverse strategie di selezione (uncertainty sampling, query-by-committee, information density) su benchmark consolidati [14]. I risultati hanno evidenziato che le strategie basate su uncertainty sampling raggiungono convergenza più rapida nella maggior parte degli scenari, ma che la scelta ottimale dipende dalla distribuzione dei dati e dal rapporto match/non-match nel dataset.
Deep learning per entity matching
L'applicazione del deep learning all'entity resolution ha segnato un cambio di paradigma nella rappresentazione dei record. Anziché calcolare manualmente feature di similarità tra attributi, le architetture neurali apprendono rappresentazioni distribuite direttamente dal testo dei record [9].
DeepMatcher, proposto da Mudgal et al. e presentato a SIGMOD 2018, ha sistematizzato per primo lo spazio di progettazione delle architetture di deep learning per entity matching [9]. Il framework decompone il problema in tre fasi: embedding degli attributi, confronto delle rappresentazioni e aggregazione per la decisione finale. Gli autori hanno esplorato quattro famiglie architetturali con potere rappresentazionale crescente (SIF, RNN, Attention, Hybrid) e hanno dimostrato che il deep learning non supera le soluzioni tradizionali su entity matching strutturato, ma produce miglioramenti significativi su dati testuali e su matching cosiddetto dirty, dove gli attributi contengono errori, valori mancanti o informazioni mescolate tra campi [9]. Questo risultato ha individuato con precisione il regime in cui le reti neurali offrono un vantaggio competitivo reale.
Ditto, sviluppato da Li et al. e pubblicato su Proceedings of the VLDB Endowment nel 2020, ha rappresentato il successivo salto qualitativo introducendo l'uso di pre-trained language model per l'entity matching [10]. A differenza di DeepMatcher, che apprende rappresentazioni da zero sui dati di training, Ditto formula il problema come classificazione di coppie di sequenze e sfrutta modelli pre-addestrati come BERT e DistilBERT per ottenere rappresentazioni contestuali ricche. Il sistema introduce tre ottimizzazioni specifiche per il dominio: summarization (selezione degli attributi più discriminanti), domain knowledge injection (aggiunta di informazioni di tipo semantico agli attributi) e data augmentation (generazione di esempi di training sintetici attraverso perturbazioni controllate). Su benchmark standard, Ditto ha raggiunto un F1-score del 96.5% sul matching di dataset aziendali composti da centinaia di migliaia di record, superando DeepMatcher con margini significativi [10].
L'evoluzione successiva ha portato a KAER (Knowledge Augmented Entity Resolution), proposto nel 2023, che estende Ditto arricchendo il contesto dei pre-trained language model con conoscenza esterna a livello di colonna e di entità [15]. KAER inietta informazioni sui tipi semantici delle colonne (ad esempio, "nome di persona" o "indirizzo postale") e sui tipi delle entità attraverso prompt strutturati, migliorando la robustezza su dati dirty e domini con terminologia specializzata rispetto al modello baseline [15].
Large language model per entity resolution
Matching zero-shot e few-shot con LLM generativi
L'emergere dei large language model generativi ha aperto una direzione radicalmente diversa per l'entity resolution: anziché addestrare un modello specifico, il problema viene formulato come prompt a un LLM pre-addestrato, che sfrutta la propria conoscenza linguistica e di dominio per decidere se due record si riferiscono alla stessa entità [16]. Peeters e Bizer hanno condotto lo studio più sistematico in questa direzione, valutando GPT-3.5 e GPT-4 su 13 benchmark di entity matching con diverse strategie di prompting [16].
I risultati sono particolarmente rilevanti per la comunità. GPT-4, senza alcun dato di addestramento specifico per il task, ha superato i migliori pre-trained language model fine-tuned su 3 dei 4 dataset di e-commerce valutati e ha raggiunto prestazioni comparabili sui dati bibliografici [16]. In termini quantitativi, tutti i LLM valutati hanno ottenuto prestazioni F1 superiori di almeno 8 punti percentuali rispetto al miglior modello PLM trasferito tra domini, mentre GPT-4 ha superato il miglior PLM del 40-68% sui dataset più sfidanti [16]. Questi risultati suggeriscono che i LLM possiedono capacità di matching emergenti derivate dal pre-training su vasta scala, capaci di generalizzare a domini non visti senza addestramento specifico.
Limiti e trade-off degli approcci basati su LLM
Nonostante i risultati impressionanti, l'utilizzo di LLM generativi per entity resolution su scala industriale presenta limitazioni significative che ne condizionano l'adozione. Il costo computazionale per inferenza è di ordini di grandezza superiore rispetto ai modelli specializzati: valutare milioni di coppie candidate attraverso API di LLM è economicamente proibitivo e incompatibile con requisiti di latenza stringenti [16]. La dipendenza da servizi cloud esterni introduce vincoli di data governance, particolarmente critici in settori regolamentati dove i dati non possono essere trasmessi a terze parti. Il non-determinismo delle risposte e la sensibilità alla formulazione del prompt rendono difficile garantire la riproducibilità dei risultati.
Un approccio più pragmatico, emergente nella ricerca recente, consiste nell'utilizzare LLM per la generazione automatica di dati di addestramento o per il matching dei casi più ambigui, delegando i confronti a larga scala a modelli più efficienti. Il framework AnyMatch esplora questa direzione utilizzando un modello GPT-2 fine-tuned con tecniche di data selection e augmentation per transfer learning: il sistema raggiunge una qualità di predizione entro il 4.4% del modello proprietario MatchGPT (che opera su scala di trilioni di parametri), con una riduzione del costo di inferenza di quasi quattro ordini di grandezza [17]. L'integrazione di LLM nella pipeline di entity resolution, anziché come sostituti dell'intera pipeline, rappresenta la direzione più promettente per combinare la qualità del matching neurale con i vincoli di scalabilità e costo dei sistemi in produzione.
Clustering e risoluzione della transitività
Una volta classificate le coppie come match o non-match, la pipeline di entity resolution richiede un ulteriore passo: l'aggregazione delle corrispondenze a coppie in cluster coerenti che rappresentano entità unificate [2, 5]. Questo stadio è necessario perché le decisioni a livello di coppia possono violare la proprietà transitiva: se il record $a$ è classificato come match con $b$, e $b$ con $c$, ma $a$ non corrisponde a $c$, la pipeline produce un'incoerenza che deve essere risolta.
Gli approcci più comuni includono la connected components analysis, dove ogni componente connessa del grafo di match costituisce un cluster, e il clustering correlato, che formula il problema come un'ottimizzazione combinatoria per minimizzare il numero di errori di match e non-match all'interno di ciascun cluster [1, 5]. La scelta dell'algoritmo di clustering ha un impatto significativo sulle prestazioni finali: la connected components analysis è computazionalmente efficiente ma fragile rispetto a falsi positivi (un singolo match spurio può fondere due cluster che dovrebbero restare separati), mentre gli approcci di ottimizzazione producono risultati più robusti ma con costi computazionali superiori [1].
Binette e Steorts [1] hanno proposto una formulazione bayesiana del clustering che tratta l'assegnazione dei record alle entità latenti come una variabile aleatoria, consentendo la quantificazione dell'incertezza sulle decisioni di merge e la propagazione di questa incertezza alle analisi a valle. Questo approccio, particolarmente rilevante in contesti come il censimento demografico o la ricerca epidemiologica dove le conseguenze di errori di linkage possono essere significative, rappresenta un avanzamento concettuale rispetto ai metodi deterministici che producono un'unica partizione senza indicazione della sua affidabilità.
Benchmark, risultati sperimentali e strumenti open source
Dataset di benchmark
La valutazione delle tecniche di entity resolution si basa su un insieme consolidato di dataset di benchmark, molti dei quali raccolti e standardizzati dal Database Group dell'Università di Lipsia [18]. I benchmark più utilizzati includono dataset di matching di prodotti (Abt-Buy, Amazon-Google, Walmart-Amazon), di pubblicazioni scientifiche (DBLP-ACM, DBLP-Scholar), di anagrafiche aziendali (Company) e di record con rumore sintetico (Febrl). Ciascun dataset presenta sfide specifiche: i benchmark di prodotti sono caratterizzati da descrizioni testuali eterogenee e attributi mancanti; i dataset bibliografici richiedono il matching di stringhe strutturate con variazioni nella formattazione; i dataset sintetici consentono il controllo sistematico del livello di rumore e della dimensione.
Confronto tra approcci
La letteratura evidenzia una progressione nei risultati. I metodi probabilistici classici (Fellegi-Sunter con EM) raggiungono tipicamente F1-score nell'intervallo 85-92% sui benchmark strutturati standard [7]. I classificatori supervisionati con feature engineering manuale migliorano questi risultati di 2-5 punti percentuali quando sono disponibili dati etichettati sufficienti [5]. DeepMatcher ha dimostrato miglioramenti significativi sui dataset dirty e testuali, con incrementi di F1 fino a 8 punti percentuali rispetto ai metodi tradizionali nei casi più complessi [9]. Ditto ha ulteriormente alzato la soglia, raggiungendo F1 superiori al 95% su diversi benchmark standard grazie alla potenza rappresentazionale dei pre-trained language model [10]. I LLM generativi, come documentato da Peeters e Bizer, hanno mostrato capacità zero-shot sorprendenti ma a costi computazionali non ancora compatibili con il matching a larga scala [16].
È fondamentale qualificare questi confronti: le prestazioni dipendono in modo critico dalle caratteristiche del dataset, dalla disponibilità di dati etichettati e dalla qualità del blocking a monte. Un sistema che raggiunge F1 del 98% su DBLP-ACM (dati bibliografici relativamente puliti) non offre alcuna garanzia di prestazioni comparabili su dati anagrafici reali con tassi di errore elevati e schemi eterogenei.
Ecosistema degli strumenti open source
Il panorama degli strumenti open source per entity resolution si è significativamente arricchito negli ultimi anni, offrendo opzioni per diversi profili di esigenze.
Splink [7], sviluppato dal Ministry of Justice britannico, implementa il modello Fellegi-Sunter con stima EM e aggiustamenti per la frequenza dei termini. Il supporto per backend SQL multipli (DuckDB, Spark, Athena, PostgreSQL) lo rende particolarmente adatto a deployment in contesti governativi e enterprise. La documentazione include guide teoriche dettagliate sul modello sottostante, un aspetto che facilita l'adozione informata da parte di team con competenze statistiche.
Dedupe [12], basato su Python, combina active learning con clustering gerarchico per offrire un workflow interattivo di entity resolution. L'utente etichetta coppie attraverso un'interfaccia a riga di comando, e il sistema apprende progressivamente un modello di matching. È adatto a dataset di dimensioni medio-piccole dove l'interattività è un valore aggiunto e la scalabilità non è il vincolo primario.
Zingg [13], progettato per l'esecuzione su Apache Spark, estende l'approccio active learning a scale maggiori. L'integrazione nativa con data warehouse cloud (Snowflake, Databricks) e il supporto per formati multipli (Parquet, Avro, JSON, CSV) lo posizionano come strumento per pipeline di dati enterprise. La componente di active learning consente la costruzione incrementale di training set, riducendo la dipendenza da dati etichettati pre-esistenti.
JedAI (Java gEneric Data Integration), sviluppato da Papadakis et al., implementa una pipeline end-to-end di entity resolution che include blocking, meta-blocking, matching e clustering, con una particolare attenzione alla configurazione automatica dei parametri e al supporto per dati semi-strutturati e knowledge graph [5, 19].
Limiti, problemi aperti e direzioni future
Scalabilità oltre il blocking tradizionale
Nonostante i progressi nelle tecniche di blocking, la scalabilità rimane una sfida aperta per dataset nell'ordine dei miliardi di record, particolarmente quando i dati presentano alta dimensionalità e distribuzione dei valori a coda lunga [8]. Le tecniche di blocking basate su embedding offrono una direzione promettente ma introducono nuove complessità legate alla scelta del modello di embedding, alla dimensionalità dello spazio vettoriale e alla calibrazione degli indici ANN. La ricerca su blocking adattivo e progressivo, dove la risoluzione si concentra inizialmente sulle coppie con maggiore probabilità di match e procede iterativamente, rappresenta un'area di sviluppo attivo [5].
Robustezza alla qualità dei dati
I modelli di deep learning e i pre-trained language model hanno dimostrato una maggiore robustezza rispetto ai metodi tradizionali su dati dirty [9, 10], ma la loro sensibilità a distribuzioni out-of-domain resta un problema significativo. Un modello addestrato su un benchmark di prodotti e-commerce può degradare significativamente quando applicato a dati anagrafici con caratteristiche distributive diverse. La ricerca su transfer learning e domain adaptation per entity resolution è ancora in fase iniziale, e rappresenta una direzione critica per rendere praticabile l'impiego di modelli complessi senza richiedere dati etichettati per ogni nuovo dominio [15].
Interpretabilità e fiducia
In contesti regolamentati (sanità, finanza, pubblica amministrazione), la capacità di spiegare perché due record sono stati classificati come match o non-match è un requisito non negoziabile. I modelli probabilistici classici offrono un'interpretabilità naturale attraverso i pesi evidenziali dei singoli attributi, ma i modelli neurali operano come black box [5]. Lo sviluppo di tecniche di explainability specifiche per entity resolution, che vadano oltre le approssimazioni generiche come SHAP o LIME, è un'area di ricerca attiva con implicazioni pratiche dirette sull'adozione in produzione.
Multimodalità ed entity resolution su knowledge graph
L'estensione dell'entity resolution oltre i dati tabulari, verso entità rappresentate in knowledge graph, testi non strutturati e dati multimodali (immagini, coordinate geografiche, serie temporali) costituisce la frontiera più ambiziosa del campo [5]. Il problema dell'allineamento di entità tra knowledge graph diversi condivide fondamenti teorici con il record linkage classico, ma introduce sfide aggiuntive legate alla struttura relazionale dei dati e alla necessità di considerare non solo gli attributi delle entità ma anche le loro relazioni con altre entità nel grafo.
Integrazione di LLM nella pipeline produttiva
L'integrazione dei large language model nel workflow di entity resolution è probabilmente la direzione di ricerca con il maggiore impatto potenziale nel breve termine [16, 17]. Le architetture più promettenti non sostituiscono l'intera pipeline con un LLM, ma lo integrano in punti specifici: generazione di blocking key semantiche, arricchimento delle rappresentazioni dei record, risoluzione dei casi ambigui al margine della soglia decisionale. La ricerca su modelli di linguaggio specializzati di dimensioni contenute, addestrati o fine-tuned specificamente per entity matching, potrebbe consentire di combinare la qualità del matching neurale con costi computazionali sostenibili per il deployment su scala industriale.
Riferimenti
[1] O. Binette, R. C. Steorts, "(Almost) All of Entity Resolution," in Science Advances, vol. 8, no. 12, 2022. https://arxiv.org/abs/2008.04443
[2] V. Christophides, V. Efthymiou, T. Palpanas, G. Papadakis, K. Stefanidis, "An Overview of End-to-End Entity Resolution for Big Data," in ACM Computing Surveys, vol. 53, no. 6, pp. 1-42, 2021. https://dl.acm.org/doi/10.1145/3418896
[3] H. B. Newcombe, J. M. Kennedy, S. J. Axford, A. P. James, "Automatic Linkage of Vital Records," in Science, vol. 130, no. 3381, pp. 954-959, 1959.
[4] I. P. Fellegi, A. B. Sunter, "A Theory for Record Linkage," in Journal of the American Statistical Association, vol. 64, no. 328, pp. 1183-1210, 1969. https://www.cs.cornell.edu/~shmat/courses/cs6434/fellegi-sunter.pdf
[5] G. Papadakis, E. Ioannou, E. Thanos, T. Palpanas, The Four Generations of Entity Resolution, Morgan & Claypool Publishers, Synthesis Lectures on Data Management, 2021. https://www.morganclaypool.com/doi/abs/10.2200/S01067ED1V01Y202012DTM064
[6] W. E. Winkler, "Improved Decision Rules in the Fellegi-Sunter Model of Record Linkage," Technical Report, U.S. Bureau of the Census, 1993. https://www.census.gov/content/dam/Census/library/working-papers/1993/adrm/rr93-12.pdf
[7] Ministry of Justice Analytical Services, "Splink: Fast, Accurate and Scalable Probabilistic Data Linkage," GitHub repository, 2024. https://github.com/moj-analytical-services/splink
[8] G. Papadakis, D. Skoutas, E. Thanos, T. Palpanas, "Blocking and Filtering Techniques for Entity Resolution: A Survey," in ACM Computing Surveys, vol. 53, no. 2, pp. 1-42, 2020. https://arxiv.org/abs/1905.06167
[9] S. Mudgal, H. Li, T. Rekatsinas, A. Doan, Y. Park, G. Kaushik, "Deep Learning for Entity Matching: A Design Space Exploration," in Proc. ACM SIGMOD, 2018. https://dl.acm.org/doi/10.1145/3183713.3196926
[10] Y. Li, J. Li, Y. Suhara, A. Doan, 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
[11] S. Sarawagi, A. Bhamidipaty, "Interactive Deduplication Using Active Learning," in Proc. ACM SIGKDD, pp. 269-278, 2002. https://dl.acm.org/doi/10.1145/775047.775087
[12] Forest Gregg, Derek Eder, "Dedupe: A Python Library for Accurate and Scalable Fuzzy Matching, Record Deduplication and Entity Resolution," GitHub repository, 2024. https://github.com/dedupeio/dedupe
[13] Zingg AI, "Zingg: Scalable Identity Resolution, Entity Resolution, Data Mastering and Deduplication Using ML," GitHub repository, 2024. https://github.com/zinggAI/zingg
[14] V. V. Meduri, L. Popa, P. Sen, M. Sarwat, "A Comprehensive Benchmark Framework for Active Learning Methods in Entity Matching," in Proc. ACM SIGMOD, pp. 1133-1147, 2020. https://dl.acm.org/doi/abs/10.1145/3318464.3380597
[15] Y. Li et al., "KAER: A Knowledge Augmented Pre-Trained Language Model for Entity Resolution," arXiv:2301.04770, 2023. https://arxiv.org/abs/2301.04770
[16] R. Peeters, C. Bizer, "Entity Matching Using Large Language Models," in Proc. EDBT, 2025. https://arxiv.org/abs/2310.11244
[17] Z. Zhang, P. Groth, I. Calixto, S. Schelter, "AnyMatch — Efficient Zero-Shot Entity Matching with a Small Language Model," arXiv:2409.04073, 2024. https://arxiv.org/abs/2409.04073
[18] Database Group Leipzig, "Benchmark Datasets for Entity Resolution," Universität Leipzig. https://dbs.uni-leipzig.de/research/projects/benchmark-datasets-for-entity-resolution
[19] G. Papadakis et al., "Three-Dimensional Entity Resolution with JedAI," in Information Systems, vol. 93, 2020. https://dl.acm.org/doi/10.1016/j.is.2021.101830