Martin Kaiser Saarbrücken, OWL-Lite Ontology Matching Seminar Semantisches Web und Agenten Martin...

Preview:

Citation preview

Martin KaiserSaarbrücken,

OWL-Lite Ontology MatchingSeminar “Semantisches Web und Agenten”

Martin Kaiser

Betreut durch Dr. Matthias Klusch und Ingo Zinnikus

2Saarbrücken, Martin Kaiser

Inhalt

3Saarbrücken, Martin Kaiser

Ontology Alignment

• Finde Beziehung zwischen 2 Ontologien

• Äquivalenzen, Subsumption,… zwischen den Entities

4Saarbrücken, Martin Kaiser

Anwendungsgebiete

• Kommunikation zwischen Agenten

• Integration von Webdiensten

• Ontologie-getriebene Datenintegration

• Katalog Abgleich

• P2P Informationsverteilung

• Lieferung Personenbezogener Inhalte

• Publikationen in der Wissenschaft

5Saarbrücken, Martin Kaiser

Matching Methoden• Ähnlichkeit berechnen:

– Terminologisch (String basiert, Lexikon)– Vergleich der internen Struktur– Vergleich der externen Struktur– Extensional Comparison– Semantischer Vergleich

• Nachteil: Viele Verfahren erfassen nur Teilmengen der Ontologiedefinition

6Saarbrücken, Martin Kaiser

OWL Lite• Erweiterung von RDF

• Zusätzlich:– RDF Schema Schlüsselworte: rdfs:subClassOf,

rdfs:Property, rdfs:subPropertyOf, rdfs:range, rdfs:domain

– Klassen Definition: owl:Class

– Vergleich: owl:sameAs, owl:differentFrom

– Charakterisierung der Eigenschaften: owl:inverseOf, owl:TransitiveProperty, owl:SymmetricProperty

– Eigenschaftsvererbung zwischen Klassen: owl:AllValuesFrom, owl:SomeValuesFrom

– Kardinalität bei Relationen: owl:minCardinality, owl:MaxCardinality

7Saarbrücken, Martin Kaiser

Beispiel: OWL Ontologien

• Lässt sich in OWL Lite modellieren

• Nachteil: OWL Notation ist beim Vergleich zweier Ontologien zu strikt

• RDF ist zu flexibel

Mensch

-Name : string-Alter : int

-Adresse : string

Wohnung

-Partner

1 1..*

-Unterkunft

1..*

-Oberfläche : int

Raum-Räume

1..*

-Name : string-Lohn : float

Person

-Modell : string

Auto

-Besitzer

1

-Fortbewegungsmittel

0..*

8Saarbrücken, Martin Kaiser

OL - Graphen

• Graphen basierter Ansatz zur OWL Notation

• Knoten: class (C), object (O), relation (R), property (P), property instance (A), datatype (D), datavalue (V), property restriction labels (V)

• Jeder Knoten wird durch URI identifiziert

• Jeder Knoten kann annotiert sein

Ref: URIDAPROC

9Saarbrücken, Martin Kaiser

OL – Graphen (2)

• Kanten:– rdfs:subClassOf zwischen Klassen o. Propertys (S)– rdf:type zwischen Objekten und Klassen, Propertys

und Property Instanzen, Values und Datatypes (I)– A zwischen Klassen und Propertys, Objekten und

Property Instanzen– owl:Restriction Einschränkung von Eigenschaften

innerhalb einer Klasse (R)– Bewertung einer Property in einem Einzelnen (U)

10Saarbrücken, Martin Kaiser

Beispiel: OL Graph

ID=’Person ID=’Auto’ID=’Fortbewegung’

string

string

float

ID=’Name’

ID=’Lohn’

ID=’Besitzer’ ID=’Modell’

Card=[1,1]

Card=[1,1]

Card=[0,*]

Card=[1,1] Card=[1,1]A S

S

S

SS

A

AA

A

all

domain

range

range

range

range

range

domain

domaindomain

all

all

all

all

domain

Mensch

-Name : string-Alter : int

-Adresse : string

Wohnung

-Partner

1 1..*

-Unterkunft

1..*

-Oberfläche : int

Raum-Räume

1..*

-Name : string-Lohn : float

Person

-Modell : string

Auto

-Besitzer

1

-Fortbewegungsmittel

0..*

11Saarbrücken, Martin Kaiser

Similarity

Similarity (Ähnlichkeit) ist eine Funktion

die folgende Eigenschaften erfüllt:

),(),(,,

),(),(,,,

0),(,,

xyyxOyx

zyxxOzyOx

yxOyx

OO:

12Saarbrücken, Martin Kaiser

Similarity (2)

• Similarity Funktionen für Labels:– Terminologisch (String Distanz,

linguistische Evaluation)

• Similarity Funktionen für Werte und Datentypen:– Euklidean distance– Symmetric difference distance– …

13Saarbrücken, Martin Kaiser

Similarity im OL – Graph

• Im OL – Graph:

• Hängt von der Knotenklasse ab

• Berücksichtigt alle Features der Klasse

Beispiel: Knotenpaare und

Identisch beschriftete Kanten vom Typ FJe größer similarity von

desto größer ist

• Betrachte nur 0te und 1ste Stufe

),( 21 nnSimx

X

),( 21 nn ),( 21 nn

),( 21 nn

),( 21 nnSimx

14Saarbrücken, Martin Kaiser

Similarity Berechnung

Definition:

Beispiel: Klassen

))(),((

))(),((

))(),((

))(),((),(

cAcAMSim

cScSMSim

cIcIMSim

ccSimccSim

PCA

CCS

OCI

LCLC

}),{},({

}){},({

)'','('),(

LohnNameAdresseMSim

ngFortbeweguRäumeMSim

PersonWohnungSimPersonWohnungSim

PCAo

PCAdt

LCLC

)(

))(),((),(X

YX

x xxMSimxxSimNF

F FF

15Saarbrücken, Martin Kaiser

• Contributormenge mit des Knotenpaars

• mit Eigenschaften– Maximale, totale similarity– Exklusiv– Maximale Größe

• Pairing: 0/1 Gewichtung in

)( ii nS F

21,nn

21 SS

),( SSPairing

21 SS

16Saarbrücken, Martin Kaiser

• Beispiel:

• Für die Ähnlichkeit der Datentypen von

• Annahme:64,0),( NameAdresseMSimp

|)||,max(|

),(

),( ),(),(

SS

ccSim

SSMSim SSPairingccC

C

34,0),( LohnAdresseMSimp

32,0264,0}),{},({ LohnNameAdresseMSimP

),( PersonWohnungSimC

17Saarbrücken, Martin Kaiser

Berechnung der Similarities• Problem: 2 Knotenpaare die sich

gegenseitig unterstützen

• Lösung: Gleichungssystem mit Similarity als Ergebnis

• Jedem Knoten wird eine Variable zugeordnet

• Gleichungsystem wird aufgestellt nach

• Gleichungssystem lösenMensch

-Name : string-Alter : int

-Adresse : string

Wohnung

-Partner

1 1..*

-Unterkunft

1..*

-Oberfläche : int

Raum-Räume

1..*

-Name : string-Lohn : float

Person

-Modell : string

Auto

-Besitzer

1

-Fortbewegungsmittel

0..*

)(

))(),((),(X

YX

x xxMSimxxSimNF

F FF

18Saarbrücken, Martin Kaiser

Beispiel: Berechnung Similarity• Für

• Annahme:

• Variablen Substitution:

• Weitere Annahme:

),( PersonWohnungSimC

),(

),(

),(

),(

),(

3

1

5

3

1

LohnAdresseSimy

ngFortbeweguRäumeSimy

PersonRaumSimx

PersonMenschSimx

PersonWohnungSimx

R

R

C

C

C

),(

),(

),(

),(

),(

4

2

6

4

2

ModellOberflächeSimy

NameAdresseSimy

AutoMenschSimx

AutoWohnungSimx

AutoRaumSimx

R

R

C

C

C

3,0),(

25,0),(

4,0),(

LohnAdresseSim

ngFortbeweguRäumeSim

PersonWohnungSim

L

L

L

35,0),(

7,0),(

5,0),(

ModellOberflächeSim

NameAdresseSim

AutoRaumSim

L

L

L

19Saarbrücken, Martin Kaiser

Beispiel: Berechnung Similarity (2)

• Gewichtung für Kardinalitäten: – 1 falls beide Grenzen gleich– 0,5 falls eine Grenze gleich– 0,35 falls Inklusion, aber kein Match– 0 sonst

• Gewichtung für Datentypen:– Identitätsfunktion

20Saarbrücken, Martin Kaiser

Beispiel: Berechnung Similarity (3)• simuliert das Verhalten der

Pairing Funktion

• OWL-Lite Ontologien erzeugen keine linearen Gleichungssystem

• Kann durch iteratives Verfahren gelöst werden

)(Schoice

})({4,0238,0

})({4,0225,0

})({4,0525,0

})({2,0})({4,0115,0

})({125,02,0

}),({125,0})({25,016,0

24

13

12

211

42

3211

xchoicey

xchoicey

xchoicey

xchoicexchoicey

ychoicex

yychoiceychoicex

21Saarbrücken, Martin Kaiser

Konklusion

• Verfahren liefert eine Approximation der Ähnlichkeit zwischen zwei Ontologien

• Kein Ontologie Abgleich

• Ansätze für Ontologie Abgleich:– Dem Nutzer überlassen– Threshold basiert– Greedy – Verfahren

• Verfahren wird eingesetzt in OLA

22Saarbrücken, Martin Kaiser

Zusammenfassung

• Ontology Matching

• OL – Graphen

• Similarity und Similarity Berechnungsfunktionen

• Similarity Berechnung in OL – Graphen