Duplikaterkennung & Datenfusion

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Duplikaterkennung & Datenfusion"

Transkript

1 & Datenfusion Fabian Panse Fabian Panse II Duplikaterkennung & Datenfusion / 70

2 Einleitung Duplikaterkennung - Motivation Daten sind häufig von Qualitätsmängeln betroffen: Unvollständigkeit Fehlerhaft Quelle: Felix Naumann, Melanie Herschel [?] Fabian Panse II Duplikaterkennung & Datenfusion / 70

3 Einleitung Duplikaterkennung - Motivation Reinigung einer Datenbank: Duplikate als Qualiätsproblem Schwerwiegende Folgen möglich tid Name Alter Wohnort t 1 Max Mustermann 27 Hamburg t 2 Maximilian Musterman 28 Hamburg - Eimsbüttel t 3 Max Muster 30 Hamburg t 4 Johannes Frisch 45 Berlin t 5 Anne Gruber 41 Harburg t 6 Kieser Klaus 53 Harburg t 7 Gruber Annemarie 41 Hamburg t 8 Christian Fabian 21 Berlin Fabian Panse II Duplikaterkennung & Datenfusion / 70

4 Einleitung Duplikaterkennung - Motivation Semantisch korrekte Verknüpfung verschieder Quellen: Quelle 1 tid Name Wohnort t 11 Maximilian Musterman Eimsbüttel t 12 Max Muster Hamburg t 13 Johannes Frisch Berlin t 14 Gruber Annemarie Hamburg t 15 Christian Fabian Berlin Quelle 2 tid Name Studiengang t 21 Max Mustermann Mathematik t 22 Max Muster Informatik t 23 Hannes Frisch Biologie t 24 Anne Gruber Biologie t 25 Kieser Klaus Chemie Fabian Panse II Duplikaterkennung & Datenfusion / 70

5 Einleitung Duplikaterkennung - Synonyme Auch bekannt als: Duplicate Elimination Merge-Purge Problem Entity Matching Entity Resolution Record Linkage Data Matching Deduplication Data Linkage Object Matching Object Reconciliation Object Identification Reference Reconciliation Fabian Panse II Duplikaterkennung & Datenfusion / 70

6 Einleitung Duplikaterkennung - Definition Basierend auf paarweisen Tupelvergleichen Zwischenergebnisse: Klasse der Matches (M), Klasse der Unmatches (U) Endergebnis: Partitionierung (Clustering) der Tupelmenge Eingabe (Tupelmenge) Duplikatenerkennung Ergebnis (Clustering) Fabian Panse II Duplikaterkennung & Datenfusion / 70

7 Einleitung Duplikaterkennung - Ziele Hohe Effektivität: Möglichst viele echte Duplikate finden Möglichst wenig falsche Duplikate als solche deklarieren Hohe Effizienz: Ressourcenschonende Berechnung (Speicher,CPU) Skalierbarkeit Fabian Panse II Duplikaterkennung & Datenfusion / 70

8 Einleitung Duplikaterkennung - Prozessablauf Datenreinigung (Standardisierung, Entfernung einfacher Fehler) Suchraumreduzierung (Effizienzerhöhung) Attributwertmatching (Messen von Attributwertähnlichkeiten) Entscheidungsmodell (ähnlichkeitsbasierte Entscheidungsfindung) Duplikat Clustering (Clustern der paarweisen Entscheidungen) Verifikation (Abschätzung der Ergebnisqualität) Unbereinigte Tupelmenge Tupel Partitionierung Entscheidungsmodell Datenreinigung Attributwert Matching Suchraumreduzierung Duplikat Clustering Verifikation Fabian Panse II Duplikaterkennung & Datenfusion / 70

9 Verifikation Verifikation Input: Gold standard (korrektes Clustering C gold ) Duplikat Clustering C, Suchraum, Paarweise Entscheidungen Output: Qualitätswert q [0, 1] Unterscheidung in: Paarbasierte Verfahren Clusterbasierte Verfahren Fabian Panse II Duplikaterkennung & Datenfusion / 70

10 Verifikation Paarbasierte Verifikation Grundidee: Zerlegung des Clusterings in paarweise Duplikatsentscheidungen Klassifikation in Matches (M) und Unmatches (U) Qualität als die Güte einer binären Klassifikation True Positives (TP): zu Recht deklarierten Matches True Negatives (TN): zu Recht deklarierten Unmatches False Positives (FP): zu Unrecht deklarierten Matches False Negatives (FN): zu Unrecht deklarierten Unmatches Fabian Panse II Duplikaterkennung & Datenfusion / 70

11 Verifikation Paarbasierte Verifikation - Qualitätsmaße Recall: Anteil an gefundenen Duplikaten Recall = TP TP + FN Precision: Anteil an zu Recht deklarierten Matches Precision = TP TP + FP F 1 -score: Harmonisches Mittel von Recall und Precision F 1 -score = 2 Recall Precision Recall + Precision Fabian Panse II Duplikaterkennung & Datenfusion / 70

12 Verifikation Trade-Off: Recall vs. Precision Hoher Schwellwert hohe Precision, kleiner Recall Kleiner Schwellwert kleine Precision, hoher Recall UNMATCHES False Negatives POSSIBLE MATCHES Clerical Reviews MATCHES True Positives True Negatives False Positives θ U/P θ P/M 0 1 Fabian Panse II Duplikaterkennung & Datenfusion / 70

13 Verifikation Clusterbasierte Verifikation Grundidee: Gold standard und Duplikaterkennungsergebnis sind Clusterings Qualität als Ähnlichkeit zwischen zwei Clusterings Qualitätsmaße: Closest Cluster Recall: ccrec(c, C gold ) = C q C gold max Cp Csim(C p, C q ) C gold Closest Cluster Precision: C ccprec(c, C gold ) = max p C C q C gold sim(c p, C q ) C Fabian Panse II Duplikaterkennung & Datenfusion / 70

14 Suchraumreduzierung Duplikaterkennung - Prozessablauf Datenreinigung (Standardisierung, Entfernung einfacher Fehler) Suchraumreduzierung (Effizienzerhöhung) Attributwertmatching (Messen von Attributwertähnlichkeiten) Entscheidungsmodell (ähnlichkeitsbasierte Entscheidungsfindung) Duplikat Clustering (Clustern der paarweisen Entscheidungen) Verifikation (Abschätzung der Ergebnisqualität) Unbereinigte Tupelmenge Tupel Partitionierung Entscheidungsmodell Datenreinigung Attributwert Matching Suchraumreduzierung Duplikat Clustering Verifikation Fabian Panse II Duplikaterkennung & Datenfusion / 70

15 Suchraumreduzierung Suchraumreduzierung - Motivation Iterative Verfahren haben quadratische Komplexität Gegeben: n Tupel n (n 1) 2 paarweise Vergleiche Paarweiser Vergleich aller Tupel zu ineffizient Herausfiltern klarer Unmatches mit wenig Aufwand Teure Vergleiche nur für potentielle Duplikatpaare False Negatives (geminderte Effektivität) schlimmer als False Positives (geminderte Effizienz) Fabian Panse II Duplikaterkennung & Datenfusion / 70

16 Suchraumreduzierung Suchraumreduzierung - Motivation Fabian Panse II Duplikaterkennung & Datenfusion / 70

17 Suchraumreduzierung Schlüsselbasierte Suchraumreduzierung Meisten Reduzierungsverfahren basieren auf der Nutzung von Schlüsseln Eine Schlüsseldefinition ist eine Funktion die angibt wie ein Stringwert aus einem Tupel extrahiert wird Beispiel: Konkateniere die ersten drei Buchstaben des Vornamens mit den ersten zwei Buchstaben des Nachnames Mit Hilfe der Schlüsseldefinition wird von jedem Tupel ein Schlüssel extrahiert Die Schlüssel werden dann verwendet um zu bestimmen welche Tupelpaare im Suchraum verbleiben Fabian Panse II Duplikaterkennung & Datenfusion / 70

18 Suchraumreduzierung Standard Blocking Eingabe: Schlüsseldefinition [Optional] Codierungsfunktion Vorgehensweise: Bildung eines Schlüssels für jedes Tupel [Optional] Codierung des Schlüssels (z.b. Soundex Code) Blockbildung: Ein Block pro Schlüssel (Hashing) Zwei Tupel im selben Block bilden ein Kandidatenpaar Fabian Panse II Duplikaterkennung & Datenfusion / 70

19 Suchraumreduzierung Standard Blocking (Beispiel) Fabian Panse II Duplikaterkennung & Datenfusion / 70

20 Suchraumreduzierung Standard Blocking Stärken: Einfach zu Implementieren Schnell ( billig ) auszuführen Schwächen: Größte Block bestimmt Größe des Suchraumes Verfahren ineffektiv sobald ein Block groß ist Paarvergleich nur bei Schlüsselgleichheit Langer Schlüssel: Kleine Blöcke aber viele False Negatives Kurzer Schlüssel: Wenige False Negatives aber große Blöcke Fabian Panse II Duplikaterkennung & Datenfusion / 70

21 Suchraumreduzierung Sorted Neighborhood Method Eingabe: Schlüsseldefinition Fenstergröße w Vorgehensweise: Bildung eines Schlüssels für jedes Tupel Sortieren aller Tupel nach Schlüssel Ein Fenster der Größe w läuft über die sortierte Tupel-Liste Zwei Tupel im selben Fenster bilden ein Kandidatenpaar Fabian Panse II Duplikaterkennung & Datenfusion / 70

22 Suchraumreduzierung Sorted Neighborhood Method (Beispiel) Fabian Panse II Duplikaterkennung & Datenfusion / 70

23 Suchraumreduzierung Sorted Neighborhood Method Stärken: Überlappende Blöcke (Schlüssel müssen nicht mehr gleich sein) Genaue Vorhersage über resultierende Suchraumgröße möglich Schwächen: Fenstergröße vs. Häufigkeit von Schlüsselwerten Tupel mit sehr ähnlichen Schlüsseln werden evtl. nicht verglichen (Lsg.: variable Fenstergröße) Fabian Panse II Duplikaterkennung & Datenfusion / 70

24 Suchraumreduzierung Suffix-Array Based Blocking Eingabe: Schlüsseldefinition Minimale Suffixlänge l s Minimale Blockgröße l b Vorgehensweise: Bildung eines Schlüssels für jedes Tupel Bildung der Suffixe der Länge l l s von allen Schlüsseln Blockbildung: Ein Block pro Suffix ( mehrere Schlüssel pro Tupel) Entfernung aller Blöcke mit mehr als l b Einträgen Zwei Tupel im selben Block bilden ein Kandidatenpaar Fabian Panse II Duplikaterkennung & Datenfusion / 70

25 Suchraumreduzierung Id BKV Suffixe l mbs = 3 gesetzt. R1 Die Catherine Minimumcatherine, Suffix Length atherine, wirdtherine, auf l ms herine, = 4 gesetzt. erine, Folgende rine Tabelle zeigt für jedes R2 Tupel Katherina die resultierenden katherina, Suffixe. atherina, therina, herina, erina, rina R3 Catherina catherina, atherina, therina, herina, erina, rina Id R4 BKV Catrina Suffixe catrina, trina, rina R1 R5 Catherine Katrina catherine, katrina, trina, atherine, rina therine, herine, erine, rine R2 Katherina katherina, atherina, therina, herina, erina, rina Nun werden R3 die Catherina Suffixe mit catherina, den Referenzen atherina, auf therina, ihr Quelltupel herina, erina, den rinasortierten invertierten Index R4 eingefügt. Catrina Das catrina, Suffix trina, rina rina ist zu allgemeingültig und wird, da es die R5 Katrina katrina, trina, rina Maximum Block Size überschreitet, gelöscht. Suffix-Array Based Blocking (Beispiel) Nun werden die Suffix Suffixe mit Identifier ReferenzenSuffix auf ihr Quelltupel Identifierin den sortierten invertierten Index eingefügt. atherina Das R2,R3 Suffix rina ist herine zu allgemeingültig R1 und wird, da es die Maximum Block Size atherine überschreitet, R1 gelöscht. katherina R2 atrina R4,R5 katrina R5 Suffix catherina Identifier R3 Suffix rina Identifier R2,R3,R4,R5 atherina catherine R2,R3 R1 herine R1 atherine catrina R1 R4 katherina R2,R3 atrina erina R4,R5 R2,R3 katrina therine R5 R1 catherina erine R3 R1 trina R2,R3,R4,R5 R4,R5 catherine herina R1 R2,R3 rine R1 catrina R4 therina R2,R3 Die resultierenden erinablöcke sind R2,R3alle Tupelmengen therinemit mehr R1 als einem Eintrag. Damit Fabian Panse II Duplikaterkennung & Datenfusion / 70

26 Suchraumreduzierung Suffix-Array Based Blocking Stärken: Wie Standard Blocking, aber löst das Problem der Schlüssellänge benutzt pro Tupel den kürzesten Schlüssel der nicht zu einem großen Block führt Schwächen: Fehler am Ende der Schlüssel werden nicht kompensiert Verfahren einmal für Suffix und einmal für Präfix (der Präfix eines Strings entspricht dem Suffix des gespiegelten Strings) Mergen von Blöcken ähnlicher Suffixe Fabian Panse II Duplikaterkennung & Datenfusion / 70

27 Suchraumreduzierung Schlüsselbasierte Suchraumreduzierung Stärken: Effiziente Berechnung Leicht an unterschiedliche Domänen anpassbar Schwächen: Große Abhängigkeit von der Wahl des Schlüssels Multi-pass Verfahren Ein Durchlauf pro Schlüsseldefinition Vereinigung der produzierten Suchräume (Bsp. Füge dem Suchraum alle Paare hinzu die in mindestens 2 Durchläufen als Kandidat deklariert wurden) Fabian Panse II Duplikaterkennung & Datenfusion / 70

28 Suchraumreduzierung weitere Suchraumreduzierungsverfahren Q-gram Indexing Canopy Clustering K-way Sorting Similarity-Aware Inverted Indexing String-Map basiertes Blocking LSH basiertes Blocking Sorted Blocks Priority Queue TI-similarity basiertes Blocking Spectral Neighborhood Blocking Blocking mit MFIBlocks Iteratives Blocking Fuzzy Blocking Paralleles Blocking mit Map-Reduce Fabian Panse II Duplikaterkennung & Datenfusion / 70

29 Attributwert Matching Attributwert Matching Für jedes Kandidatenpaar wird ein Vergleichsvektor berechnet c = c 1,..., c n, c i [0, 1] Der Vektor enthält normierte Ähnlichkeiten zwischen Attributwerten Ähnlichkeitsberechnung durch String Matching (z.b. Levenshtein, Monge-Elkan, Kosinus, etc.) Üblich: Nur Vergleiche von Werten gleicher Attribute Eine Vektorposition pro Attribut Attributübergreifende Vergleiche können nützlich sein, wenn: Attributwerte vertauscht sein können (z.b. Vor- und Nachname) der erste Wert in dem zweiten codiert sein kann (z.b. Name in ) Fabian Panse II Duplikaterkennung & Datenfusion / 70

30 Entscheidungsmodell Duplikaterkennung - Prozessablauf Datenreinigung (Standardisierung, Entfernung einfacher Fehler) Suchraumreduzierung (Effizienzerhöhung) Attributwertmatching (Messen von Attributwertähnlichkeiten) Entscheidungsmodell (ähnlichkeitsbasierte Entscheidungsfindung) Duplikat Clustering (Clustern der paarweisen Entscheidungen) Verifikation (Abschätzung der Ergebnisqualität) Unbereinigte Tupelmenge Tupel Partitionierung Entscheidungsmodell Datenreinigung Attributwert Matching Suchraumreduzierung Duplikat Clustering Verifikation Fabian Panse II Duplikaterkennung & Datenfusion / 70

31 Entscheidungsmodell Entscheidungsmodell Input: Ein Tupelpaar {t i, t j }, Vergleichsvektor c(t i, t j ) Ausgabe: Entscheidung ob t i und t j Duplikate sind (samt Ähnlichkeit) Grundidee: Berechnung einer Ähnlichkeit/Distanz zwischen beiden Tupeln Nutzen eines Thresholds um Tupelpaar als Match oder Unmatch zu klassifizieren Häufig Verwendung einer dritten Klasse: Possible Matches Possible Matches müssen später von einem Domänexperten manuell begutachtet werden Fabian Panse II Duplikaterkennung & Datenfusion / 70

32 Entscheidungsmodell Entscheidungsmodell θ U/P θ P/M candidate pair UNMATCHES POSSIBLE MATCHES MATCHES 0 sim 1 1 dst 0 Fabian Panse II Duplikaterkennung & Datenfusion / 70

33 Entscheidungsmodell Distanzbasierte Ansätze Ähnlichkeitsberechnung: Jedes Tupel als langen String betrachten und Stringähnlichkeitsmaß (z.b. Levenshtein, Monge-Elkan, Kosinus, etc.) verwenden (in diesem Fall wird der Vergleichsvektor nicht genutzt) Gewichteter Durchschnitt aller Attributähnlichkeiten Maximales 1:1 Matching zwischen den Attributwerten beider Tupel (wenn Attributübergreifende Ähnlichkeiten existieren) Distanz im Vektorraum Fabian Panse II Duplikaterkennung & Datenfusion / 70

34 Entscheidungsmodell Distanz im Vektorraum Vergleichsvektor c(t i, t j ) = c 1,..., c n wird als Punkt P in einem n dimensionalen Vektorraum betrachtet Der Punkt 0 = (0, 0,..., 0) steht für sichere Nichtduplikate Der Punkt 1 = (1, 1,..., 1) steht für sichere Duplikate Berechnung der Ähnlichkeit zwischen t i und t j mit Hilfe eines Distanzmaßes dst Wahl des Distanzmaß dst: euklidische Distanz Manhattan Distanz etc. sim = 1 dst(0, P) dst(0, 1) Fabian Panse II Duplikaterkennung & Datenfusion / 70

35 Entscheidungsmodell Regelbasierte Ansätze Grundidee: Domänenexperte definiert Regeln die bestimmen wann zwei Tupel Duplikate oder Nichtduplikate sind Formale Beschreibung: Prämisse Schlussfolgerung Die Prämisse ist gewöhnlich ein Prädikat in konjunktiver Normalform: Prämisse = (term 1,1 term 1,2...)... (term n,1 term n,2...) Die Schlussfolgerung ist Match oder Unmatch Fabian Panse II Duplikaterkennung & Datenfusion / 70

36 Entscheidungsmodell Regelbasierte Ansätze Einfacher Ansatz: Menge an positiven Regeln (Schlussfolgerung ist Match) Wenn eine Regel feuert wird das Tupelpaar als Match klassifiziert Wenn keine Regel feuert wird das Tupelpaar als Unmatch klassifiziert Reihenfolge in der die Regeln geprüft werden ist irrelevant Profilbasierte Ansatz: Positive Regeln (Schlussfolgerung ist Match) und negative Regeln (Schlussfolgerung ist Unmatch) Regel werden der Reihe nach geprüft bis eine feuert Reihenfolge in der die Regeln geprüft werden ist relevant Fabian Panse II Duplikaterkennung & Datenfusion / 70

37 Entscheidungsmodell Regelbasierte Ansätze (Beispiel) R 1 : ( c(fname, fname) > 0.6) ( c(lname, lname) > 0.8) ( c(dob, DoB) = 1.0) Match R 2 : ( c(fname, lname) > 0.6) ( c(lname, fname) > 0.8) ( c(dob, DoB) = 1.0) Match R 3 : ( c(lname, fname) > 0.6) ( c(fname, lname) > 0.8) ( c(dob, DoB) = 1.0) Match R 4 : ( c(lname, lname) 0.5) ( c(country, country) 1.0) Unmatch R 5 : ( c(lname, ) > 0.5) ( c(fname, ) > 0.5) Match R default : True Unmatch Fabian Panse II Duplikaterkennung & Datenfusion / 70

38 Entscheidungsmodell Clusterbasierte Ansätze Grundidee: Verwendung von hierarchischen Clusteringverfahren (gegeben Threshold θ) Initialisiere alle Tupel als einelementige Cluster Bis die größte gefundene Ähnlichkeit kleiner als θ ist, tue Berechne die Ähnlichkeit zwischen allen Clustern Ist die größte gefundene Ähnlichkeit größer als θ vereine die beiden betreffenden Cluster Fabian Panse II Duplikaterkennung & Datenfusion / 70

39 Entscheidungsmodell Clusterbasierte Ansätze similarity 1 Θ Iteration 3 Iteration 2 Iteration 1 0 t 1 t 2 t 3 t 4 t 5 Fabian Panse II Duplikaterkennung & Datenfusion / 70

40 Entscheidungsmodell Clusterbasierte Ansätze Wie definiert man die Ähnlichkeit zwischen zwei Clustern? Average Link: durchschnittliche Ähnlichkeit der Cluster-Tupel Complete Link: maximale Ähnlichkeit der Cluster-Tupel Single Link: minimale Ähnlichkeit der Cluster-Tupel Canonical Entity: bilde ein kanonisches Tupel per Cluster und nehme die Ähnlichkeit der kanonischen Tupel as Clusterähnlichkeit Fabian Panse II Duplikaterkennung & Datenfusion / 70

41 Entscheidungsmodell Statistische Ansätze Grundidee: Berechne die Wahrscheinlichkeiten, dass der Vergleichsvektor typisch für ein Match (kurz M) bzw. Unmatch (kurz U) ist Klassifiziere das Tupelpaar als Match wenn die Wahrscheinlichkeit dafür größer ist als für ein Unmatch { M, if Pr(M c) Pr(U c) classify(t i, t j ) = U, otherwise. Da es unendliche viele Vergleichsvektoren gibt, lassen sich die Wahrscheinlichkeiten nicht statistisch bestimmen Benutzung eines Matching Pattern Fabian Panse II Duplikaterkennung & Datenfusion / 70

42 Entscheidungsmodell Statistische Ansätze Vorgehensweise: Transformiere den Vergleichsvektor in ein Matching Pattern Ein Matching Pattern ist ein n-dimensionaler Vektor p auf einem endlichen Wertebereich p = p 1,..., p n, p i {1, 2,..., k} Berechne die Wahrscheinlichkeiten, dass p typisch für einen Match bzw. Unmatch ist Pr( p M) = p i=1 Pr( p U) = p i=1 Pr( p[i] M) Pr( p[i] U) Fabian Panse II Duplikaterkennung & Datenfusion / 70

43 Entscheidungsmodell Statistische Ansätze Vorgehensweise: Klassifiziere {t i, t j } basierend auf diesen Wahrscheinlichkeiten ( ) ( ) Pr( p M) Pr(U) M, if log classify(t i, t j ) = 2 log Pr( p U) 2, Pr(M) U, otherwise. Vorraussetzungen: Schätzungen oder statistische Erhebungen für die einzelnen Wahrscheinlichkeiten Pr( p[i] M) Fabian Panse II Duplikaterkennung & Datenfusion / 70

44 Entscheidungsmodell Statistische Ansätze (Beispiel) Binäres Pattern: probability patterns Fabian Panse II Duplikaterkennung & Datenfusion / 70

45 Entscheidungsmodell Statistische Ansätze (Beispiel) Binäres Pattern: increasing false positives θ P/M θ U/P increasing false negatives probability MATCH POSSIBLE MATCH UNMATCH patterns Fabian Panse II Duplikaterkennung & Datenfusion / 70

46 Entscheidungsmodell Statistische Ansätze (Beispiel) Ternäres Pattern: probability patterns Fabian Panse II Duplikaterkennung & Datenfusion / 70

47 Entscheidungsmodell Statistische Ansätze (Beispiel) Ternäres Pattern: probability increasing false positives θ P/M θ U/P increasing false negatives MATCH POSSIBLE MATCH UNMATCH patterns Fabian Panse II Duplikaterkennung & Datenfusion / 70

48 Entscheidungsmodell Lernbasierte Ansätze Unüberwachte Lernverfahren: keine Trainingsdaten erforderlich Überwachte Lernverfahren: Trainingsdaten erforderlich Trainingsdaten sind Tupelpaare bei denen wir wissen, ob sie Duplikate sind oder nicht labeled training vectors 2. learn classifier learned classifier 1. select & label training vectors 4. classify all unlabeled vectors 3. select all unlabeled vectors comparison vectors matching classes Fabian Panse II Duplikaterkennung & Datenfusion / 70

49 Entscheidungsmodell Unüberwachte Lernverfahren Constrained Clustering: Clustern der Vergleichsvektoren in zwei Cluster (z.b. 2-Means) Markiere das Cluster das sich näher am Punkt 1 = (1, 1,..., 1) befindet als Menge der Matches Vorteil: voll automatisch Nachteil: oft keine klare Grenze zwischen den Clustern Unconstrained Clustering: Verwendung eines Verfahren das keine Clusterzahl vorgibt Domänexperte klassifiziert pro Cluster ein Tupelpaar per Hand und adoptiert das Ergebnis für alle Paare des Clusters Vorteil: klare Clustergrenzen Nachteil: semi-automatisch Fabian Panse II Duplikaterkennung & Datenfusion / 70

50 Entscheidungsmodell Überwachte Lernverfahren Entscheidungsbäume: Startet mit der Menge aller Trainingsvektoren Splittet diese Menge Schritt für Schritt in zwei Untermengen bis alle Vektoren einer Menge gleich gelabelt sind In jeder Runde wird versucht die Vektoreneigenschaft für den besten Split zu finden Als Splitkriterium wird häufig der Information Gain oder der Giny Index verwendet Das Ergebnis kann als eine Menge an Regeln betrachtet werden Fabian Panse II Duplikaterkennung & Datenfusion / 70

51 Entscheidungsmodell Einleitung Distanzbasiert Regelbasiert Maschinelles Lernen (ML) Referenzen Entscheidungsbäume (Beispiel) Überwachtes ML Entscheidungsbäume V Beispiel: IF D Titel >= 0.55 AND D Studio >= 0.5 THEN MATCHED. Neuere Methoden zur Entscheidungsfindung in der Duplikatenerkennung Steffen Friedrich Fabian Panse II Duplikaterkennung & Datenfusion / 70

52 Entscheidungsmodell Überwachte Lernverfahren Support-Vector Machines: Betrachtet Vergleichsvektoren als Punkte in mehrdimensionalen Vektorraum Erzeugt eine Hyperebene welche die Trainingspunkte in zwei Klassen teilt Dabei gilt: Alle gleichgelabelten Vektoren befinden sich in der selben Klasse Die Distanz zwischen dem nächsten Vektor und der Hyperebene ist maximiert Problem: Lineare Separierung der Vektoren oft nicht möglich Kernel trick: Transformation in einen höher dimensionalen Raum und Rücktransformation der Hyperebene in eine nicht lineare Funktion Fabian Panse II Duplikaterkennung & Datenfusion / 70

53 Entscheidungsmodell Einleitung Distanzbasiert Regelbasiert Maschinelles Lernen (ML) Referenzen Support-Vector Machines (Beispiel) Überwachtes ML Support Vector Machines (SVM) II Neuere Methoden zur Entscheidungsfindung in der Duplikatenerkennung Steffen Friedrich Fabian Panse II Duplikaterkennung & Datenfusion / 70

54 Duplikat Clustering Duplikaterkennung - Prozessablauf Datenreinigung (Standardisierung, Entfernung einfacher Fehler) Suchraumreduzierung (Effizienzerhöhung) Attributwertmatching (Messen von Attributwertähnlichkeiten) Entscheidungsmodell (ähnlichkeitsbasierte Entscheidungsfindung) Duplikat Clustering (Clustern der paarweisen Entscheidungen) Verifikation (Abschätzung der Ergebnisqualität) Unbereinigte Tupelmenge Tupel Partitionierung Entscheidungsmodell Datenreinigung Attributwert Matching Suchraumreduzierung Duplikat Clustering Verifikation Fabian Panse II Duplikaterkennung & Datenfusion / 70

55 Duplikat Clustering Duplikat Clustering - Motivation Input: Eine Menge an paarweisen Duplikatsentscheidungen Diese Entscheidungen sind unabhängig voneinander getroffen wurden und können in Konflikt stehen Beispiel: {A, B} und {A, C} sind Matches aber {B, C} ist ein Unmatch. Da Identität aber transitiv ist, kann das nicht sein Ziel: Finden eines Duplikatclusterings das möglichst wenige der paarweise Entscheidungen revidiert Fabian Panse II Duplikaterkennung & Datenfusion / 70

56 Duplikat Clustering Duplicate-Pair Graph Viele Verfahren basieren auf dem Duplicate-Pair Graph Graph besitzt Tuple als Knoten Zwei Knoten sind mit einer Kante verbunden, wenn die zugehörigen Knoten als Match klassifiziert wurden Die Ähnlichkeit beider Tupel wird als Kantengewicht genutzt Fabian Panse II Duplikaterkennung & Datenfusion / 70

57 Duplikat Clustering Partitioning based on Connected Components Berechnet die Komponenten des Duplicate-Pair Graphs Entspricht der transitive Hülle aller gefundenen Matches Problem: Produziert große Cluster Produziert häufig eine große Zahl an False Positives Fabian Panse II Duplikaterkennung & Datenfusion / 70

58 Duplikat Clustering Partitioning based on Centers Grundidee: Wählt einige Knoten des Duplicate-Pair Graphs als Center Weist jeden Knoten seinem nächsten Center zu Problem: Produziert kleine Cluster Produziert häufig eine große Zahl an False Negatives Fabian Panse II Duplikaterkennung & Datenfusion / 70

59 Duplikat Clustering Partitioning based on Centers Vorgehensweise: Sortiere alle Kanten absteigend nach Gewicht Itertiere über die sortierte Liste und wählt eine Kante 1. Beide Knoten gehören schon einem Cluster an Es passiert nichts 2. Nur ein Knoten gehört einem Cluster an, aber ist kein Center Der clusterlose Knoten wird als neues Center gewählt 3. Nur ein Knoten gehört einem Cluster an und ist ein Center Der clusterlose Knoten wird dem anderen Cluster hinzugefügt 4. Keiner der Knoten gehört bereits zu einem Cluster Einer der beiden Knoten wird als neues Center gewählt und der andere Knoten wird dessem Cluster hinzugefügt Fabian Panse II Duplikaterkennung & Datenfusion / 70

60 Duplikat Clustering Edge Removal Grundidee: Entfernt solange die Kante mit dem kleinsten Gewicht vom Duplicate-Pair Graph bis ein Stopp Kriterium erfüllt ist Verwendet die Komponenten des modifizierten Graphen als Cluster Typisches Stopp Kriterium: Der kürzeste Pfad zwischen jedem Knotenpaar ist kleiner als n Kann für jede Komponente separat ausgeführt werden (entfernt weniger Kanten) Problem: Kann berechnungsintensiv sein Entfernte Kanten können neue längste kürzeste Pfade erzeugen Eine große Zahl von Kanten wird entfernt werden Fabian Panse II Duplikaterkennung & Datenfusion / 70

61 Duplikat Clustering Edge Removal Fabian Panse II Duplikaterkennung & Datenfusion / 70

62 Datenfusion Agenda 1 Duplikaterkennung Einleitung Verifikation Suchraumreduzierung Attributwert Matching Entscheidungsmodell Duplikat Clustering 2 Datenfusion Fabian Panse II Duplikaterkennung & Datenfusion / 70

63 Datenfusion Überblick Datenfusion [NL06] Nach Duplikaterkennung: Kombination von Duplikaten, so dass im Ergebnis keine Entität der Realwelt mehr als einmal repräsentiert ist Ergebnisdatensätze angereichert mit Datenwerten aus unterschiedlichen Quellen (intensionale Komplementierung) Datenwerte aus unterschiedlichen Quellen können sich widersprechen (Datenkonflikte) Fabian Panse II Duplikaterkennung & Datenfusion / 70

64 Datenfusion Datenkonflikte amazon.de Konflikt kann auch mit NULL-Wert herrschen H. Melville $3.98 ID Herman Melville Moby Dick $5.99 bol.de Fabian Panse II Duplikaterkennung & Datenfusion / 70

65 Datenfusion Konfliktbeziehungen [NL06] 1 Gleichheit: Die Tupel sind in allen Attributwerten. 2 Subsumption: Ein Tupel subsumiert ein anderes, wenn es weniger Nullwerte hat und in jedem Attribut mit einem Nicht-Nullwert den gleichen Wert wie das andere Tupel besitzt. 3 Komplementierung: ein Tupel komplementiert ein anderes, wenn keines der beiden das andere subsumiert und wenn es für jedes Attribut mit einem Nicht-Nullwert entweder den gleichen Wert wie das andere Tupel hat oder das andere Tupel an dieser Stelle einen Nullwert besitzt. 4 Konflikt: Bei Konflikten gibt es mindestens ein Attribut, in dem beide Tupel unterschiedliche Werte haben, die nicht null sind. Fabian Panse II Duplikaterkennung & Datenfusion / 70

66 Datenfusion Konfliktbeziehungen Beispiele [NL06] Film ID titel regisseur jahr studio t 1 1 Alien Scott 1980 Fox t 2 1 Alien Scott 1980 Fox t 3 1 Alien Scott 1980 null t 4 1 Alien null 1980 null t 5 1 Alien Scott 1982 MGM t 6 1 Alien null 1980 MGM Fabian Panse II Duplikaterkennung & Datenfusion / 70

67 Datenfusion Konfliktlösungsfunktion f (x, y) := null wenn x = null y = null x wenn y = null x null y wenn x = null y null g(x, y) }{{} interne Konfliktlösungsfkt. sonst Fabian Panse II Duplikaterkennung & Datenfusion / 70

68 Datenfusion Interne Konfliktlösungsfunktionen Numerisch: sum, avg, max, min,... Nicht-numerisch: maxlength, concat,... Spezialisiert: random, count, choose, favor, maxiq,... Domänen-spezifisch Fabian Panse II Duplikaterkennung & Datenfusion / 70

69 Datenfusion Literatur [NL06] Felix Naumann and Ulf Leser. Informationsintegration. dpunkt.verlag, In German. Fabian Panse II Duplikaterkennung & Datenfusion / 70