Techniken des Semantic Web - Ontologien und das Semantic Web Hauptseminar Wintersemester 2002/2003
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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