Duplikaterkennung. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme

Größe: px
Ab Seite anzeigen:

Download "Duplikaterkennung. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme"

Transkript

1 Komplexe Informationssysteme Fabian Panse Universität Hamburg

2 Duplikaterkennung Fabian Panse Duplikaterkennung 2

3 Duplikaterkennung - Motivation Daten sind häufig von Qualitätsmängeln betroffen: Unvollständigkeit Fehlerhaft Quelle: Felix Naumann, Melanie Herschel [NH10] Fabian Panse Duplikaterkennung 3

4 Duplikaterkennung - Motivation Reinigung einer Datenbank/Quelle: Duplikate als Qualitä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 Duplikaterkennung 4

5 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 Duplikaterkennung 5

6 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 Duplikaterkennung 6

7 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 Duplikaterkennung 7

8 Duplikaterkennung - Ziele Hohe Effektivität: Möglichst viele echte Duplikate finden Möglichst wenig falsche Duplikate als solche deklarieren Hohe Effizienz: Kurze Laufzeit (speziell bei virtueller Integration) Ressourcenschonende Berechnung (Speicher, CPU) Skalierbarkeit Fabian Panse Duplikaterkennung 8

9 Duplikaterkennung - Warum so schwer? Zielkonflikt 1: Effektivität vs. Effizienz (offline vs. online) Zielkonflikt 2: Viele Duplikate finden vs. nur richtige Duplikate als solche deklarieren Domänenspezifische Datenbeschaffenheit (z.b. Datentypen, Ähnlichkeitskonzepte) Fallspezifische Datenbeschaffenheit Komplexität (einzelne Tabelle vs. viele Tabellen) Größe (hundert vs. millionen Tupel, wenige vs. viele Attribute) Reinheitsgrad (wenige vs. viele Fehler, einfache vs. massive Fehler, einheitliche vs. uneinheitliche Darstellung) Grad der Vollständigkeit (wenige vs. viele Nullwerte) Duplikatmuster (wenige vs. viele Duplikate, kleine Duplikatcluster vs. große Duplikatcluster, Verschiedenartigkeit von Duplikaten bzw. Nichtduplikaten) Fabian Panse Duplikaterkennung 9

10 Duplikaterkennung - Warum so schwer? (Forts.) Semantische Heterogenität (Synonyme, Homonyme, etc.) Inhärente Unsicherheit von Duplikaterkennungsprozessen Anwendungsspezifische Qualitätsanforderungen (welche Fehlerart wiegt schwerer? False Positives oder False Negative) Vorhandene Ressourcen (CPU, Speicher, monolitisches vs. verteiltes System) Wenn man Datensätze über verschiedene Datenbanken hinweg betrachtet: Datenmodell-Heterogenität Schematische Heterogenität Relation vs. Attribut, Attribut vs. Wert, Relation vs. Wert Normalisiert vs. denormalisiert Fabian Panse Duplikaterkennung 10

11 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 Duplikaterkennung 11

12 Verifikation Eingabe: Gold standard (korrektes Clustering C gold ) Duplikat Clustering C, Suchraum, Paarweise Entscheidungen Ausgabe: Qualitätswert q [0, 1] Unterscheidung in: Paarbasierte Verfahren Clusterbasierte Verfahren Fabian Panse Duplikaterkennung 12

13 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 Duplikaterkennung 13

14 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 Duplikaterkennung 14

15 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 Duplikaterkennung 15

16 Clusterbasierte Verifikation [MWGM10] Grundidee: Gold standard und Duplikaterkennungsergebnis sind Clusterings Qualität als Ähnlichkeit zwischen zwei Clusterings Qualitätsmaße: Closest Cluster Recall: C q C ccrec(c, C gold ) = 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 Duplikaterkennung 16

17 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 Duplikaterkennung 17

18 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 Duplikaterkennung 18

19 Suchraumreduzierung - Grundidee Fabian Panse Duplikaterkennung 19

20 Schlüsselbasierte Suchraumreduzierung Die 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 Duplikaterkennung 20

21 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 Duplikaterkennung 21

22 Standard Blocking (Beispiel) Fabian Panse Duplikaterkennung 22

23 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 Entfernen großer Blöcke aber nicht möglich da jedes Tupel nur einmal vorkommt 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 Duplikaterkennung 23

24 Sorted Neighborhood Method [HS95] 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 Duplikaterkennung 24

25 Sorted Neighborhood Method (Beispiel) Fabian Panse Duplikaterkennung 25

26 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 Duplikaterkennung 26

27 Suffix-Array Based Blocking [dvkcc09] Eingabe: Schlüsseldefinition Minimale Suffixlänge l s Maximale 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/Blöcke pro Tupel) Entfernung aller Blöcke mit mehr als l b Einträgen Zwei Tupel im selben Block bilden ein Kandidatenpaar Fabian Panse Duplikaterkennung 27

28 Suffix-Array Based Blocking (Beispiel) 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. 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 Duplikaterkennung 28

29 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 Duplikaterkennung 29

30 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 Mehrere Schlüsseldefinitionen Ein Durchlauf pro Schlüsseldefinition Vereinigung der produzierten Suchräume (Bsp. Füge dem Suchraum alle Paare hinzu die in mindestens zwei Durchläufen als Kandidat deklariert wurden) Fabian Panse Duplikaterkennung 30

31 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 Duplikaterkennung 31

32 Duplikaterkennung - Prozessablauf Datenreinigung (Standardisierung, Entfernung einfacher Fehler) Suchraumreduzierung (Effizienzerhöhung) Attributwert Matching (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 Duplikaterkennung 32

33 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 Duplikaterkennung 33

34 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 Duplikaterkennung 34

35 Entscheidungsmodell Eingabe: 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 Schwellwertes 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 Geht natürlich nur offline (d.h. materialisierte Integration) Alternativ: Crowdsourcing, probabilistische Modellierung Fabian Panse Duplikaterkennung 35

36 Entscheidungsmodell θ U/P θ P/M candidate pair UNMATCHES POSSIBLE MATCHES MATCHES 0 sim 1 1 dst 0 Fabian Panse Duplikaterkennung 36

37 Distanzbasierte Ansätze [EIV07] Ähnlichkeitsberechnung: Jedes Tupel als langen String betrachten und Stringähnlichkeitsmaß (z.b. Levenshtein) verwenden (in diesem Fall wird der Vergleichsvektor nicht genutzt) Gewichteter Durchschnitt aller Attributähnlichkeiten Maximum Weighted Matching zwischen den Attributwerten beider Tupel (wenn attributübergreifende Ähnlichkeiten existieren) Distanz im Vektorraum Fabian Panse Duplikaterkennung 37

38 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 sim = 1 dst(p, 1) dst(0, 1) Wahl des Distanzmaßes dst: Euklidische Distanz Manhattan Distanz etc. = dst(0, P) dst(0, 1) Fabian Panse Duplikaterkennung 38

39 Regelbasierte Ansätze [WM89] 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 und ist entweder über den Ähnlichkeitsvektor oder die Attributwerte selber definiert: Prämisse = (term 1,1 term 1,2...)... (term n,1 term n,2...) Die Schlussfolgerung ist Match oder Unmatch Fabian Panse Duplikaterkennung 39

40 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 Profilbasierter Ansatz: Positive Regeln (Schlussfolgerung ist Match) und negative Regeln (Schlussfolgerung ist Unmatch) Regeln werden der Reihe nach geprüft bis eine feuert Reihenfolge in der die Regeln geprüft werden ist relevant Fabian Panse Duplikaterkennung 40

41 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 Duplikaterkennung 41

42 Clusterbasierte Ansätze [DHI12] Grundidee: Verwendung von hierarchischen Clusteringverfahren (gegeben Ähnlichkeitsmaß und Schwellwert θ) 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 Duplikaterkennung 42

43 Clusterbasierte Ansätze 1-similarity 1 iteration step 3 iteration step 2 Θ iteration step 1 0 e 1 e 2 e 3 e 4 e 5 Fabian Panse Duplikaterkennung 43

44 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 Duplikaterkennung 44

45 Statistische Ansätze [EIV07, Tal11] 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, sonst. Umformung gemäß Satz des Bayes (Logarithmus hält die Wertebereiche klein): { ( M, if Pr( c M) ) ( log2 Pr( c U) Pr(U) log2 classify(t i, t j ) = Pr(M)), U, sonst. Fabian Panse Duplikaterkennung 45

46 Statistische Ansätze Vorraussetzungen: Schätzungen oder statistische Erhebungen für die einzelnen Wahrscheinlichkeiten Pr( c M) Da es unendliche viele Vergleichsvektoren gibt, lassen sich die Wahrscheinlichkeiten nicht statistisch bestimmen Benutzung eines Matching Pattern 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} Fabian Panse Duplikaterkennung 46

47 Statistische Ansätze Berechne die Wahrscheinlichkeiten, dass p typisch für einen Match bzw. Unmatch ist Annahme von Unabhängigkeit zwischen verschiedenen Attributpaaren (Naive Bayes) Vorraussetzungen: Pr( p M) = p i=1 Pr( p U) = p i=1 Pr( p[i] M) Pr( p[i] U) Schätzungen oder statistische Erhebungen für die einzelnen Wahrscheinlichkeiten Pr( p[i] M) und Pr( p[i] U) Fabian Panse Duplikaterkennung 47

48 Statistische Ansätze (Beispiel) Binäres Pattern: probability patterns Fabian Panse Duplikaterkennung 48

49 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 Duplikaterkennung 49

50 Statistische Ansätze (Beispiel) Ternäres Pattern: probability patterns Fabian Panse Duplikaterkennung 50

51 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 Duplikaterkennung 51

52 Statistische Ansätze (Beispiel) Vergleich: Binär vs Ternär Tupelpaar Vergleichsvektor Binäres Pattern Ternäres Pattern {t 1, t 2 } 0.4, 1.0 0, 1 1, 2 {t 1, t 3 } 0.7, 0.7 1, 1 2, 1 {t 1, t 4 } 0.9, 1.0 1, 1 2, 2 {t 1, t 5 } 0.1, 0.6 0, 1 0, 1 {t 1, t 6 } 0.6, 0.6 0, 1 1, 1 Ternäres Pattern deutlich diskriminierender als binäres Fabian Panse Duplikaterkennung 52

53 Lernbasierte Ansätze Unüberwachte Lernverfahren: keine Trainingsdaten erforderlich Überwachte Lernverfahren: Trainingsdaten erforderlich Trainingsdaten sind die Vergleichsvektoren von Tupelpaaren von 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 Duplikaterkennung 53

54 Unüberwachte Lernverfahren [EIV07] Constrained Clustering: Clustern der Vergleichsvektoren in zwei Cluster (z.b. 2-Means) Markiere das Cluster das sich näher an Punkt 1 = (1, 1,..., 1) befindet als Menge der Matches (und das andere als Menge der Unmatches) 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 Duplikaterkennung 54

55 Constrained Clustering - Beispiel 1 0 Fabian Panse Duplikaterkennung 55

56 Constrained Clustering - Beispiel Clustern aller Vergleichsvektoren in 2 Cluster Fabian Panse Duplikaterkennung 55

57 Constrained Clustering - Beispiel 1 MATCH UNMATCH 0 2. Automatische Klassifikation basierend auf den Abständen der Clusterzentren zu Punkt 1 Fabian Panse Duplikaterkennung 55

58 Unconstrained Clustering - Beispiel 1 0 Fabian Panse Duplikaterkennung 56

59 Unconstrained Clustering - Beispiel Cluster Vergleichsvektoren Fabian Panse Duplikaterkennung 56

60 Unconstrained Clustering - Beispiel Manuelle Klassifikation einiger Vektoren Fabian Panse Duplikaterkennung 56

61 Unconstrained Clustering - Beispiel MATCH MATCH 1 MATCH UNMATCH UNMATCH 0 3. Automatische Klassifikation aller anderen Vektoren Fabian Panse Duplikaterkennung 56

62 Unconstrained Clustering - Beispiel 1 0 Problem: Großer manueller Aufwand bei vielen Clustern Fabian Panse Duplikaterkennung 56

63 Ü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 (Berwertung von besten ) wird häufig der Information Gain oder der Giny Index verwendet Das Ergebnis kann als eine Menge von Regeln betrachtet werden (siehe regelbasierte Entscheidungsmodelle) Fabian Panse Duplikaterkennung 57

64 Einleitung Distanzbasiert Duplikaterkennung Regelbasiert Maschinelles Lernen (ML) Referenzen Entscheidungsbäume Überwachtes ML Entscheidungsbäume (Beispiel) 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 Duplikaterkennung 58

65 Überwachte Lernverfahren Support-Vector Machine: 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 Duplikaterkennung 59

66 Support-Vector Machine (Beispiel) berwachtes ML Support Vector Machines (SVM) II Neuere Methoden zur Entscheidungsfindung in der Duplikatenerkennung Steffen Friedrich Fabian Panse Duplikaterkennung 60

67 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 Duplikaterkennung 61

68 Duplikat Clustering - Motivation Input: Eine Menge an paarweisen Duplikatsentscheidungen Diese Entscheidungen sind unabhängig voneinander getroffen worden 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 Duplikaterkennung 62

69 Duplicate-Pair Graph [HCML09, NH10] 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 Duplikaterkennung 63

70 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 Duplikaterkennung 64

71 Partitioning based on Centers [HCML09, NH10] 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 Duplikaterkennung 65

72 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 Duplikaterkennung 66

73 Partitioning based on Centers - Beispiel {1, 2} Fall 4 1 neuer Center { 1, 2 } {1, 4} Fall 3 - { 1, 2, 4 } {5, 6} Fall 4 5 neuer Center { 1, 2, 4, 5, 6 } {7, 8} Fall 4 7 neuer Center { 1, 2, 4, 5, 6, 7, 8 } {3, 6} Fall 2 3 neuer Center { 1, 2, 4, 3, 5, 6, 7, 8 } {6, 10} Fall 2 10 neuer Center { 1, 2, 4, 3, 5, 6, 7, 8, 10 } {2, 3} Fall 1 - { 1, 2, 4, 3, 5, 6, 7, 8, 10 } {2, 4} Fall 1 - { 1, 2, 4, 3, 5, 6, 7, 8, 10 } {3, 5} Fall 1 - { 1, 2, 4, 3, 5, 6, 7, 8, 10 } Knoten 9 hat keine Kante { 1, 2, 4, 3, 5, 6, 7, 8, 9, 10 } Fabian Panse Duplikaterkennung 67

74 Edge Removal [NH10] 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 Duplikaterkennung 68

75 Edge Removal - Beispiel Einfaches Beispiel: Entferne alle Kanten mit Gewicht kleiner als 0.8 Fabian Panse Duplikaterkennung 69

76 Nutzen von Beziehungsinformationen in komplexen DB Nachbarschaftsähnlichkeit: Ähnlichkeit der korrelierenden Datenobjekte Beispiel: Anteil gleicher Akteure zweier Filme Kollektive Duplikaterkennung: Duplikatsentscheidung zweier Objekte hat Einfluß auf Duplikatsentscheidungen benachbarter Objekte Beispiel: Zwei als Duplikat identifizierte Schauspieler erhöhen die Wahrscheinlichkeit, dass deren Filme auch Duplikate sind Iterativ über vollständige Duplikatclusterings Queue-basiert für einzlene Objektpaare Negative Regeln: Objektbeziehungen die auf Nichtduplikate hinweisen Beispiel: Personen die gemeinsam Autor eines Artikels sind Fabian Panse Duplikaterkennung 70

77 Fabian Panse Duplikaterkennung 71

78 Agenda Duplikaterkennung 1 Duplikaterkennung Einleitung Verifikation Suchraumreduzierung Attributwert Matching Entscheidungsmodell Duplikat Clustering Komplexe Datenbanken 2 Fabian Panse Duplikaterkennung 72

79 Completeness, Conciseness, and Correctness Vollständigkeit, Korrektheit von Integrationsergebnissen 23 Extensionale Vollständigkeit : Behebung von Unsicherheiten und Widersprüchen Intensionale Vollständigkeit Quelle: Luna Dong, Felix Naumann [DN09] Fabian Panse Duplikaterkennung 73

80 Überblick [LN06] 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 Duplikaterkennung 74

81 Überblick [DN09] Data Fusion Conflict types Resolution strategies Operators Resolution functions Uncertainty Contradiction Join-based Possible worlds Subsumption Aggregation Union-based Consistent answers Complementation Advanced functions Ignorance Avoidance Resolution Instance-based Metadata-based Instance-based Metadata-based Fabian Panse Duplikaterkennung 75

82 Datenkonflikte Duplikaterkennung amazon.de Konflikt kann auch mit NULL-Wert herrschen H. Melville $3.98 ID Herman Melville Moby Dick $5.99 bol.de Fabian Panse Duplikaterkennung 76

83 Ursachen für Konflikte innerhalb einer Datenquelle [DN09] Kein Integritäts- oder Konsistenzcheck Redundanzen im Schema (z.b. Geburtsdatum und Alter) Tippfehler, Übertragungsfehler, falsche Berechnungen Verschiedene Varianten Kantstr. / Kantstrasse / Kant Str. / Kant Strasse Kolmogorov / Kolmogoroff / Kolmogorow Typische Vertauschungen (OCR) U V, 0 o, 1 l, etc. Obsolete Werte Verschiedene Aktualisierungshäufigkeit, vergessene Aktualisierungen Fabian Panse Duplikaterkennung 77

84 Ursachen für Konflikte zwischen Datenquellen [DN09] Lokal konsistent, aber global inkonsistent (z.b. Primärschlüssel) Unterschiedliche Datentypen Lokale Schreibvarianten und Konventionen Adressen St Street, Ave Avenue, etc. R.-Breitscheid-Str. 72 a Rudolf-Breitscheid.-Str. 72A 128 Schreibweisen für Frankfurt am Main (z.b. Frankfurt a.m., Frankfurt/M, Frankfurt, Frankfurt a. Main) Namen Dr. Ing. h.c. F. Porsche AG Hewlett-Packard Development Company, L.P. Numerische Daten = 10T EURO = 10k EUR = ,00 = 10,000.- Telefonnummern, Geburtsdaten, etc. Lokal gebräuchliche Wörter (z.b. verkuzelt, rummähren) Fabian Panse Duplikaterkennung 78

85 Nullwert Semantiken unbekannt Es gibt einen Wert, den kennen wir aber nicht Zum Beispiel: Unbekannte Adresse nicht zutreffend (not applicable) Es gibt keinen sinnhaften Wert Zum Beispiel: Ehepartner bei Singles/Unverheirateten vorenthalten (withheld) Es gibt einen Wert, wir sind aber nicht authorisiert ihn zu sehen Zum Beispiel: Private Telefonnummer nicht bekannt ob fehlend, nicht zutreffend oder vorenthalten No information Semantik ANSI/X3/SPARC interim report von 1975: 14 verschiedene Nullwert Semantiken Fabian Panse Duplikaterkennung 79

86 Konfliktbeziehungen [LN06] 1 Gleichheit: Die Tupel sind in allen Attributwerten identisch. 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 Widerspruch (contradiction): Bei Widerspruchen gibt es mindestens ein Attribut, in dem beide Tupel unterschiedliche Werte haben, die nicht NULL sind. Fabian Panse Duplikaterkennung 80

87 Konfliktbeziehungen Beispiele [LN06] 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 Welche Tupel sind gleich? (t 1 und t 2 ) Welches Tupel subsumiert welches andere Tupel? (t 3 und t 6 subsumieren beide t 4 ) Welche Tupel komplementieren einander? (t 3 und t 6 ) Welche Tupel widersprechen sich? (t 3 undt 5, t 1 und t 6, etc.) Fabian Panse Duplikaterkennung 81

88 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 Duplikaterkennung 82

89 Interne Konfliktlösungsfunktionen [DN09] Function Description Examples Min, Max, Sum, Count, Avg Standard aggregation NumChildren, Salary, Height Random Random choice Shoe size Longest, Shortest Longest/shortest value First_name Choose(source) Value from a particular source DoB (DMV), CEO (SEC) ChooseDepending(val, col) Value depends on value chosen in other column Vote Majority decision Rating Coalesce First non-null value First_name Group, Concat Group or concatenate all values Book_reviews MostRecent Most recent (up-to-date) value Address MostAbstract, MostSpecific, CommonAncestor Use a taxonomy / ontology city & zip, & employer Location Escalate Export conflicting values gender Fabian Panse Duplikaterkennung 83

90 Interne Konfliktlösungsfunktionen [DN09] conflict resolution strategies conflict ignorance Escalate instance based Coalesce ChooseDepending Concat conflict avoidance metadata based Choose instance based conflict resolution metadata based deciding mediating deciding mediating MIN, MAX Random Vote AVG, SUM MostRecent MostAbstract MostSpecific CommonAncestor Fabian Panse Duplikaterkennung 84

91 Minimum Union Minimum Union [DN09] 40 A B C a b c e f g m n o A B D + a b = e f h m p A B C D a b c a b e f g e f h A B C D a b c e f g e f h m n o m n o m p m p Union: Eliminierung exakter Duplikate Minimum Union: Eliminierung subsumierter Tupel Weitere Relationale Operatoren: Full Disjunction: Minimum Union über Full-Outer Join mehrerer Quellpaare Complement Union: Outer-Union mit Komplementierung Fabian Panse Data Fusion VLDB 2009 Tutorial Duplikaterkennung Luna Dong & Felix Naumann 85

92 Weitere Aspekte Duplikaterkennung ICAR Eigenschaften binärer Konfliktlösungsfunktionen: Idempotenz (d.h. g(x, x) = x) Kommutativität (d.h. g(x, y) = g(y, x)) Assoziativität (d.h. g(z, g(x, y)) = g(x, g(y, z))) Repräsentativität (d.h. x z g(x, y) z) Lernende Verfahren zur Konfliktbehebung Erkennen von Kopiemustern zwischen Datenquellen Aufbau und Nutzen von Trust Mappings Fabian Panse Duplikaterkennung 86

93 Literatur I Duplikaterkennung [DHI12] [DN09] Anhai Doan, Alon Halevy, and Zachary Ives. Principles of Data Integration. Morgan Kaufmann, Luna Dong and Felix Naumann. Data Fusion. VLDB Tutorial, [dvkcc09] [EIV07] [HCML09] Timothy de Vries, Hui Ke, Sanjay Chawla, and Peter Christen. Robust record linkage blocking using suffix arrays. In CIKM, pages , Ahmed K. Elmagarmid, Panagiotis G. Ipeirotis, and Vassilios S. Verykios. Duplicate Record Detection: A Survey. IEEE Trans. Knowl. Data Eng., 19(1):1-16, Oktie Hassanzadeh, Fei Chiang, Renee J. Miller, and Hyun Chul Lee. Framework for evaluating clustering algorithms in duplicate detection. PVLDB,2(1): , Fabian Panse Duplikaterkennung 87

94 Literatur II Duplikaterkennung [HS95] [LN06] [MWGM10] [NH10] Mauricio A. Hernandez and Salvatore J. Stolfo. The Merge/Purge Problem for Large Databases. In SIGMOD Conference, pages , Ulf Leser and Felix Naumann. Informationsintegration. dpunkt.verlag, In German. David Menestrina, Steven Whang, and Hector Garcia-Molina. Evaluating entity resolution results. PVLDB, 3(1): , Felix Naumann and Melanie Herschel. An Introduction to Duplicate Detection. Synthesis Lectures on Data Management. Morgan & Claypool Publishers, Fabian Panse Duplikaterkennung 88

95 Literatur III Duplikaterkennung [Tal11] [WM89] John R. Talburt. Entity Resolution and Information Quality. Morgan Kaufman Publ. Inc., Y. Richard Wang and Stuart E. Madnick. The Inter-Database Instance Identification Problem in Integrating Autonomous Systems. In Proceedings of the 5th International Conference on Data Engineering (ICDE), pages 46-55, Fabian Panse Duplikaterkennung 89

Duplikaterkennung & Datenfusion

Duplikaterkennung & Datenfusion & Datenfusion Fabian Panse 10.09.2014 Fabian Panse II Duplikaterkennung & Datenfusion 10.09.2014 1 / 70 Einleitung Duplikaterkennung - Motivation Daten sind häufig von Qualitätsmängeln betroffen: Unvollständigkeit

Mehr

Duplikaterkennung. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme

Duplikaterkennung. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme Komplexe Informationssysteme Fabian Panse panse@informatik.uni-hamburg.de Universität Hamburg Duplikaterkennung Fabian Panse Duplikaterkennung 2 Duplikaterkennung - Motivation Daten sind häufig von Qualitätsmängeln

Mehr

Duplikaterkennung. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme

Duplikaterkennung. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme Komplexe Informationssysteme Fabian Panse panse@informatik.uni-hamburg.de Universität Hamburg Duplikaterkennung Fabian Panse Duplikaterkennung 2 Duplikaterkennung - Motivation Daten sind häufig von Qualitätsmängeln

Mehr

Seminar Duplikaterkennung

Seminar Duplikaterkennung Seminar Duplikaterkennung Themenvorstellung Sascha Szott (FG Informationssysteme, HPI) 16. April 2008 Themenvorstellung 1 Yan et al.: Adaptive Sorted Neighborhood Methods for Efficient Record Linkage (dazu:

Mehr

Duplikaterkennung. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Duplikaterkennung / 17

Duplikaterkennung. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Duplikaterkennung / 17 Dr. Armin Roth arminroth.de 27.04.2013 Dr. Armin Roth (arminroth.de) II Duplikaterkennung 27.04.2013 1 / 17 Agenda 1 Wiederholung: Datenwertintegration 2 Duplikaterkennung Dr. Armin Roth (arminroth.de)

Mehr

Data Lineage / Data Fusion

Data Lineage / Data Fusion Data Lineage / Data Fusion Dr. Armin Roth arminroth.de 27.04.2013 Dr. Armin Roth (arminroth.de) II Data Lineage / Data Fusion 27.04.2013 1 / 38 Agenda 1 Data Lineage Herkunft existierender Daten Herkunft

Mehr

II Heterogenität und Architekturen

II Heterogenität und Architekturen II Heterogenität und Dr. Armin Roth arminroth.de 24.04.2013 Dr. Armin Roth (arminroth.de) II Heterogenität und 24.04.2013 1 / 24 Agenda 1 Semantische Heterogenität 2 Architekturparadigmen PDMS Dr. Armin

Mehr

Duplikaterkennung - Motivation Masterseminar. Felix Naumann Hasso-Plattner-Institut

Duplikaterkennung - Motivation Masterseminar. Felix Naumann Hasso-Plattner-Institut Duplikaterkennung - Motivation Masterseminar 16.4.2008 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Datenqualität Datenfehler und ihre Ursachen Datenreinigung i Duplikaterkennung

Mehr

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing SE Data Cleansing Domain-independent independent Duplicate Detection Vortrag von Marko Pilop & Jens Kleine http://www.informatik.hu-berlin.de/~pilop/didd.pdf {pilop jkleine}@informatik.hu-berlin.de 1.0

Mehr

Informationsqualität Antrittsvorlesung am

Informationsqualität Antrittsvorlesung am Informationsqualität Antrittsvorlesung am 26.4.2007 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Informationsqualität Informationsintegration Duplikaterkennung Ähnlichkeit

Mehr

Datenqualität und Datenreinigung

Datenqualität und Datenreinigung Datenqualität und Datenreinigung FGBS Herbsttreffen 10. November 2011 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Datenqualität Datenfehler und ihre Ursachen Datenreinigung

Mehr

Seminar Duplikaterkennung Organisatorisches und Themen. Sascha Szott, Felix Naumann

Seminar Duplikaterkennung Organisatorisches und Themen. Sascha Szott, Felix Naumann Seminar Duplikaterkennung Organisatorisches und Themen Sascha Szott, Felix Naumann Ziele des Seminars 2 Duplikaterkennung Verstehen in allen Facetten Konsolidierung von Algorithmen Benchmarking / Testing

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine

Mehr

Mathematische Grundlagen III

Mathematische Grundlagen III Mathematische Grundlagen III Maschinelles Lernen III: Clustering Vera Demberg Universität des Saarlandes 7. Juli 202 Vera Demberg (UdS) Mathe III 7. Juli 202 / 35 Clustering vs. Klassifikation In den letzten

Mehr

Informationsintegration Große Datenräume in Web-basierten Umgebungen

Informationsintegration Große Datenräume in Web-basierten Umgebungen Informationsintegration Große Datenräume in Web-basierten Umgebungen Felix Naumann Humboldt-Universität zu Berlin naumann@informatik.hu-berlin.de Einige Untertitel Content Merging Objekt Fusion Datenintegration

Mehr

Datenqualität, -fusion und -herkunft

Datenqualität, -fusion und -herkunft Datenqualität, -fusion und -herkunft Komplexe Informationssysteme Fabian Panse panse@informatik.uni-hamburg.de Universität Hamburg Datenqualität Fabian Panse Datenqualität, -fusion und -herkunft 2 Datenfehler

Mehr

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten Projektgruppe Jennifer Post Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten 2. Juni 2010 Motivation Immer mehr Internet-Seiten Immer mehr digitale Texte Viele Inhalte ähnlich oder gleich

Mehr

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Daniel Reinhold Shenja Leiser 6. Februar 2006 2/28 Gliederung Einführung Transitive Hülle Definition Iterative Algorithmen 1. Naive

Mehr

Entscheidungsbäume aus großen Datenbanken: SLIQ

Entscheidungsbäume aus großen Datenbanken: SLIQ Entscheidungsbäume aus großen Datenbanken: SLIQ C4.5 iteriert häufig über die Trainingsmenge Wie häufig? Wenn die Trainingsmenge nicht in den Hauptspeicher passt, wird das Swapping unpraktikabel! SLIQ:

Mehr

Clustern: Voraussetzungen

Clustern: Voraussetzungen Clustering Gruppen (Cluster) ähnlicher Elemente bilden Elemente in einem Cluster sollen sich möglichst ähnlich sein, u. den Elementen in anderen Clustern möglichst unähnlich im Gegensatz zu Kategorisierung

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Vorbemerkungen 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer

Mehr

Deklarative Informationsextraktion

Deklarative Informationsextraktion Deklarative Informationsextraktion Alexander Behringer (alexander.behringer@informatik.hu-berlin.de) Im Rahmen der Vorlesung «Text Analytics» (U. Leser) 15.11.2012 1 / 29 Fahrplan Einführung XLog Erweiterte

Mehr

Workshop Datenreinigung Duplikaterkennung Felix Naumann

Workshop Datenreinigung Duplikaterkennung Felix Naumann Workshop Datenreinigung Duplikaterkennung 11.10.2011 Felix Naumann Überblick 2 Das Problem der Duplikaterkennung Ähnlichkeitsmaße Edit Distance et al. Algorithmen Naiv Blocking Sorted-Neighborhood Methode

Mehr

Klassifikation und Ähnlichkeitssuche

Klassifikation und Ähnlichkeitssuche Klassifikation und Ähnlichkeitssuche Vorlesung XIII Allgemeines Ziel Rationale Zusammenfassung von Molekülen in Gruppen auf der Basis bestimmter Eigenschaften Auswahl von repräsentativen Molekülen Strukturell

Mehr

VII Unüberwachte Data-Mining-Verfahren

VII Unüberwachte Data-Mining-Verfahren VII Unüberwachte Data-Mining-Verfahren Clusteranalyse Assoziationsregeln Generalisierte Assoziationsregeln mit Taxonomien Formale Begriffsanalyse Self Organizing Maps Institut AIFB, 00. Alle Rechte vorbehalten.

Mehr

1. Referenzpunkt Transformation

1. Referenzpunkt Transformation 2.3 Featurereduktion Idee: Anstatt Features einfach wegzulassen, generiere einen neuen niedrigdimensionalen Featureraum aus allen Features: Redundante Features können zusammengefasst werden Irrelevantere

Mehr

INTELLIGENTE DATENANALYSE IN MATLAB. Überwachtes Lernen: Entscheidungsbäume

INTELLIGENTE DATENANALYSE IN MATLAB. Überwachtes Lernen: Entscheidungsbäume INTELLIGENTE DATENANALYSE IN MATLAB Überwachtes Lernen: Entscheidungsbäume Literatur Stuart Russell und Peter Norvig: Artificial Intelligence. Andrew W. Moore: http://www.autonlab.org/tutorials. 2 Überblick

Mehr

Inhalt. 4.1 Motivation. 4.2 Evaluation. 4.3 Logistische Regression. 4.4 k-nächste Nachbarn. 4.5 Naïve Bayes. 4.6 Entscheidungsbäume

Inhalt. 4.1 Motivation. 4.2 Evaluation. 4.3 Logistische Regression. 4.4 k-nächste Nachbarn. 4.5 Naïve Bayes. 4.6 Entscheidungsbäume 4. Klassifikation Inhalt 4.1 Motivation 4.2 Evaluation 4.3 Logistische Regression 4.4 k-nächste Nachbarn 4.5 Naïve Bayes 4.6 Entscheidungsbäume 4.7 Support Vector Machines 4.8 Neuronale Netze 4.9 Ensemble-Methoden

Mehr

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer Clusterstruktur kennen, verschiedene

Mehr

INTELLIGENTE DATENANALYSE IN MATLAB

INTELLIGENTE DATENANALYSE IN MATLAB INTELLIGENTE DATENANALYSE IN MATLAB Überwachtes Lernen: Entscheidungsbäume Literatur Stuart Russell und Peter Norvig: Artificial i Intelligence. Andrew W. Moore: http://www.autonlab.org/tutorials. 2 Überblick

Mehr

Clustering 2010/06/11 Sebastian Koch 1

Clustering 2010/06/11 Sebastian Koch 1 Clustering 2010/06/11 1 Motivation Quelle: http://www.ha-w.de/media/schulung01.jpg 2010/06/11 2 Was ist Clustering Idee: Gruppierung von Objekten so, dass: Innerhalb einer Gruppe sollen die Objekte möglichst

Mehr

... Text Clustern. Clustern. Einführung Clustern. Einführung Clustern

... Text Clustern. Clustern. Einführung Clustern. Einführung Clustern Clustern Tet Clustern Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so daß: Beispiele innerhalb eines Clusters sich sehr ähnlich Beispiele in verschiedenen Clustern

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.

Mehr

Duplikaterkennung und Datenfusion

Duplikaterkennung und Datenfusion Duplikaterkennung und Datenfusion Kolloquium Stuttgart, 6.7.2004 Felix Naumann Humboldt-Universität zu Berlin Humboldt-Universität zu Berlin 22.04.2004 Felix Naumann, Humboldt-Universität zu Berlin 2 Humboldt-Universität

Mehr

Informationsintegration Datenfusion: Union und Co.

Informationsintegration Datenfusion: Union und Co. Informationsintegration Datenfusion: Union und Co..7.006 Jens Bleiholder When you use information from one source, it s plagiarism; when you use information from many sources, it s information fusion.

Mehr

Data Mining auf Datenströmen Andreas M. Weiner

Data Mining auf Datenströmen Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Integriertes Seminar Datenbanken und Informationssysteme Sommersemester 2005 Thema: Data Streams Andreas

Mehr

Datenintegration. Kapitel 0: Organisatorisches. Dr. Anika Groß Sommersemester 2016

Datenintegration. Kapitel 0: Organisatorisches. Dr. Anika Groß Sommersemester 2016 Datenintegration Datenintegration Kapitel 0: Organisatorisches Dr. Anika Groß Sommersemester 2016 Universität Leipzig Institut für Informatik http://dbs.uni-leipzig.de 1 Organisatorisches Termin: donnerstags,

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

Nutzung maschinellen Lernens zur Extraktion von Paragraphen aus PDF-Dokumenten

Nutzung maschinellen Lernens zur Extraktion von Paragraphen aus PDF-Dokumenten Nutzung maschinellen Lernens zur Extraktion von Paragraphen aus PDF-Dokumenten Albert-Ludwigs-Universität zu Freiburg 13.09.2016 Maximilian Dippel max.dippel@tf.uni-freiburg.de Überblick I Einführung Problemstellung

Mehr

Autonomie & Heterogenität

Autonomie & Heterogenität Autonomie & Heterogenität Komplexe Informationssysteme Fabian Panse panse@informatik.uni-hamburg.de Universität Hamburg Probleme Einführung Autonomie Heterogenität Daten sind auf mehrere Quellen verteilt

Mehr

Wissensentdeckung in Datenbanken

Wissensentdeckung in Datenbanken Wissensentdeckung in Datenbanken SQL, Häufige Mengen Nico Piatkowski und Uwe Ligges 11.05.2017 1 von 16 Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

Learning to Rank Sven Münnich

Learning to Rank Sven Münnich Learning to Rank Sven Münnich 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 1 Übersicht 1. Einführung 2. Methoden 3. Anwendungen 4. Zusammenfassung & Fazit 06.12.12 Fachbereich 20 Seminar

Mehr

Maschinelles Lernen: Symbolische Ansätze

Maschinelles Lernen: Symbolische Ansätze Maschinelles Lernen: Symbolische Ansätze Musterlösung für das 7. Übungsblatt Aufgabe 1 Gegeben sei folgende Beispielmenge: Day Outlook Temperature Humidity Wind PlayTennis D1? Hot High Weak No D2 Sunny

Mehr

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Einleitung In welchen Situationen ist Apriori teuer, und warum? Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Data Warehousing und Mining 1 Data Warehousing und Mining 2 Schnelles Identifizieren

Mehr

A linear-regression analysis resulted in the following coefficients for the available training data

A linear-regression analysis resulted in the following coefficients for the available training data Machine Learning Name: Vorname: Prof. Dr.-Ing. Klaus Berberich Matrikel: Aufgabe 1 2 3 4 Punkte % % (Bonus) % (Gesamt) Problem 1 (5 Points) A linear-regression analysis resulted in the following coefficients

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Universität Leipzig Institut für Informatik Auffinden von Dubletten in ECommerce Datenbeständen

Universität Leipzig Institut für Informatik Auffinden von Dubletten in ECommerce Datenbeständen Universität Leipzig Institut für Informatik Auffinden von Dubletten in ECommerce Datenbeständen Hanna Köpcke AG 3: Objekt Matching Agenda Problemstellung FEVER-System - Manuell definierte Match-Strategien

Mehr

Using Sets of Feature Vectors for Similarity Search on Voxelized CAD Data

Using Sets of Feature Vectors for Similarity Search on Voxelized CAD Data Diplomarbeit Using Sets of Feature Vectors for Similarity Search on Voxelized CAD Data Stefan Brecheisen Aufgabensteller: Betreuer: Dank an: Prof. Dr. Hans-Peter Kriegel Martin Pfeifle Peer Kröger, Matthias

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Häufige Mengen ohne Kandidatengenerierung. FP-Tree: Transaktionen. Konstruktion eines FP-Trees. FP-Tree: Items

Häufige Mengen ohne Kandidatengenerierung. FP-Tree: Transaktionen. Konstruktion eines FP-Trees. FP-Tree: Items Häufige Mengen ohne Kandidatengenerierung Jiawei Han, Micheline Kamber 2006 (2nd ed.)! Ziel 1: Kompression der Datenbank in eine Frequent-Pattern Tree Struktur (FP-Tree)! Stark komprimiert, vollständig

Mehr

IR Seminar SoSe 2012 Martin Leinberger

IR Seminar SoSe 2012 Martin Leinberger IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite

Mehr

Decision Tree Learning

Decision Tree Learning Decision Tree Learning Computational Linguistics Universität des Saarlandes Sommersemester 2011 28.04.2011 Entscheidungsbäume Repräsentation von Regeln als Entscheidungsbaum (1) Wann spielt Max Tennis?

Mehr

Beyond Information Integration: Content Merging Forschungskolloquium CIS/ISST

Beyond Information Integration: Content Merging Forschungskolloquium CIS/ISST Beyond Information Integration: Content Merging Forschungskolloquium CIS/ISST Felix Naumann naumann@informatik.hu-berlin.de Einige Untertitel Content Merging Objekt/Data Fusion Data Amalgamation Data Consolidation

Mehr

Häufige Mengen ohne Kandidatengenerierung

Häufige Mengen ohne Kandidatengenerierung Häufige Mengen ohne Kandidatengenerierung Jiawei Han, Micheline Kamber 2006 (2nd ed.) Ziel 1: Kompression der Datenbank in eine Frequent-Pattern Tree Struktur (FP-Tree) Stark komprimiert, vollständig bzgl.

Mehr

Anwendung (2. Versuch:-) Entkopplung der Locks

Anwendung (2. Versuch:-) Entkopplung der Locks Gut gemeint aber leider fehlerhaft... Jeder Producer benötigt zwei Locks gleichzeitig, um zu produzieren: 1. dasjenige für den Puffer; 2. dasjenige für einen Semaphor. Musser fürden Semaphor einwait()

Mehr

Vergleich von SVM und Regel- und Entscheidungsbaum-Lernern

Vergleich von SVM und Regel- und Entscheidungsbaum-Lernern Vergleich von SVM und Regel- und Entscheidungsbaum-Lernern Chahine Abid Bachelor Arbeit Betreuer: Prof. Johannes Fürnkranz Frederik Janssen 28. November 2013 Fachbereich Informatik Fachgebiet Knowledge

Mehr

Begriffsklärung: Dominanz

Begriffsklärung: Dominanz Einführung Begriffsklärung: Dominanz Gegeben: d-dimensionaler Raum, jeder Punkt p im Raum hat d Attribute: (p 1,,p d ) Definition Dominanz: 1 i d : p i p i und 1 i d : p i < p i Begriffsklärung: Dominanz

Mehr

Inhalt. 6.1 Motivation. 6.2 Klassifikation. 6.3 Clusteranalyse. 6.4 Asszoziationsanalyse. Datenbanken & Informationssysteme / Kapitel 6: Data Mining

Inhalt. 6.1 Motivation. 6.2 Klassifikation. 6.3 Clusteranalyse. 6.4 Asszoziationsanalyse. Datenbanken & Informationssysteme / Kapitel 6: Data Mining 6. Data Mining Inhalt 6.1 Motivation 6.2 Klassifikation 6.3 Clusteranalyse 6.4 Asszoziationsanalyse 2 6.1 Motivation Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Erkenntnisse (actionable

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Kürzeste Wege, Heaps, Hashing Heute: Kürzeste Wege: Dijkstra Heaps: Binäre Min-Heaps Hashing:

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

Folien zu Data Mining von I. H. Witten und E. Frank. übersetzt von N. Fuhr

Folien zu Data Mining von I. H. Witten und E. Frank. übersetzt von N. Fuhr Folien zu Data Mining von I. H. Witten und E. Frank übersetzt von N. Fuhr Von Naivem Bayes zu Bayes'schen Netzwerken Naiver Bayes Annahme: Attribute bedingt unabhängig bei gegebener Klasse Stimmt in der

Mehr

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y Kapitel 7 Normalformen und DB-Entwurf Kap. 7.1 Normalformen Theorie Funktionale Abhängigkeit: f X Y f als Relation, d.h. Menge von Paaren {(x,y)} x: Definitions-Stelle, y: Funktionswert f ist Funktion

Mehr

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Wintersemester

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 10 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

2. Klausur Datenstrukturen und Algorithmen SS 2014

2. Klausur Datenstrukturen und Algorithmen SS 2014 Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder 2. Klausur Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik

Mehr

Geodatenintegration unter Nutzung von Linked Data Prinzipien Stefan Wiemann Technische Universität Dresden

Geodatenintegration unter Nutzung von Linked Data Prinzipien Stefan Wiemann Technische Universität Dresden 14. Seminar GIS & Internet UniBw München, 17. 18.09.2014 Geodatenintegration unter Nutzung von Linked Data Prinzipien Stefan Wiemann Technische Universität Dresden Motivation Isolierte Daten Verlinkte

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Linkage Flooding: Ein Algorithmus zur dateninhaltsorientierten Fusion in vernetzten Informationsbeständen

Linkage Flooding: Ein Algorithmus zur dateninhaltsorientierten Fusion in vernetzten Informationsbeständen Linkage Flooding: Ein Algorithmus zur dateninhaltsorientierten Fusion in vernetzten Informationsbeständen Vanda Lehel, Florian Matthes, Sebastian Riedel Lehrstuhl Software Engineering betrieblicher Informationssysteme

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht Topologische Sortierung (einfach) Kürzeste Wege finden

Mehr

Datenbanken Unit 3: Das relationale Modell

Datenbanken Unit 3: Das relationale Modell Datenbanken Unit 3: Das relationale Modell 8. III. 2016 Outline 1 Das ER Modell Zusammenfassung 2 Das Relationale Modell 3 SQL Organisatorisches Wissensüberprüfung: heute zwei Aufgaben statt nur einer

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren

Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit

Mehr

Codes on Graphs: Normal Realizations

Codes on Graphs: Normal Realizations Codes on Graphs: Normal Realizations Autor: G. David Forney, Jr. Seminarvortrag von Madeleine Leidheiser und Melanie Reuter Inhaltsverzeichnis Einführung Motivation Einleitung Graphendarstellungen Trellis

Mehr

Automatisiertes Auffinden von Präfix- und Suffix-Inklusionsabhängigkeiten in relationalen Datenbankmanagementsystemen

Automatisiertes Auffinden von Präfix- und Suffix-Inklusionsabhängigkeiten in relationalen Datenbankmanagementsystemen Automatisiertes Auffinden von Präfix- und Suffix-Inklusionsabhängigkeiten in relationalen Datenbankmanagementsystemen Exposé für eine Diplomarbeit Jan Hegewald Betreut von Jana Bauckmann 7. März 2007 1

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer.

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer. Anwendung Input: Query-Bild, Ergebnis: Menge ähnlicher Bilder. Kapitel 8: Ähnlichkeitsanfragen und ihre effiziente Evaluierung Wie zu finden? Corbis, NASA: EOS Bilddatenbank Folie Folie 2 Ähnlichkeitssuche

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

Kapitel 2: Ein abstraktes Geo-Datenmodell

Kapitel 2: Ein abstraktes Geo-Datenmodell LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2: Ein abstraktes Geo-Datenmodell Skript zur Vorlesung Geo-Informationssysteme Wintersemester 2013/14 Ludwig-Maximilians-Universität

Mehr