UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCA
FACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
Corso di Laurea in Informatica
Analisi di Metriche e Algoritmi
per la Qualità dei Dati.
Progettazione e Realizzazione di
un Framework per
l’Assessment della Qualità.
Supervisori:
Chiar.mo Prof. Carlo BATINI
Dott. Daniele BARONE
Relazione della prova finale di:
Carmine Carella
Matricola: 055465
Anno Accademico 2005/2006
1
Overview









La Qualità dei Dati e la sua Importanza
Aree di Ricerca nell’Ambito della Qualità dei Dati
Dimensioni dei Valori dei Dati
Data Quality Framework
Caso di Studio
GUI e Funzioni
Accuratezza Sintattica
Metadati
Appendice
2
La Qualità dei Dati e la sua Importanza
 I dati sono elementi chiave nei processi aziendali
 Decisionali: guidano le decisioni di planning
 Operazionali: sono utilizzati nelle decisioni a livello operativo
 La scarsa qualità dei dati:
 Aumenta con il tempo
 È pervasiva (si diffonde)
 È costosa (mancati ricavi, extra costi)
 Nel processo di creazione e utilizzo dei dati si rendono
necessarie attività appositamente dedicate alla gestione
della qualità:
 Valutazione (assessment)
 Miglioramento (improvement)
3
Aree di Ricerca nell’Ambito della Qualità dei Dati
 Dimensioni: le dimensioni sono
proprietà che caratterizzano uno
specifico aspetto della qualità.
Possono essere associate a livello:
 dello schema
 della rappresentazione dei dati
 dei valori dei dati
 Metriche: associate alle dimensioni di
 Tecniche: algoritmi, euristiche,
qualità ne misurano il livello
conoscenze per lo specifico problema
 qualitative o quantitative
di DQ
 su diversi tipi di dati (strutturati,
 Le tecniche necessitano del
semistrutturati e non strutturati)
supporto di tools: procedure
automatizzate
 per i dati strutturati ai diversi
livelli di granularità
 Un insieme di tools prende il
nome di framework
4
Aree di Ricerca nell’Ambito della Qualità dei Dati
 Dimensioni: le dimensioni sono
proprietà che caratterizzano uno
specifico aspetto della qualità.
Possono essere associate a livello:
 dello schema
 della rappresentazione dei dati
 dei valori
dei dati
 Metriche: associate alle dimensioni di
 Tecniche: algoritmi, euristiche,
qualità ne misurano il livello
conoscenze per lo specifico problema
di DQ
 qualitative o quantitative
 su diversi tipi di dati
(strutturati, semistrutturati e
non strutturati)
 per i dati strutturati ai diversi
livelli di granularità
 Le tecniche necessitano del
supporto di tools: procedure
automatizzate
 Un insieme di tools prende il
nome di framework
5
Dimensioni dei Valori dei Dati
 Accuratezza: vicinanza tra un valore v e un valore v’ considerato la
corretta rappresentazione del mondo reale che v vuole rappresentare.
Si distingue in accuratezza semantica e accuratezza sintattica.
 Accuratezza Sintattica: vicinanza di un valore v agli elementi
del corrispondente dominio di definizione D.
Descritta
durante il
caso di
studio
 Completezza: il grado con il quale la relazione rappresenta la
corrispondente parte del mondo reale. Definita in base a:
 Modello con valori nulli (significato valore nullo: generale, di
valore mancante).
 Assunzione CWA (closed world assumption): i valori presenti in
una tabella relazionale e nessun altro valore rappresentano i
fatti veri del mondo reale.
Presentate
nell’
appendice
 Currency: quanto tempestivamente i dati sono aggiornati.
(accuratezza temporale).
 Consistenza: rileva le violazioni di regole semantiche definite su un
insieme di dati. Vincoli di integrità, istanza regole semantiche, nel
modello relazionale.
6
Data Quality Framework
Descrizione
Attività
Assessment delle principali dimensioni di qualità dei dati e Localizzazione e
Correzione degli errori
Dimensioni

Accuratezza Sintattica
 Completezza
 Currency

Consistenza
Metriche
Algoritmi quantitativi
Tipi di Dati
Strutturati (Modello Relazionale)
Livelli di Granularità
Database, Relazione,Tupla, Attributo, Singolo valore
Funzioni Principali
Assessment
Misurazione delle quattro dimensioni
Gestione Metadati
“Metadati misurazione” utilizzati dagli algoritmi durante l’esecuzione e “Metadati
dimensione” danno informazioni relative alle valutazioni effettuate
Gestione Report Parziale
Report parziale con le misurazioni effettuate durante l’utilizzo del framework
Gestione Reports Completi
Report completi di misurazione per ogni dimensione
Strumenti Utilizzati
Java con IDE Eclipse
Realizzazione
MySQL
DBMS Relazionale d’appoggio
XML
Organizzazione e Strutturazione logica dei metadati
Widget toolkit SWT
Creazione GUI
7
Caso di Studio

Utilizzato per testare il framework
Il test è stato effettuato per

Verificare la correttezza dei risultati

Funzionamento degli algoritmi
Database MySQL


Recuperato dal sito del progetto Eclipse-BIRT relativo ad una compagnia
ClassicModels Inc. per la vendita di modelli in scala di automobili, treni,
navi, autobus, aerei, ect.
Contiene 8 relazioni, 60 attributi, 3864 tuple

Relazioni contenenti tipici dati di business: offices, employees, customers,
orders, order details, payments, products, product lines

Prima di eseguire il test con tale database, i dati sono stati “sporcati” per
poi poter rilevare provlemi di qualità
8
Framework : GUI e Funzioni
Connessione e
Disconnesione
database
Funzioni per
l’assessment
Gestione
Reports
Completi
Struttura
Database
connesso
Gestione
Metadati
Misurazione
Visualizzazione
Report Parziale e
Metadati Misurazione
Area
Risultati
Visualizzazione
grafica risultati
Informazioni sul
percorso
metadati
misurazione
Informazioni sul
database connesso
Informazioni sulla
singola relazione
Informazioni sul
percorso
metadati
dimensione
9
Accuratezza Sintattica
 Lookup table: informazioni che vengono consultate durante la misurazione
dell’accuratezza
 Funzioni di distanza: Jaro
 Simple Ratio:
 risultati desiderati / numero totale risultati
 1 – ( risultati non desiderati / numero totale risultati)
Accuratezza Sintattica Attributo: due metriche
 Metrica basata sulla presenza della lookup table
 Lookup table
 Jaro
 Simple Ratio
 Metrica basata sulla frequenza dei valori dell’attributo
 Jaro
 Soundex
Accuratezza Sintattica Tupla e Relazione: una metrica
 Metrica basata sulla tecnica del Record Linkage
 Lookup table
10
Accuratezza Sintattica Attributo
Prima metrica basata sulla presenza della lookup table
 Lookup table: rappresenta il dominio di definizione dell’attributo
Algoritmo
Accuratezza sintattica del singolo valore dell’attributo
1. Per ogni valore v dell’attributo, controlla che v sia uno dei valori nel dominio
2. Determinazione insieme valori accurati e dell’ insieme non accurati
3. Per ogni valore dell’insieme non accurati, si effettua il confronto con ogni
valore del dominio tramite Jaro, per trovare il valore massimo di similarità e il
valore più vicino
Accuratezza sintattica dell’attributo
4. Determinazione accuratezza attributo tramite simple ratio
11
Inserimento lookup table Accuratezza Sintattica Attributo city della relazione offices
Relazione
d’appartenenza
dell’attributo
Nome attributo a
cui associare la
lookup table
Coordinate
MySQL della
lookup table
12
Accuratezza Sintattica Attributo city della relazione offices con metrica lookup table
Valore accuratezza
dell’attributo
Correzione
suggerita
Accuratezza
singolo valore
13
Accuratezza Sintattica Tuple e Relazioni
Metrica ispirata alla metodologia ISTAT per la qualità dei dati toponomastici e a
tecniche di Record Linkage
Lookup table: relazione contenete le istanze corrette della relazione da valutare,
rappresentanti la parte del mondo reale che si vuole modellare
In base all’ algoritmo di record matching utilizzato (confronto tra sottostringhe), la
relazione da valutare e la lookup table dovrebbero avere la stessa struttura: ugual
numero di attributi e stesso ordine
Fase di configurazione della misurazione: in cui adattare le strutture e scegliere tutti
o un sottoinsieme degli attributi e in quale ordine. (normalizzazione formati)
Fase di misurazione: algoritmo di record matching che restituisce per ogni tupla “non
accurata” il valore di accuratezza e la tupla più vicina della lookup table
Accuratezza Relazione: simple ratio, rapporto tra numero di tuple non accurate
(match < 100%) e numero totale di tuple della relazione, sottratto ad uno






Relazione da valutare
ID
1
Tipo
Corso
Nome
Vittorio Emanuele
Città
Milano
Provincia
Lookup table con fase configurazione
Mi
Città
Chiave
primaria dello
stesso tipo
Key
1
Dug
Corso
Milano
Stesso numero e ordine attributi
Nome
Vittorio Emanuele
Comune
Milano
Lookup table senza fase configurazione
Provincia
Mi
ID
3
Tipo_Nome
Corso Vittorio
Emanuele
Provincia
Mi
Indirizzo
Corso Vittorio Emanuele Milano Mi
14
Fase di configurazione accuratezza sintattica tuple della relazione employees
Struttura
relazione da
valutare
Struttura
lookup table
15
Accuratezza Sintattica Tuple della relazione employees
Tupla corretta della
lookup table
Valore accuratezza
tupla
Tupla non accurata
della relazione valutata
16
Metadati (informazioni circa un dato)
 Organizzati e strutturati tramite un
modello di metadati, metamodello
 Modello concettuale: schema ER
 Modello Logico: documento XML
1. Metadati misurazione: contengono le
informazioni aggiuntive necessarie alle
misurazioni come lookup table per
l’accuratezza sintattica dell’attributo, della
relazione e delle tuple, frequenza media
di aggiornamento per la currency,
coordinate relazione per la consistenza
2. Metadati dimensione: per ogni
dimensione valutata danno informazioni
circa la data, la metrica utilizzata, il livello
di granularità, il valore della misurazione
e eventuali metadati misurazione
utilizzati. Viene creato il report
parziale/totale con formattazione XSL
17
Report delle valutazioni delle dimensioni
18
Conclusioni e Sviluppi Futuri
Il framework potrà essere ancora migliorato:
 L’attivita di assessment
 Creazione
metriche per la valutazione di
nuove dimensioni di qualità
 migliorando

gli algoritmi esistenti
Un’attività di miglioramento (improvement)
della qualità
19
Appendice
20
Seconda metrica basata sulla frequenza dei valori dell’attributo
Confronto tra valori attualmente presenti nell’attributo
1. Analisi dei valori, alla ricerca dei valori con una bassa frequenza (numero di occorrenze uguale
ad uno), possibili candidati ad avere errori di accuratezza
2. Valori con frequenza alta costituiscono il dominio di confronto
3. Primo confronto tramite funzione Jaro per determinare i valori a bassa frequenza accurati e
valori da analizzare nuovamente con il secondo confronto
4. Secondo confronto, tra valore bassa frequenza con valore più vicino, con la funzione soundex
per determinare se i due valori rappresentano o meno lo stesso concetto del mondo reale
5. Determinazione accuratezza attributo tramite simple ratio
NomiImpiegati
….
Paolo
Valori frequenza bassa
Valori accurati
Marco
Luca
Palo
Mal
Luca
Paolo
Palo
Jaro
Luca
Nuova Analisi
Marco
Giacomo
Max
Giacomo
Paolo
Marco
Giacomo
Max
Mal
Dominio confronto
Max
Valori più vicini
Soundex
Palo
Mal
Palo = Paolo
Mal ≠ Max
Soundex
Paolo
Max
Errore
Accuratezza
Sintattica
21
Accuratezza Sintattica Attributo contactFirstName della relazione customers con metrica
frequenza valori
Valore accuratezza
dell’attributo
Correzione
suggerita
22
Completezza
 Livelli di granularità: Relazione, Attributo, Tupla
 Metrica basata sul modello a valori nulli, sull’assunzione CWA. Utilizza la forma
funzionale simple ratio.
 Simple ratio:
 risultati desiderati / numero totale risultati
 1 – ( risultati non desiderati / numero totale risultati)
Algoritmo
1. Ricerca e conteggio valori nulli (Nvn)
2. Determinazione numero attributi (Na) e numero tuple (Nt) e numero massimo di
valori che la relazione può contenere (N)
3. La completezza è determinata tramite
•
Per l’attributo: CA=1 – ( Nvn / Nt)
•
Per la relazione: CR= ( Nvnn / N) dove Nvnn numero valori non nulli
•
Per la tupla: CT=1 – ( Nvn / Na) determinata per ogni tupla della relazione
23
Currency: tempestività di aggiornamento dei dati.
Livello granularità: Attributo.
Scala risultati: <current, not current>
Tre Metriche basate sul metadato “last update”, implementato con il campo Timestamp di MySQL.
 Prima metrica si basa sul recupero della data di ultimo aggiornamento (massimo valore
timestamp).
 Due metriche basate anche sul metadato “frequenza media di aggiorn.” (espressa in giorni).
 Seconda metrica con “frequenza media” inserita dall’utente
1. Differenza tra istante misurazione e last update = delta (es. 14 giorni fa)
2. Recupero frequenza media (es. 13 giorni)
3. Se delta > frequenza media → not current altrimenti se delta ≤ frequenza media → current
 Terza metrica con “frequenza media” ricavata dai valori del timestamp

…
uguale alla precedente metrica nei passi (1) e (3) con l’eccezione (passo 2) che la
frequenza viene calcolata a runtime: con una differenza tra aggiornamenti successivi.
e-mail
timestamp
Differenze
[email protected]
31/12/2005
(08/01/2006) − (31/12/2005) = 8 giorni
[email protected]
08/01/2006
(20/01/2006) − (08/01/2006) = 12 giorni
[email protected]
20/01/2006
Somma 8 + 12 = 20 giorni
Ordinamento valori
timestamp
Rapporto 20 / 3 = 6 giorni
Frequenza media
di aggiornamento
24
Consistenza




Ricerca delle violazioni ai vincoli di integrità in particolare ai vincoli interrelazionali
quindi vincoli di integrità referenziale.
Livello di granularità: attributo ma anche tupla (se si considerano più attributi)
Metrica basata sul record matching con una fase di configurazione
Consideriamo il livello dell’attributo, l’idea è quella di confrontare i valori di un
attributo A di una relazione R1 con i valori di un altro attributo B di una relazione R2
che si suppone contenga gli stessi valori di A, in quanto B rappresenta lo stesso
concetto del mondo reale di A (caso vincoli interrelazionali). Se A è chiave primaria di
R1 e B chiave esterna di R2 allora caso integrità referenziale. Durante il confronto si
determinano i valori inconsistenti.
Algoritmo
Controllo consistenza dei valori di un attributo chiave esterna
1.
2.
3.
4.
5.
Scelta di due relazioni sul quale è definito un vincolo di integrità referenziale
Collegamento relazioni con inserimento coordinate connessione della relazione con
chiave esterna nei metadati
Fase di configurazione per la scelta degli attributi, sui cui valori deve essere
controllata la consistenza
Misurazione con record matching
Per ogni valore non consistente: percentuale di consistenza e valore più vicino
(ricavato dalla relazione con chiave primaria)
25
Consistenza attributo productCode chiave primaria di product e chiave esterna di orderdetails
Valore chiave primaria più
vicino
Valore di consistenza
Valore chiave esterna
inconsistente
26
Scarica

Accuratezza Sintattica