Martin Kaiser Saarbrücken, OWL-Lite Ontology Matching Seminar Semantisches Web und Agenten Martin...
-
Upload
hartman-wellnitz -
Category
Documents
-
view
103 -
download
1
Transcript of Martin Kaiser Saarbrücken, OWL-Lite Ontology Matching Seminar Semantisches Web und Agenten Martin...
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