Modellierung von Data Cleansing Workflows Dipl.-Inf. Heiko Müller Lehrstuhl für Datenbanken und Informationssysteme Humboldt-Universität zu Berlin Gründungsveranstaltung des German Chapters von DAMA International, 07. Juni 2002, Leipzig Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Einführung Data Cleansing bezeichnet den (semi-)automatischen Prozeß des Auffindens und Beseitigens von Fehlern und Inkonsistenzen mit dem Ziel, die Qualität einer Daten- menge zu verbessern Zwei wesentliche Voraussetzungen sind zu erfüllen Fähigkeit zum Erkennen von Fehlern/Inkonsistenzen Ausreichend Informationen/Wissen zur Korrektur Ziel ist eine formale Beschreibung des Data Cleansing Prozeß für ... relationale Daten eine Datenquelle Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Fehler erkennen & beseitigen Fehler sind Abweichungen vom realen Wert Unter Inkonsistenzen versteht man u.a. ... Widersprüche in den Daten Abweichungen von einem vorgegebenen Format Kodierte Information in den Attributwerten Beispiel: Mitgliederliste eines Sportvereins Pass# Name E.datum G.datum Alter Geschl. 325-02712 FRIEDEL, Brad 23.09.97 01.04.78 13 M 325-02591 HEJDUK, Frankie 29-08-97 23.12.80 21 325-02575 AGOOS, Jeff 20.08.97 05.06.91 11 Männl. 325-03739 JONES, Cobi 30.10.98 03.05.01 2 W 325-04081-p WOLFF, Josh 04/10/93 10.11.56 45 passiv MC BRIDE, Sue 01.10.97 02.09.70 31 F MATHIS, Clint 23.07.96 06.19.90 LEWIS, Jennifer 01.03.01 12.12.80 MITGLIEDER Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Fehler erkennen & beseitigen (cont.) Zum Erkennen und Beseitigen von Fehlern und Inkonsistenzen benötigt man Wissen über ... die korrekten Werte der Attribute eines Objekts das erwartete Format der Daten Dieses Wissen ist gegeben durch ... externe Daten- bzw. Wissensquellen Bedingungen, die an die Werte gestellt werden Data Cleansing Verfahren sind begrenzt durch ... die Verfügbarkeit des Wissen, bzw. die Möglichkeiten zu dessen Herleitung die Fähigkeiten zur Formulierung der Bedingungen Oftmals ist keine 100%ig exakte Erkennung und Korrektur von Fehlern möglich Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Fehler erkennen & beseitigen (cont.) Analyse der Daten mit Hilfe statistischer Methoden Sue ist 25 Jahre alt Name Age Height Name Age Weight Sue 25 172 Sue 27 53 Verwenden externer Referenz- quellen Betrachte Werte zwischen 18 und 65 als korrekt, alle anderen als falsch Alf 13 Name Age Bart 45 Ed 27 Gil 33 Joe 71 Sue 25 Zoe 30 Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Der Data Cleansing Prozeß umfaßt ... Beispiele: Vereinheitlichung (21.02.2002 vs. 2/21/02, KG vs. Pfund) Extraktion von Werten (325-04587p Passiv=TRUE) Validierung von Werten und ggf. ... ... Korrektur durch Berechnung korrekter Werte Beispiele: Name NOT NULL Format(G.datum, DD.MM.JJJJ) Alter 18 Jahr(Jetzt() - G.datum) = Alter t Sk: ai = t.a Data Cleansing Function RTemp1(X) tTemp11 tTemp12 tTemp13 ... tTemp1m c1 Rs(X) RT(X) Cleansing workflow ts1 tT1 ts2 tT2 ts3 tT3 ... ... tsm tT n c1 ... ck Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing (cont.) Data Cleansing als spiezielle Form von integrity constraint enforcement Sue Office 25 3.000 F Bob Sale 42 1.000 F Ed Office 25 2.500 M John Sue Office 27 2.150 M Office 75 3.000 M Repositories Integrity Constraints Integrity Constraint Enforcem. C1 C2 C3 C4 Satisfying tuples Sue Office 25 3.000 F C1 C2 C3 C4 Bob Sale 42 1.000 F Dissatisfying tuples Ed Office 25 2.500 M C1 C2 C3 C4 John Office 75 3.000 M Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing (cont.) Unterschiede zum integrity constraint enforcement Ci Nein Ja ? Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Function Repräsentiert Bedingung an die Tupel einer Relation R(X) Validiert und ändert den Wert eines Attributes oder ... ... erzeugt eine Menge von Attributwerten besitzt Eingabe- und Ausgabeschema Erhält als Eingabe ... ein Tupel der Relation R(X) die Relation R(X) zusätzliche Relationen {S1, ... , Sn} als Referenz Zugriff auf eine oder mehrere Attribute Ai X Menge an Vorbedingungen für die Attribute Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Function (cont.) Function (DCF) R(X), X = {A1:D1, ..., An:Dn} {S1(X1), ..., Sm(Xm)} {C1, ..., Ck} Ci Xc = {Ac1, ..., Acu} {Sr1, ..., Srv} {Cp1, ..., Cpw} R(X‘) {Ai X‘} {C1, ..., Ck} Ci Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Function (cont.) Function (DCF) MITGLIEDER(Pass#, Name, E.datum,...) C1=Valid(E.datum) Ci Xc = {A1:Date} {Valid(E.datum)} R(X‘) = R(X) {E.datum} {Valid(E.datum)} E.datum Jetzt() Ci: A1 Jetzt() Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Function (cont.) Zusätzlich besitzt die Data Cleansing Function eine Korrekturfunktion Korrigiert Werte, welche die Bedingung initial nicht erfüllen Beispiel: Bestimme minimale edit distance, um Bedingung zu erfüllen 21.02.2003 21.02.2002 21.02.2003 21.02.2001 Bewertung der Korrektur notwendig Data Cleansing Function (DCF) Ci Nein Ja K Ci: A1 Jetzt() Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Function (cont.) Graphische Repräsentation Spezifikation der Bedingungen (constraints) durch den Domänenexperten Gleiches für die Korrekturfunktion Zusätzlich versuchen anhand von Beispielen zu lernen C K Exception Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Workflow Data Cleansing Workflow ist ein Ausführungsplan (schedule) für die spezifizierten DCFs R R‘ Repräsentiert eine Konjunktion der Bedingungen DCFs (DCF1, DCF2, ..., DCFn) t R‘: C1 C2 C3 C4 ... Cn Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Workflow (cont.) Alternative Ausführungspläne und parallele Ausführung sind möglich Letzteres stellt ein mögliches Optimierungskriterium dar Wichtig: Die Vorbedingungen müssen erfüllt sein Zyklen sind nicht zulässig D D‘ Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Data Cleansing Workflow (cont.) Weitere logische Operatoren sind für die Verknüpfung der Bedingungen denkbar (C1 C2) C3 C1 C2 C1 C2 C1 C2 C3 Data Cleansing Workflow wird ausgehend vom logischen Ausdruck bestimmt Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Zusammenfassung Data Cleansing ist beschränkt durch die Fähigkeit Fehler erkennen und beheben zu können Darstellbar als abstrakte Form des integrity constraint enforcement Beschreibung mit Hilfe von Data Cleansing Functions Führen ggf. Korrekturen aus Ausführung der Data Cleansing Functions in Form eines Workflows Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin
Fragen? Data Cleansing? Dipl.-Inf. Heiko Müller - Lehrstuhl für Datenbanken und Informationssysteme - Humboldt-Universität zu Berlin