400 likes | 602 Views
Informationsintegration Schema Matching . 10.1.2006 Felix Naumann. Überblick. Klassifikation von Schema Matching Methoden [RB01] Label-basiert Instanz-basiert Struktur-basiert Mischformen Globales Matching Stable Marriage. Wdh: Schema Mapping im Kontext.
E N D
InformationsintegrationSchema Matching 10.1.2006 Felix Naumann
Überblick • Klassifikation von Schema Matching Methoden [RB01] • Label-basiert • Instanz-basiert • Struktur-basiert • Mischformen • Globales Matching • Stable Marriage Felix Naumann, VL Informationsintegration, WS 05/06
Wdh: Schema Mapping im Kontext • Schema Matching & Korrespondenzen • Schema Mapping • Mapping Interpretation • Daten-transformation Felix Naumann, VL Informationsintegration, WS 05/06
Große Schemas > 100 Tabellen, viele Attribute Bildschirm nicht lang genug Unübersichtliche Schemas Tiefe Schachtelungen Fremdschlüssel Bildschirm nicht breit genug XML Schema Fremde Schemas Unbekannte Synonyme Irreführende Schemas Unbekannte Homonyme Fremdsprachliche Schemas Kryptische Schemas |Attributnamen| 8 Zeichen |Tabellennamen| 8 Zeichen Schema Matching – Motivation Felix Naumann, VL Informationsintegration, WS 05/06
Man beachte die Scrollbar! Man beachte die Schachtelungstiefe! Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Motivation • Die Folgen • Falsche Korrespondenzen (false positives) • Fehlende Korrespondenzen (false negatives) • Frustration • User verlieren sich im Schema • User verstehen Semantik der Schemas nicht Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching Klassifikation nach [RB01] Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching Klassifikation • Schema Matching basierend auf • Namen der Schemaelemente (label-based) • Darunterliegende Daten (instance-based) • Struktur des Schemas (structure-based) • Mischformen Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Label-based • Gegeben zwei Schemata mit Attributmengen A und B • Kernidee: • Bilde Kreuzprodukt aller Attribute aus A und B. • Für jedes Paar vergleiche Ähnlichkeit bezgl. Attributnamen (Label). • Z.B. Edit-distance • Ähnlichste Paare sind Matches • Probleme: • Effizienz • Auswahl der besten Matches (globales Matching) • Iterativ? • Stable Marriage? • Synonyme und Homonyme werden nicht erkannt Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Label-based • Stand der Technik in kommerziellen Produkten • Label-based • Namensgleichheit • Kein globales Matching • Keine Ähnlichkeitsmaße • Kein Instanz-basiertes Matching Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Instance-based • Gegeben zwei Schemata mit Attributmengen A und B, jeweils mit darunterliegenden Daten. • Kernidee • Für jedes Attribute extrahiere interessante Eigenschaften der Daten • Buchstabenverteilung, Länge, etc. • Bilde Kreuzprodukt aller Attribute aus A und B. • Für jedes Paar vergleiche Ähnlichkeit bzgl. der Eigenschaften • Probleme • Auswahl der Eigenschaften • Datenmenge: Sampling • Vergleichsmethode, z.B. Naive Bayes • Gewichtung (Maschinelles Lernen) Felix Naumann, VL Informationsintegration, WS 05/06
Instance-based Schema Matching • Instance-based Schema Matching: • Correspondences based on similar data values or their properties • Conventional solution: Vertical • Comparison of columns • = Attribute classification • [ICDE‘02] • Our solution: Horizontal • Comparison of rows • = Duplicate detection (despite missing attribute correspondences) • [ICDE‘05] Felix Naumann, VL Informationsintegration, WS 05/06
Duplicate-driven Schema Matching Temporary matching A B‘ B F C E‘ D G E ? ? Felix Naumann, VL Informationsintegration, WS 05/06
Duplicate-driven Schema Matching Temporary matching A B‘ B F C E‘ D G E ? ? ? ? • Assumptions • There is data in both DBs. • There are (at least a few) duplicates in both DBs. • Equal or similar values reflect same semantics of attributes. Felix Naumann, VL Informationsintegration, WS 05/06
Duplicate-driven Schema Matching • Duplicate detection • Goal: Find the top-k duplicates. • Problems • Correspondences unknown • Possibly small intensional overlap • Schema Matching • Goal: Derive attribute correspondences from attribute values. • Problems • Attribute values only similar, not equal • Synonyms and homonyms in values Felix Naumann, VL Informationsintegration, WS 05/06
Duplicate Detection in Unaligned Tables • Cosine measure with TFIDF weights • Tuple as vector of term weights • Term weights is high if term appears often in tuple (TF) and it appears in only few tuples (IDF). • Tuple similarity is the cosine of the angle of both (normalized) vectors. „1“ „123“„Max“„601“ : 0 0.210.3 0.14 : 0.06 00.28 0.16 : Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching • Given the top K duplicates. • Find a (global) matching • I.e., each attribute has 0 or 1 correspondence. Temporary matching A B‘ B F C E‘ D G E Formalized by similarity matrix Average SoftTFIDF Felix Naumann, VL Informationsintegration, WS 05/06
2. Schema Matching – Similarity Measure • Fieldwise Comparison • Compare attribute values of record pairs.Similarity measure: Edit-distance vs. SoftTFIDF • Edit distance • Minimal number of edit operations (substitute, insert, delete); several variations exist • SoftTFIDF • ‘Soft’ variation of TFIDF that also considers similar terms Felix Naumann, VL Informationsintegration, WS 05/06
Graph Matching • Given: • Similarity matrix • = weighted bipartite graph • Find: • Maximal weight matching • Alternative: Matching with stable marriage property • Outlook • Produce mappings and not just correspondences A B C D E B‘ 0.22 0.92 0.07 0 0 F 0.60 0.60 0.07 0 0 E‘ 0 0 0 0.58 0.64 G 0 0.07 0 0.07 0.02 Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Structure-based • Gegeben zwei Schemata mit Elementmengen A und B. • Kernidee • Nutze (komplexe) Struktur des Schemas aus. • Hierarchieebene • Elementtyp (Attribut, Relation, ...) • Nachbarschaftsbeziehungen Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Structure-based • Beispiel: Similarity Flooding nach [MGMR02] • Gegeben initiale Ähnlichkeit zwischen Schemaelementen (z.B. durch edit-distance oder durch Analyse der darunterliegenden Daten) • Lasse Ähnlichkeiten „abfärben“ auf die Nachbarn • Nachbarn sind durch Struktur definiert • Sind alle Nachbarn von x und y ähnlich zueinander, sind (vielleicht) auch x und y ein match. • Analogie: Man „flutet“ das Netzwerk der Ähnlichkeiten bis ein Gleichgewicht erreicht ist. Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Mischformen • Hybrid • Gleichzeitige Anwendung mehrerer Techniken • Bsp: Instance-based + Datentypvergleich • Composite • Repertoire bekannter Techniken (inkl. hybrider Techniken) • Kombination dieser unabhängigen Verfahren • Bsp: Durch Gewichtung • Bsp: Durch automatisches Lernen • Des besten Verfahrens • Einer guten Gewichtung Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching in Clio Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Weitere Anwendungen • Herkömmlich: Korrespondenzen finden • Schlüssel – Fremdschlüssel finden • Ähnliche Attribute innerhalb eines Schemas sind gute Kandidaten • Höher-stufige Korrespondenzen finden • Ähnlichkeiten von Tabellen durch Aggregation der Matches ihrer Attribute Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Erweiterungen • 1:n, n:1 matches • Vorname, Nachname Name • Viele Kombinationsmöglichkeiten • Viele Funktionen denkbar: Mathematische Operatoren, Konkatenation, etc. • Name Vorname, Nachname • Viele Kombinationsmöglichkeiten • Parsingregeln finden! • Global matching • Matche nicht nur einzelne Attribute (oder Attributmengen) • Sondern komplette Tabellen oder komplette Schemata • Stable Marriage Problem Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Erweiterungen • n:1 und 1:n Matches • Viele Kombinationsmöglichkeiten • Viele Funktionen denkbar • Parsingregeln • Matching in komplexen Schemata • Ziel: Finde Mapping, nicht Korrespondenzen • Globales Matching • Matche Tabellen und Schemata, nicht nur Attribute • Stable Marriage bzw. Maximum Weighted Matching Vorname Name Nachname Vorname Name Nachname 1.0 A C 0.81 0.54 D B 0.27 Felix Naumann, VL Informationsintegration, WS 05/06
Überblick • Klassifikation von Schema Matching Methoden [RB01] • Label-basiert • Instanz-basiert • Struktur-basiert • Mischformen • Globales Matching • Stable Marriage Felix Naumann, VL Informationsintegration, WS 05/06
Schema Matching – Stable Marriage • Gegeben • n Frauen (Attribute in Schema A) und m Männer (Attribute in Schema B) • Monogamie • Je eine Frau kann nur mit je einem Mann verheiratet sein (nur 1:1 matches) • Jede Frau hat eine Rangliste der Männer und umgekehrt • Bei Schema Matching • Attribut-Ähnlichkeit gemäß eines der vorigen Verfahren • Rangliste ist (normalerweise) symmetrisch • Gesucht: Paarung (globales Matching), so dass niemals gilt • f1 heiratet m1, f2 heiratet m2, • aber f1 bevorzugt m2 und m2 bevorzugt f1 (Instabil!) Felix Naumann, VL Informationsintegration, WS 05/06
Stable Marriage – Beispiel • Männer (1-4) Frauen (A-D) • 1: B, D, A, C A: 2, 1, 4, 3 • 2: C, A, D, B B: 4, 3, 1, 2 • 3: B, C, A, D C: 1, 4, 3, 2 • 4: D, A, C, B D: 2, 1, 4, 3 Beispiel aus: David Toth, "The Stable Marriage Problem: More Marital Happiness than Reality TV" April 25, 2003, Connecticut College, New London, CT, USA, Felix Naumann, VL Informationsintegration, WS 05/06
Stable Marriage – Beispiel • Männer (1-4) Frauen (A-D) • 1: B, D, A, C A: 2, 1, 4, 3 • 2: C, A, D, B B: 4, 3, 1, 2 • 3: B, C, A, D C: 1, 4, 3, 2 • 4: D, A, C, B D: 2, 1, 4, 3 • 1 stellt Antrag an B, sie willigt ein: (1, B) Felix Naumann, VL Informationsintegration, WS 05/06
Stable Marriage – Beispiel • Männer (1-4) Frauen (A-D) • 1: B, D, A, C A: 2, 1, 4, 3 • 2: C, A, D, B B: 4, 3, 1, 2 • 3: B, C, A, D C: 1, 4, 3, 2 • 4: D, A, C, B D: 2, 1, 4, 3 • 1 stellt Antrag an B, sie willigt ein: (1, B) • 2 stellt Antrag an C, sie willigt ein: (1, B) (2, C) Felix Naumann, VL Informationsintegration, WS 05/06
Stable Marriage – Beispiel • Männer (1-4) Frauen (A-D) • 1: B, D, A, C A: 2, 1, 4, 3 • 2: C, A, D, B B: 4, 3, 1, 2 • 3: B, C, A, D C: 1, 4, 3, 2 • 4: D, A, C, B D: 2, 1, 4, 3 • 1 stellt Antrag an B, sie willigt ein: (1, B) • 2 stellt Antrag an C, sie willigt ein: (1, B) (2, C) • 3 stellt Antrag an B, sie willigt ein & verlässt 1: (2, C) (3, B) Felix Naumann, VL Informationsintegration, WS 05/06
Stable Marriage – Beispiel • Männer (1-4) Frauen (A-D) • 1: B, D, A, C A: 2, 1, 4, 3 • 2: C, A, D, B B: 4, 3, 1, 2 • 3: B, C, A, D C: 1, 4, 3, 2 • 4: D, A, C, B D: 2, 1, 4, 3 • 1 stellt Antrag an B, sie willigt ein : (1, B) • 2 stellt Antrag an C, sie willigt ein : (1, B) (2, C) • 3 stellt Antrag an B, sie willigt ein & verlässt 1: (2, C) (3, B) • 1 stellt Antrag an D, sie willigt ein : (1, D) (2, C) (3, B) Felix Naumann, VL Informationsintegration, WS 05/06
Stable Marriage – Beispiel • Männer (1-4) Frauen (A-D) • 1: B, D, A, C A: 2, 1, 4, 3 • 2: C, A, D, B B: 4, 3, 1, 2 • 3: B, C, A, D C: 1, 4, 3, 2 • 4: D, A, C, B D: 2, 1, 4, 3 • 1 stellt Antrag an B, sie willigt ein : (1, B) • 2 stellt Antrag an C, sie willigt ein : (1, B) (2, C) • 3 stellt Antrag an B, sie willigt ein & verlässt 1: (2, C) (3, B) • 1 stellt Antrag an D, sie willigt ein : (1, D) (2, C) (3, B) • 4 stellt Antrag an D, sie lehnt ab : (1, D) (2, C) (3, B) Felix Naumann, VL Informationsintegration, WS 05/06
Stable Marriage – Beispiel • Männer (1-4) Frauen (A-D) • 1: B, D, A, C A: 2, 1, 4, 3 • 2: C, A, D, B B: 4, 3, 1, 2 • 3: B, C, A, D C: 1, 4, 3, 2 • 4: D, A, C, B D: 2, 1, 4, 3 • 1 stellt Antrag an B, sie willigt ein : (1, B) • 2 stellt Antrag an C, sie willigt ein : (1, B) (2, C) • 3 stellt Antrag an B, sie willigt ein & verlässt 1: (2, C) (3, B) • 1 stellt Antrag an D, sie willigt ein : (1, D) (2, C) (3, B) • 4 stellt Antrag an D, sie lehnt ab: (1, D) (2, C) (3, B) • 4 stellt Antrag an A, sie willigt ein : (1, D) (2, C) (3, B) (4, A) Vier stabile Paare! Felix Naumann, VL Informationsintegration, WS 05/06
Maximum Weighted Matching • Alternative zu Stable Marriage • Suche matching mit maximalem Gewicht in bipartiten Graphen • Bipartit: • Knoten in zwei Klassen (Quelle & Ziel) • Kanten nur zwischen Knoten verschiedener Klassen (Korrespondenzen) • Maximiere Summe der einzelnen Gewichte/Ähnlichkeiten Felix Naumann, VL Informationsintegration, WS 05/06
Diskussion: Globales Matching Person Name Street ID Age Phone Kinderzahl Personal Name Telefon Alter Adresse Gehalt 0.9 0.8 0.6 1 0.1 Felix Naumann, VL Informationsintegration, WS 05/06
Diskussion: Globales Matching Produkt Name Bezeichnung ID Gewicht Volumen Lagermenge Personal Name Telefon Alter Adresse Gehalt 0.9 0.01 0.2 0.3 0.1 Felix Naumann, VL Informationsintegration, WS 05/06
Zusammenfassung • Schema Matching basierend auf • Namen der Schemaelemente (label-based) • Darunterliegende Daten (instance-based) • Struktur des Schemas (structure-based) • Mischformen, Meta-Matcher • Globales Matching Felix Naumann, VL Informationsintegration, WS 05/06
Literatur • Artikel mit der Klassifikation: • [RB01] Erhard Rahm and Philip Bernstein, A survey of approaches to automatic schema matching, VLDB Journal 10(4), 2001. • Spezielle Algorithmen • [MGMR02] Sergey Melnik, Hector Garcia-Molina, Erhard Rahm: Similarity Flooding: A Versatile Graph Matching Algorithm and Its Application to Schema Matching. ICDE 2002: 117-128 • [MH03] Jayant Madhavan, Alon Y. Halevy: Composing Mappings Among Data Sources. VLDB 2003: 572-583. • uvm. Felix Naumann, VL Informationsintegration, WS 05/06