La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

@ Carlo Batini 1 Corso di Architetture Dati A.A. 2011-2012 Qualita’ dei dati - Tecniche: Record linkage.

Presentazioni simili


Presentazione sul tema: "@ Carlo Batini 1 Corso di Architetture Dati A.A. 2011-2012 Qualita’ dei dati - Tecniche: Record linkage."— Transcript della presentazione:

1 @ Carlo Batini 1 Corso di Architetture Dati A.A. 2011-2012 Qualita’ dei dati - Tecniche: Record linkage

2 @ Carlo Batini 2 Tecniche per il miglioramento della qualita’ dei dati Una volta misurata la qualita’ dei dati, e’ necessario migliorarla. Diverse tecniche sono state proposte per il miglioramento della qualita’ dei dati, ad es. –Per la accuratezza: Selezione di nuove fonti –Per la consistenza: Correzione forzata dei dati per fare in modo che rispettino –Per la completezza: riacquisizione dei dati incompleti

3 @ Carlo Batini 3 Scopi del record linkage Back office Organizz. 1 Front office Organizz. 1 Jon Smith Back office Organizz. 2 Front office Organizz. 2 Smith John Back office Organizz. 3 Front office Organizz. 3 John Smit Good morning, I am John Smith Tre differenti John Smith! Record linkage Le tre tuple rappresentano La stessa persona, John Smith

4 @ Carlo Batini 4 Esempio Nome Ident. Tipo di attivita’Citta’Indirizzo Tre tuple che rappresentano la stessa impresa come rappresentate nelle anagrafi di Inps, Inail, Camere di Commercio

5 @ Carlo Batini 5 Record Linkage Il problema conosciuto come record linkage (o record matching) si manifesta quando lo stesso oggetto del mondo reale, ad es. la persona “Carlo Batini”, e’ rappresentato con diversi valori in diverse basi di dati. Es: una base dati può avere memorizzati il nome e cognome di una persona (“Gianluigi Raiss”), mentre un altro DB può riportare di questa stessa persona solo le iniziali del nome ed il cognome (“G.L. Raiss”). Per capire se due record in due DB corrispondono allo stesso oggetto del mondo reale, e’ necessario effettuare una attivita’ chiamata record linkage (o anche record matching, o object identification) GianluigiReiss47 G.ReissRoma GianluigiReiss47Roma

6 @ Carlo Batini 6 Motivi della esistenza di rappresentazioni eterogenee - 1 Carlo Batini Codice fiscale NomeCognomeNato BTNCRK...CarloBatiniPescara Numero Progressivo NomeCognomeNato 123450CarloBatiniPescara Diverso identificatore

7 @ Carlo Batini 7 Motivi della esistenza di rappresentazioni eterogenee - 2 Carlo Batini Codice fiscale NomeCognomeNato BTNCRL48…CarloBatiniPescara Codice fiscale NomeCognomeNato BTNCRL49..CarloBattiniPescara Errori nei dati

8 @ Carlo Batini 8 Motivi della esistenza di rappresentazioni eterogenee - 3 Carlo Batini Codice fiscale NomeCognomeNato BTNCRL48…CarloBatiniPescara Codice fiscale Nome e CognomeNato BTNCRL49..Carlo BatiniPescara Eterogeneita’ semantiche

9 @ Carlo Batini 9 Deduplicazione Attivita’ analoga al record linkage, effettuata su coppie di tuple nella stessa tabella Esempio: Anagrafe dei prodotti in una azienda Altro esempio: cittadini americani con diverse residenze (lo riprenderemo poi) Record #First NameLast NameCountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbritFlorida2515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont2515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000

10 @ Carlo Batini 10 Tecniche utilizzabili Sono tante ed evolvono continuamente. Usano: Metodi empirici - Es di metodo empirico: faccio corrispondere “Crlo” a “Carlo” perche’ e’ il piu’ vicino. Metodi probabilistici Es. di metodo probabilistico: se conosco da un campione le frequenze con cui si distribuiscono gli errori in funzione della distanza/similitudine, decido gli accoppiamenti sulla base delle frequenze  vedi oltre Metodi basati su conoscenza. –Es. di metodo basato su conoscenza: se so qualche regola o vincolo di integrita’ sul dominio, accoppio i dati dando un peso forte a questa regola.  vedi oltre

11 @ Carlo Batini 11 L’identificazione di oggetti simili puo’ essere fatta su diversi tipi di strutture di dati Record / tuple di una coppia di files/tabelle Tuple di un insieme di tabelle Documenti XML

12 @ Carlo Batini 12 Kenia Nairobi, Mombasa, Malindi Lake Victoria Kenia Niarobi Mombasa Lake Victoria Fig 3.c: two XML records PatricMetzisiMM Fig 3.a: two tuples R (First name, Last name, Region, State) KeniaPatrickMezisi Masai Mara KE PatricMetzisi MM Kenia Fig 3.b: two hierachical groups of tuples Africa Patrick MezisiMasai MaraKEAfrica Kenia KEMasai Mara R1 (First name, Last name, Region)R2 (Region, State)R3 (State, Continent)

13 @ Carlo Batini 13 Record linkage: descrizione input output Record matching Tabella 1 Tabella 2 Tabella n Tuple accoppiate Tuple non accoppiate Tuple incerte

14 @ Carlo Batini 14 Passi tipici del processo di record linkage

15 @ Carlo Batini 15 Fasi del record matching 1. Normalizzazione dei formati 2. Blocking con riduzione dello spazio di ricerca 3. Scelta della formula di distanza 4. Per un campione di record gia’ accoppiati, calcola per ogni valore di distanza la frequenza di matching e di non matching 5. Calcola ora le distanze di ogni coppia degli insiemi A e B e costruisci la distribuzione delle frequenze delle coppie in funzione della distanza. 6. Scelta, a partire dalla distribuzione di cui al punto 4 di due distanze di soglia dmin e dmax Casi –A. d < dmin  decidi per il match e scegli una tupla nella coppia come rappresentante e –B. d < dmax  decidi per il non match, percio’ non fondere le due tuple –C. dmin < d < dmax  metti le tuple nell’insieme dei non risolti, da approfondire con esperto di dominio

16 @ Carlo Batini 16 Useremo questo esempio ma in genere i record sono molti, molti di piu’ … CodiceNome e CognomeCitta’ nascitaData nascita 034678Carlo BatiniPescara7/6/1949 543456Giorgio DiniCrema18/7/1987 543456Maria DomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

17 @ Carlo Batini 17 Useremo questo esempio ma in genere i record sono molti, molti di piu’ … CodiceNome e Cognome Citta’ nascita Data nascita 034678Carlo BatiniPescara7/6/1949 543456Giorgio DiniCrema18/7/1987 543456Maria DomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascita Data nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994 Carlo Batini – Pescara – 7/6/1949 Giorgio Din – Cremona – 18/7/1987 Giorgio Dini – Crema – 18/7/1997 Giorgio Dama – Modena – 8/7/1994 Maria Domino – Milano – 18/9/1994 Dati veri !

18 @ Carlo Batini 18 Tipico algoritmo di record linkage 1. Normalizzazione dei formati

19 @ Carlo Batini 19 Normalizzazione Porta a riorganizzare i record ed i loro valori secondo un formato standard e comune Esempio 1.Via S. Giovanni 24 2.V. San Giovanni 24 3.V. S. Giovanni 24 Vengono trasformati in un formato comune Via San Giovanni 24

20 @ Carlo Batini 20 Normalizzazione di nomi

21 @ Carlo Batini 21 Normalizzazione di indirizzi

22 @ Carlo Batini 22 Scegliamo i campi da normalizzare CodiceNome e CognomeCitta’ nascitaData nascita 034678Carlo BatiniPescara7/6/1949 543456Giorgio DiniCrema18/7/1987 543456Maria DomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

23 @ Carlo Batini 23 Campi oggetto di normalizzazione CodiceNome e CognomeCitta’ nascitaData nascita 034678Carlo BatiniPescara7/6/1949 543456Giorgio DiniCrema18/7/1987 543456Maria DomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

24 @ Carlo Batini 24 Risultato della normalizzazione CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

25 @ Carlo Batini 25 Ma attenzione al caso CodiceCognome e Nome Citta’ nascita Data nascita 034678Batini CarloPescara7/6/1949 543456Dini GiorgioCrema18/7/1987 543456Domi MariaMilano28/7/1987 CodiceNomeCognomeCitta’ nascita Data nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994 Carlo Batini – Pescara – 7/6/1949 Giorgio Din – Cremona – 18/7/1987 Giorgio Dini – Crema – 18/7/1997 Giorgio Dama – Modena – 8/7/1994 Maria Domino – Milano – 18/9/1994

26 @ Carlo Batini 26 Fasi del record linkage 1. Normalizzazione dei formati 2. Blocking con riduzione dello spazio di ricerca Attenzione: qui per blocking intendiamo la selezione di un sottoinsieme dei campi

27 @ Carlo Batini 27 Blocking: quali campi scegliamo per effettuare il confronto? CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

28 @ Carlo Batini 28 Prima scelta CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

29 @ Carlo Batini 29 Seconda scelta CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

30 @ Carlo Batini 30 Terza scelta CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

31 @ Carlo Batini 31 Perche’ questa scelta non ha senso? CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

32 @ Carlo Batini 32 Caratteristiche della scelta ottima 1.Valori dei campi 1.con stesso significato (percio’ NON Codice1 e Codice2) e 2.abbastanza accurati, altrimenti si possono fare molti errori. 2.Campi che discriminano, cioe’ che hanno una distribuzione molto ampia di valori Quanti sono i comuni, i nomi e i cognomi in italia? 1.In italia i comuni sono circa 8.000 2.I nomi circa 10.000 3.I cognomi circa 350.000

33 Scelte possibili - confronti Nel nostro caso, –campi singoli (es NOME, o COGNOME, hanno statisticamente il rischio di avere molte coppie identiche, mentre –molti campi insieme (es. tutti i campi NOME, COGNOME, CITTA’ NASCITA, DATA NASCITA, possono avere moltissime coppie molto diverse tra loro; –qui la scelta ottima appare essere NOME e COGNOME; –per rendere semplici i calcoli successivi, noi qui effettuiamo il blocking sul campo NOME (che, nello specifico, ha un buon, anche se non elevato, valore discriminante) @ Carlo Batini 33

34 @ Carlo Batini 34 Blocking sul nome CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

35 @ Carlo Batini 35 Fasi del record linkage 1. Normalizzazione dei formati 2. Blocking con riduzione dello spazio di ricerca 3. Scelta della formula di distanza –Supponiamo di scegliere la edit distance, d(s1,s2) cioe’ il numero di caratteri da togliere, aggiungere o cambiare dalla stringa s1 per ottenere la seconda stringa s2

36 @ Carlo Batini 36 1…n a1a1 1…n a2a2 1… n aiai 1…n b1b1 1…n b2b2 1…n bjbj G = [Y 1 ij,…, Y n ij ] A B Scelta della Funzione di distanza

37 @ Carlo Batini 37 Funzione di distanza: alcuni valori Nome1Nome2Distanza CarloCrlo1 GiorgioGioro2 MariaMria1

38 @ Carlo Batini 38 Tutte le distanze Codice Nome CognomeCitta’ nascitaData nascita 034678 Carlo BatiniPescara7/6/1949 543456 Giorgio DiniCrema18/7/1987 543456 Maria DomiMilano28/7/1987 Codice Nome CognomeCitta’ nascitaData nascita BTNCRL Crlo BtiniPesaro7/6/1959 DNIGRG Gioro DinCremona8/7/1987 DMIGRG Giorgio DamiModena8/7/1994 DMISRG Mria DominiMilano18/9/1994 CarloGiorgioMariaCrloGioroMria Carlo- Giorgio9- Maria59- Crlo188- Gioro7286- Mria88167- Distanze

39 @ Carlo Batini 39 Fasi del record matching 1. Normalizzazione dei formati 2. Blocking con riduzione dello spazio di ricerca 3. Scelta della formula di distanza 4. Per un campione di record gia’ accoppiati, cioe’ per i quali si sa se sono (veri) matching o (veri) non matching, calcola per ogni valore di distanza la frequenza dei (veri) matching e di (veri) non matching

40 @ Carlo Batini 40 Scelta del campione (esempio) CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994 matching Non matching

41 @ Carlo Batini 41 Alcune coppie di record matching e non matching del campione CodiceNomeCognomeCitta’ nascitaData nascita 034678CarloBatiniPescara7/6/1949 543456GiorgioDiniCrema18/7/1987 543456MariaDomiMilano28/7/1987 CodiceNomeCognomeCitta’ nascitaData nascita BTNCRLCrloBtiniPesaro7/6/1959 DNIGRGGioroDinCremona8/7/1987 DMIGRGGiorgioDamiModena8/7/1994 DMISRGMriaDominiMilano18/9/1994

42 @ Carlo Batini 42 Fasi del record matching 1. Normalizzazione dei formati 2. Blocking con riduzione dello spazio di ricerca 3. Scelta della formula di distanza 4. Per un campione di record gia’ accoppiati, calcola per ogni valore di distanza la frequenza di matching e di non matching Tabella ATabella BDistanzaStato CarloCrlo1match GiorgioGioro2non match.. 2match.. 3non match 1match 2 4non match 0match 1non match 2 3match 4non match 5 3 DistanzaPercentuale match 0100% 166% 250% 333% 40% 5

43 @ Carlo Batini 43 Passo 4.1: Scelta del campione A B

44 @ Carlo Batini 44 Le regioni verticali contengono le coppie di record del campione, ordinate secondo valori decrescenti della distanza D = distanza a 37 : Carlo b 59 : Carlo a 111 : Carlo b 12 : Crlo Passo 4.2: Valutazione delle distanze Campione 0 max 12

45 @ Carlo Batini 45 Le regioni verticali contengono le coppie di record del campione, ordinate secondo valori decrescenti della distanza D = distanza Passo 4.3: Separazione dei match e non match nel campione (in funzione della distanza) Match Non match Campione max 012

46 @ Carlo Batini 46 Le regioni contengono le coppie di record del campione, ordinate secondo valori decrescenti della distanza D = distanza Passo 4.3: Separazione dei match e non match nel campione (in funzione della distanza) Match Non match Campione 0 max Percentuali di match 1005066 50 60 40 25 330

47 @ Carlo Batini 47 Distanza bassa Distanza alta Match D Non Match Tipica distribuzione di match e non match (qui nel disegno in percentuale)  Diminuiscono con il crescere della distanza Diminuiscono con Il diminuire della distanza  Numero di

48 @ Carlo Batini 48 Fasi del record matching 1. Normalizzazione dei formati 2. Blocking con riduzione dello spazio di ricerca 3. Scelta della formula di distanza 4. Per un campione di record gia’ accoppiati, calcola per ogni valore di distanza la frequenza di matching e di non matching 5. Calcola ora le distanze di ogni coppia negli insiemi A e B (quindi non solo degli elementi nel campione) e costruisci la distribuzione delle frequenze delle coppie in funzione della distanza.

49 @ Carlo Batini 49 Le regioni contengono le coppie di record del campione, ordinate secondo valori decrescenti della distanza D = distanza Passo 5: Valutazione delle distanze per gli interi insiemi A e B nell’ universo A e B 0 max

50 @ Carlo Batini 50 Fasi del record matching 1. Normalizzazione dei formati 2. Blocking con riduzione dello spazio di ricerca 3. Scelta della formula di distanza 4. Per un campione di record gia’ accoppiati, calcola per ogni valore di distanza la frequenza di matching e di non matching 5. Calcola ora le distanze di ogni coppia degli insiemi A e B e costruisci la distribuzione delle frequenze delle coppie in funzione della distanza. 6. Scelta, a partire dalla distribuzione di cui al punto 4 di due distanze di soglia dmin e dmax Casi –A. d < dmin  decidi per il match e, se devi fare fusione, scegli una tupla nella coppia come rappresentante –B. d < dmax  decidi per il non match, percio’ non fondere le due tuple –C. dmin < d < dmax  metti le tuple nell’insieme dei non risolti, da approfondire con esperto di dominio

51 @ Carlo Batini 51 D = distanza Le tre aree nell’universo A e B 0 max d min d max C2C2 Possible Match C1C1 C3C3 Non Match

52 @ Carlo Batini 52 Quindi, nel processo decisionale sull’universo si commettono degli errori rispetto alla valutazione sul campione  dmin dmax D Match Non match CampioneUniverso C2C2 Possible Match C1C1 C3C3 Non Match 0max

53 @ Carlo Batini 53 Quali sono i tipi di errori? Match Non match C3C3 C2C2 C1C1 Per queste coppie viene data Una errata valutazione di non match E per queste viene data una errata valutazione di match

54 @ Carlo Batini 54 C1C1 A2A2 C3C3 Distanza bassaDistanza alta Possible Match Non match C2C2 D d max Le zone scure corrispondono agli errori compiuti Veri non match Falsi non match Veri match Falsi match d min Per questo il metodo e’ chiamato error based Possiamo rappresentare il tutto con questo diagramma (attenzione! E’ ribaltato orizzontalmente rispetto al precedente)

55 @ Carlo Batini 55 Gli errori diminuiscono spostando le soglie.. … ma aumentano i costi per decidere manualmente sui possible match C3C3 C2C2 C1C1 Aumenta il numero di coppie per cui bisogna lavorare manualmente C3C3 C2C2 C1C1

56 @ Carlo Batini 56 Esistono in relata’ tanti metodi, dipendenti da.. Normalizzazione scelta nel primo passo Tipo di blocking Formula di distanza Scelta del campione

57 @ Carlo Batini 57 Obiettivi e misure di efficacia dei metodi Massimizzare 1. Recall = True positives/ True positives + False Negatives 2. Precision = True positives /True positives + False Positives TP TN FN FP TP = True positives TN = True negatives FP = False positives FN = False negatives

58 @ Carlo Batini 58 Distanza tra campi semplici Le misure che abbiamo visto all’inizio Edit distance Suondex Con pesi Con frequenze L’efficacia dipende dal dominio e dalla funzione di distanza scelta Es. Cognomi di persone, con frequenza Es Nomi di aziende, con frequenza Rossi

59 @ Carlo Batini 59 Miglioramenti possibili nel Record linkage – 1 provare diverse funzioni di distanza cercando la piu’ discriminante Match Non match Match Non match Match Non match Edit distance Es. su campi con Pochi errori Jaccard distance Es. su campi composti da diversi token (AT&T vs AT&T corp.) Ibrida Es. su campi etero- genei tra le due distanze

60 @ Carlo Batini 60 Miglioramenti possibili nel Record linkage – 2 usare sul campione una funzione di distanza che “apprende” sulla base della analisi del campione Es. sulla base della distribuzione delle distanze, l’algoritmo puo’ apprendere che c’e’ un errore deterministico (es. sostituzione della “r” con la “t” perche’ vicine nella tastiera QWERTY dei PC) a cui va dato basso peso.

61 @ Carlo Batini 61 Miglioramenti possibili nel Record linkage – 3 Algoritmo cost based Si puo’ dare un peso diverso nei due casi di possibili “falso positivo” e “falso negativo”, che corrisponde al costo indotto dalla scelta. Ad es. un falso positivo in una indagine sugli evasori che fa record linkage su anagrafe delle dichiarazioni Irap (aziende) e su anagrafe Enel (consumi elettrici) puo’ portare a individuare una evasione che non c’e’. Un falso negativo puo’ portare a non scoprire un evasore. Il falso positivo porta ad un costo amministrativo di indagine inutile e a un costo di immagine (perche’ non c’era evasione) Il falso negativo porta ad un non recupero della evasione. Si possono percio’ dare pesi diversi sulla base del costo previsto che occorre pagare.

62 @ Carlo Batini 62 Vediamo ora una variante del metodo il metodo Sorted Neighbour

63 @ Carlo Batini 63 SortedSorted Neighbour (SN) [Hernandez 1995]Hernandez Improves the blocking method choosing a key and moving a window on sorted files. The key is chosen by an expert. File 1 File 2 K1

64 @ Carlo Batini 64 MultiMulti pass SNpass Applies SN on several independent keys Perform transitive closure on record matched in the different stepstransitive File 1File 2 K1 K2 K3

65 @ Carlo Batini 65 Cosa cambia se passiamo da tabelle a insiemi di tabelle collegate?

66 @ Carlo Batini 66 Distanza in gruppi di tabelle: distanza basata su co-occorrenza PI d First nameLast NameRegI d 1PatrickMezisi1 2AmandaRosci2 3GeorgeOado3 4JohnMumasia4 5VusiOymo7 6LuyoMsgula5 7FrialKeyse8 8WaniaNagu6 9PaulKohe7 RegIdRegionCtryId 1MM1 2 2 3Masai Mara1 4Eastern Cape3 5Free State3 6FS4 7HHohho5 8Lumombo6 CtryIdCountry 1KE 2Kenia 3SOA 4South Africa 5SWA 6Swaziland Person Administrative Region Country PersonId First Name Last Name RegiId RegionId Region CountryId Country Fig : High level schema Fig : Schema with attributes Fig : An instance Calcolando la sola distanza nella tabella tendiamo ad accoppiare e a non accoppiare, ad es.,

67 @ Carlo Batini 67 Osserviamo invece le tuple collegate nella tabella centrale PI d First nameLast NameRegI d 1PatrickMezisi1 2AmandaRosci2 3GeorgeOado3 4JohnMumasia4 5VusiOymo7 6LuyoMsgula5 7FrialKeyse8 8WaniaNagu6 9PaulKohe7 RegIdRegionCtryId 1MM1 2 2 3Masai Mara1 4Eastern Cape3 5Free State3 6FS4 7HHohho5 8Lumombo6 CtryIdCountry 1KE 2Kenia 3SOA 4South Africa 5SWA 6Swaziland Person Administrative Region Country PersonId First Name Last Name RegiId RegionId Region CountryId Country Fig : High level schema Fig : Schema with attributes Fig : An instance Se esaminiamo SOA e SWA insieme Alle tuple collegate Scopriamo che sono diverse

68 @ Carlo Batini 68 Distanza in gruppi di tabelle: distanza basata su co-occorrenza PI d First nameLast NameRegI d 1PatrickMezisi1 2AmandaRosci2 3GeorgeOado3 4JohnMumasia4 5VusiOymo7 6LuyoMsgula5 7FrialKeyse8 8WaniaNagu6 9PaulKohe7 RegIdRegionCtryId 1MM1 2 2 3Masai Mara1 4Eastern Cape3 5Free State3 6FS4 7HHohho5 8Lumombo6 CtryIdCountry 1KE 2Kenia 3SOA 4South Africa 5SWA 6Swaziland Person Administrative Region Country PersonId First Name Last Name RegiId RegionId Region CountryId Country Fig : High level schema Fig : Schema with attributes Fig : An instance Mentre invece KE e KENIA che erano Distanti hanno molte tuple in comune

69 @ Carlo Batini 69 I metodi basati su conoscenza e regole logiche cenni

70 @ Carlo Batini 70 Caratteristica dei metodi basati su conoscenza In genere aggiungono a valutazioni basate sulla frequenza la validita’ per le coppie in esame di alcuni vincoli di integrita’ (regole)

71 @ Carlo Batini 71 Esempio Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbritFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000

72 @ Carlo Batini 72 Osservazione FloridaArizona WashingtonVermont Stati Uniti East West Negli Stati Uniti molti anziani ricchi passano l’estate negli stati del Nord, e l’inverno negli Stati del Sud

73 @ Carlo Batini 73 Esempio di regola Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbritFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Esempio di regola: predici un match se un anziano ha una residenza in Florida o Arizona e un’altra nelle regioni del Northest o Northwest.

74 @ Carlo Batini 74 Altro esempio di regola Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbritFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Esempio di regola: predici un match se un anziano ricco ha una residenza in Florida o Arizona e un’altra nelle regioni del Midwest o Northeast.

75 @ Carlo Batini 75 1.Accoppiamo prima le tuple usando la edit distance su First Name e Last Name e distanza <= 2

76 @ Carlo Batini 76 1. Edit distance Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrgitFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53359- 612111039- 7181916102011- 819 15818114- 1.Calcoliamo le distanze

77 @ Carlo Batini 77 1. Edit distance Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrgitFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53359- 612111039- 7181916102011- 819 15818114- 1.Calcoliamo le distanze 2. Accoppiamo le tuple con d < = 2

78 @ Carlo Batini 78 Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrigtFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnniAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53359- 612111039- 7181916102011- 819 15818114- 1. Edit distance 1.Calcoliamo le distanze 2. Accoppiamo le tuple con d < = 2

79 @ Carlo Batini 79 Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrigtFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnniAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53459- 612111039- 7181916102011- 819 15818114- Attenzione (1,2) e (1,5) -> (1,2,5) 1.Edit distance accoppiamo ora quelle con distanza 3

80 @ Carlo Batini 80 Deduplication Record #First Name Last Name CountryAgeIncome 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbritFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000

81 @ Carlo Batini 81 2. Usiamo ora la conoscenza a nostra disposizione

82 @ Carlo Batini 82 2. Usiamo ora la conoscenza a nostra disposizione Noi sappiamo che gli anziani hanno una residenza in Florida o Arizona e un’altra nelle regioni del NorthWest o NorthEast FloridaArizona WashingtonVermont Stati Uniti East West

83 @ Carlo Batini 83 2. Usiamo ora la conoscenza a nostra disposizione Usiamo ora una regola decisionale modificata, che tiene conto di questa regola: Accoppiamo le tuple che sono a distanza ad es <= 5 e tali che hanno stati che sono o a NorthWest e SouthW oppure a NorthEast e SouthEast FloridaArizona WashingtonVermont Stati Uniti East West

84 @ Carlo Batini 84 Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrigtFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnniAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53359- 612111039- 7181916102011- 819 15818114- 1. Edit distance Arizona = SW Washington = NW Distanza = 3 SI!

85 @ Carlo Batini 85 Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrigtFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnniAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53359- 612111039- 7181916102011- 819 15818114- 1. Edit distance Arizona = SW Florida = SE Distanza = 2 NO!

86 @ Carlo Batini 86 Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrigtFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnniAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53359- 612111039- 7181916102011- 819 15818114- Vermont = NE Florida = SE Distanza = 4 SI!

87 @ Carlo Batini 87 Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbrigtFlorida8515.000 4AnnAlsonLouisiana7270.000 5AnniAlbightVermont8515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000 Dist12345678 1- 23- 325- 4997- 53359- 612111039- 7181916102011- 819 15818114- Florida = SE Vermont = NE Distanza = 3 SI!

88 @ Carlo Batini 88 Risultato finale Record #First Name Last Name CountryAgeReddito 1AnnAlbrightArizona6570.000 2AnOlbrgthWashington6570.000 3AnnAllbritFlorida2515.000 4AnnAlsonLouisiana7270.000 5AnnieAlbightVermont2515.000 6AnnieAllsonFlorida7270.000 7GeorgAllisonVermont7166.000 8GeorgeAlsnFlorida7166.000

89 @ Carlo Batini 89 Esercizio Cosa accade se applichiamo regole diverse, ad es. in or invece che in and, oppure inserendo anche il reddito, visto che i pensionati possono permetterselo solo se sono ricchi?

90 @ Carlo Batini 90 Tesine Studio teorico e confronto dei metodi error based Studio e confronto dei metodi basati su conoscenza Studio della influenza della funzione di distanza su recall e precision Studio e confronto dei metodi per strutture XML Implementazione di un programma per i metodi basati su conoscenza (insieme a Rappresentazione della conoscenza) Implementazione di un programma che sperimenti la influenza della funzione di distanza su recall e precision I dati si possono trovare su DBPedia


Scaricare ppt "@ Carlo Batini 1 Corso di Architetture Dati A.A. 2011-2012 Qualita’ dei dati - Tecniche: Record linkage."

Presentazioni simili


Annunci Google