10. Jänner 2019 von Jürgen Angele
Ontologien und Künstliche Intelligenz – ein ideales Paar?
Ontologien stammen ursprünglich aus der Philosophie. Innerhalb der Informatik lässt sich dieser Begriff am treffendsten als „Analogie“ oder „Metapher“ beschreiben. Es handelt sich also bei einer Ontologie um eine formale Definition von Begriffen und deren Beziehungen und zwar als Grundlage für ein gemeinsames Verständnis. Zudem werden in einer Ontologie synonyme Begriffe erfasst und miteinander verbunden - etwa „Auto“, „Wagen“, „PKW“, „Automobil“ oder „KFZ“. Da diese Nutzung bei wissensbasierten Anwendungen hilfreich ist, werde ich im weiteren Verlauf meines Beitrags noch ausführlicher auf die Nutzung im Semantic Web eingehen.
Ontologie nur ein Datenmodell?
Die Frage, ob es sich bei einer Ontologie lediglich um ein weiteres Datenmodell handelt, kann nicht eindeutig mit „Ja“ oder „Nein“ beantwortet werden. Eine Ontologie kann am treffendsten als ein konzeptuelles Datenmodell bezeichnet werden, das lesbar, verständlich und von allen implementierungsspezifischen Details abstrahiert ist. Es handelt sich dabei also um ein Modell, das eine Fachdomäne in einer Form beschreibt, die wiederum verstanden und akzeptiert wird.
Was ist der Unterschied zu anderen Datenmodellen – beispielsweise einem EER-Modell bei Datenbanken oder einem UML-Modell? Bei den genannten Datenbanken handelt es sich um reine IT-Modelle, deren Ziel lediglich in der Beschreibung von Inhalten einer Datenbank oder eines bestimmten Computerprogramms besteht. Solche Modelle müssen nicht von der breiten Öffentlichkeit, sondern von den jeweiligen IT-Experten gelesen und verstanden werden.
Die Nutzung im Semantic Web
Beim Semantic Web handelt es sich im Wesentlichen um eine Erweiterung des Webs. Grundlage ist der vereinfachte Austausch von Daten zwischen einzelnen Rechnern. Hier werden Inhalte von Webseiten durch Ontologien ergänzt. Das bedeutet, Ontologien tragen dazu bei, die Kommunikation zwischen Computeranwendungen, zwischen Computeranwendungen und Menschen und zwischen Menschen untereinander zu verbessern.
Das Ganze hört sich zunächst kompliziert an, ist es aber nicht, wie euch das folgende Beispiel zeigt. Nehmen wir einmal den Begriff „Washington“. Was dieser Begriff bezeichnet, ist zunächst nicht genau definiert. Werden nun in einem Webdokument verschiedene Informationen zu diesem Begriff ergänzt, wird erkennbar, ob es sich dabei beispielsweise um ein Schiff, einen Familiennamen oder etwa eine Stadt handelt. Einfach gesagt: Diese Zusatzinformationen explizieren die sonst unstrukturiert vorkommenden Daten.
Kommen wir aber zurück zum eigentlichen Thema: Die Semantic-Web-Anwendung und der Einsatz von Ontologien ermöglichen euch Modelle, bei denen solche Informationen genutzt werden können. Diese Modelle sind auch für Unternehmen relevant, wenn es darum geht, dem Nutzer die bestmögliche Auswahl von Informationen als Resultat eines Suchergebnisses bereit zu stellen. Im Gegensatz zur Google-Suche, die lediglich die Übereinstimmungen von Worten überprüft, geht eine Semantic-Web-Anwendung hier einen Schritt weiter. Ein Beispiel: Eine Semantic-Web-Anwendung könnte mit der Suche nach einem „dunklen ergonomischen Outdoor-Turnschuh zum Schnüren“ folgendermaßen umgehen:
- 1. Linguistische Analyse der Anfrage: „Turnschuh“ ist ein Nomen, „ergonomisch“ ist ein Adjektiv und „zum Schnüren“ ist eine adverbiale Bestimmung.
- 2. Synonymersetzung: „Dunkel“ ist vergleichbar mit„schwarz“ oder „dunkelblau“.
- 3. Schlussfolgerung: „Outdoor“ ist eine Aktivität, die im Freien ausgeübt wird.
- 4. Abgleichen: Das Finden von Turnschuhen, die der Beschreibung möglichst nahe kommen.
Natürlich müsst ihr sicherstellen, dass Ontologien allgemeingültig, lesbar und verständlich sind. Hilfreich sind dabei Plattformen wie Schema.org. Dabei handelt es sich um eine Initiative, die von Google, Microsoft und Yahoo gestartet wurde. Ihr könnt Schema.org-Vokabeln mit unterschiedlichen Kodierungen verwenden - einschließlich RDFa, Microdata und JSON-LD. Diese Vokabeln umfassen Entitäten, Beziehungen zwischen Entitäten sowie Aktionen und können auch erweitert werden. Mittlerweile greifen mehr als zehn Millionen Websites auf Schema.org zurück, wenn es darum geht, die eigene Website um bestimmte Begriffe zu erweitern.
Ontologien werden häufig durch logikbasierte Regeln ergänzt. Der theoretische Hintergrund hinter einer solchen Beschreibung wird Prädikatenlogik erster Stufe genannt. Diese hat eine klar definierte und nicht zu komplexe Semantik, die dokumentiert ist. Somit wird alles, was ihr in einer Ontologiesprache beschreibt, nachvollziehbar und eindeutig definiert. Da logische Schlussfolgerungen auf Prädikatenlogik basieren, bilden ontologiebasierte Systeme die ideale Basis für solche Schlussfolgerungssysteme.
Euch stehen eine Vielzahl von Werkzeugen zur Verfügung, um mit Ontologien zu arbeiten:
- Protege als Editor für Ontologien
- GraphDB oder Oracle Graph als Ontologiestores
- sem.reasoner als deduktive Datenbank für Ontologien mit Regeln
sem.reasoner wird übrigens auch in der Plattform von Onlim zur Nutzung von Wissensmodellen für Chatbots verwendet. Mit JSON-LD, RDF, OWL und F-Logik habt ihr außerdem eine Auswahl an passenden Sprachen zur Definition von Ontologien. Dabei sind JSON-LD oder RDFa auch die Sprachen, die ihr zur Annotation von Webseiten nutzen könnt.
Und die Künstliche Intelligenz?
In der aktuellen Literatur wird Künstliche Intelligenz häufig auf neuronale Netze und maschinelles Lernen reduziert. Bei einer Künstlichen Intelligenz werden Modelle gebaut, die, wie der Name schon sagt, eine Intelligenz beinhalten. Solche Modelle können manuell - hier werden Beschreibungssprachen zur Wissensrepräsentation verwendet - oder durch maschinelles Lernen erstellt werden. Wie ihr gesehen habt, eignen sich Ontologien aufgrund ihrer allgemeingültigen Verstehbarkeit sehr gut zur Wissensrepräsentation, bilden eine Art „Rückrat“ der Wissensrepräsentation im World Wide Web und haben das Potential, ganz neue Geschäftsmodelle zu ermöglichen. Darüber hinaus ist damit auch eine generelle und normative Wirkung auf die Beschreibung von Informationen von IT-Systemen gegeben. Da die Wissensrepräsentation eine klassische Teildisziplin im Bereich der Künstlichen Intelligenz ist und Ontologien solche manuell erstellten Wissensmodelle darstellen, können Ontologien und Künstliche Intelligenz ein perfektes Paar bilden, wenn es um die reine Präsentation von Wissen geht.
Ihr möchtet mehr zum Thema Künstliche Intelligenz erfahren? Dann werft auch einen Blick auf unsere Website.