Schema Matching
Seminar Informationsintegration und –qualität
Andreas Rumpf 7.7.2006
Gliederung
Motivation
Taxonomie
Schemabasierte Verfahren
Cupid
Similiarity Flooding
S-Match
Instanzenbasierte Verfahren
LSD
SEMINT
Evaluation
Motivation
Schema A:
<electronics>
<Photo_and_Cameras>
<PID type=string/>
<Name type=string/>
<Qty type=
positiveInteger/>
<Price type=double/>
</Photo_and_Cameras>
...
</electronics>
Schema B:
<electronics>
<Cameras_and_Photo>
<Accessories/>
<DigitalCameras/>
<ID type=int/>
<Brand type=string/>
<Amount type=int/>
<Price type=float/>
</Cameras_and_Photo>
...
</electronics>
?
Motivation
Schema A:
<electronics>
<Photo_and_Cameras>
<PID type=string/>
<Name type=string/>
<Qty type=
positiveInteger/>
<Price type=double/>
</Photo_and_Cameras>
...
</electronics>
Schema B:
<electronics>
<Cameras_and_Photo>
<Accessories/>
<DigitalCameras/>
<ID type=int/>
<Brand type=string/>
<Amount type=int/>
<Price type=float/>
</Cameras_and_Photo>
...
Taxonomie
Schema Matcher
Individuelle Matcher Kombinierende Matcher
Schemabasiert Instanzenbasiert Hybride Composite
Automatisch Manuell
Element-Ebene Struktur-Ebene
Element-Ebene
Linguistisch Constraint
Constraint
Linguistisch Constraint
Taxonomie (2)
Instanzen- vs. schemabasiert
Element- vs. Struktur-Matching
Sprache vs. Constraints
Kardinalitäten:
1:1, 1:n, n:1, n:m
Cupid
2001 von Rahm, Bernstein, Madhavan entwickelt
Soll generisch sein
Betrachtet Schemata als gerichtete Graphen
Besteht aus linguistischem und strukturellem
Matcher
Cupid: Graph zu Schema A
electronics Schema A:
<electronics>
<Photo_and_Cameras>
<PID type=string/>
<Name type=string/>
<Qty type=
positiveInteger/>
<Price type=double/>
</Photo_and_Cameras>
...
</electronics>
Photo and Cameras
PID Name Qty Price
Cupid: Linguistischer Matcher
Arbeitet auf Element-Ebene
Ziel: Für jedes Element-Paar die Ähnlichkeit sim(s,t) [0,1] berechnen
Arbeitet in drei Phasen:
Normalisierung
Tokenization (Photo_and_Cameras = {Photo;and;Cameras})
Expansion (Qty = Quantity)
Elimination (and)
Kategorisierung
Vergleich
Cupid: Struktureller Matcher
Benutzt Ergebnisse des linguistischen Matchers und Datentyp-Kompatibilität als Ausgangspunkt
Schemata werden post-order durchlaufen (bottom- up-Strategie)
Starke Verbindung: Ähnlichkeit >= Schwellwert
Heuristik: Für zwei Elemente s, t ist die relative
Anzahl von starken Verbindungen ihrer Blätter Maß für Ähnlichkeit
Cupid: Mappings
1:1
Wähle für Element s das t, für das sim(s,t) maximal (und >= Schwellwert)
1:n
Wähle für Element s alle t, für die sim(s,t) >=
Schwellwert
Cupid: Vor- und Nachteile
Vorteile:
generisch
kann auch 1:n-Kardinalitäten finden
Nachteil:
für große Schemata noch ungeeignet (Speichermangel)
Similarity Flooding
wurde 2001 von Melnik, Garcia-Molina, Rahm entwickelt
generischer Algorithmus, um Ähnlichkeit zwischen gerichteten markierten Graphen zu bestimmen
basiert auf einer Fixpunktiteration
Fixpunkt muss nicht existieren
Heuristik: Zwei Elemente sind ähnlich, wenn ihre Nachbarn ähnlich sind
Similarity Flooding: Beispiel
a
a1 a2
Modell A
b
b1 b2
Modell B
L1 L1
L2
L2 L1
L2
Similarity Flooding: Beispiel
a
a1 a2
Modell A
b
b1 b2
Modell B
L1 L1
L2
L2 L1
L2
Pairwise Connectivity Graph
a,b
a1,b1 a2,b1
a1,b2
a2,b2 a1,b
L1 L1
L2
L2
Similarity Flooding: Beispiel
Induced Propagation Graph
a,b
a1,b1 a2,b1
a1,b2
a2,b2 a1,b
0.5 0,5
1,0 Pairwise Connectivity Graph
a,b
a1,b1 a2,b1
a1,b2
a2,b2 a1,b
L1 L1
L2
L2 1,0
1,0
1,0 1,0
Similarity Flooding: Beispiel
Induced Propagation Graph
1.0
1.0 1.0
1.0
1.0 1.0
0.5 0,5
1,0 1,0
1,0
1,0 1,0
Similarity Flooding: Beispiel
Induced Propagation Graph
1.0
1.0 1.0
1.0
1.0 1.0
0.5 0,5
1,0 1,0
1,0
1,0 1,0
Induced Propagation Graph
3.0
1.5 2.5
2.0
2.0 2.0
0.5 0,5
1,0 1,0
1,0
1,0 1,0
Similarity Flooding: Beispiel
Induced Propagation Graph
3.0
1.5 2.5
2.0
2.0 2.0
0.5 0,5
1,0 1,0
1,0
1,0 1,0
Induced Propagation Graph
1.0
0.5 0.8
0.6
0.6 0.6
0.5 0,5
1,0 1,0
1,0
1,0 1,0
Similarity Flooding: Beispiel
Nach 5 Iterationen:
a, b a2, b1 a1, b2 a1, b1 a1, b a2, b2
1.0 0.91 0.69 0.39 0.33 0.33
Similarity Flooding: Vor- und Nachteile
Vorteile:
allgemeiner Graphenalgorithmus
einfach zu implementieren
Nachteile:
allgemeiner Graphenalgorithmus
stark abhängig von Struktur
S-Match
wurde von Giunchiglia, Shvaiko, Yatskevich 2005 entwickelt
arbeitet ausschließlich auf XML-Schemata
Idee: Semantik erfassen
Semantik in aussagenlogische Formeln abbilden
suche das mächtigste Matching, das keine
Formel verletzt
S-Match (2)
Bezeichner werden durch WordNet auf Konzepte abgebildet: Photo K(Photo) (Atome)
Markierungen werden in aussagenlogische Formel
übersetzt: „Photo and Cameras“ = K(Photo) v K(Camera)
Formeln beschreiben Mengen von Instanzen
Zusammenhänge von Mengen A, B:
A = B A <-> B
A <= B A -> B
A >= B B -> A
A ┴ B (disjunkt) ~(A & B)
A idk B
S-Match: Vor- und Nachteile
Vorteile:
keine Ähnlichkeiten, sondern Relationen
schnell
Nachteile:
Überlappungen werden nicht gefunden
LSD
LSD (Learning Source Descriptions) wurde 2001 von Doan, Domingos, Halevy entwickelt
Ziel: Abbildung von mehreren Quell-Schemata zu Ziel-Schema
Benutzt Machine-Learning-Techniken
Arbeitet nur auf XML (und DTD)
Setzt auf Lern-Algorithmen auf Element-Ebene
und auf kombinierenden Lerner (Meta-Lerner)
LSD: Trainingsphase
Ziel-Schema
Quell-Schema Quell-Schema
Extrahierte Daten Extrahierte Daten
Trainingsdaten Trainingsdaten Trainingsdaten
LSD: Matching-Phase
Nach der Trainingsphase: Automatisches Matchen
Verbesserung der Ergebnisse durch Constraints
Generierte Mappings werden validiert und als
Fallbeispiele aufgenommen
LSD: Basislerner
Name Matcher:
nutzt Bezeichner eines XML-Elements
Bezeichner von „ Qty“ = „Electronics -- Photo and Cameras – Qty“
Fallbeispiele sind (Quell-Tag, Ziel-Tag)-Paare
berechnet mit WHIRL die Ähnlichkeiten und lernt Schwellwert
Content Matcher:
ähnlich dem Name Matcher, aber: arbeitet auf Instanzen
Fallbeispiele sind (Quell-Inhalt, Ziel-Tag)-Paare
LSD: Basislerner (2)
Naiver Bayes-Klassifikator
arbeitet auf Texten der Instanzen
Dokument X = (Token1, Token2, …, TokenN)
Klassifikationsproblem: Mit welcher Wahrscheinlichkeit gehört X zu Klasse C?
XML-Klassifikator
baut auf Naivem Bayes-Klassifikator auf
nutzt zusätzlich Baumstruktur: unterscheidet Knoten- Tokens und Kanten-Tokens
LSD: Vor- und Nachteile
Vorteile:
lernt dazu
kann z.T. mit unstrukturierten Texten umgehen
Nachteile:
Mappings als Fallbeispiele müssen manuell erstellt werden
Constraints müssen manuell eingegeben werden
SEMINT
SEMINT (Semantic Integrator) wurde 2000 von Li, Clifton entwickelt
Wie LSD nicht rein instanzenbasiert
Benutzt neuronale Netze, um das Match-
Problem als Klassifikationsproblem zu lösen
Berechnet Ähnlichkeiten zwischen Attributen
in Datenbanken
SEMINT (2)
Parst die Datenbankschemata, um Informationen aus der Datenbank automatisch zu extrahieren
Instanzen statistische Merkmale eines Attributes (Durchschnittswerte, Minimum, Maximum)
Attribut = (x1, x2, …, xN)
Attribut-Typ wird berücksichtigt
Punkte werden in Cluster eingeteilt (Schema A)
Punkte von Schema B werden in Cluster abgebildet
SEMINT: Vor- und Nachteile
Vorteile:
vollautomatisch
skaliert gut (dank Clusterbildung)
Nachteile:
Mehraufwand durch Clusterbildung für Benutzer
String-Daten machen Probleme
Evaluation
Cupid SF S-Match LSD SEMINT
Anzahl
Tests 2 9 2 4*5 5
Precision 0.45 - 1.0 0.8 0.78
Recall 0.6 - 0.98 0.8 0.86
Fazit
Automatisches Schema-Matching ist
schwierig; aufwändige Implementierungen
Schema-Matching ist subjektiv
Praxis-Tauglichkeit?