|
|
Intelligente Informations- und Kommunikationssysteme
MWR+: Eine Toolbox für den Wissensingenieur
Ingo Glöckner (ingo.gloeckner@fernuni-hagen.de)
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:
- WOCADI-Schnittstelle
Zugriff auf den
WOCADI-Parser für das Deutsche im Satz- oder Textmodus
(im alten MWR-System dagegen können nur Einzelsätze geparst werden).
Nutzung von WOCADI-Sitzungen im Diskursmodus
(für Koreferenzauflösung und Behandlung von Ellipsen).
- Knotenbeschreibungen
Zu den Knoten eines semantischen Netzes können aus den WOCADI-Analysen
automatisch erläuternde Knotenbeschreibungen extrahiert werden
(dies funktioniert für alle Knoten, die aus Nominalphrasen im
ursprünglichen Text entstanden sind).
Wird 'Goethe' z.B. durch den
Knoten c39 repräsentiert, so rekonstruiert dieses
Modul die Knotenbeschreibung 'Goethe' (nicht durch Generierung,
sondern durch Bestimmung des zugehörigen Ausschnitts des
Originaltexts). Dieser Mechanismus kann
für das Verständnis größerer Netze sehr hilfreich sein.
Neben der automatischen Extraktion können auch manuell
Knotenbeschreibungen gesetzt werden.
- Neues Austauschformat
Volle Unterstützung des Textual-MultiNet-Formats,
das beliebige benutzerdefinierte Attribute gestattet
(dieses Format wird z.B. auch von WOCADI genutzt).
Das alte MWR-System dagegen verwendet ein proprietäres Speicherformat;
es bietet zwar auch eine rudimentäre Unterstützung für das
Textual-MultiNet-Format, ignoriert aber alle benutzerdefinierten
Attribute.
- Convenience-Funktionen zum Arbeiten mit MultiNet
MWR+ unterstützt den grundlegenden MultiNet-ADT
(Gnörlich 2002)
und die Erweiterungen aus (Marthen 2002).
Darüber hinaus bietet MWR+ Convencience-Funktionen mit verbesserter
Nutzbarkeit wie z.B. eine Duplikatvermeidung beim Einfügen von Kanten,
wenn die einzufügende Kante bereits existiert - die ursprüngliche
Funktion zum Einfügen von Kanten aus dem MultiNet-ADT nimmt einen solchen Test
nicht vor.
- Nachinterpretation von Netzen
Die Nachinterpretation bzw. Verfeinerung erzeugter Netze
erfolgt durch Anwendung von Manipulationsregeln in der
layexpand-Komponente
(Marthen 2002).
Für diese Komponente gibt es eine
Standard-Regelbasis zur Verfeinerung der vom Parser erzeugten Netze.
Ferner gibt es eine Regelbasis zur Behandlung von Faktizitätsphänomenen
wie faktiven Verben und Existenzpräsuppositionen
(Klutsch 2007).
Die Ausdrucksmittel von layexpand
wurden im Vergleich zum ursprünglichen Ansatz
von Marthen erweitert. So ist es nun z.B. möglich, mehrere
Interpretationsphasen zu unterscheiden. Die Verfeinerung der Netze
kann nicht nur Layer-Features (Knotenmerkmale) betreffen, sondern
auch Knoten oder Kanten einfügen und löschen.
- Synonym-Normalisierung
Ersetzung aller lexikalischen Konzepte
in MultiNetzen und Axiomen durch kanonische Synset-Repräsentanten.
Beispielsweise würden abfalldeponie.1.1,
mülldeponie.1.1 und müllkippe.1.1 durch das
kanonische (= lexikalisch kleinste) abfalldeponie.1.1 ersetzt.
Dieser Vorverarbeitungsschritt erübrigt eine Behandlung von
Synonymen auf der logischen Ebene.
- Extraktion von Fragemustern
Die Extraktion von Fragemustern bestimmt ein Literalpattern
(Konjunktion von Literalen) zu einem gegebenen Fragenetz.
Beispielsweise wird aus von WOCADI erzeugten MultiNet
zur Frage 'Wie hieß der Sänger von Nirvana?' das folgende
Fragemuster extrahiert:
val(X1,nirvana.0), sub(X1,name.1.1), attr(X2,X1),
attch(X2,X3), sub(X3,gesangssolist.1.1), sub(X4,heißen.1.1),
arg1(X4,X3), arg2(X4,FOCUS).
- Neue Axiomsyntax
In Anlehnung an das Textual-MultiNet-Format und wurde eine neue
Axiomsyntax eingeführt, in der neben dem Namen des Axioms und dem
Axiomkörper beliebige nutzerdefinierte Attribute spezifiziert
werden können. Diese können z.B. Kontrollinformation enthalten,
Versionsinformation oder eine Beschreibung von
Anwendungsbeispielen. Insbesondere ist es hiermit möglich,
Attribute zu spezifizieren, die eine gezielte Filterung von Axiomen
mit bestimmten Aufgaben gestatten
(siehe Axiommanager).
In Axiomen dürfen neben MultiNet-Relationen und -Funktionen auch
benutzerdeklarierte Hilfsprädikate vorkommen. Diese dienen
zur Definition von Axiomenschemata, indem sie zulässige
Konfigurationen von Variablenbindungen festlegen, für die
ein Axiomenschema anwendbar ist.
- Optimierung der Inferenzkomponente
Der verbesserte MWR-Beweiser von (Marthen 2002)
war die Ausgangsbasis für eine weitere Optimierung.
So wurde durch Iterative Deepening, verbesserte Literalsortierung,
Axiomindexierung und die Berücksichtigung von
Kontrollinformation
die Antwortzeit reduziert und die Skalierbarkeit gesteigert.
Auf einer MultiNet-Referenzwissensbasis für die Fragebeantwortung
(Ratzer 2006) brachten diese Änderungen
eine Geschwindigkeitssteigerung des Beweisers um den Faktor 400.
Die Techniken zur Optimierung des Beweisers und die erreichte
Performance sind in (Glöckner 2008)
beschrieben.
Als Voraussetzung für den Einsatz der Inferenzkomponente in
Anwendungen wurden zudem Zeitbegrenzungen (Timeouts) eingeführt.
- Robuste Wissensverarbeitung
Die Funktionalität der Inferenzkomponente wurde im Hinblick auf
Robustheit
erweitert.
So erfolgt nun eine Extraktion von Informationen über gescheiterte
Beweisversuche, und der Beweiser kann auch in diesem Fall
Antwortsubstitutionen (für den besten gescheiterten Beweis)
ausgeben. Ferner sind Relaxierungsbeweise möglich, bei denen
iterativ nicht beweisbare Literale weggelassen werden, bis
ein Beweis des reduzierten Fragments der Anfrage gelingt.
Solche Techniken sind hilfreich zur Überbrückung von
Wissenslücken in der logikbasierten Fragebeantwortung.
- Shallow Matching (Konzeptüberlappung)
Zur Robustheitssteigerung des logikbasierten Ansatzes im Sinne einer
'graceful degradation' ist ferner die Kombination mit robusten Verfahren
sinnvoll, die keinen volle syntaktisch-semantische Analyse der
natürlichsprachlichen Ausdrücke erfordern. Als eine mögliche
Lösung wurde ein Ansatz zur Ermittlung der Konzeptüberlappung
(von lexikalischen Konzepten und Zahlangaben) implementiert.
Dieser berücksichtigt Synonymie und andere lexikalisch-semantische
Relationen wie z.B. Nominalisierungen.
- Management von Benchmarks für die
Wissensverarbeitung
MWR+ verfügt über ein Modul zur Durchführung und Auswertung
von Benchmarks für die Wissensverarbeitung.
Diese können zur Optimierung der Inferenzkomponente oder
zur Optimierung der Modellierung (Zusammenspiel der Axiome)
genutzt werden.
- TPTP-Export
Dieses Modul gestattet den Aufbau von Benchmarks
für Beweiser, die das
TPTP-Format
verarbeiten können.
Dies ermöglicht einen Vergleich der
Laufzeiten des Builtin-Beweisers von MWR+ mit den
Laufzeiten für die aktuellen Theorembeweiser.
- E-KRHyper-Schnittstelle
Dieses Modul ermöglicht Beweise über den
E-KRHyper-Beweiser für volle PL/1 einschließlich
Gleichheitsbehandlung. Der E-KRHyper-Beweiser wird als separater
Prozeß gestartet, die Kommunikation erfolgt über eine Pipe.
Ähnlich wie beim Builtin-Beweiser von MWR+ kann auch hier
im Falle eines gescheiterten Beweises
oft noch eine plausible Antwortsubstitution
rekonstruiert werden.
- Weka- und RapidMiner-Schnittstelle:
Ermöglicht die Nutzung der Machine-Learning-Werkzeuge
Weka
und
RapidMiner
sowie
das Einlesen berechneter Klassifikatoren (derzeit nur
Entscheidungsbäume und Ensembles von Entscheidungsbäumen).
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:
- QDBM-Schnittstelle
Ermöglicht die Nutzung der
Depot- und Villa-APIs der
QDBM-Datenbank.
Es handelt sich hierbei um eine sehr schnelle
und schlanke Datenbank für Schlüssel/Wert-Paare.
- SVDLIBC-Schnittstelle
Basierend auf der
SVDLIBC-Library,
ermöglicht dieses Modul die Durchführung von
LSI (Latent Semantic Indexing) auf Wortebene, Lemma-Ebene
oder Konzeptebene und Ähnlichkeitsberechnungen z.B. für
Dokumentretrieval oder Antwortvalidierung.
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:
- Antwortvalidierung und -selektion für Frage-Antwort-Systeme
(Glöckner 2007),
(Glöckner, Hartrumpf und Leveling 2007).
Diese Komponenten sind Bestandteil des Frage-Antwort-Systems
IRSAW.
Die Optimierung der Inferenzkomponente erlaubt mittlerweile sogar
eine logikbasierte Passagenfilterung
für die Fragebeantwortung in Echtzeit
(Glöckner 2008).
- Das in (Schüller 2006)
beschriebene FAQ-System ermöglicht es,
Fragen direkt auf Deutsch zu formulieren und
eine Datenbank bekannter
Fragen/Antworten auf die ähnlichsten Fälle
im Vergleich zur Anfrage
zu durchsuchen. Die MWR+-Toolbox wird hier zum Erzeugen
der Netze (WOCADI-Interface) und, nach einer
LSI-basierten Vorfilterung, zur logikbasierten
Auswahl der besten Frage/Antwort-Paare aus der Datenbank
genutzt. Hierbei kommen Relaxierungsbeweise zum Einsatz,
um auch bei Abweichungen zwischen der Anfrage und den
Einträgen in der Falldatenbank ein sinnvolles Ranking
der FAQ-Einträge
zu ermöglichen.
Literatur
- Fabian Aiteanu
Visualisierung semantischer Netze
VDM Verlag Dr. Müller, Saarbrücken, 2007.
- Ingo Glöckner
University of Hagen at QA@CLEF 2007: Answer validation
exercise
In: Results of the CLEF 2007 Cross-Language System Evaluation Campaign,
Working Notes for the CLEF 2007 Workshop,
Budapest, Hungary, September 2007.
- Ingo Glöckner
Towards Logic-Based Question Answering under Time Constraints
In: Proc. of the IAENG International Conference on Artificial Intelligence
and Applications (ICAIA'08), Hong Kong, 19-21 March, 2008 (to appear)
- Ingo Glöckner
Knowledge Representation and Reasoning with MWR+
(50 pages, in Vorbereitung)
-
Ingo Glöckner, Sven Hartrumpf und Johannes Leveling
Logical validation, answer merging and witness selection
- A case study in multi-stream question answering
In: Proceedings of RIAO 2007, Pittsburgh PA,
April 2007.
- Carsten Gnörlich
Technologische Grundlagen der
Wissensverwaltung für die automatische Sprachverarbeitung
Dissertation, FernUniversität in Hagen, Fachbereich Informatik, 2002.
- Florian Kintzel
Entwurf und Implementierung einer natürlichsprachlichen Generierungskomponente für mehrschichtige erweiterte semantische Netze
Diplomarbeit, FernUniversität in Hagen, Fachbereich Informatik, Mai 2007.
- Peter Klein
Management und Visualisierung von Axiomensystemen für
MultiNet
Diplomarbeit, FernUniversität in Hagen, Fachbereich Informatik, Juni 2007.
- Angela Klutsch
Axiomatische Behandlung von Faktizität in MultiNet unter besonderer
Berücksichtigung faktiver und implikativer Verben
Diplomarbeit, FernUniversität in Hagen, Fachbereich Informatik, Oktober 2007.
- Steffen Marthen
Untersuchungen zur Assimilation größerer
Wissensbestände aus textueller Information.
Master's thesis, FernUniversität in Hagen, Fachbereich Informatik, 2002.
- Rebecca Ratzer
Aufbau und Erschließung einer MultiNet-Wissensbasis zu vorgegebener textueller Information
Diplomarbeit, FernUniversität in Hagen, März 2006.
- Michael Schüller
Entwicklung eines FAQ-Systems für das virtuelle Labor
VILAB
Diplomarbeit, FernUniversität in Hagen, Fachbereich Informatik, 2006.