Modellierung von Ontologien Jakob Voß Humboldt Universität zu Berlin jakob.voss@informatik.hu-berlin.de Version 1.1 vom 6.1.2003 Abstract Behandelt werden Ontologien als formale Beschreibungen von Begriffsystemen. Sie werden in der Informatik zur Definition von Begriffen für den Austausch und die Verwaltung von Wissen eingesetzt. In anderen Fachgebieten gibt es ähnliche Systeme zur Dokumentation, Speicherung und Vermittlung von Informationen. Es wird eine Einteilung von Ontologien in deren pragmatische (Dokumentation, Datenbank, Nachschlagewerk) und formale (Begriffe, Relationen, Regeln) Bestandteile vorgeschlagen. Die formalen Bestandteile werden in der Reihenfolge ihrer Behandlung bei der Modellierung einer Ontologie einzeln erläutern. Anschließend werden allgemeine Arbeitsschritte und Verfahrensweisen genannt. Es folgt eine Übersicht von Modellierungswerkzeugen und -techniken. Schließlich wird ein bewertendes Fazit gezogen. 1. Einleitung Unter Ontologien werden in der Informatik verschiedene Techniken zur formale Modellierung von Begriffsystemen subsumiert. Die Konstruktion von Ontologien hängt deshalb auch in großem Maße von den spezifischen Anforderungen, d.h. der Komplexität und dem Einsatzzweck ab. Ein allgemein gültiges, vollständiges Rezept für die Modellierung von Ontologien lässt sich daher nicht angeben, da dies immer einen nicht zu unterschätzenden intellektuellen und logistischen Aufwand erfordert. Am ehesten vergleichbare Projekte in der Informatik sind der Software- und Datenbankentwurf. Trotz der unterschiedlichen Anforderungen lassen sich Gemeinsamkeiten im Aufbau verschiedener Ontologien finden, aus denen sich gemeinsame Vorgehensweise bei der Modellierung von Ontologien ergeben. Dazu muss zunächst auf pragmatischer und formaler Ebene geklärt werden, wie eine Ontologie im hier verstandenen Sinne als specification of a conceptualization (GRUBER), das heißt als formale Beschreibung eines Begriffsystems, aufgebaut ist und was sie leisten kann und soll. 2. Arten von Ontologien Ontologien und semantische Netze sind keine wesentlich neue Erfindung innerhalb der Informatik. Ähnliche Begriffe aus anderer Fachdisziplinen wie der Ontologie in der Philosophie oder semantische Netze in der Sprachwissenschaft behandeln verwandte Probleme. Ihre Betrachtung kann für das Verständnis von Ontologien sinnvoll sein, ist in der Praxis aber nicht unbedingt notwendig. Ein wesentliches Ziel von Ontologien ist die Klärung von Vorstellungen, um gemeinsam innerhalb einer Fachdomäne kommunizieren zu können. Für den Wissensaustausch zwischen einigen wenigen Menschen reicht in der Regel die menschliche Sprache aus; je größer die Gruppe jedoch wird, desto mehr treten Missverständnisse auf, die sich nicht mehr durch kurze Rückfragen klären lassen können. Aus diesem Grund müssen Definitionen und Normierungen vereinbart werden. Je formaler diese sind, desto besser lassen sie sich auch von Computern verarbeiten. Zur effektiven Verwaltung von Wissen (bzw. Wissen vermittelnden Daten), gibt es seit Menschengedenken viele verschiedene Verfahren. Vor allem für große Datenbestände wurden in den letzten 100 Jahren neue Methoden entwickelt; Ontologien sind ein integrierter Ansatz, der insbesondere erlauben soll, Prozesse der Wissensverarbeitung zu automatisieren. Die bisherigen in diesem Zusammenhang relevanten Verfahren lassen sich in drei Gruppen einteilen: Abbildung 1. Pragmatische Bestandteile
Je nach Anwendungsgebiet und Ausdrucksstärken lassen sich Ontologien in einen oder mehrere dieser Anwendungsbereiche einteilen. Die Grenzen sind natürlich fließend. Bei der Modellierung einer Ontologie sollte man sich jedoch auch über die Unterschiede bewusst sein, so dass Einsatzschwerpunkte geklärt werden können. Daraus ergibt sich nämlich auch die Wahl der Beschreibungsmittel (z.b. lassen sich natürlichsprachige Texte nur begrenzt mit Mitteln der Prädikatenlogik beschreiben). 2.1. Dokumentation Ziel der Dokumentation (Knowledge Management) ist die Erschließung von Dokumenten und Informationen, um einmal abgelegtes gezielt wieder auffinden zu können. Die in der Dokumentation entwickelten Techniken reichen von der einfachen (Volltext)indexierung über normierte Schlagwortdateien bis hin zu strukturierten Begriffsystemen wie Klassifikationen (Taxonomien) zur baumartigen Strukturierung eines Wissensgebietes und Thesauri, die weitere Verknüpfungen erlauben. Ein wesentliches Mittel ist die Verwendung von Metadaten, das sind Angaben, die über Dokumente gemacht werden. In der Mehrzahl verwalten Dokumentationssysteme wie Bibliothekskataloge und Zeitschriftendatenbanken Literatur, aber auch Suchmaschinen wie Google sind eher Dokumentationssysteme als Datenbanken im herkömmlichen Sinne. 2.2. Datenbanken Während eine Dokumentation lediglich auf (beliebig strukturierte) Dokumente verweist, werden in Datenbanken Informationen direkt gespeichert. Ein Datensatz besteht aus einem geordnetem Tupel von Werten. Über diese Werte werden z.b. durch Angabe von Wertebereichen oder logische Verknüpfung Aussagen gemacht, aus denen sich weitere Werte ableiten lassen. Während die Datenbankstruktur mit Feldern, Tabellen und Verknüpfungen streng formal definiert ist, kann der Grad der Formalisierung für die in der Datenbank abgelegten Datensätze von Texten und anderen Medien in freier Form bis rein logischen Werten variieren. Mit dem höchsten Grad an Formalisierung, erreichen Datenbanken in reinen Logiksystemen wie die Prädikatenlogik z.b. in Prolog gleichzeitig den höchste Grad an automatisierbarer Verarbeitung. Wie das Ende der so genannten starken KI gezeigt hat, stoßen solchen Systeme mit steigender Komplexität jedoch unweigerlich an ihre Grenzen. Viele Aspekte der Ontologiemodellierung finden sich bereits in der Theorie der Objektorientierung behandelt, z.b. das Diamond Problem (siehe Abbildung 3). 2.3. Nachschlagewerke Schließlich liegt ein Großteil des Wissens sprachlich oder visuell in verschiedenen Formen als Nachschlagewerk in (Fach)wörterbüchern, Glossaren, Karten, Ablaufplänen etc. vor. Der Grad der Formalisierung kann vom freien Notizen bis zu datenbankähnlichen Faktenkatalogen (beispielsweise [2]) reichen. Informationen können auch nur nicht-explizit in den Köpfen von Personen vorliegen, was vor allem bei prozeduralem Wissen der Fall ist. Ein genanntes (und nicht unumstrittenes) Ziel des Einsatzes von Ontologien ist, diese Informationsresourcen für eine größere Gruppe nutzbar zu machen. Ein aus der Psychologie stammender Ansatz sind Concept Maps (auch Mind Maps nach BUZAN), die u.a. mit Brainstorming-Techniken eingesetzt werden können, um mit dem Ziel der Formulierung einer Ontologie ein Sachgebiet assoziativ zu erschließen. Der Vorteil von Concept Maps ist, dass sie eine einfache Syntax aus Objekten und Relationen besitzen und einprägsam sind. 3. Modellierung der einzelnen Bestandteile Grundsätzlich bestehen Ontologien aus drei Teilen: Begriffen Relationen zwischen den Begriffen Regeln über die Relationen und Begriffe Diese formalen Bestandteile sind in verschiedenen Arten von Ontologien unterschiedlich stark ausgeprägt. So enthalten beispielsweise Klassifikationen und Thesauri nur einen begrenzten Satz von Relationen. Auch wird in den meisten Fällen nur wenig Gebrauch von Regeln gemacht. Analog zur Thesaurus-Entwicklung nach [11] (mit den Phasen Konzipierung, Sammlung, Bewertung/Kontrolle, Strukturierung, Test/Validierung und Fortschreibung in der Praxis) sollten zunächst Begriffe gesammelt und danach zusammengefasst werden. Natürlich spricht nichts dagegen, (z.b. mit Kompetenzfragebögen) gleichzeitig Informationen zu sammeln, die später für die Modellierung von Relationen und Regeln genutzt werden können. 3.1. Begriffe Bevor eine genauere Strukturierung vorgenommen werden kann, bedarf es einer Klärung der Objekte (z.b. Personen, Preise, Zeiten) der Domäne, für die eine Ontologie gelten und entwickelt werden soll. Dieser Vorgang wird als Terminologische Kontrolle bezeichnet. Viele Missverständnisse rühren daher, dass mehrere Personen unter einem Wort verschiedene Begriffe verstehen.
Dabei können mehrere Begriffe verwechselt werden, weil sie Homonyme sind (z.b. Ton als Material und in der Musik). Polyseme sind Begriffe, die mit mehreren Bedeutungen vieldeutig sind. Im umgekehrten Fall existieren mehrere Benennungen für den selben Begriff (Synonyme). Zur Klärung dieser Probleme bedarf es einer Trennung von Objekt, Begriff und Benennung, die im semiotischen Dreieck dargestellt wird (hier einmal ausnahmsweise ohne Bild) 1. Da Begriffe nur als mentale Bilder existieren, müssen zunächst mit verschiedenen Mitteln (manuelle Suche, Brainstorming, Indexierung, Statistische Verfahren... ) häufige Benennungen gesammelt werden. Anschließend gruppiert man sie thematisch und legt Synonyme und Quasisynonyme (Begriffe, deren Unterschied im Rahmen der Anwendung nebensächlich ist) fest. Weitere Gruppierungen, z.b. in Allgemein- und Individualbegriffe, können Anhaltspunkte dafür geben, welche Begriffe häufiger als Klassen oder als Instanzen auftreten und welche Begriffe für die Spezifizierung von Relationen geeignet sind. 3.2. Relationen Relationen sind definierte Verknüpfungen zwischen Begriffen. Analog zur Begriffsbildung müssen wichtige Relationen ermittelt und festgelegt werden. Relationen sind selber Begriffe, die Bestandteil weiterer Relationen sein können: Abbildung 2. Aussagen über Aussagen Zur inhaltlichen Unterscheidung der wichtigsten Relationsarten halte ich folgende Unterteilung für sinnvoll: Hierarchische Relationen generische Relation Instanzrelation (Klasse/Instanz) Vererbungsrelation (Ober/Unterklasse) partitive Relation (Ganzes/Teile) Eigenschaftsrelation Ordnungsrelation Koordinative Beziehungen Synonymien, Antynomie Assoziationsbeziehungen 1 bemerkenswerterweise gibt es für die Bestandteile des Semiotischen Dreiecks (und dieses selbst) zahlreiche unterschiedliche Benennungen Daneben kann man Relationen strukturell nach ihren Eigenschaften wie Symmetrie und Transitivität unterscheiden. Diese Eigenschaften sind eigentlich spezielle Relationsimmanente Regeln. Nach der formallogischen Definition von Relationen als Prädikate können diese auch ein- oder mehrstellig sein. Diese Fällen lassen sich jedoch auf dreistellige Relationen der Form Subjekt-Prädikat-Objekt zurückführen (wie im Beispiel in Abbildung 2). 3.3. Regeln Regeln sind logische Aussagen über Begriffe und Relationen in einer Ontologie. Einige Regeln sind bereits implizit in den häufigsten Relationen enthalten, indem vorausgesetzt wird, dass sie bestimmte Eigenschaften (z.b. [Anti]symmetrie, Transitivität) einhalten. Andere Regeln betreffen Vereinbarungen über die Einhaltung von Wertebereichen (Datentypen) oder komplexere Zusammenhänge zur Schlussfolgerung aus bestehenden Relationen. In Mathematik, Philosophie und KI gibt es zahlreichen unterschiedliche Formen zur Beschreibung logischer Zusammenhänge (Aussagenlogik, Prädikatenlogik, Modallogik, Frame-basierte Systeme, Fuzzy Logik... ). Allgemein lassen sich Regeln weniger leicht veranschaulichen und begreifbar machen als Begriffe und Relationen; auch Änderungen, die im Verlaufe der Anwendung einer Ontologie regelmäßig notwendig sind, sind bei Regeln aufgrund ihrer Komplexität schwieriger (so lassen sich Auswirkungen von Regeländerungen auf das Gesamtsystem nicht leicht abschätzen). Aus diesem Grund gibt es bislang keinen einheitlichen Standard zur Formulierung von Regeln in Ontologien. Außerdem kann man fragen, ob logische Regeln den nicht selten sozialen und ähnlichen irrationalen Zusammenhängen, die mit Ontologien modelliert werden sollen, überhaupt gerecht werden können. Die bereits vor Jahrzehnten von verschiedener Seite geübte Kritik an der sogenannten starken KI hat sicher auch im Bereich des Semantic Web ihre Berechtigung. 4. Arbeitsschritte und Probleme Nach Staab [10] verläuft die (bei ihm umfassend als Wissensmetaprozess bezeichnete) Entwicklung und Pflege von Ontologien in fünf Phasen. 0. Machbarkeitsstudie 1. Analyse und Anforderungsspezifikation 2. Verfeinerung und Formalisierung 3. Evaluierung 4. Wartung und Evolution
Diese Phasen werden bereits an anderer Stelle ausführlich behandelt, weshalb nur auf einzelne Aspekte eingegangen werden soll. Nach der Klärung von Ziel, Größe und Einsatzart der geplanten Ontologie sollte zunächst recherchiert werden, ob es schon ähnliche Begriffssysteme innerhalb und außerhalb der Anwendungsdomäne gibt, die sich eventuell direkt oder mit einigen Modifikationen weiterverwenden lassen. Neben der Arbeitsersparnis erleichtert dies den Datenaustausch bzw. macht ihn überhaupt erst möglich. Zumindest für häufig wiederkehrende Bestandteile einer Ontologie sollte auf bereits bestehendes wie zum Beispiel Dublin Core zurückgegriffen werden. Auch wenn sich bereits bestehende Dokumente wie Datenbanken, Dokumentationen, Anordnungen und Ablaufpläne nicht direkt weiterverwenden lassen, bilden sie die Grundlage für die Ermittlung wesentlicher Begriffe, Relationen und Regeln. Dabei helfen u.a. Techniken der Computerlinguistik, die mit statistischen (Termfrequenz, Cluster... ) und linguistischen Verfahren des Text Minings aus domainspezifischen Texten oder anderen Datenquellen wesentliche Begriffe und Zusammenhänge ermitteln. Sinnvoll ist auch die Heranziehung von Experten des jeweiligen Themengebietes mit Kompetenzfragebögen und die direkte Einbeziehung in den Entwicklungsprozess. Bei der Erweiterung von Ontologien werden mit steigender Komplexität unweigerlich Inkonsistenzen wie das Diamond Problem auftreten. Andere Inkonsistenten sind nicht so offensichtlich. Zur Auflösung müssen Beziehungen oder Regeln verändert werden oder Regeln weniger streng gefasst werden (in Abbildung 3 z.b. die Regel, dass ein Mensch nur ein Geschlecht hat oder die Art der Vererbung). Abbildung 3. Das Diamond Problem 5. Sprachen und Werkzeuge Selbst für eingefleischte XML-Enthusiasten ist die direkte Formulierung von RDF(S) und der auf DAML+OIL basierenden Web Ontology Language (OWL) selten praktikabel, da die XML-Notation zum größten Teil aus redundantem Markup besteht. Eine interessante Skriptsprache für RDF mit logischen Regeln ist die von TIM BERNERS-LEE entworfene Notation3 [3], die jedoch nicht standardisiert ist. Unter Umständen kann auch die kombinierte Verwendung anderer Sprachen zur Wissensrepräsentation sinnvoll sein. Vor allem für die Formulierung von Regeln wird gerne auf etablierte Sprachen wie F-Logic (z.b. in OntoEdit) oder Prolog (z.b. in [4]) zurückgegriffen. Andere Notationen für Ontologien sind u.a. das Knowledge Interchange Format (KIF/SKIF) und das Conceptual Graph Interchage Format (CGIF) [9], Ontolingua [7], LOOM [8] und CyCL. In der Praxis können Ontologien nicht ausschließlich mit formalen Sprachen entworfen werden, da diese einen relativ hohen Einarbeitung erfordern. Aus diesem Grund gibt es verschiedene Editoren und Entwicklungsumgebungen. Die wichtigsten sind: Protégé-2000 (Stanford) 2 OntoEdit (Ontoprise GmbH, Karsruhe) OilEd (Manchester) 3 Daneben existieren zahlreiche Programme speziell für eine der oben genannten Sprachen und Projekte (z.b. der KSL Ontolingua Server) oder für spezielle Arten von Ontologien. Eine Übersicht von Thesaurussoftware gibt es bei WILL [12] und Informationen über Werkzeuge zur Terminologieverwaltung beim Deutschen Terminologie-Portal [1]. Auch kommerzielle Produkte aus dem Bereich des Content-Management, die mit Semantischen Netzen arbeiten (wie z.b. K-Infinity von intelligent views GmbH) 4 enthalten eigene Editoren für Ontologien. Aufgrund der Graphstruktur von Ontologien ist eine graphische Modellierung wünschenswert. FELFERNIG u.a. stellen eine Methode zur Modellierung von Ontologien mit UML vor [5]. Ob sich die dabei für Konfigurationen (eine spezielle Art von Ontologien) verwendeten Techniken jedoch verallgemeinern lassen ist fraglich. Andere Ansätze versuchen, gängigen Editoren wie Visio mit Erweiterungen für RDFS (SemTalk, [6]) oder DAML (VisoDAML 5 ) zu entwickeln. 6. Fazit und Bewertung Die Modellierung von Ontologien ist kein automatisierbares Verfahren, sondern eine Kunst. Die Mehrzahl der eingesetzten Methoden entspricht bereits etablierten Techniken aus Bereichen wie der Dokumentation, dem Software- 2 http://protege.stanford.edu/ 3 http://oiled.man.ac.uk/ 4 http://www.i-views.de/ 5 http://www.daml.org/visiodaml/
und Datenbankentwurf, der Lexikographie und Terminologiewissenschaft, den Kognitionswissenschaften und der Künstlichen Intelligenz. Dies ist insofern nicht verwunderlich, als dass sich Ontologie gewissermaßen als Oberbegriff für viele der dort eingesetzten Begriffssysteme verstehen lässt und weil mit Hilfe von Ontologien auch vergleichbare Zielen wie Normierung, Wissensvermittlung und Automatisierung von Wissensprozessen erreicht werden sollen. Zur Modellierung von Ontologien ist es nicht nur sinnvoll, nach bereits existierenden inhaltlich verwandten Begriffssystemen zu suchen, sondern auch den Einsatzzweck hinsichtlich der Schwerpunkte Dokumentation, Datenbank und Nachschlagewerk zu klären. Zur Modellierung der einzelnen Bestandteile können Techniken aus verwandten Disziplinen herangezogen werden. Dabei ist eine Unterscheidung der Ontologiebestandteile Begriff, Relation und Regel hilfreich. Einen Beitrag zur vereinfachten Ontologieerstellung bieten (auch graphische) Ontologieeditoren. Ein die gesamte Ontologiemodellierung abdeckendes System können sie jedoch nicht bieten, ebenso wie sich kein Ontologie-Universalrezept angeben läßt. Dafür ist die Bandbreite der Strukturen und Einsatzzwecke von Ontologien einfach zu vielfältig. Literatur [1] Deutsches Terminologie-Portal. http://www.iim.fhkoeln.de/dtp/. [2] Der Fischer Weltalmanach 2002. Fischer, 2002. [3] T. Berners-Lee. Notation 3. http://www.w3.org/designissues/notation3.html. [4] W. Conen and R. Klapsing. Utilizing Host Formalisms to Extend RDF Semantics. In Proceedings of the Semantic Web Working Symposium (SWWS), 2001. [5] A. Felfernig, G. Friedrich, D. Jannach, M. Stumptner, and M. Zanker. Transforming UML domain descriptions into configuration knowledge bases for the Semantic Web. In Proceedings of the Workshop on Knowledge Transformation for the Semantic Web (KTSW), 2002. [6] C. Fillies, G. Wood-Albrecht, and F. Weichardt. A Pragmatic Application of the Semantic Web Using SemTalk. In Proceedings of the International World Wide Web Conference (WWW2002), 2002. [7] T. R. Gruber. Ontolingua: A mechanism to support portable ontologies. In KSL Technical Reports, 1992. [8] R. MacGregor and R. Bates. The LOOM knowledge representation language. USC Information Sciences Institute, 1987. [9] P. Martin. Knowledge representation in CGLF, CGIF, KIF, Frame-CG and Formalized-English. In 10th International Conference on Conceptual Structures (ICCS02), 2002. [10] S. Staab. Wissensmanagement mit Ontologien und Metadaten. Informatik-Spektrum, 25(3):194 209, 2002. [11] G. Wersig. Thesaurus-Leitfaden. Saur, 2. edition, 1985. [12] L. Will. Software for building and editing thesauri. http://www.willpower.demon.co.uk/thessoft.htm.