Upload
heimo-schlaff
View
112
Download
2
Embed Size (px)
Citation preview
Ontologie(n)
Ein Vortrag von Sven Liekenbrock
24.06.‘03
Aufbau
• Einleitung• Formalismen für die Darstellung von
Ontologien (Syntax)• Ontologiesprachen SHOE, RDF/S,
DAML+OIL• Ontologieentwicklung als Prozeß• Anwendungsbereiche von Ontologien• Semantic Web
Definitionsversuch einer Ontologie [Gruber `91]
• „An ontology is an explicit formal specification of a shared conceptualization“
• „eine explizite formale Spezifikation einer gemeinsamen Konzeptualisierung“
Konzeptualisierung?!
• Konzeptualisierung ist eine Modell in dem Einheiten, Relationen, Funktionen und Schlußfolgerungsregeln für einen bestimmten Bereich festgelegt werden.
• Bereichsgröße beliebig
Blockswelt
Blockswelt Regeln
• Konzepte: Block, Table
• Beziehungen: on, above, clear
• Regeln: x,y : on(x,y)-> above(x,y)
Formalismen
• XML (kennen wir mittlerweile)
• XML/S (Schema)
• F(rame) - Logic (Logikexkurs?!)
XML-Schema
• Wäre eigenes Thema
• Zum Schema: Klassenmodell mit hierarchischen Strukturen
F(rame) - Logic
• Logik-Sprache
• Verdeutlicht logische Zusammenhänge und Schlußfolgerungen
Ontologiesprachen
• SHOE
• RDF/S
• DAML+OIL
Simple HTML Ontology Extension
• Forschungsteam aus Maryland
• Ziel der Einbettung von Meta-Tags in bereits bekannte HTML Strukturen
• Zeitlich vor „sematic web road map“ anzusiedeln `95
Aufteilung in:
• Kategorien
• Relationen
• Inferenzen
Beispiel: Tags die Ontologien definieren
<HTML><HEAD>
<META HTTP-EQUIV=“SHOE“ CONTENT=“VERSION=1.0“><TITLE>Irgendein Titel</TITLE>
</HEAD>
<BODY>
<ONTOLOGY ID=“base-ontology“ VERSION=“1.0“ DESCRIPTION=“Base Ontology“>
<DEF-TYPENAME=“STRING“DESCRIPTION=“An HTML 2.0 String literal“SHORT=“A string“>...
</ONTOLOGY>
</BODY></HTML>
Beispiel: Tags die Kategorie definieren
…
Define some categories and subcategory relationships
< DEF-CATEGORY NAME="Person" ISA="b.SHOEentity" >
< DEF-CATEGORY NAME="Organization" ISA="b.SHOEentity" >
< DEF-CATEGORY NAME="Worker" ISA="Person" >
< DEF-CATEGORY NAME="Advisor" ISA="Worker" >
< DEF-CATEGORY NAME="Student" ISA="Person" >
< DEF-CATEGORY NAME="GraduateStudent" ISA="Student Worker" >
…
Erweitertes Ontology
mit Prefix bErweitertes Ontology
mit Prefix b
Beispiel: Tags die Relation definieren
…
Define some relations; these examples are binary, but relations can be n-ary
< DEF-RELATION NAME="advises" >
< DEF-ARG POS=1 TYPE="Advisor" >
< DEF-ARG POS=2 TYPE="GraduateStudent" >< /DEF-RELATION >
< DEF-RELATION "age" >
< DEF-ARG POS=1 TYPE="Person" >
< DEF-ARG POS=2 TYPE="b.NUMBER" >< /DEF-RELATION >
< DEF-RELATION "works-for" >
< DEF-ARG POS=1 TYPE="Person" >
< DEF-ARG POS=2 TYPE="Organization" >
< DEF-ARG POS=3 TYPE=“Organization” >< /DEF-RELATION >
…
Beispiel: Tags die Inference definieren
…
Define a transfers-through inference over working for organizations< DEF-INFERENCE >
< INF-IF >
< RELATION NAME="works-for" >
< ARG POS=1 VALUE="x" VAR >
< ARG POS=2 VALUE="y" VAR >< /RELATION >
< RELATION NAME="suborganization" >
< ARG POS=1 VALUE="y" VAR >
< ARG POS=1 VALUE="z" VAR >< /RELATION >< /INF-IF >
< INF-THEN >
< RELATION NAME="works-for" >
< ARG POS=1 VALUE="x" VAR >
< ARG POS=2 VALUE="z" VAR >< /RELATION >< /INF-THEN >
< /DEF-INFERENCE >
…
Zusammenfassung
• SHOE verbindet Syntax und Semantik
• XML-Kompatibel
• Nicht vom W3C unterstützt
Ressource Description Framework / (Schema)
• W3C Entwicklung
• Sprache zum Austausch von Meta-Daten
• ‚maschinenverstehbar‘
Ressource
• Alles was mit einer URI belegen kann, kann eine Ressource sein
• Alles kann eine URI haben
• -> Alles ist eine Ressource
Description
• Gerichteter Graph
• Menge von Statements
• Teil einer Datei in XML, oder RDF/S
Graph
Statements
• Ora Lassila -> creator -> http://www.w3.org/TR/1999/REC-rdf-syntax-19990222
• Ralph R. Swick -> creator -> http://www.w3.org/TR/1999/REC-rdf-syntax-19990222
• Ora Lassila-> works with-> Ralph R. Swick
In Datei
<?xml version="1.0"?><rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:s="http://description.org/schema/"><rdf:Description about="http://www.w3.org/Home/Lassila"><s:Creator>Ora Lassila</s:Creator>
</rdf:Description></rdf:RDF>
RDF/ S(chema)
• Vergleichbar mit Klassenkonzept
• Aktuelle Empfehlung des W3C
• Erweiterung von RDF durch sehr allgemeine Prädikate
RDF/ S Erweiterung(en)
• rdfs:subPropertyOf = erweitert rdf:Property um Eigenschaftshierarchien (Property=Eltern, Subproperty=Mutter)
• rdfs:Class, rdfs:subClassOf, rdfs:type = Klassen-/Subklassendefinition, Typisierung
• rdfs:domain = beschränkt die Anzahl gültiger Dokumente für eine Domain
RDF/ S Erweiterung(en) II
• rdfs:range = legt fest in welchem Rahmen sich die Werte eines Properties bewegen
• rdfs:Container = sog. Utilitykonzept, kapselt Ressourcensammlungen z.B. einer Domain
• rdfs:constraintProperty = legt Einschränkungen einer Ressourceeigenschaft fest
Beispiele RDF/ S
Überleitung
• RDF/S unzulänglich
• Kein „automatic reasoning“
OIL
• `99 Ontology Inference (Interaction) Layer
• Aus dem Bereich der KI
• Gut konzipierte Ontologiesprache
DAML
• Ein Jahr später von der US-Regierung ins Leben gerufenes Projekt
• DARPA Agent Markup Language
• Stützt sich auf Klassenmodell von RDF/S
DAML+OIL
• W3C Standard, da schnell Gemeinsamkeiten und Potential erkannt worden ist
• Syntax : XML
• Struktur : RDF/S
DAML+OIL
• Erweitert RDF/S über– Boolsche Verknüpfung– Einschränkung von Werten und Klassen– Transitive Verknüpfung
Beispiel Boolsche Verknüpfung
• Vereinigung & Vereinigung mit Schnitt
– <daml:unionOf parseType=„daml:collection“>– <daml:intersectionOf
parseType=„daml:collection“>
Beispiel Einschränkungen
• <daml:oneOf parseType=„daml:collection“>
• Aussage, daß der Klasse nur ein Attribut zugeordnet werden kann
Beispiel Transitive Verknüpfung
• <daml:TransitiveProperty rdf:ID=„...“>
• Ist jemand im Club A Mitglied, ist er auch in B Mitglied, wenn A zu B transitiv ist.
Wie erstellt man eine Ontologie ?
• 1.Welches sind die relevanten Begriffein der Domain?
• 2.Wie sind die Beziehungender Begriffe zueinander?
• 3.Welche Begriffe bezeichnen Klassen, welche sind Eigenschaften?
Wie erstellt man eine Ontologie ? II
• 4.Gibt es abstrakte Konzepte(Superklassen), von der sich konkrete Begriffe ableiten lassen? (Hierarchisierung)
• 5.Welche Eigenschaften beschreiben welche Klassen?
• 6.Welche Relationen bestehen zwischen den Instanzen?
Ontologieentwicklung als Prozeß
Anwendungsbereiche von Ontologien
• Datenbank Management
• Information retrieval
• Knowledge sharing
Schluß auf das Semantic Web
• Idee von Tim Berners-Lee
• Förderung der Maschine Maschine Kommunikation
Layermodell
Fazit
• Während das „alte“ WWW eher mit einem unstrukturierten Text zu vergleichen ist, ist das Semantic Web und seine Datenhaltung ähnlich einer relationalen Datenbank.
[T.Davenport]
• „People can‘t share information if they don‘t speak a common language“
Szenario
• Agenten werden intelligent das Web nach Informationen absuchen
• Inhalte werden Maschinenverstehbar sein
• Auf der Suche nach “Yacht“ kommt bsp. auch „Boot“...
Abschluß
• Danke für die Aufmerksamkeit!