45
Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.‘03

Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Embed Size (px)

Citation preview

Page 1: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Ontologie(n)

Ein Vortrag von Sven Liekenbrock

24.06.‘03

Page 2: 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

Page 3: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Definitionsversuch einer Ontologie [Gruber `91]

• „An ontology is an explicit formal specification of a shared conceptualization“

• „eine explizite formale Spezifikation einer gemeinsamen Konzeptualisierung“

Page 4: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Konzeptualisierung?!

• Konzeptualisierung ist eine Modell in dem Einheiten, Relationen, Funktionen und Schlußfolgerungsregeln für einen bestimmten Bereich festgelegt werden.

• Bereichsgröße beliebig

Page 5: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Blockswelt

Page 6: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Blockswelt Regeln

• Konzepte: Block, Table

• Beziehungen: on, above, clear

• Regeln: x,y : on(x,y)-> above(x,y)

Page 7: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Formalismen

• XML (kennen wir mittlerweile)

• XML/S (Schema)

• F(rame) - Logic (Logikexkurs?!)

Page 8: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

XML-Schema

• Wäre eigenes Thema

• Zum Schema: Klassenmodell mit hierarchischen Strukturen

Page 9: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

F(rame) - Logic

• Logik-Sprache

• Verdeutlicht logische Zusammenhänge und Schlußfolgerungen

Page 10: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Ontologiesprachen

• SHOE

• RDF/S

• DAML+OIL

Page 11: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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

Page 12: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Aufteilung in:

• Kategorien

• Relationen

• Inferenzen

Page 13: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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>

Page 14: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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

Page 15: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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 >

Page 16: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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 >

Page 17: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Zusammenfassung

• SHOE verbindet Syntax und Semantik

• XML-Kompatibel

• Nicht vom W3C unterstützt

Page 18: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Ressource Description Framework / (Schema)

• W3C Entwicklung

• Sprache zum Austausch von Meta-Daten

• ‚maschinenverstehbar‘

Page 19: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Ressource

• Alles was mit einer URI belegen kann, kann eine Ressource sein

• Alles kann eine URI haben

• -> Alles ist eine Ressource

Page 20: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Description

• Gerichteter Graph

• Menge von Statements

• Teil einer Datei in XML, oder RDF/S

Page 21: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Graph

Page 22: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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

Page 23: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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>

Page 24: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

RDF/ S(chema)

• Vergleichbar mit Klassenkonzept

• Aktuelle Empfehlung des W3C

• Erweiterung von RDF durch sehr allgemeine Prädikate

Page 25: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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

Page 26: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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

Page 27: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Beispiele RDF/ S

Page 28: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Überleitung

• RDF/S unzulänglich

• Kein „automatic reasoning“

Page 29: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

OIL

• `99 Ontology Inference (Interaction) Layer

• Aus dem Bereich der KI

• Gut konzipierte Ontologiesprache

Page 30: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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

Page 31: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

DAML+OIL

• W3C Standard, da schnell Gemeinsamkeiten und Potential erkannt worden ist

• Syntax : XML

• Struktur : RDF/S

Page 32: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

DAML+OIL

• Erweitert RDF/S über– Boolsche Verknüpfung– Einschränkung von Werten und Klassen– Transitive Verknüpfung

Page 33: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Beispiel Boolsche Verknüpfung

• Vereinigung & Vereinigung mit Schnitt

– <daml:unionOf parseType=„daml:collection“>– <daml:intersectionOf

parseType=„daml:collection“>

Page 34: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Beispiel Einschränkungen

• <daml:oneOf parseType=„daml:collection“>

• Aussage, daß der Klasse nur ein Attribut zugeordnet werden kann

Page 35: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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.

Page 36: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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?

Page 37: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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?

Page 38: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Ontologieentwicklung als Prozeß

Page 39: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Anwendungsbereiche von Ontologien

• Datenbank Management

• Information retrieval

• Knowledge sharing

Page 40: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Schluß auf das Semantic Web

• Idee von Tim Berners-Lee

• Förderung der Maschine Maschine Kommunikation

Page 41: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Layermodell

Page 42: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

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.

Page 43: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

[T.Davenport]

• „People can‘t share information if they don‘t speak a common language“

Page 44: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Szenario

• Agenten werden intelligent das Web nach Informationen absuchen

• Inhalte werden Maschinenverstehbar sein

• Auf der Suche nach “Yacht“ kommt bsp. auch „Boot“...

Page 45: Ontologie(n) Ein Vortrag von Sven Liekenbrock 24.06.03

Abschluß

• Danke für die Aufmerksamkeit!