1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information...

36
1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar „Mastering the Information Explosion – Information Integration and Information Quality“ 07.07.2006

Transcript of 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information...

Page 1: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

1

Automatische Erstellung von Integrationslösungen

Markus Eppert

Seminar

„Mastering the Information Explosion – Information Integration and Information Quality“

07.07.2006

Page 2: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

2

Übersicht

• Motivation

• AutoMed

• SEMEX

• Fazit

Page 3: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

3

Motivation

• Heterogene Datenquellen schon innerhalb einzelner Unternehmen

• Weltweit wachsende Datenmengen

• Ziel Datenintegration: Einheitliches Schema auf Daten aus verschiedenen Datenquellen

Manuelle Datenintegration sehr kostspielig

Erstellung automatischer Integrationslösungen erwünscht

Page 4: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

4

AutoMed

• Domänenunabhängiger Ansatz zur automatischen Datenintegration

• Zugrundeliegendes Konzept: Hypergraph Data Model

• Both-as-View-Ansatz als Integrationskonzept

• Optimierung und Validierung der entstandenen Transformationspfade durch die Transformation Manipulation Language

Page 5: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

5

Hypergraph Data Model

• Beschrifteter, gerichteter Graph

• HDM-Schema: Tripel <Knoten, Kanten, Constraints> = <N, E, C>

• Kanten können Knoten und andere Kanten verbinden

• Knoten haben einen eindeutigen Namen

• Namen für Kanten sind optional

• Anschaulich: Knoten = einzelne Klassen bzw. Konstrukte Kanten = Referenzen

• Durch Constraints können Bedingungen definiert werden

Page 6: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

6

Primitive Transformationen

• renameNode(oldName, newName)

• renameEdge((oldName, c1, ... , cm), newName)

• addNode(name, q)

• delNode(name, q)

• addEdge((name, c1, ... , cm), q)

• delEdge((name, c1, ... , cm), q)

• addConstraint(c)

• delConstraint(c)

Umkehrtransformationen für jede Transformation vorhanden

Page 7: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

7

Anwendungsbeispiel (I)

Schema 1

N = {Person,Mathematiker, Informatiker}

E =

C = {Mathematiker Person, Informatiker Person}

Schema 2

N = {Person,Fachgebiet}

E = {(null,Person,Fachgebiet)}

C =

Person

Mathematiker Informatiker Fachgebiet

Person

Page 8: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

Mathematiker Informatiker

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

Page 9: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

Mathematiker Informatiker

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

Page 10: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

Mathematiker Informatiker

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

4. delConstraint(Mathematiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

Page 11: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

Mathematiker Informatiker

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

4. delConstraint(Mathematiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

Page 12: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

Mathematiker

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

4. delConstraint(Mathematiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

5. delNode(Informatiker, {x | (x, Info) (null, Person, Fachgebiet)})

Informatiker

Page 13: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

Mathematiker

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

4. delConstraint(Mathematiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

5. delNode(Informatiker, {x | (x, Info) (null, Person, Fachgebiet)})

Page 14: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

Mathematiker

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

4. delConstraint(Mathematiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

5. delNode(Informatiker, {x | (x, Info) (null, Person, Fachgebiet)})

6. delNode(Mathematiker, {x | (x, Mathe) (null, Person, Fachgebiet)})

Page 15: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

8

Anwendungsbeispiel (II)

Person

1. addNode(Fachgebiet, {Mathe, Info})

2. addEdge(null, Person, Fachgebiet, {(x, Mathe) | x Mathematiker} {(x, Info) | x Informatiker})

3. delConstraint(Informatiker Person)

4. delConstraint(Mathematiker Person)

Fachgebiet

Mathe Info

„=“Mathematiker

„=“Informatiker

5. delNode(Informatiker, {x | (x, Info) (null, Person, Fachgebiet)})

6. delNode(Mathematiker, {x | (x, Mathe) (null, Person, Fachgebiet)})

Page 16: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

9

Both-as-View in AutoMed

ÄS1

GS

LSn

LSi

LS3

LS2

LS1

ÄSn

ÄSi

ÄS3

ÄS2

id id id id

Globales Schema

Äquivalenzschemata

Lokale Schemata

• Übertragung der LS in ÄS durch primitive Transformationen• ÄS sind syntaktisch äquivalent, Vereinigung möglich• id-Transformation zur Sicherstellung der Äquivalenz• Auswahl eines beliebigen ÄS, über welches das GS erstellt wird Instanzen aus anderen ÄS können durch die Vereinigung ergänzt werden

Page 17: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

10

BaV vs. LaV und GaV

Transformationspfade im AutoMed Metadata Repository

gespeichert

Queries ermöglichen Bilden von GaV- und LaV-Sichten

BaV mächtiger

Page 18: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

11

Transformation Manipulation Language (TML)

• Ziel: Optimierung und Validierung der entstandenen Transformationspfade– Entfernen komplementärer Transformationen

– Zusammenfassen mehrerer Transformationen

• Jede Transformation wird mit Vor- und Nachbedingungen ergänzt

Page 19: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

12

Komplementäre Transformationen

• Beispiel: t(i): addNode(Komplementär, q)

t(i+1): delNode(Komplementär, q)

Transformationen können entfernt werden, ohne dass sich das resultierende Schema ändert

Regeln zur Entdeckung komplementärer Transformationen werden aus den Vor- und Nachbedingungen abgeleitet

Problem: Vergleich nur zwischen benachbarten Transformationen möglich

Page 20: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

13

Vertauschen vom Transformationsschritt t(i) mit t(i+1)

• Wichtig: Bei einem Tausch darf t(i+1) nicht von Konstrukten abhängen, die erst durch t(i) eingeführt wurden

• Beispiel: t(i): renameNode(Alt, KeinTausch)

t(i+1): delNode(KeinTausch, q)

kein Tausch möglich, da t(i+1) ein Konstrukt löschen würde, das (noch) nicht existiert

Genaue Regeln zum Tauschen werden ebenfalls durch die Vor- und Nachbedingungen festgelegt

Page 21: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

14

Partiell komplementäre Transformationen

• Partiell komplementär: Zwei Transformationen können zu einer einzigen Transformation zusammengefasst werden

• Beispiel: t(i): addNode(A, q)

t(i+1): renameNode(A, B)

Vereinfacht zu addNode(B, q‘)

Vereinfachungen wiederum aus den Vor- und Nachbedinungen ableitbar

Page 22: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

15

SEMEX

• Abkürzung für SEMantic EXplorer• spezielle Anwendungsdomäne: Personal Information

Management (PIM)• Extrahierung von Zusammenhängen verschiedener Daten aus

unterschiedlichen Anwendungen• Verwenden von Attributen, Schlüsseln und Fremdschlüsseln

ähnlich zu SQL

Page 23: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

16

Der Aufbau von SEMEX

Domänenmodell

Data Repository

ReferenceReconciliation

Assoziationen InstanzenSimple

Derived Extracted

External

PowerPoint Word Excel LaTeX PDF e-Mail

Page 24: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

17

Assoziationen und Instanzen

Verschiedene Möglichkeiten zur Extrahierung von Daten:• Simple/Extracted:

– Direkte Extrahierung von Daten durch Importer aus bekannten Formaten (z.B. e-Mail-Adressbuch)

• External: – Extrahierung von Daten durch externe Dienste

– Ermittlung von Assoziationen über ein Web-Interface

• Defined:– Definition von Objekten und Assoziationen aus einfacheren

Objekten (z.B. Co-Autor als Assoziation zwischen Autoren und Veröffentlichungen)

Page 25: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

18

Vorgehen bei Datenintegration

• 1. Schritt: Schema Matching– Übereinstimmungen von Attributen aus der externen Quelle mit

denen des Domänenmodells finden

• 2. Schritt: Finden verwandter Attribute– Suche nach Klassen aus dem Domänenmodell zur möglichen

Anreicherung mit zu integrierenden Attributen

– Output: mögliche Integrationsklassen für die Attribute

• 3. Schritt: Zuordnung der Attribute– Vorschläge zur Zuordnung der Attribute zu bestimmten Klassen

– Output: Vorgeschlagene Mappings, können durch den Benutzer modifiziert werden

Page 26: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

19

Reference Reconciliation (I)

• Ziel: Datensätze, die dasselbe Objekt repräsentieren– identifizieren

– zusammenführen

• Frühere Ansätze: – Abgleichung von Objekten einer einzelnen Tabelle

– Alle Objekte enthalten dieselbe Menge an Attributen

– Attribute haben jeweils nur einen einzigen Wert

Im PIM nicht anwendbar, da• Heterogene Datenquellen

• Attribute mit mehreren Werten möglich (z.B. e-Mail-Adressen)

Page 27: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

20

Reference Reconciliation (II)

Reference Reconciliation in SEMEX:• 1. Schritt:

– Angleichung basierend auf gleichen Werten in Schlüsselattributen

– Merging bei einem gemeinsamen Wert in einem Schlüssel

• 2. Schritt:– Angleichung basierend auf der Ähnlichkeit von Strings (Edit

Distance)

– Einsatz domänenabhängiger Heuristiken (z.B. Aufbau von e-Mail-Adressen)

Page 28: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

21

Reference Reconciliation (III)

• 3. Schritt: Anwendung von globalem Wissen– Suchmaschinen-Analyse:

• Suchmaschinen-Analysierer gibt Texte von zwei Referenzen in Google ein und vergleicht die Top-Treffer

• Referenzen zu derselben Person haben oft ähnliche Top-Treffer

– Time-series comparison:• Auswahl von Referenzpaaren, die als ähnlich eingestuft, aber nicht

zusammengefasst wurden• Sammeln von Zeitmarken aus den e-Mails, die mit den Referenzen in

Verbindung gebracht wurden• Merging bei geringer oder gar keiner Überschneidung der Zeitmarken

Page 29: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

22

Reference Reconciliation (IV)

Reference Reconciliation über mehrere Klassen:

paper pa1= („Conflict Detection Tradeoffs for Replicated Data“, „703-746“, {pe1, pe2}, c1)

pa2= („Conflict detection tradeoffs for replicated data“,

„703-746“, {pe3, pe4}, c2)

person pe1= („M.J. Carey“, null, i1)

pe2= („M. Livny“, null, i1)

pe3= („Mike Carey“, „[email protected]“, i2)

pe4= („Miron Livny“, „[email protected]“, i2)

inst i1 = („Univ. of Wisconsin Madison“, null)

i2 = („WISC“, „1210 W. Dayton St., Madison“)

conf c1 = („ACM Transactions on Database Systems“, „1991“)

c2 = („TODS“, „1991“)

Page 30: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

23

Reference Reconciliation (V)

• 1. Phase: Abgleichung der Objekte einer einzelnen Klasse– Im Beispiel: Merging von pa1 und pa2 wegen starker Ähnlichkeit

• 2. Phase: Erstellen eines Abhängigkeitsgraphen– Knoten sind gemischte Paare und Kandidatenpaare

– Jeder Knoten erhält ein Ähnlichkeitsmaß zwischen 0 und 1

– Kante impliziert Berücksichtigung der verbundenen Knoten bei Neuberechnung der Ähnlichkeit

– Im Beispiel:Sim(pa1, pa2)

Sim(c1, c2)Sim(pe1, pe3) Sim(pe2, pe4)

Sim(i1, i2)

Page 31: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

24

Data Repository

• Datenbank, in welche die neu gewonnenen Instanzen und Assoziationen gespeichert werden

• Verwendet das Resource Description Framework RDF, implementiert mit dem Semantic Web Framework Jena

• Aktualisierung der Daten– regelmäßiges Absuchen des Desktops

– Extrahierung von Instanzen und Assoziationen

– inkrementelle Erweiterung der Datenbank

Page 32: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

25

Domänenmodell

• Objektorientiertes Metamodell mit Klassen und Assoziationen

• Unterstützt z.Z. keine Vererbung

• Individuelle Anpassung des Standard-Domänenmodells durch Verfeinerung oder Modifizierung bereits vorhandener Klassen möglich

Page 33: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

26

On-the-fly-Integration mit SEMEX

Unterstützung des Benutzers beim Datenimport durch folgende

Werkzeuge:• Datenvorbereitung und Wrapping: Transformiert die Daten in eine

strukturierte Form, mit der SEMEX weiterarbeiten kann

• Schema Matching und Mapping: Ermöglicht die Beschreibung der semantischen Zusammenhänge zwischen Datenquelle und Domänenmodell

• Datenimport: Importiert Daten von der externen Datenquelle nach dem Schema Matching Reference Reconciliation

• Datenanalyse und Zusammenfassung (optional): Sucht Muster aus den importierten Daten, die für den Benutzer von Interesse sein könnten

Page 34: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

27

Queries in SEMEX

• Suche mit Schlüsselwörtern:– Anzeige aller Objekte, die mit diesem Wort in Beziehung stehen

– Kann Mengen von Objekten aus verschiedenen Klassen liefern

– Objekte bereits in verschiedene Klassen eingeteilt

• Auswahl einer Klasse aus dem Domänenmodell:– Eingabe bestimmter Werte für einige Attribute der ausgewählten

Klasse Selektion

• Assoziations-Queries:– Durchsuchen der Daten durch den Benutzer über Assoziationen

zwischen Objekten

– Auswahl eines Objekts alle Objekte erreichbar, die mit diesem in Verbindung stehen

Page 35: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

28

Fazit

• AutoMed als domänenunabhängiger Ansatz• SEMEX als Ansatz in der PIM-Domäne• Hoher Grad an Unterstützung durch den Benutzer nötig

– Mapping weitestgehend manuell

– Matching teilweise automatisiert

Vielversprechende Ansätze, aber noch viele zu lösende Probleme– Hauptschwierigkeit: Semantische Heterogenität

– Geringer Automatisierungsgrad

Es ist noch ein weiter Weg zu anwendbaren automatischen Integrationslösungen

Page 36: 1 Automatische Erstellung von Integrationslösungen Markus Eppert Seminar Mastering the Information Explosion – Information Integration and Information.

29

Fragen?