• Keine Ergebnisse gefunden

14.Juli2006 SeminarInformationsintegrationundInformationsqualitätChristophR.Hartel DataCleaningundRecordMatching

N/A
N/A
Protected

Academic year: 2022

Aktie "14.Juli2006 SeminarInformationsintegrationundInformationsqualitätChristophR.Hartel DataCleaningundRecordMatching"

Copied!
86
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Data Cleaning und Record Matching

Seminar Informationsintegration und Informationsqualität

Christoph R. Hartel

TU Kaiserslautern

14. Juli 2006

(2)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

Data Cleaning und Record Matching (Christoph R. Hartel) 2

(3)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

(4)

Einführung Der Data-Cleaning-Prozess Bewertung und Umsetzung Zusammenfassung

Motivation Datenanomalien

Probleme des Data Cleanings

Was können wir bisher?

Wir können . . .

heterogene Datenquellen auffinden, bewerten,

ihre Schemata matchen,

in ein globales Schema abbilden und uniform darauf zugreifen.

Und was fehlt?

Warum?

→„garbage in, garbage out“

Data Cleaning und Record Matching (Christoph R. Hartel) 4

(5)

Einführung Der Data-Cleaning-Prozess Bewertung und Umsetzung Zusammenfassung

Motivation Datenanomalien

Probleme des Data Cleanings

Was können wir bisher?

Wir können . . .

heterogene Datenquellen auffinden, bewerten,

ihre Schemata matchen,

in ein globales Schema abbilden und uniform darauf zugreifen.

Und was fehlt?

Warum?

→„garbage in, garbage out“

(6)

Was können wir bisher?

Wir können . . .

heterogene Datenquellen auffinden, bewerten,

ihre Schemata matchen,

in ein globales Schema abbilden und uniform darauf zugreifen.

Und was fehlt?

Behandlung der eigentlichen Daten!

→Data Cleaning Warum?

→„garbage in, garbage out“

Data Cleaning und Record Matching (Christoph R. Hartel) 4

(7)

Was ist Data Cleaning?

Definition (Data Cleaning)

Data Cleaning ist der Prozess der Identifikation und Korrektur von Anomalien in einer gegebenen Datenmenge.

Definition (Anomalie)

Eine Anomalie ist eine Eigenschaft einer Menge von

Datensätzen, die dazu führt, dass diese Datensätze eine

falsche Repräsentation der Miniwelt darstellen.

(8)

Was ist Data Cleaning?

Definition (Data Cleaning)

Data Cleaning ist der Prozess der Identifikation und Korrektur von Anomalien in einer gegebenen Datenmenge.

Definition (Anomalie)

Eine Anomalie ist eine Eigenschaft einer Menge von Datensätzen, die dazu führt, dass diese Datensätze eine falsche Repräsentation der Miniwelt darstellen.

Data Cleaning und Record Matching (Christoph R. Hartel) 5

(9)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

(10)

Datenanomalien

3 Arten von Anomalien:

Syntaktische Anomalien

Semantische Anomalien

(Abdeckungsanomalien)

betreffen Vollständigkeit der Daten

→Nicht Teil des Data Cleaning im engeren Sinne

Data Cleaning und Record Matching (Christoph R. Hartel) 7

(11)

Syntaktische Anomalien

Lexikalische Fehler

= Fehler in der Struktur der Daten z.B.

Misfielded Values Embedded Values . . .

Formatierungsfehler

= Abweichung von Formatierungskonventionen z.B.

Abkürzungen

Synonyme

Dummy-Werte

. . .

(12)

Semantische Anomalien

Verletzung von Integritätsbedingungen Obermenge der im Schema spezifizierten!

z. B. Alter kleiner 0, Verletzung von FA zw. „PLZ“ und „Ort“

Fehlerhafte Daten

verletzen keine Integritätsbedingungen, aber decken sich aber nicht mit Eigenschaften des Bezugsobjekts in Miniwelt Typographische Fehler, Konvertierungsfehler, Aliase, . . . Duplikate

z. B. zwei identische Datensätze

→später im Detail!

Data Cleaning und Record Matching (Christoph R. Hartel) 9

(13)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

(14)

Probleme des Data Cleanings

Größe der Datenmenge

Schema Matching: Anzahl der „Spalten“ (N ≈ 100) Data Cleaning: Anzahl der „Zeilen“ (N ≈ 100 Mio.) Verfügbarkeit von Ressourcen

Fast immer enge Schranken für Zeit

Hardware Fachpersonal

Häufigkeit der Durchführung

Schema Matching erfolgt einmal (bzw. selten) Data Cleaning sollte regelmäßig erfolgen

Data Cleaning und Record Matching (Christoph R. Hartel) 11

(15)

Probleme des Data Cleanings

Größe der Datenmenge

Schema Matching: Anzahl der „Spalten“ (N ≈ 100) Data Cleaning: Anzahl der „Zeilen“ (N ≈ 100 Mio.) Verfügbarkeit von Ressourcen

Fast immer enge Schranken für Zeit

Hardware Fachpersonal

Häufigkeit der Durchführung

Schema Matching erfolgt einmal (bzw. selten)

Data Cleaning sollte regelmäßig erfolgen

(16)

Probleme des Data Cleanings

Größe der Datenmenge

Schema Matching: Anzahl der „Spalten“ (N ≈ 100) Data Cleaning: Anzahl der „Zeilen“ (N ≈ 100 Mio.) Verfügbarkeit von Ressourcen

Fast immer enge Schranken für Zeit

Hardware Fachpersonal

Häufigkeit der Durchführung

Schema Matching erfolgt einmal (bzw. selten) Data Cleaning sollte regelmäßig erfolgen

Data Cleaning und Record Matching (Christoph R. Hartel) 11

(17)

Probleme des Data Cleanings (2)

Vorhandensein von global eindeutigen IDs

Annahme bisher: Equi-Join über globale IDs möglich Kundendatenbanken zweier Unternehmen?

⇒ Nicht gegeben!

Behandlung von Duplikaten

Annahme bisher: Duplikate werden einfach eliminiert Nicht-exakten Duplikaten? Informationsgehalt?

⇒ Nicht trivial!

Manuelle Nachbearbeitung

Annahme bisher: Unklare Datensätze von Hand Für praktische Anwendungen?

⇒ Illusorisch... (Datenmenge!)

(18)

Probleme des Data Cleanings (2)

Vorhandensein von global eindeutigen IDs

Annahme bisher: Equi-Join über globale IDs möglich Kundendatenbanken zweier Unternehmen?

⇒ Nicht gegeben!

Behandlung von Duplikaten

Annahme bisher: Duplikate werden einfach eliminiert Nicht-exakten Duplikaten? Informationsgehalt?

⇒ Nicht trivial!

Manuelle Nachbearbeitung

Annahme bisher: Unklare Datensätze von Hand Für praktische Anwendungen?

⇒ Illusorisch... (Datenmenge!)

Data Cleaning und Record Matching (Christoph R. Hartel) 12

(19)

Probleme des Data Cleanings (2)

Vorhandensein von global eindeutigen IDs

Annahme bisher: Equi-Join über globale IDs möglich Kundendatenbanken zweier Unternehmen?

⇒ Nicht gegeben!

Behandlung von Duplikaten

Annahme bisher: Duplikate werden einfach eliminiert Nicht-exakten Duplikaten? Informationsgehalt?

⇒ Nicht trivial!

Manuelle Nachbearbeitung

Annahme bisher: Unklare Datensätze von Hand Für praktische Anwendungen?

⇒ Illusorisch... (Datenmenge!)

(20)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

Data Cleaning und Record Matching (Christoph R. Hartel) 13

(21)

Ausgangspunkt des Data Cleanings

Entstehung der Datenbasis ist egal:

Integration

Existierende Datenbasis . . .

Annahmen des Data Cleanings:

Daten liegen in einem einzigen, definierten Schema vor

Die Daten sind im Sinne des Schemas konsistent

Auf alle Daten ist ein uniformer Zugriff möglich (r/w!)

(22)

Ablauf des Data Cleanings

Datenanalyse

Workflow-Definition

Workflow-Verifikation

Vorverarbeitung

Record Matching Record Merging

Transformation

Evaluation

Rückfluss der Daten

Data Cleaning und Record Matching (Christoph R. Hartel) 15

(23)

Datenanalyse

Ziele:

Gewinnung von (über das Schema hinausgehenden) Metadaten

Integritätsbedinungen, statistische Merkmale, . . . Identifikation von Anomalien

Grundlage der Workflow-Spezifikation!

Ansätze:

„Einfache Statistik“: Min, Max, Varianz, . . . Pattern-Matching

Regeln (für Beziehungen von Attributen) Optimierung:

Wiederverwendung von Analyseergebnissen bei Schema

Matching!

(24)

Ablauf des Data Cleanings: Definition & Verifikation

Datenanalyse

Workflow-Definition

Workflow-Verifikation

Vorverarbeitung

Record Matching Record Merging

Transformation

Evaluation

Rückfluss der Daten

Data Cleaning und Record Matching (Christoph R. Hartel) 17

(25)

Workflow-Definition und -Verfikation

Datenanalyse Workflow-Definition

Workflow-Verifikation

Interessanter Ansatz: Interaktive Spezifikation Immediate Feedback

Highlighting der zu ändernden Werte Undo-Funktionalität

Spezifikation durch Beispiel

Potter’s Wheel

(26)

Ablauf des Data Cleanings: Vorverarbeitung

Datenanalyse

Workflow-Definition

Workflow-Verifikation

Vorverarbeitung

Record Matching Record Merging

Transformation

Evaluation

Rückfluss der Daten

Data Cleaning und Record Matching (Christoph R. Hartel) 19

(27)

Datenvorverarbeitung

Beseitigung aller Anomalien bis auf Duplikate Normalisierung →syntaktische Anomalien

Attribute Split (z.B. „Adresse“) →Schemaebene?

Standardisierung (Abkürzungen, Termreihenfolge, . . . ) Ist Normalisierung immer eine gute Idee?

(Informationsverlust?, Uneinheitliche Daten?, . . . )

Validierung →semantische Anomalien

Typographische Fehler, z. B. „Hasn“ statt „Hans“

Ausreißer, z. B. Geburtsjahr „1897“ statt „1987“

Inkonsistenzen, z. B. zw. „PLZ“ und „Ort“

. . .

(28)

Datenvorverarbeitung

Beseitigung aller Anomalien bis auf Duplikate Normalisierung →syntaktische Anomalien

Attribute Split (z.B. „Adresse“) →Schemaebene?

Standardisierung (Abkürzungen, Termreihenfolge, . . . ) Ist Normalisierung immer eine gute Idee?

(Informationsverlust?, Uneinheitliche Daten?, . . . ) Validierung →semantische Anomalien

Typographische Fehler, z. B. „Hasn“ statt „Hans“

Ausreißer, z. B. Geburtsjahr „1897“ statt „1987“

Inkonsistenzen, z. B. zw. „PLZ“ und „Ort“

. . .

Data Cleaning und Record Matching (Christoph R. Hartel) 20

(29)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

(30)

Ablauf des Data Cleanings: Record Matching

Datenanalyse

Workflow-Definition

Workflow-Verifikation

Vorverarbeitung

Record Matching Record Merging

Transformation

Evaluation

Rückfluss der Daten

Data Cleaning und Record Matching (Christoph R. Hartel) 22

(31)

Was ist Record Matching?

Definition (Record Matching)

Record Matching ist die Identifikation von Duplikaten in einer Menge von Datensätzen.

Alternativ: Record Linkage, Object Identification, Entity Resolution, Reference Reconciliation, . . .

Definition (Duplikat/Äquivalenz)

Ein Datensatz R 1 ist ein Duplikat eines anderen Datensatzes R 2 (mit R 1 6= R 2 ), wenn beide Datensätze dasselbe

Bezugsobjekt in der Miniwelt repräsentieren.

Annahme: Jeder Datensatz hat genau ein Bezugsobjekt.

(32)

Was ist Record Matching?

Definition (Record Matching)

Record Matching ist die Identifikation von Duplikaten in einer Menge von Datensätzen.

Alternativ: Record Linkage, Object Identification, Entity Resolution, Reference Reconciliation, . . .

Definition (Duplikat/Äquivalenz)

Ein Datensatz R 1 ist ein Duplikat eines anderen Datensatzes R 2 (mit R 1 6= R 2 ), wenn beide Datensätze dasselbe

Bezugsobjekt in der Miniwelt repräsentieren.

Annahme: Jeder Datensatz hat genau ein Bezugsobjekt.

Data Cleaning und Record Matching (Christoph R. Hartel) 23

(33)

Einführung Der Data-Cleaning-Prozess Bewertung und Umsetzung Zusammenfassung

Überblick Record Matching Record Merging

Modell von Fellegi & Sunter – Überblick

Fellegi und Sunter definieren 1969 Modell für Record Matching

Liefert theoretische Fundierung für alle heutigen Verfahren Abstraktes Modell: keine Aussagen über Realisierung Ausgangspunkt

A, B zwei Mengen von Datensätzen

Matches M (selbes Bezugsobjekt), Nicht-Matches U

M und U existieren, aber sind unbekannt!

(34)

Modell von Fellegi & Sunter – Überblick

Fellegi und Sunter definieren 1969 Modell für Record Matching

Liefert theoretische Fundierung für alle heutigen Verfahren Abstraktes Modell: keine Aussagen über Realisierung Ausgangspunkt

M

A B

A, B zwei Mengen von Datensätzen

Matches M (selbes Bezugsobjekt), Nicht-Matches U M und U existieren, aber sind unbekannt!

Data Cleaning und Record Matching (Christoph R. Hartel) 24

(35)

Modell von Fellegi & Sunter – Ablauf

1. Schritt: Vergleichsraum Γ definieren

Γ wird durch beliebige Kriterien aufgespannt, z.B.:

„Vorname stimmt überein“

„Nachname ist ähnlich“

„Geburtsdatum weicht um max. 2 Jahre ab“

2. Schritt: Vergleichsfunktion comp : A × B −→ Γ z.B. comp(R

1

, R

2

) = (1, 1, 0) = γ ∈ Γ

3. Schritt: Entscheidungsfunktion dec : Γ −→ {L, NL, PL}

Links (L) 6= Matches, Nicht-Links (NL), mögliche Links (PL)

dec(γ) =

L, falls r (γ) > t

upper

NL, falls r (γ) < t

lower

PL, sonst

PLClerical Review; r = Agreement Ratio

(36)

Modell von Fellegi & Sunter – Ablauf

1. Schritt: Vergleichsraum Γ definieren

Γ wird durch beliebige Kriterien aufgespannt, z.B.:

„Vorname stimmt überein“

„Nachname ist ähnlich“

„Geburtsdatum weicht um max. 2 Jahre ab“

2. Schritt: Vergleichsfunktion comp : A × B −→ Γ z.B. comp(R

1

, R

2

) = (1, 1, 0) = γ ∈ Γ

3. Schritt: Entscheidungsfunktion dec : Γ −→ {L, NL, PL}

Links (L) 6= Matches, Nicht-Links (NL), mögliche Links (PL)

dec(γ) =

L, falls r (γ) > t

upper

NL, falls r (γ) < t

lower

PL, sonst

PLClerical Review; r = Agreement Ratio

Data Cleaning und Record Matching (Christoph R. Hartel) 25

(37)

Modell von Fellegi & Sunter – Ablauf

1. Schritt: Vergleichsraum Γ definieren

Γ wird durch beliebige Kriterien aufgespannt, z.B.:

„Vorname stimmt überein“

„Nachname ist ähnlich“

„Geburtsdatum weicht um max. 2 Jahre ab“

2. Schritt: Vergleichsfunktion comp : A × B −→ Γ z.B. comp(R

1

, R

2

) = (1, 1, 0) = γ ∈ Γ

3. Schritt: Entscheidungsfunktion dec : Γ −→ {L, NL, PL}

Links (L) 6= Matches, Nicht-Links (NL), mögliche Links (PL)

dec(γ) =

L, falls r (γ) > t

upper

NL, falls r (γ) < t

lower

PL, sonst

PLClerical Review; r = Agreement Ratio

(38)

Record-Matching-Verfahren

In der Literatur ex. (scheinbar) zahlreiche Verfahren Aber:

Verfahren = Ablaufsteuerung + Ähnlichkeitsmetriken

Ähnlichkeit sim(R 1 , R 2 ) = P

w i · sim(v i R

1

, v i R

2

) ∈ [0, . . . , 1]

Metriken

Zahlen (z.B. Geburtsjahr)

→Vergleich sehr einfach, aber Aussagekraft?

Strings (z.B. Name)

→Editierabstände, Phonetik, Abkürzungen, WHIRL, . . . Konstanten?

z.B. Geschlecht „Männlich“ / „Weiblich“ vs. „M“ / „F“ vs. 0 / 1

→Vorarbeit in Analysephase notwendig!

Data Cleaning und Record Matching (Christoph R. Hartel) 26

(39)

Record-Matching-Verfahren

In der Literatur ex. (scheinbar) zahlreiche Verfahren Aber:

Verfahren = Ablaufsteuerung + Ähnlichkeitsmetriken Ähnlichkeit sim(R 1 , R 2 ) = P

w i · sim(v i R

1

, v i R

2

) ∈ [0, . . . , 1]

Metriken

Zahlen (z.B. Geburtsjahr)

→Vergleich sehr einfach, aber Aussagekraft?

Strings (z.B. Name)

→Editierabstände, Phonetik, Abkürzungen, WHIRL, . . . Konstanten?

z.B. Geschlecht „Männlich“ / „Weiblich“ vs. „M“ / „F“ vs. 0 / 1

→Vorarbeit in Analysephase notwendig!

(40)

Record-Matching-Verfahren

In der Literatur ex. (scheinbar) zahlreiche Verfahren Aber:

Verfahren = Ablaufsteuerung + Ähnlichkeitsmetriken Ähnlichkeit sim(R 1 , R 2 ) = P

w i · sim(v i R

1

, v i R

2

) ∈ [0, . . . , 1]

Metriken

Zahlen (z.B. Geburtsjahr)

→Vergleich sehr einfach, aber Aussagekraft?

Strings (z.B. Name)

→Editierabstände, Phonetik, Abkürzungen, WHIRL, . . . Konstanten?

z.B. Geschlecht „Männlich“ / „Weiblich“ vs. „M“ / „F“ vs. 0 / 1

→Vorarbeit in Analysephase notwendig!

Data Cleaning und Record Matching (Christoph R. Hartel) 26

(41)

Record-Matching-Verfahren

In der Literatur ex. (scheinbar) zahlreiche Verfahren Aber:

Verfahren = Ablaufsteuerung + Ähnlichkeitsmetriken Ähnlichkeit sim(R 1 , R 2 ) = P

w i · sim(v i R

1

, v i R

2

) ∈ [0, . . . , 1]

Metriken

Zahlen (z.B. Geburtsjahr)

→Vergleich sehr einfach, aber Aussagekraft?

Strings (z.B. Name)

→Editierabstände, Phonetik, Abkürzungen, WHIRL, . . . Konstanten?

z.B. Geschlecht „Männlich“ / „Weiblich“ vs. „M“ / „F“ vs. 0 / 1

→Vorarbeit in Analysephase notwendig!

(42)

Record Matching: Ablaufsteuerung

Algorithmen angelehnt an JOIN-Implementierungen Naiver Algorithmus: Nested Loops

Vergleiche jeden Datensatz mit jedem anderen ⇒ O(N

2

) Sorted-Neighbourhood-Verfahren

Erweitert Idee von Sort-Merge-JOIN Probleme:

Keine eindeutigen IDs Daten potentiell fehlerhaft

Data Cleaning und Record Matching (Christoph R. Hartel) 27

(43)

Sorted-Neighbourhood-Verfahren

1. Schlüssel berechnen

74Maie 80Schm 47Maie ...

Name Vorname GebDat

Maier Hans 27.03.1974

Schmitt Elisabeth 04.11.1980

Maier Hans 27.03.1947

Müller Karl 15.06.1958 Schmitt Maria 18.09.1963

Maier Hasn 27.03.1974

Mayer Franz 21.12.1971

Müller Günther 03.02.1984

Schmidt Ernst 29.08.1967

(44)

Sorted-Neighbourhood-Verfahren

2. Nach Schlüssel sortieren

Name Vorname GebDat Schlüssel Maier Hans 27.03.1947 47Maie Müller Karl 15.06.1958 58Müll Schmitt Maria 18.09.1963 63Schm Schmidt Ernst 29.08.1967 67Schm Mayer Franz 21.12.1971 71Maye Maier Hans 27.03.1974 74Maie Maier Hasn 27.03.1974 74Maie Schmitt Elisabeth 04.11.1980 80Schm Müller Günther 03.02.1984 84Müll

Data Cleaning und Record Matching (Christoph R. Hartel) 29

(45)

Sorted-Neighbourhood-Verfahren

3. „Fenster“ über Daten schieben (Iterativ) Fixe Fenstergröße, z.B. w = 3

Name Vorname GebDat Schlüssel

Maier Hans 27.03.1947 47Maie

Müller Karl 15.06.1958 58Müll

Schmitt Maria 18.09.1963 63Schm

Schmidt Ernst 29.08.1967 67Schm

Mayer Franz 21.12.1971 71Maye

Maier Hans 27.03.1974 74Maie

Maier Hasn 27.03.1974 74Maie

Schmitt Elisabeth 04.11.1980 80Schm

Müller Günther 03.02.1984 84Müll

(46)

Sorted-Neighbourhood-Verfahren

4. Pro Iteration: Alle R im Fenster vergleichen Nested Loop, aber für kleines N

O(NlogN ) für w N (genauer: w < dlogNe)

Name Vorname GebDat Schlüssel Maier Hans 27.03.1947 47Maie Müller Karl 15.06.1958 58Müll Schmitt Maria 18.09.1963 63Schm Schmidt Ernst 29.08.1967 67Schm Mayer Franz 21.12.1971 71Maye Maier Hans 27.03.1974 74Maie Maier Hasn 27.03.1974 74Maie Schmitt Elisabeth 04.11.1980 80Schm Müller Günther 03.02.1984 84Müll

Data Cleaning und Record Matching (Christoph R. Hartel) 31

(47)

Sorted-Neighbourhood-Verfahren

Problem: Fehlertoleranz sehr gering!

Bei Fehler in Schlüssel-Attributen Einordnung in falsche Nachbarschaft

Name Vorname GebDat Schlüssel

Maier Hans 27.03.1947 47Maie

Müller Karl 15.06.1958 58Müll

Schmitt Maria 18.09.1963 63Schm

Schmidt Ernst 29.08.1967 67Schm

Mayer Franz 21.12.1971 71Maye

Maier Hans 27.03.1974 74Maie

Maier Hasn 27.03.1974 74Maie

Schmitt Elisabeth 04.11.1980 80Schm

Müller Günther 03.02.1984 84Müll

(48)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

Data Cleaning und Record Matching (Christoph R. Hartel) 33

(49)

Ablauf des Data Cleanings: Record Merging

Datenanalyse

Workflow-Definition

Workflow-Verifikation

Vorverarbeitung

Record Matching Record Merging

Transformation

Evaluation

Rückfluss der Daten

(50)

Grundlagen des Record Merging

Definition (Record Merging)

Record Merging ist die Behandlung von Duplikaten in einer Menge von Datensätzen.

Trivialer Fall: Eliminierung von Duplikaten Aber: Ist das immer eine gute Idee?

Erster Schritt:

In welcher Beziehung können äquivalente Datensätze zueinander stehen?

Zweiter Schritt:

Wie können wir damit jeweils umgehen?

Data Cleaning und Record Matching (Christoph R. Hartel) 35

(51)

Grundlagen des Record Merging

Definition (Record Merging)

Record Merging ist die Behandlung von Duplikaten in einer Menge von Datensätzen.

Trivialer Fall: Eliminierung von Duplikaten Aber: Ist das immer eine gute Idee?

Erster Schritt:

In welcher Beziehung können äquivalente Datensätze zueinander stehen?

Zweiter Schritt:

Wie können wir damit jeweils umgehen?

(52)

Grundlagen des Record Merging

Definition (Record Merging)

Record Merging ist die Behandlung von Duplikaten in einer Menge von Datensätzen.

Trivialer Fall: Eliminierung von Duplikaten Aber: Ist das immer eine gute Idee?

Erster Schritt:

In welcher Beziehung können äquivalente Datensätze zueinander stehen?

Zweiter Schritt:

Wie können wir damit jeweils umgehen?

Data Cleaning und Record Matching (Christoph R. Hartel) 35

(53)

1. Beziehungen äquivalenter Datensätze

R

1

: Name = Maier, Vorname = Hans, Gehalt = 42.000 R

2

: Name = Maier, Vorname = Hans, Gehalt = 42.000

R

3

: Name = Maier, Vorname = Hans, Gehalt = 42.000, Durchwahl = 1234 R

4

: Name = Maier, Vorname = Hans, Gehalt = 24.000

3 Fälle:

1

Identität: Gleiche Attributmenge (Spalten) und gleiche Werte („Exaktes Duplikat“)

2

Komplementarität: Mindestens ein nicht gemeinsames Attribut

3

Konflikt: Mindestens ein gemeinsames Attribut, dessen Wert sich unterscheidet

Fall 1 schließt die anderen beiden aus

Fall 2 und Fall 3 kompatibel

(54)

1. Beziehungen äquivalenter Datensätze

R

1

: Name = Maier, Vorname = Hans, Gehalt = 42.000 R

2

: Name = Maier, Vorname = Hans, Gehalt = 42.000

R

3

: Name = Maier, Vorname = Hans, Gehalt = 42.000, Durchwahl = 1234 R

4

: Name = Maier, Vorname = Hans, Gehalt = 24.000

3 Fälle:

1

Identität: Gleiche Attributmenge (Spalten) und gleiche Werte („Exaktes Duplikat“)

2

Komplementarität: Mindestens ein nicht gemeinsames Attribut

3

Konflikt: Mindestens ein gemeinsames Attribut, dessen Wert sich unterscheidet

Fall 1 schließt die anderen beiden aus Fall 2 und Fall 3 kompatibel

Data Cleaning und Record Matching (Christoph R. Hartel) 36

(55)

2. Behandlung äquivalenter Datensätze

Identität

→Trivial (Duplikat-Eliminierung)

Komplementarität

→Übertragen der zusätzlichen Daten, dann wie Identität (Sonderfall: NULL-Werte)

Konflikt

→Nicht trivial!

Ignoranz (Datensätze bleiben unverändert) Vermeidung (Mengenwertige Attribute, Masking)

⇒ Verlagerung des Problems in die Anfragezeit . . .

Auflösung!

(56)

2. Behandlung äquivalenter Datensätze

Identität

→Trivial (Duplikat-Eliminierung) Komplementarität

→Übertragen der zusätzlichen Daten, dann wie Identität (Sonderfall: NULL-Werte)

Konflikt

→Nicht trivial!

Ignoranz (Datensätze bleiben unverändert) Vermeidung (Mengenwertige Attribute, Masking)

⇒ Verlagerung des Problems in die Anfragezeit . . . Auflösung!

Data Cleaning und Record Matching (Christoph R. Hartel) 37

(57)

2. Behandlung äquivalenter Datensätze

Identität

→Trivial (Duplikat-Eliminierung) Komplementarität

→Übertragen der zusätzlichen Daten, dann wie Identität (Sonderfall: NULL-Werte)

Konflikt

→Nicht trivial!

Ignoranz (Datensätze bleiben unverändert) Vermeidung (Mengenwertige Attribute, Masking)

⇒ Verlagerung des Problems in die Anfragezeit . . .

Auflösung!

(58)

Auflösung von Konflikten

Ersetzung konfliktärer Attributwerte durch je einen einzigen, semantisch sinnvollen Wert

Selektion / Aggregation

→Wähle einen Werte aus bzw. berechne neuen Wert Voting, wahrscheinlichster Wert, . . .

Durchschnitt, anwendungsspezifische Funktion, . . . Sinnvolles Ergebnis?

Konfidenz-basiert

Konfidenz = Vertrauen in die Korrektheit von Datensätzen z.B. R

1

.c = 80%, R

2

.c = 70% ⇒ Wähle Wert von R

1

Komplexe Verwaltungslogik erforderlich!

Data Cleaning und Record Matching (Christoph R. Hartel) 38

(59)

Auflösung von Konflikten

Ersetzung konfliktärer Attributwerte durch je einen einzigen, semantisch sinnvollen Wert

Selektion / Aggregation

→Wähle einen Werte aus bzw. berechne neuen Wert Voting, wahrscheinlichster Wert, . . .

Durchschnitt, anwendungsspezifische Funktion, . . . Sinnvolles Ergebnis?

Konfidenz-basiert

Konfidenz = Vertrauen in die Korrektheit von Datensätzen

z.B. R

1

.c = 80%, R

2

.c = 70% ⇒ Wähle Wert von R

1

Komplexe Verwaltungslogik erforderlich!

(60)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

Data Cleaning und Record Matching (Christoph R. Hartel) 39

(61)

Qualitätskriterien

Qualitätsbetrachtungen oft beschränkt auf Ergebnis Für Praxistauglichkeit aber auch der Prozess sehr wichtig!

Daher 2 Arten von Kriterien:

Prozessbezogene Kriterien

Ergebnisbezogene Kriterien

(62)

Prozessbezogene Qualitätskriterien

Algorithmische Komplexität →min Laufzeit →min

Parallelisierbarkeit, Inkrementelles Cleaning Erforderliche Benutzerinteraktion →min

Spezifikation, Clerical Review Data Lineage →max

Nachvollziehbarkeit der Datenentstehung, ggf. Undo Bezug zur Anwendungsdomäne →min/max?

Wahrung der Privatsphäre →min/max?

Gefahr der Deanonymisierung

Allgemeines Problem der Datenintegration!

Messbarkeit schwierig!

Data Cleaning und Record Matching (Christoph R. Hartel) 41

(63)

Prozessbezogene Qualitätskriterien

Algorithmische Komplexität →min Laufzeit →min

Parallelisierbarkeit, Inkrementelles Cleaning Erforderliche Benutzerinteraktion →min

Spezifikation, Clerical Review Data Lineage →max

Nachvollziehbarkeit der Datenentstehung, ggf. Undo Bezug zur Anwendungsdomäne →min/max?

Wahrung der Privatsphäre →min/max?

Gefahr der Deanonymisierung

Allgemeines Problem der Datenintegration!

Messbarkeit schwierig!

(64)

Prozessbezogene Qualitätskriterien

Algorithmische Komplexität →min Laufzeit →min

Parallelisierbarkeit, Inkrementelles Cleaning Erforderliche Benutzerinteraktion →min

Spezifikation, Clerical Review Data Lineage →max

Nachvollziehbarkeit der Datenentstehung, ggf. Undo Bezug zur Anwendungsdomäne →min/max?

Wahrung der Privatsphäre →min/max?

Gefahr der Deanonymisierung

Allgemeines Problem der Datenintegration!

Messbarkeit schwierig!

Data Cleaning und Record Matching (Christoph R. Hartel) 41

(65)

Prozessbezogene Qualitätskriterien

Algorithmische Komplexität →min Laufzeit →min

Parallelisierbarkeit, Inkrementelles Cleaning Erforderliche Benutzerinteraktion →min

Spezifikation, Clerical Review Data Lineage →max

Nachvollziehbarkeit der Datenentstehung, ggf. Undo Bezug zur Anwendungsdomäne →min/max?

Wahrung der Privatsphäre →min/max?

Gefahr der Deanonymisierung

Allgemeines Problem der Datenintegration!

Messbarkeit schwierig!

(66)

Prozessbezogene Qualitätskriterien

Algorithmische Komplexität →min Laufzeit →min

Parallelisierbarkeit, Inkrementelles Cleaning Erforderliche Benutzerinteraktion →min

Spezifikation, Clerical Review Data Lineage →max

Nachvollziehbarkeit der Datenentstehung, ggf. Undo Bezug zur Anwendungsdomäne →min/max?

Wahrung der Privatsphäre →min/max?

Gefahr der Deanonymisierung

Allgemeines Problem der Datenintegration!

Messbarkeit schwierig!

Data Cleaning und Record Matching (Christoph R. Hartel) 41

(67)

Prozessbezogene Qualitätskriterien

Algorithmische Komplexität →min Laufzeit →min

Parallelisierbarkeit, Inkrementelles Cleaning Erforderliche Benutzerinteraktion →min

Spezifikation, Clerical Review Data Lineage →max

Nachvollziehbarkeit der Datenentstehung, ggf. Undo Bezug zur Anwendungsdomäne →min/max?

Wahrung der Privatsphäre →min/max?

Gefahr der Deanonymisierung

Allgemeines Problem der Datenintegration!

Messbarkeit schwierig!

(68)

Prozessbezogene Qualitätskriterien

Algorithmische Komplexität →min Laufzeit →min

Parallelisierbarkeit, Inkrementelles Cleaning Erforderliche Benutzerinteraktion →min

Spezifikation, Clerical Review Data Lineage →max

Nachvollziehbarkeit der Datenentstehung, ggf. Undo Bezug zur Anwendungsdomäne →min/max?

Wahrung der Privatsphäre →min/max?

Gefahr der Deanonymisierung

Allgemeines Problem der Datenintegration!

Messbarkeit schwierig!

Data Cleaning und Record Matching (Christoph R. Hartel) 41

(69)

Ergebnisbezogene Qualitätskriterien

Qualitätsmaße ex. nur für Matching-Ergebnisse Erfasst indirekt auch Analyse und Vorverarbeitung Aber Qualität des Mergings?!

Idee: Vergleich von Links und Matches Erinnerung:

Matches M = Tatsächlich vorhanden Links L = Ergebnis der Klassifizierung

⇒ Optimal: Links = Matches (d.h. 100% korrekt klassifiziert) True Positive: Link, der auch Match ist (OK)

True Negative: Nicht-Link, der auch Nicht-Match ist (OK) False Positive: Link, der nicht Match ist (NOK)

False Negative: Nicht-Link, der Match ist (NOK)

(70)

Ergebnisbezogene Qualitätskriterien

Qualitätsmaße ex. nur für Matching-Ergebnisse Erfasst indirekt auch Analyse und Vorverarbeitung Aber Qualität des Mergings?!

Idee: Vergleich von Links und Matches Erinnerung:

Matches M = Tatsächlich vorhanden Links L = Ergebnis der Klassifizierung

⇒ Optimal: Links = Matches (d.h. 100% korrekt klassifiziert) True Positive: Link, der auch Match ist (OK)

True Negative: Nicht-Link, der auch Nicht-Match ist (OK) False Positive: Link, der nicht Match ist (NOK)

False Negative: Nicht-Link, der Match ist (NOK)

Data Cleaning und Record Matching (Christoph R. Hartel) 42

(71)

Ergebnisbezogene Qualitätskriterien

Qualitätsmaße ex. nur für Matching-Ergebnisse Erfasst indirekt auch Analyse und Vorverarbeitung Aber Qualität des Mergings?!

Idee: Vergleich von Links und Matches Erinnerung:

Matches M = Tatsächlich vorhanden Links L = Ergebnis der Klassifizierung

⇒ Optimal: Links = Matches (d.h. 100% korrekt klassifiziert) True Positive: Link, der auch Match ist (OK)

True Negative: Nicht-Link, der auch Nicht-Match ist (OK) False Positive: Link, der nicht Match ist (NOK)

False Negative: Nicht-Link, der Match ist (NOK)

(72)

Ergebnisbezogene Qualitätskriterien (2)

Probleme:

Bestimmung der Matches

Bei realen Daten (Evaluation) praktisch unmöglich. . .

⇒ Generierte Testdaten nötig („Gold Standard Set“) Aber: keine standardisierten Testdaten vorhanden

⇒ keine vergleichbaren Ergebnisse!

Annahme eines optimalen Schwellwertes t

Bestimmung: eine Ausführung mit jedem möglichen t. . .

⇒ Praktisch unmöglich

Alternativ: Erfahrungswerte, Heuristiken

„Badness“ von FP und FN anwendungsabhängig Somit keine absoluten Aussagen über Verfahren möglich

Data Cleaning und Record Matching (Christoph R. Hartel) 43

(73)

Ergebnisbezogene Qualitätskriterien (2)

Probleme:

Bestimmung der Matches

Bei realen Daten (Evaluation) praktisch unmöglich. . .

⇒ Generierte Testdaten nötig („Gold Standard Set“) Aber: keine standardisierten Testdaten vorhanden

⇒ keine vergleichbaren Ergebnisse!

Annahme eines optimalen Schwellwertes t

Bestimmung: eine Ausführung mit jedem möglichen t. . .

⇒ Praktisch unmöglich

Alternativ: Erfahrungswerte, Heuristiken

„Badness“ von FP und FN anwendungsabhängig

Somit keine absoluten Aussagen über Verfahren möglich

(74)

Ergebnisbezogene Qualitätskriterien (2)

Probleme:

Bestimmung der Matches

Bei realen Daten (Evaluation) praktisch unmöglich. . .

⇒ Generierte Testdaten nötig („Gold Standard Set“) Aber: keine standardisierten Testdaten vorhanden

⇒ keine vergleichbaren Ergebnisse!

Annahme eines optimalen Schwellwertes t

Bestimmung: eine Ausführung mit jedem möglichen t. . .

⇒ Praktisch unmöglich

Alternativ: Erfahrungswerte, Heuristiken

„Badness“ von FP und FN anwendungsabhängig Somit keine absoluten Aussagen über Verfahren möglich

Data Cleaning und Record Matching (Christoph R. Hartel) 43

(75)

Gliederung

1 Einführung

Motivation: Was fehlt uns noch?

Datenanomalien

Probleme des Data Cleanings

2 Der Data-Cleaning-Prozess Überblick

Record Matching Record Merging

3 Bewertung und Umsetzung Qualitätskriterien

Frameworks und Werkzeuge

(76)

Frameworks und Werkzeuge

Open Source

AJAX, Febrl, Potter’s Wheel, . . . Hauptsächlich Forschungsprototypen

⇒ Interessante Ideen, beschränkte Anwendbarkeit Kommerzielle Lösungen

Großer Markt für Produkte und Dienstleistungen!

Zahlreiche „kleine“ Lösungen für Small Business MatchIT, Clean&Match, LinkageWiz, . . .

„Große“ Lösungen

→Die üblichen Verdächtigen ;) IBM, Oracle, (Microsoft?)

Data Cleaning und Record Matching (Christoph R. Hartel) 45

(77)

Zusammenfassung & Ausblick

Zusammenfassung

Data Cleaning = Prozess der Identifikation und Korrektur von Anomalien in einer gegebenen Datenmenge

Hauptproblem: Größe der Datenbasis Merging von Datensätzen nicht trivial!

Bewertung schwierig, keine einheitlichen Standards

Ausblick

Säuberung von nicht-textuellen Daten? (Bilder, Videos, ...) Verfahren, die keine relationalen Schemata voraussetzen?

(insbes. für XML)

Standards für Bewertung und Vergleich von Verfahren?

(78)

Fragen?

Data Cleaning und Record Matching (Christoph R. Hartel) 47

(79)

Ergänzung

(80)

Syntaktische Anomalien

Lexikalische Fehler

fehlerhaft zugeordnete Werte (engl. misfielded values) Werte in „Name“ und „Vorname“ vertauscht

eingebettete Werte

„Adresse“ statt {„Straße“, „Hausnummer“, „PLZ“, „Ort“ } Formatierungsfehler

„Vorname Nachname“ statt „Nachname, Vorname“

Abkürzungen („Fa.“ statt „Firma“)

Synonyme („Entwickler“ vs. „Programmierer“)

Dummy-Werte statt eines NULL-Wertes („999“ statt NULL) unterschiedliche Darstellungsformen von Konstanten („Männlich“ / „Weiblich“ vs. „M“ / „F“ vs. 0 / 1)

. . .

Data Cleaning und Record Matching (Christoph R. Hartel) 49

(81)

Semantische Anomalien

Verletzung von Integritätsbedingungen Obermenge der im Schema spezifizierten!

z. B. Alter kleiner 0, Verletzung von FA zw. „PLZ“ und „Ort“

Fehlerhafte Daten

verletzen keine Integritätsbedingungen, aber decken sich aber nicht mit Eigenschaften des Bezugsobjekts in Miniwelt Typographische Fehler („Müllre“ statt „Müller“)

Konvertierungsfehler („M&uuml;ller“ statt „Müller“) Vorsätzliche Verschleierung (etwa Aliase)

Unterschiedliche Interpretation von Werten (Euro statt Pfund)

. . .

Duplikate →Siehe Record Matching!

(82)

Multi-Pass Sorted-Neighbourhood-Verfahren

Problem des normalen SNV:

Starke Abhängigkeit von berechnetem Schlüssel

⇒ geringe Fehlertoleranz Optimierung: MP-SNV

Mehrere Läufe mit unabhängigen Schlüsseln Bewertung

+ Kleine Fenstergrößen, daher trotzdem relativ effizient + Verbesserte Genauigkeit bei sehr „unsauberen“ Daten + Ermöglicht Parallelisierung!

− Höhere Komplexität als einzelner Lauf

Data Cleaning und Record Matching (Christoph R. Hartel) 51

(83)

Sonderfall: NULL-Werte

R

2

: Name = Maier, Vorname = Hans, Gehalt = 42.000, Durchwahl = NULL R

3

: Name = Maier, Vorname = Hans, Gehalt = 42.000, Durchwahl = 1234

Kontext: Merging komplementärer Daten

Problem: Wie ist NULL-Wert entstanden?

durch Überführung in gemeinsames Schema?

tatsächlicher (beabsichtigter) NULL-Wert

Wäre z.B. in XML kein Problem

(84)

Ignoranz und Vermeidung von Konflikten

Ignoranz

Konfliktäre Datensätze bleiben unverändert erhalten

− Verlagerung des Problems in die Anfragezeit . . . Vermeidung

Zusammenführung der Datensätze mit Mengen-wertigen Attributen

evtl. Maskierung

− Immer noch Verlagerung des Problems in die Anfragezeit

− Komplexe Verwaltungslogik in der Datenquelle erforderlich

+ Immerhin: Unterstützt Benutzer Umgang mit Konflikten

Data Cleaning und Record Matching (Christoph R. Hartel) 53

(85)

Ignoranz und Vermeidung von Konflikten

Ignoranz

Konfliktäre Datensätze bleiben unverändert erhalten

− Verlagerung des Problems in die Anfragezeit . . . Vermeidung

Zusammenführung der Datensätze mit Mengen-wertigen Attributen

evtl. Maskierung

− Immer noch Verlagerung des Problems in die Anfragezeit

− Komplexe Verwaltungslogik in der Datenquelle erforderlich

+ Immerhin: Unterstützt Benutzer Umgang mit Konflikten

(86)

Konfidenz-basiertes Merging

Konfidenz = Vertrauen in die Korrektheit von Datensätzen Datensatzebene

z.B. R

1

.c = 80%, R

2

.c = 70% ⇒ Wähle Wert von R

1

Problem: ggf. Informationsverlust, z.B.

R

1

= { Maier, Hans }, c = 80%

R

2

= { Mayer, Hans }, c = 70%

R

merged

= { Maier, Hans }, c = 70%

⇒ Konfidenz für Vorname verloren!

Optimierungen

Zusätzlich alte Datensätze erhalten

⇒ Noch komplexer . . .

Konfidenzen auf Attributebene betrachten

Data Cleaning und Record Matching (Christoph R. Hartel) 54

Referenzen

ÄHNLICHE DOKUMENTE

If start and end points or start and segments of a trajectory didn’t have any corresponding grid cells, the first intersecting cell for a point or a trajectory segment was selected

Next, we used the averaged generated embeddings per product, coupled with the ground truth on items that should be in the same block and items that perhaps should not be in the

A face object is represented by the appearance of the eyes, nose and mouth, and a shape model that code how these parts can deform.. A body object is represented by the appearance of

pos($str): Position des Zeichens nach aktuellem match length($str ): L¨ ange von $str. $&amp;:

La Guardia Field. operatinr per- leeth'. tn)f'1I of electronic gear dunNI by lhe liP ray method Indude h-C and vhf communication un ita.. Itd( receiven and indicaton •

Given that the sources of and their contribution to air pollution vary from city to city, policymaking needs to be tailored to the particularities of each urban region.

Failure to perform appropriate cleaning will cause a clog of print head nozzle that leads to a decline of print quality.. Cleaning Caps Cleaning Around the

Therefore data cleaning is an essential part of the data management process, which deals with the identification and correction of errors in order to improve data quality.. In