Techniken des Semantic Web - Ontologien und das Semantic Web Hauptseminar Wintersemester 2002/2003

Die Seite wird erstellt Pernilla Brandl
 
WEITER LESEN
Universität Ulm
Abt. Künstliche Intelligenz

                       Hauptseminar

Techniken des Semantic Web
             Wintersemester 2002/2003

      Ontologien und das Semantic Web

                                von
                          Markus Lauer

                              07.02.03
Inhaltsverzeichnis
INHALTSVERZEICHNIS...................................................................................................... 2
1 EINFÜHRUNG...................................................................................................................... 3
   1.1 DAS HEUTIGE INTERNET .................................................................................................... 3
   1.2 DAS PROBLEM DER INFORMATIONSFLUT ........................................................................... 3
   1.3 DAS PROJEKT „SEMANTIC WEB“....................................................................................... 3
   1.4 VORAUSSETZUNGEN FÜR EIN SEMANTIC WEB................................................................... 4
2 ONTOLOGIEN ..................................................................................................................... 5
   2.1 WAS IST EINE ONTOLOGIE ................................................................................................. 5
   2.2 BEISPIELE .......................................................................................................................... 6
      2.2.1 WordNet .................................................................................................................... 6
      2.2.2 CYC ........................................................................................................................... 8
   2.3 AUFBAU EINER ONTOLOGIE .............................................................................................. 9
      2.3.1 Konzepte .................................................................................................................... 9
      2.3.2 Relationen.................................................................................................................. 9
          2.3.2.1 Relationen, welche Konzepte hierarchisch ordnen ........................................................ 9
          2.3.2.2 Relationen, welche Konzepte untereinander in Beziehung setzen ............................... 10
   2.4 BESCHREIBUNGSSPRACHEN ............................................................................................. 11
   2.5 TOP-LEVEL-KATEGORIEN ............................................................................................ 13
      2.5.2 Top-Level-Kategorien der Philosophen .................................................................. 14
      2.5.2 Top-Level-Kategorien von CYC .............................................................................. 15
3 ONTOLOGIEN UND DAS SEMANTIC WEB................................................................ 17
   3.1 INFORMATIONSGEWINN DURCH SCHLIEßEN ..................................................................... 17
      3.1.1 Informationsgewinn bei isA-Relationen .................................................................. 17
      3.1.2 Informationsgewinn bei Äquivalenz-Relation ......................................................... 17
      3.1.3 Informationsgewinn bei Rollen ............................................................................... 18
   3.2 ZUSAMMENFASSUNG ....................................................................................................... 18
4 QUELLENVERZEICHNIS ............................................................................................... 19

                                                                     2
1 Einführung
1.1 Das heutige Internet
Dem heutigen Internet sind viele Millionen Hosts angeschlossen, und es wächst
weiter. Die meisten größeren Firmen bieten heutzutage ihre eigene Homepage an,
auf denen sie ihre Angebote offerieren oder sie wickeln direkt ihre Geschäfte über
das Netz ab. Der Lieblingshit kann von einem der Hosts heruntergeladen werden.
Spiele werden gespielt.
Staatliche Stellen geben Auskunft zu vielen Dingen, welche die Bürger eines Landes
wissen müssen. In nicht allzu ferner Zukunft sollen sogar die Personalausweise
übers Netz beantragt und Wahlen abgehalten werden.
Die allerneusten Nachrichten verbreiten sich blitzschnell durch dieses Medium. Zahl-
reiche Universitäten, Forschungseinrichtungen und sonstige Bildungseinrichtungen
stellen ihr Wissen ins Internet. Damit wurde das Internet zum größten
Wissensspeicher, den die Welt jemals gesehen hat.

1.2 Das Problem der Informationsflut
Wenn man nicht in der Lage ist, die gewünschten Dinge aus der riesigen Infor-
mationsflut gezielt heraussuchen zu können, nützt einem das Internet leider wenig.
Aber nicht nur viel zu viel irrelevante Informationen zu bekommen ist ein Problem,
sondern auch, nicht das gewünschte zu finden: Die meisten Suchmaschinen suchen
nur Webseiten heraus, die exakt die eingegebenen Suchbegriffe beinhalten.
Seiten, die das gleiche Thema ergänzend, vielleicht sogar umfassender behandeln,
aber die statt den exakten Wörter der Suchanfrage Synonyme verwenden, werden
dann gar nicht im Suchergebnis angeboten.
Ebenso ist es wichtig, auf dem Markt „Web“ die Preise zu vergleichen. Wegen der
Fülle an Anbietern kann dieses nur automatisch bewerkstelligt werden. Um Preise
vergleichen zu können, muss dieser erst aus den entsprechenden Web-Seiten
extrahiert werden. Das ist bei den heutigen, oft nur auf die visuelle Darstellung
ausgerichteten Seiten kaum oder gar nicht möglich. Erschwerend kommt folgendes
hinzu: Wie soll ein Software-Agent die besten Angebote finden, wenn der eine
Händler das Produkt in englischer Sprache, der andere in deutscher und wieder ein
anderer dieses in russischer Sprache anbietet und alle gleichzeitig den Preis in ihrer
Landeswährung angeben?

1.3 Das Projekt „Semantic Web“
Für alle diese angesprochenen Probleme versucht das Projekt „Semantic Web“ eine
Lösung zu bieten. Semantic Web bringt Semantik mit ins Spiel, d.h. es versucht, den
Inhalt von Webseiten explizit durch Annotation mit Metainformationen darzustellen
und die Bedeutung von Suchanfragen zu erkunden. Dadurch können Seiten besser
gefunden werden, deren Inhalt vom Sinn her genau zu der Anfrage passen. Wird der
Preis und das Produkt in einer Seite explizit gekennzeichnet, so können diese
Informationen leicht aus der Web-Seite extrahiert werden und für einen
automatischen Preisvergleich herangezogen werden. Außerdem gibt es dann auch
keine Probleme aufgrund verschiedener Sprachen oder Währungen mehr, denn mit

                                          3
dem Semantic Web kann die Übersetzung und die Währungsumrechnung erleichtert
werden.
Es kann noch viel mehr: Viele Menschen wünschen sich, nicht alle gefundenen
Seiten durchlesen zu müssen, um an die wichtigsten Informationen zu kommen. Das
soll lieber der Computer für sie erledigen. Er soll eine Zusammenfassung aller Seiten
mit den wichtigsten Details selbst erstellen und dem Benutzer präsentieren. Dies
können Software-Agenten ebenfalls mit Hilfe des Semantic Web erreichen.
Sucht z.B. ein Schüler Daten und Fakten über den Maler „Monet“, so könnte das
System selbständig alle wichtigen Lebensdaten, seine Werke, die Epoche und
andere wichtigen Fakten sammeln, ohne dass der Schüler das System explizit
beauftragen muss, genau auf diese Daten zu achten. Und dann kann automatisch
daraus ein Dokument generiert werden, das dies alles dem Schüler übersichtlich
darstellt.

1.4 Voraussetzungen für ein Semantic Web
Damit das Semantic Web aber die Semantik von Anfragen verstehen kann, müssen
die Bedeutungen der einzelnen Wörter und Sätze erkannt werden.
Dazu ist eine vom Computer verarbeitbare Struktur nötig, welche Objekte aus der
realen Welt repräsentieren und diese in Beziehung setzen kann. Es muss eine
Struktur sein, aus der erkannt werden kann, dass es zwischen den einzelnen
Währungen Umrechnungsfaktoren gibt und dass der Begriff „Auto“ derselbe ist wie
„car“. Sie muss wissen, dass ein Maler ein Mensch ist und damit bestimmte
Lebensdaten aufweist, dass ein Maler Gemälde gemalt hat und dass er einer
bestimmten Epoche zugeordnet werden kann.
So eine Struktur kann eine Ontologie sein.

                                         4
2 Ontologien
In diesem Kapitel soll erklärt werden, was eine Ontologie ist, welche Ziele und
welchen Sinn Ontologien haben und wie Ontologien aufgebaut sind. Zusätzlich soll
der Leser mit zwei real existierenden Ontologien bekannt gemacht werden. Am
Schluss des Kapitels werden dann Ontologien im Kontext des Semantic Web
betrachtet.

2.1 Was ist eine Ontologie
Was eine Ontologie ist, was deren Aufgabe und Ziele sind, soll anhand von Zitaten
aus einschlägiger Literatur nachvollzogen werden.

Im Buch [1] von Dieter Fensel wird auf Seite 11 als treffendste Beschreibung
folgendes Zitat angegeben: „An Ontology is a formal, explicit specification of a shared
conceptualisation“. In diesem Satz werden drei Aspekte einer Ontologie zum
Ausdruck gebracht:
    • Eine Ontologie soll einen formalen Aufbau haben, um auch von Maschinen
       gelesen werden zu können.
    • Das durch sie ausgedrückte Wissen ist explizit anzugeben.
    • „Specification of a shared conceptualisation“ drückt aus, dass eine Ontologie
       mit (abstrakten) Konzepten (Dingen) die Welt beschreiben soll. Das Attribut
       „shared“ weist auch deutlich aus, dass, zumindest in einem kleinen Kreis,
       Konsens über diese Konzepte herrschen soll. Mit anderen Worten, eine
       Ontologie soll in einer abstrakten Weise das akzeptierte Wissen unserer Welt
       wiedergeben.

Der letzte Punkt wird durch John F. Sowa in [2] mehrmals bekräftigt:
Erstens sagt er über den zentralen Fokus der Ontology aus: „The central focus of
ontology is the classification of the physical or conceptual entities [of the world]“
[2, S. 68].
Zum Zweiten spricht er an, dass der Sinn einer Ontologie darin bestehe, eine Antwort
auf die Frage „What is there“ [2, S. 51] zu geben.
Außerdem untermauert er Punkt 3 durch einen Vergleich der Ontologie mit der
Prädikaten-Logik: „In logic, the existential quantifier ∃ is a notation for asserting that
something exists. But logic itself has no vocabulary for describing the things that
exist. Ontology fills that gap: it is the study of existence, of all the kinds of entities -
abstract and concrete - that make up the world.'' [2, S. 51].

Auch folgendes Zitat von Dieter Fensel beschreibt das Wesen einer Ontologie:
„[Ontology is] a shared and common understanding of some domain that can be
communicated between people and application systems“ [1, S. 11].

Zusammengefasst kann gesagt werden: Eine Ontologie ist ein Konstrukt, um Wissen
über ein (bestimmtes) Gebiet zu repräsentieren, auszutauschen und
(wieder)zuverwenden, sowohl durch den Menschen, als auch durch den Computer.

Deshalb bilden Ontologien auch die Grundlage von Wissensbasen für die Künstliche
Intelligenz (KI).
Sie wurden auch vornehmlich von Wissenschaftlern im Umfeld der KI entwickelt.

                                             5
Doch Ontologien haben schon längst den Bereich der typischen KI-Anwendungen,
wie z.B. Knowledge Engineering, natürliche Sprachverarbeitung und Wissens-
repräsentation verlassen und Gebiete, wie Eletronic Commerce, intelligente
Informationsintegration, Information Retrieval und Wissensmanagement erobert. Sie
haben damit auch in der Wirtschaft große Bedeutung erlangt.

Das Warum soll hier mit einem Satz vorweggenommen werden:
In einer Ontologie wird nicht nur beschrieben, was ein bestimmtes Konzept ist,
sondern die Konzepte werden untereinander auch in Beziehung gesetzt. Damit ist es
möglich, aus einer kleinen Menge an Informationen über einen bestimmten
Sachverhalt implizit mehr Informationen abzuleiten. Dazu aber mehr in Kapitel 3.1
über das Schließen, nachdem die Bestandteile und der Aufbau einer Ontologie
erklärt wurden.

2.2 Beispiele
Bevor wir die Bestandteile und den Aufbau einer typischen Ontologie klären werden,
möchte ich erst noch zwei Beispiele von Ontologien geben, nämlich WordNet und
CYC. Der Leser soll erst einmal real existierende Ontologien kennen lernen.
Außerdem soll später CYC dazu dienen, die typischen Konstrukte einer Ontologie
vorzustellen.

2.2.1 WordNet
WordNet ist ein lexalisches Online-Wörterbuch für die englische Sprache mit über
100.000 Wort-Bedeutungen, organisiert in einer Taxonomie.
Es unterscheidet fünf Kategorien, nämlich Substantive, Verben, Adjektive, Adverbien,
und Funktionswörter, in welche alle gespeicherten Wörter eingeteilt sind.
Innerhalb dieser Kategorien werden die Wörter nach Konzepten, wie z.B. ihrer
Bedeutung, eingeteilt. Zusätzlich werden Relationen zwischen Wörter beachtet, wie
z.B. die Synonym-Beziehung.

Eine Abfrage liefert die verschiedenen Bedeutungen des Wortes, abhängig von der
zugehörigen Wortklasse. Zusätzlich kann man z.B. von WordNet erfragen, welche
Synonyme dazu existieren, abhängig vom Sinn des eingegebenen Wortes.

Wird WordNet online auf dessen Homepage [3] nach dem Wort „dream“ befragt,
bekommt man folgendes Ergebnis präsentiert:

Das Wort „dream“ kann also sowohl ein Substantiv, als auch ein Verb sein. Als
Substantiv hat „dream“ sechs verschiedene Bedeutungen, als Verb zwei. Jeder
dieser Bedeutungen wird ausführlich erklärt und es wird ein Beispielsatz dazu ange-
geben.

                                         6
WordNet 1.7.1 Search
                               Find available searches
Search word:

Overview for "dream"

The noun "dream" has 6 senses in WordNet.

1. dream, dreaming -- (a series of mental images and emotions occurring during sleep; "I had
a dream about you last night")
2. ambition, aspiration, dream -- (a cherished desire; "his ambition is to own his own
business")
3. dream, dreaming -- (imaginative thoughts indulged in while awake; "he lives in a dream
that has nothing to do with reality")
4. pipe dream, dream -- (a fantastic but vain hope (from fantasies induced by the opium
pipe); "I have this pipe dream about being emperor of the universe")
5. dream -- (a state of mind characterized by abstraction and release from reality; "he went
about his work as if in a dream")
6. dream -- (someone of something wonderful; "this dessert is a dream")

             Synonyms, ordered by estimated frequency
Search for                                                   of senses
    Show glosses
    Show contextual help
 Search

The verb "dream" has 2 senses in WordNet.

1. dream, daydream, woolgather, stargaze -- (have a daydream; indulge in a fantasy)
2. dream -- (experience while sleeping; "She claims to never dream"; "He dreamt a strange
scene")

             Synonyms, ordered by estimated frequency
Search for                                                   of senses
    Show glosses
    Show contextual help
 Search

Return to WordNet home
Abbildung 1: WordNet-Ausgabe zu dem Wort „dream“ [3]

                                                         7
Wird dann nach Synonymen für „dream“ in der Bedeutung 3 gesucht, so bekommt
man folgende Ausgabe.

WordNet 1.7.1 Search
                            Find available searches
Search word:

Results for "Synonyms, ordered by estimated frequency" search of noun

Sense 3
dream, dreaming -- (imaginative thoughts indulged in while awake; "he lives in a dream that has nothing to d
    => imagination, imaginativeness, vision --
(the formation of a mental image of something that is not perceived as real and is not present to the senses; "p

Return to overview for dream
Return to WordNet home
Abbildung 2: Synonyme in WordNet zu dem Wort “dream” [3]

WordNet wurde vom Cognitive Science Laboratory der Universität Princeton
entwickelt. Es kann kostenlos im Netz benutzt oder von dort bezogen werden [3].
Obwohl auch eine Schnittstelle für die logische Programmiersprache Prolog existiert,
ist WordNet wegen der geringen Formalisierung weniger dazu geeignet, durch
Computer verarbeitet zu werden, um auf neues Wissen zu schließen. Durch den
geringen Grad an Formalisierung ist es aber sehr benutzerfreundlich gehalten und
erfreut sich deshalb großer Beliebtheit.

2.2.2 CYC
Im Gegensatz dazu ist die Ontologie CYC ganz auf die Anwendung durch den
Computer ausgerichtet. CYC ist „the world's largest and most complete general
knowledge base and commonsense reasoning engine“ [5].
Hunderttausende Konzepte, über 1 Millionen logische Axiome, Regeln und
Behauptungen (Assertions) umfasst diese Ontologie, die versucht, das Wissen
unserer Welt im Computer zu repräsentieren.
Zum Beispiel weiß CYC, dass Bäume im Allgemeinen im Freien stehen. Die
Suchmaschine „Lycos“ verbessert ihre Suchergebnisse durch semantische Analyse
der Query anhand von CYC. Informationen hierzu können im World Wide Web auf
der Homepage zu CYC ([4]) gefunden werden.
Ein kleiner Teil der CYC-Ontologie, nämlich die Upper-Ontology, wird kostenlos auf
[5] zum Download angeboten inklusive einem Datenbank-Browser, um die Ontologie
zu betrachten. Der größte Teil der Ontologie wird jedoch kommerziell vermarktet. Ich
werde anhand von CYC den Aufbau von Ontologien veranschaulichen.

                                                      8
2.3 Aufbau einer Ontologie
Um eine Ontologie durch einen Computer benutzen zu können, muss die Ontologie
einen regelmäßigen, genau definierten Aufbau besitzen, mit dem sich alles
ausdrücken lässt, was man mit ihr ausdrücken will. Egal, wie die Ontologie intern
repräsentiert wird, die Grundbausteine sind die gleichen: Konzepte und Relationen.

2.3.1 Konzepte
Es können zwei Arten von Konzepten unterschieden werden. Bei der ersten Art
beschreibt das Konzept eine Klasse oder eine Mengen von individuellen Objekten
der Welt, die gewisse gemeinsame Eigenschaften aufweisen. Mit dem Konzept
„Person“ sind z.B. alle Menschen, egal ob männlich oder weiblich, ob jung oder alt,
ob groß oder klein und ob reich oder arm, zusammengefasst. Gemeinsam ist, dass
sie Menschen sind. Sollen zwischen männlichen oder weiblichen Personen
unterschieden werden, kann man die Konzepte „Mann“ und „Frau“ einführen. Diese
Art von Konzepten ist vergleichbar mit den Klassen in den objektorientierten
Programmiersprachen.
Die zweite Art von Konzepten beschreibt nur ein ganz bestimmtes Objekt der Welt.
So könnte z.B. in eine Ontologie das Konzept „Markus Lauer“ aufgenommen werden.
Diese Art ist eher mit den Objekten in dem OO-Programmierparadigma vergleichbar.
Aber nicht nur physisch existierende Objekte der Welt können in einem Konzept
zusammengefasst werden, sondern auch nicht-physische. Es könnte z.B. in der
Ontologie ein Konzept „Gedanke“ verwendet werden, dass alles repräsentiert, was
jemals gedacht, aber vielleicht noch nicht zu Papier gebracht wurde.

2.3.2 Relationen
Doch mit einer Ansammlung an Konzepten alleine kann unsere Welt noch nicht
beschrieben werden.
In der richtigen Welt stehen die Dinge untereinander in Beziehung. In einer Ontologie
werden die Beziehungen durch sogenannte Relationen dargestellt. Man kann zwei
Klassen an Beziehungen unterscheiden:

          1. Relationen, welche Konzepte hierarchisch ordnen
          2. Relationen, welche Konzepte untereinander in beliebige Beziehung
             setzen

2.3.2.1 Relationen, welche Konzepte hierarchisch ordnen
Diese Art von Relationen beschreibt, dass ein Konzept Teilmenge eines anderen
Konzeptes ist. Dazu gehören:

   •   die isA-Beziehung
   •   die Äquivalenz-Beziehung

Die isA-Beziehung zwischen Konzept A und Konzept B drückt aus, dass das Konzept
A als Spezialisierung von Konzept B definiert ist, aber nicht andersherum („A ist eine

                                          9
Spezialisierung von B“ bedeutet, Konzept A wurde noch detaillierter beschrieben als
B). Formaler kann die isA-Beziehung folgendermaßen definiert werden:
A isA B ⇔ ∀ x A(x) → B(x).

Dass eine Katze ein (näher spezifiziertes) Tier ist, wird folgendermaßen ausgedrückt:
Katze isA Tier.

Beschreiben jedoch die beiden Konzepte A und B den gleichen Sachverhalt, so kann
das durch eine Äquivalenz-Beziehung ausgedrückt werden: Bank ≡ Geldinstitut.
Die Äquivalenzbeziehung kann mithilfe zweier isA-Beziehungen ausgedrückt werden:
A ≡ B ⇔ (A isA B) AND (B isA A).

2.3.2.2 Relationen, welche Konzepte untereinander in Beziehung setzen
In diese Kategorie fallen alle anderen Beziehungen, die zwischen (mindestens) zwei
Konzepten auftreten können. Dies wären die

   •   Rollen
   •   die hasA-Beziehung

Gemeinsam ist diesen, dass sie nicht die Semantik aufweisen, dass ein Konzept eine
Teilmenge des anderen ist.

Rollen definieren beliebige, nicht hierarchische Beziehungen zwischen Konzepten.
Beispiele dafür sind: „istFreundVon“ (Karl istFreundVon Uwe), „liebt“ (Karl liebt Ute)
oder „essen“ (Tiere essen Pflanzen).

Die hasA-Beziehung stellt eine besonders wichtige und oft verwendete Rolle dar.
A hasA B drückt aus, dass Konzept A Konzept B als Eigenschaft hat oder dass B ein
Teil von A ist.
Sollen Beziehungen, wie z.B. ein Elternteil hat Kinder (welche Personen sind),
ausgedrückt werden, so wird dies durch eine hasA-Beziehung modelliert. In unserem
Beispiel würde die Relation „hatKind“ heißen und würde das Konzept „Elternteil“ mit
dem Konzept „Person“ verbinden.

Wie die Relationen aussehen und welche Beziehungen überhaupt dargestellt werden
können, hängt stark von der Art der verwendeten Beschreibungssprache ab. Im
nächsten Abschnitt werde ich zeigen, wie die Konzepte und Relationen in CYC
beschrieben werden.

Zunächst jedoch noch eine Anmerkung: Ob eine beliebige (Daten-)struktur als
Ontologie bezeichnet werden kann, kann man nicht so einfach an Kriterien
festmachen. Allgemeine Übereinstimmung besteht allerdings darüber, dass die
Struktur eine isA-Beziehung ausdrücken können muss. Als Gegenbeispiel wird ein
Inhaltsverzeichnis genannt. Dieses habe zwar eine geordnete Struktur, aber Aus-
drucksmöglichkeiten für eine isA-Beziehung würden fehlen. Damit kann ein Inhalts-
verzeichnis nicht als Ontologie bezeichnet werden.

                                         10
2.4 Beschreibungssprachen
Die Ontologien werden durch Beschreibungssprachen, den Ontologiesprachen,
beschrieben. Es gibt mehrere, weitverbreitete Sprachen, deren Ausdrucksmächtig-
keiten sich stark voneinander unterscheiden:

   •   Ontolingua, Frame Logic (auf Frames basierend)
   •   CYCL, KIF (auf Prädikaten-Logik erster oder höherer Stufe basierend)
   •   KL-ONE, LOOM (auf Bescheibungs-Logik basierend)

Mein Hauptseminarvortrag mehr den Ontologien im Allgemeinen gelten soll, will ich
nur auf die Beschreibungssprache der Ontologie CYC, genannt CYCL, näher
eingehen und für die anderen auf die Literatur [1, S. 88-92; S. 93-96], [6], [7] und [8]
verweisen.

Die Sprachen, wie CYCL und KIF halten sich vom Formalismus her sehr stark an die
Prädikaten-Logik und erlangen damit eine ähnliche Ausdrucksmächtigkeit.

Folgende Sprachbestandteile weist CYCL auf:
   • Konstanten, auch Terme oder Units genannt,
   • Prädikate,
   • Funktionen,
   • Variablen,
   • Formeln,
   • Quantifier und
   • logische Verknüpfungen wie „AND“, „OR“ und „NOT“

Jedoch können Prädikate und Funktionen selber wieder Konstanten darstellen und
überall dort verwendet werden, wo Konstanten erwartet werden. Somit ist es auch
möglich, Quantoren auf Prädikate und Funktionen anzuwenden. Folglich sind in
CYCL Konstrukte möglich, die einer Prädikaten-Logik höherer Stufe zugeordnet
werden. CYC erlangt damit eine größere Ausdrucksmächtigkeit als die Sprachen, die
nur Konstrukte aus der Prädikaten-Logik erster Stufe bereitstellen.

Doch wie werden nun Konzepte und Relationen beschrieben?
Konzepte werden in CYCL durch Konstanten repräsentiert. Per Konvention wird
jedem Konstantennamen das Präfix „#$“ vorangestellt. Das Konzept „Person“ wird
in CYCL durch die Konstante „#$Person“ repräsentiert. Zusätzlich gibt es zu jedem
Konzept einen Dokumentationseintrag in der Wissensdatenbank. Jeder
Dokumentationseintrag besteht mindestens aus einer kurzen Beschreibung des
Konzeptes in englischer Sprache, aus einer Aufzählung der über isA-Relationen
verbundenen Konzepte, sowie eine Aufzählung der Konzepte, von denen das hier
betrachtete Konzept Eigenschaften (direkt) erbt.

Vorsicht: Der isa-Beziehung, wie ich sie in Abschnitt 2.3.2 eingeführt habe,
entspricht in CYC nicht die #$isa-Relation, sondern die #$genls-Relation!

Die #$isa-Relation beschreibt in CYC die Beziehung „ist Element von“.

                                          11
Für das Konzept „Person“ lautet der Dokumentationseintrag folgendermaßen:

#$Person
The collection of all human beings.
The collection #$Person constitutes the species Homo Sapiens;
thus, #$Person is an instance of #$BiologicalSpecies in the
#$BiologyMt.(See also #$HomoGenus, of which Homo Sapiens is
the only nonextinct species.) Persons constitute the most
intelligent subset of #$Primate, and it is the only class
whose elements are known to be naturally capable of speaking a
language. All cultural activity requires participation of
persons.
#$Person excludes non-human legal persons; see #$Agent.
isa:      #$ExistingObjectType #$OrganismClassificationType
genls:    #$Omnivore #$HumanOccupationConstructResident
          #$Primate #$LegalAgent
some subsets: #$UnemployedPerson #$Student #$Professional
#$Leader #$Politician #$UnitedStatesPerson #$Athlete
#$FemalePerson #$HumanAdult #$MalePerson #$Animal #$Researcher
#$Executive #$MilitaryPerson #$Employee (plus 69 more public
subsets, 1573 unpublished subsets)

Die isa-Beziehung und die genls-Beziehung werden durch die zweistelligen
Prädikate „#$isa“ und „#$genls“ hergestellt, z.B.: (#$genls #$Person #$Primate).

Da eine Relation mit der Semantik der isa-Beziehung aus Abschnitt 2.3.2 existiert,
kann CYC als Ontologie bezeichnet werden.

Anzumerken bleibt, dass die meisten Konzepte mehr als ein Supertyp haben. In CYC
ist also die Mehrfachvererbung zulässig.

Alle Relationen in CYC werden durch mehrstellige Prädikate repräsentiert. Neue
Relationstypen können der Wissensbasis von CYC per CYCL hinzugefügt werden.
Die zweistellige Relation „likesAsFriend“, die ausdrücken soll, dass eine Person eine
andere zum Freund haben kann, könnte z.B. durch folgende CYCL-Ausdrücke CYC
beigefügt werden:

      (#$isa #$likesAsFriend #$BinaryPredicate)
      (#$arg1Isa #$likesAsFriend #$Person)
      (#$arg2Isa #$likesAsFriend #$Person)

Nun könnte CYC mitgeteilt werden, dass Dieter ein Freund von Peter ist:

      (#$isa #$Peter #$Person)
      (#$isa #$Dieter #$Person)
      (#$likesAsFriend #$Peter #$Dieter)

Durch die Benutzung von Funktionen, Variablen, logische Verknüpfungen und
Quantoren ( ∃, ∀ ) lässt sich in CYCL um einiges mehr ausdrücken, als nur die

                                         12
Konzepte einer Welt und ihre einfachen Beziehungen untereinander. Es können
solche Sachverhalte modelliert werden wie: „Falls das Wetter kalt ist, so wird warme
Kleidung getragen“. Wegen den zusätzlichen, oben genannten Features kann also
auch mehr aus der Ontologie abgeleitet werden, als in den nächsten Abschnitten
angesprochen wird, die nur von einer Ontologie mit Konzepten und den Beziehungen
aus Kapitel 2.3.2 ausgehen (vgl. WordNet).

2.5 TOP-LEVEL-Kategorien
Mit den besprochenen Bestandteilen einer Ontologie können wir schon viel Wissen
unserer Welt modellieren. Doch es gibt noch Probleme in Bezug auf die Feinheit der
Modellierung. Wie weit sollen die Konzepte verallgemeinert werden? Kann man
irgendwo die Verallgemeinerung von Konzepten abbrechen, ohne irgendwelche
wichtige Eigenschaften oder Gemeinsamkeiten mit anderen Konzepten zu
übersehen?

Betrachten wir die Verallgemeinerungshierarchien aus Abbildung und die folgenden
beiden Fragen, die ein Benutzer an das System stellen könnte:

1.     Wie kann man Fahrzeuge und Lebewesen in die Welt einordnen?
2.     Was haben ein Mercedes und eine Biene gemeinsam?

                                  F ah rz eu g              L eb ew esen

                                     A u to                        T ie r

                                  M erc ed e s                    B ie n e

                  Abbildung 3: zwei einfache Verallgemeinerungshierarchien

Auf die erste Frage könnte das System keine Antwort geben. Auf die zweite Frage
würde es die Antwort geben, dass ein Mercedes und eine Biene keine Gemeinsam-
keiten haben. Ein Mensch würde jedoch nach mehr oder weniger langem Nach-
denken darauf kommen, dass beide greifbare Objekte sind. Somit würde das System
mit folgender Hierarchie zu einem anderen Ergebnis kommen:

                                              Greifbares Objekt

                                   Fahrzeug                  Lebewesen

                                      Auto                         Tier

                                   M ercedes                      Biene

     Abbildung 4: die um jeweils eine Stufe erweiterten Verallgemeinerungshierarchien aus
                                          Abbildung 3

                                                      13
Anmerkung: Dass zwischen Mercedes und Fahrzeug bzw. zwischen Bienen und
Lebewesen noch viele Zwischenstufen fehlen mögen, soll uns hier nicht weiter
interessieren, müssten in der Praxis aber durchaus berücksichtigt werden.

Daraus wird ersichtlich, dass es eine Rolle spielt, wie weit man abstrahiert.

Ähnliche Sachverhalte können im Bereich „Semantic Web“ durchaus Probleme
verursachen.

2.5.2 Top-Level-Kategorien der Philosophen
Eine Lösung hierfür versucht die Philosophie zu geben:

In Kapitel 2.1 wurde gesagt, dass Ontologien vornehmlich in der KI entwickelt
wurden. Die Grundlagen kommen jedoch aus der Philosophie, genauer aus einer
Grunddisziplin der Metaphysik, der Lehre vom Sein bzw. von den Eigenschaften des
Seienden.

Berühmte Philosophen wie Platon, Aristoteles und Kant lieferten maßgebliche
Beiträge, wie alles Seiende auf unserer Welt in Kategorien eingeteilt werden kann
und wie es untereinander in Beziehung steht. John Sowa bespricht in seinem Buch
„Knowledge representation: logical, philosophical and computational foundations“ [2]
im Detail deren Ansätze und Erkenntnisse. Ein Ergebnis ihrer Arbeiten waren die
sog. Top-Level-Kategorien, die im Laufe der Philosophie-Geschichte erweitert
wurden.
An oberster Stelle der Kategorien steht ein universeller Typ. Die erste
Unterscheidung über ein Konzept, das oftmals sinnvoll erscheint, ist die, ob das
Konzept für ein materielles oder immaterielles (abstraktes) Objekt der Wirklichkeit
steht.
Alles was greifbar ist (vgl. oben), wird unter „Physical“ und alles was sich nur mit
sprachlichen Begriffen fassen lässt, wie Gedanke, Information, Absicht und Gefühl,
wird dann unter dem Konzept „Abstract“ eingeteilt.
Zusätzlich wird Existierendes noch eingeteilt, ob es von zeitlicher Dauer ist oder nur
kurzzeitig auftritt. Abbildung 5 zeigt die Top-Level-Kategorien.

                                          14
Abbildung 5: Die Top-Level-Kategorien nach den Philosophen [1]

2.5.2 Top-Level-Kategorien von CYC
In CYC kann eine ähnliche Einteilung gefunden werden:

Der universelle Typ wird durch das Konzept „Thing“ repräsentiert. Alles in CYC ist
eine Subklasse von „Thing“. Danach wird eine Einteilung in „Individual“ und
„PartiallyIntangible“ vorgenommen.

                                                                  T h in g

                               In d i v id u a l                                P a r tia lly In ta n g ib le

    T e m p o ra lT h in g                         P a r tia lly In ta n g ib le In d iv id u a l                   In ta n g ib le

   S o m e th in g E x is tin g                                In fo r m a tio n S to r e

      A u to m o b ile                                                                                                    P a n ic

               d ir e k t a b g e le ite t v o n                                                       in d ir e k t a b g e le ite t v o n

Abbildung 6: Top-Level-Kategorien von CYC [4]

                                                                             15
Unter „SomethingExisting“ sind physische Objekte, wie z. B. „Automobile“,
eingeordnet. Es ist also vergleichbar mit der Kategorie „Physical“ von den
Philosophen.
Bei allen (komplett) immateriellen Gegenständen der Welt, wie z. B. „Panic“ tritt
„Intangible“ in der Verallgemeinerungshierachie auf. „PartiallyIntangible“ nimmt
Objekte auf, die zum Teil berührbar sind und zum Teil nicht. „InformationStore“ ist
(indirekt) „PartiallyIntangible“ zugeordnet, denn ein wichtiger Bestandteil eines
Informationsspeichers ist die Information, die aber nicht (an-)greifbar ist.
Die Dimension Zeit wird ebenso berücksichtigt, z.B. durch „TemporalThing“ und
dessen Unterkonzepte. „TemporalThing“ ist direkt von „Individual“ abgeleitet.
Vorenthalten habe ich noch, dass weitere Konzepte direkt „Thing“ unterstellt sind.
Dies sind vor allem Konzepte, welche selbst Sprachbestandteile von CYCL
repräsentieren, z.B. das Konzept „TheTerm“, oder deren Unterkonzepte dies tun.
Dadurch ist es unter anderem möglich, neue Relationen zu definieren (vgl. Abschnitt
über Beschreibungssprachen)
Des weiteren muss ich noch anmerken, dass ich die Kriterien, die über die Einteilung
von Objekten in die Kategorien „Individual“, „Intangible“, „PartiallyIntangible“, etc.
entscheiden, ziemlich vereinfacht habe, denn CYC unterscheidet viel diffiziler.

                                         16
3 Ontologien und das Semantic Web
Wie in der Einführung erwähnt, ist eine Ontologie eine Struktur, die Währungen
ineinander umrechnen kann, die weiß, dass „car“ und „Auto“ das gleiche darstellen
und welche wichtigen Daten es zu sammeln gilt, um ausführlich über den Maler
„Monet“ referieren zu können. Nur das „Wie“ wurde noch nicht geklärt. Dies soll in
diesem Kapitel geschehen. In den Abschnitten „Was ist eine Ontologie“ und „TOP-
LEVEL-Kategorien“ habe ich schon direkte und indirekte Hinweise gegeben. Die
Schlüssel für das „Wie“ sind die Relationen und das „Schließen“.

3.1 Informationsgewinn durch Schließen
Schließen bedeutet, anhand von gegebenen Informationen weitere Informationen zu
gewinnen.
 Der Algorithmus, der das Schließen vornimmt, wird Inferenz-Algorithmus genannt. Er
bedient sich unter anderem der Relationen und, wenn von der Ontologiesprache
unterstützt, der aufgestellten Axiome. In dieser Ausarbeitung werde ich mich auf die
Relationen beschränken, mit denen sich schon eine Menge der Probleme des
Semantic Web lösen lassen.

3.1.1 Informationsgewinn bei isA-Relationen
Die Relation, aus der sich am meisten neue Informationen gewinnen lassen, ist die
isA-Relation. Das Stichwort heißt „Vererbung“. Tritt in der Ontologie eine isA-
Beziehung zwischen einem Konzept A und einem Konzept B auf, also A isA B, so
erbt A die Eigenschaften von B. Ist in der Ontologie hinterlegt, dass ein Maler eine
Person ist (Maler isA Person) so hat auch ein Maler die Eigenschaften einer Person,
nämlich Name, Anschrift, Geburtsdatum, usw. Technischer ausgedrückt: Das
Konzept „Maler“ erbt die HasA-Relationen zu den Konzepten „Name“, „Anschrift“,
„Geburtsdatum“ etc. Nun könnten die Dokumente aus dem Internet genau auf diese
Daten bzgl. „Monet“ hin untersucht werden und als Ergebnisse in die
Zusammenfassung aufgenommen werden, denn diese Daten sind wichtig, sie
machen eine Person aus. Das Suchen im Internet erübrigt sich allerdings, wenn
„Monet“ und all seine Daten schon in der Ontologie selbst hinterlegt sind.

3.1.2 Informationsgewinn bei Äquivalenz-Relation
Tritt in der Ontologie zwischen zwei Konzepten eine Äquivalenz-Relation auf, so weiß
das System, welches sich dieser Ontologie bedient, dass die zwei Konzepte das
gleiche repräsentieren. Da „Auto“ und „Car“ für das gleiche stehen, würde der
Modellierer der Ontologie zwischen diesen die Äquivalenz-Relation modellieren.
Stößt nun das System, das die Auto-Preise von Händlern im Internet vergleicht, auf
das Wort „Car“, würde es anhand dieser Äquivalenz-Relation herausfinden, dass
„Car“ auch „Auto“ bedeutet. Damit könnte es den angegebenen Preis mit in den
Vergleich einbeziehen.

                                        17
3.1.3 Informationsgewinn bei Rollen
Auch Rollen tragen sehr zum Informationsgewinn bei. Wurde z.B. die Beziehung
„malt“ zwischen „Maler“ und „Gemälde“ modelliert, so merkt das System, dass für
eine Zusammenfassung der wichtigsten Daten zu dem Maler „Monet“ die von ihm
gemalten Bilder nicht fehlen dürfen. Die Beziehung „kann umgerechnet werden in“
zwischen zwei Währungen hilft bei einem Preisvergleich im Internet ungemein. Das
System kann sich dann den richtigen Umrechnungsfaktor auf entsprechenden Seiten
heraussuchen und so dem Vergleich eine einheitliche Basiswährung zugrunde legen.

3.2 Zusammenfassung
In dieser Ausarbeitung konnte gesehen werden, dass Ontologien ein wichtiges
Werkzeug sind, um die Visionen des „Semantic Webs“ in die Tat umzusetzen.
Jedoch sollte man sich im Klaren sein, dass es nie möglich sein wird, alles Wissen
der Menschheit in eine Ontologie zu packen. Trotz seiner Millionen Konzepte und
seiner tausend Relationen ist die größte Ontologie der Welt, CYC, sehr weit davon
entfernt, alles in der Welt repräsentieren bzw. herleiten zu können. Damit kann aber
nicht immer jede Anfrage eines Benutzers exakt verstanden werden und die richtigen
Informationen beschafft werden. Doch nicht nur die riesige Menge an noch nicht in
einer Ontologie erfasstem Wissen verhindert eine hundertprozentig auf eine
Benutzer-Anfrage passende Antwort. Auch subjektive Ansichten bereiten Probleme.
Was soll das System antworten, wenn jemand nach guten Restaurants sucht. Nicht
jedes Vier-Sterne-Restaurant muss unbedingt in den Augen einer Person das
Prädikat „gut“ verdienen. „gut“ lässt sich schlecht allgemeingültig in einer Ontologie
modellieren. Ebenso verhält sich es mit zeitlichen Begriffen. Kann man sagen, dass
Leben eines Menschen ist lang, auch wenn man den subjektiven Eindruck
unberücksichtigt lässt? In Bezug auf eine Eintagsfliege kann man dies vielleicht
bejahen, aber in Bezug auf die Dauer des Universums müsste man dies verneinen.

                                         18
4 Quellenverzeichnis
[1]   Fensel, Dieter, Ontologies: A Silver Bull for Knowledge Management and
      Electronic Commerce, Springer-Verlag, 2001.

[2]   Sowa, John F., Knowledge representation: logical, philosophical, and
      computational foundations, Brooks/Colde, 2000

[3]   http://www.cogsci.princeton.edu/~wn/, Stand 27.12.2002

[4]   http://www.cyc.com, Stand 27.12.2002

[5]   http://www.opencyc.org, Stand 27.12.2002

[6]   Nardi, Daniele; Brachman, Ronald J., „An Introduction to Description Logics“,
      Handbook of Description Logics, Kapitel 1, Cambridge Univ. Press 2003

[7]   Baader, Franz; Nutt, Werner, „Basic Description Logics“, Handbook of
      Description Logics, Kapitel 2, Cambridge Univ. Press 2003

[8]   Kuhnt, Markus, „Ontologiesprachen im Kontext des Semantic Web“,
      Hauptseminarausarbeitung, Abt. KI, Universität Ulm, 2003

                                         19
Sie können auch lesen