Intelligente Informations- und Kommunikationssysteme
English version deutsche Version

MWR+: Eine Toolbox für den Wissensingenieur

Ingo Glöckner ([email protected])

Einleitung

Das MWR-System zur Wissensverarbeitung mit MultiNet (Gnörlich 2002) bildet die Grundlage für eine Weiterentwicklung unter dem Namen MWR+ (Glöckner in Vorb.). Im Vergleich zu MWR bringt MWR+ zahlreiche Neuerungen, u.a. einen Wechsel der Programmierplattform, eine wesentlich schnellere und besser skalierende Inferenzkomponente, eine umfangreiche Modulbibliothek zur Unterstützung von Aufgaben im Bereich Logik und NLP sowie Schnittstellen zu externen Werkzeugen (z.B. Datenbanken und Machine-Learning-Werkzeuge).
Im folgenden wird zunächst auf die technische Plattform und die Programmierschnittstellen eingegangen. Danach werden neue Komponenten wie z.B. ein graphischer Axiommanager besprochen. Abschließend werden zwei Anwendungen beschrieben, die auf Basis der MWR+-Bibliotheken bereits implementiert wurden.

Technische Plattform

Für MWR+ erfolgte ein Umstieg von elk-Scheme auf bigloo-Scheme als Grundlage der Implementierung. Für Bigloo ist ein Compiler verfügbar, der Scheme-Code nach C oder alternativ nach Java übersetzt. Im Vergleich zum elk-Interpreter, den das frühere MWR verwendet, werden dadurch wesentlich bessere Laufzeiten erzielt.

In MWR erfolgte eine Implementierung gemischt in elk-Scheme und C, wobei die Benutzerschnittstelle in C unter Verwendung von OpenMotif realisiert wurde. Stattdessen wird für die Benutzerschnittstelle von MWR+ das Bigloo Java-Backend genutzt. Dies ermöglicht u.a. auch eine Visualisierung von MultiNet-Graphen in Java-Applets.

Ausbau der Programmierschnittstellen

Über den grundlegenden MultiNet-ADT von MWR hinaus gibt es in MWR+ die folgenden Erweiterungen:

Die beschriebenen Module sind sowohl mit dem Bigloo C-Backend als auch mit dem Java-Backend lauffähig. Das bedeutet, daß der Großteil der MWR+-Funktionalität über das Java-Backend leicht mit GUI-Elementen gekoppelt werden kann.

Daneben gibt es zwei Schnittstellen (QDBM und SVDLIBC), die zwingend das Bigloo C-Backend verlangen:

Verbesserte graphische Netzdarstellung

Zur Visualisierung der Netze nutzt MWR+ eine im Vergleich zum alten MWR-System wesentlich verbesserte graphische Netzdarstellung (Aiteanu 2007), siehe Abbildung.

Hier wird das Spring-Embedder-Prinzip zur Layoutberechnung für die Netze genutzt. Die Plazierung der Knoten-Labels wird anhand eines 6-Positionen-Modells optimiert. Im Unterschied zu MWR können die Layer-Features der Knoten (d.h. Knotenattribute) als Bestandteil einer Knotenbox mit angezeigt werden. Außerdem wird das 'Einfalten' von Kanten zugunsten einer einfacheren Netzdarstellung unterstützt. Die Implementierung der Layoutberechnung in Java und die Realisierung der Netzdarstellung mit Hilfe von Swing-Komponenten ermöglicht (über Applets) auch eine Visualisierung von MultiNet-Graphen im WWW-Browser.

Axiommanager

Zur Entwicklung und Wartung größerer Axiomensysteme ist eine Werkzeug zur gezielten Suche nach Axiomen (z.B. zu einem bestimmten Domänenbereich), zur (graphischen) Anzeige von Axiomen und zur Visualisierung von Abhängigkeiten zwischen Axiomen unverzichtbar. Ein solcher graphischer Axiommanager ist für MWR+ verfügbar (Klein 2007). Auf Basis vorgegebener Kriterien (wie Vorkommen bestimmer lexikalischer Konzepte in einem Axiom) und beliebiger nutzerdefinierter Axiomattribute kann der Benutzer mit dieser Komponente die interessierenden Axiome ausfiltern. Für die einzelnen Axiome ist dann eine graphische Darstellung möglich, siehe Abbildung:

Die Literale aus der Prämisse und der Konklusion eines Axioms werden hier in unterschiedlichen Farben gezeigt. Die graphische Darstellung hilft vor allem beim Erkennen von Verwechslungen bei den Variablennamen, die zu unerwarteten Kanten des Graphen führen. Daneben bietet der Axiommanager auch die Möglichkeit, die Abhängigkeiten zwischen einer Auswahl von Axiomen zu visualisieren.

Generierungskomponente

Bestandteil von MWR+ ist ferner eine eine Komponente zur NL-Generierung (Kintzel 2007). Diese kann für einen einzelnen MultiNet-Knoten oder auch für das ganze MultiNet eine inhaltliche Beschreibung in normalem Deutsch erzeugen. Dabei erfolgt eine gezielte Inhaltsauswahl, um das definierende Wissen über das dargestellte Objekt bzw. den dargestellten Sachverhalt von weniger relevanten Aspekten zu unterscheiden.

Anwendungsbeispiele

Die MWR+-Programmierschnittstelle wurde bereits erfolgreich für die folgenden Anwendungen genutzt:

Literatur