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 Fazit
1
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>
?
2
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>
2
Taxonomie
Schema Matcher
Individuelle Matcher Kombinierende Matcher
Schemabasiert Instanzenbasiert Hybride Composite
AutomatischManuellElement-EbeneStruktur-EbeneElement-Ebene
Linguistisch Constraint
Constraint
LinguistischConstraint
3
Taxonomie (2)
Instanzen- vs. schemabasiert Element- vs. Struktur-Matching Sprache vs. Constraints
Kardinalitäten:
1:1, 1:n, n:1, n:m
4
Cupid
2001 von Rahm, Bernstein, Madhavan entwickelt
Soll generisch sein Betrachtet Schemata als gerichtete Graphen Besteht aus linguistischem und strukturellem
Matcher
5
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
6
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
7
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
8
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
9
Cupid: Vor- und Nachteile
Vorteile: generisch kann auch 1:n-Kardinalitäten finden
Nachteil: für große Schemata noch ungeeignet
(Speichermangel)
10
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
11
Similarity Flooding: Beispiel
a
a1 a2
Modell A
b
b1 b2
Modell B
L1
L1
L2
L2
L1
L2
12
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
12
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
13
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
14
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
14
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
14
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
15
Similarity Flooding: Vor- und Nachteile
Vorteile: allgemeiner Graphenalgorithmus einfach zu implementieren
Nachteile: allgemeiner Graphenalgorithmus stark abhängig von Struktur
16
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
17
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
Ziel: Matrix von Relationen
18
S-Match: Vor- und Nachteile
Vorteile: keine Ähnlichkeiten, sondern Relationen schnell
Nachteile: Überlappungen werden nicht gefunden
19
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)
20
LSD: Trainingsphase
21
Ziel-Schema
Quell-Schema Quell-Schema
Extrahierte Daten Extrahierte Daten
Trainingsdaten Trainingsdaten Trainingsdaten
Basislerner Basislerner Basislerner
Meta-Lerner
LSD: Matching-Phase
Nach der Trainingsphase: Automatisches Matchen
Verbesserung der Ergebnisse durch Constraints
Generierte Mappings werden validiert und als Fallbeispiele aufgenommen
22
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
23
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
24
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
25
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
26
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
27
SEMINT: Vor- und Nachteile
Vorteile: vollautomatisch skaliert gut (dank Clusterbildung)
Nachteile: Mehraufwand durch Clusterbildung für Benutzer String-Daten machen Probleme
28
Evaluation
29
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
Overall -0.13 0.6 0.98 0.6 0.48
Fazit
Automatisches Schema-Matching ist schwierig; aufwändige Implementierungen
Schema-Matching ist subjektiv Praxis-Tauglichkeit? Schema-Matching ist KI-vollständig!
30