Matthias Rehm Universtiät Bielefeld Graduiertenkolleg Aufgabenorientierte Kommunikation Postfach 10 01 31, D-33501 Bielefeld Sprachgenerierung auf der Grundlage konzeptueller Strukturen In diesem Abstract wird ein kurzer Überblick über das System IPaGe (Inkrementeller Paralleler Generator) gegeben, dass Sprachgenerierung ausgehend von konzeptuellen Strukturen leistet. Dabei wird gezeigt, dass diese Strukturen eine günstige Ausgangsbasis für den Generierungsprozess darstellen. Zum einen erlauben sie in natürlicher Weise ein inkrementelles Eingabeverhalten, zum anderen bieten sie die Möglichkeit, den Generierungsprozess in einer Art zu parallelisieren, die eine einfache Adaptierung des Systems an unterschiedliche Domänen zuläßt. Dieser Aspekt wird zusätzlich durch das objektorientierte Paradigma der gewäthlten Programmiersprache (JAVA) unterstützt. Um einen Kontext für die Generierungsaufgabe zu schaffen, ist das entwickelte Generierungssystem IPaGe an ein teilautonomes Robotersimulationssystem angebunden, in dem Baufixteile manipuliert werden (Milde, Strippgen und Peter (1997)). In diesem Zusammenhang sollen Beschreibungen der Roboterhandlungen in der ersten Person generiert werden, beispielsweise "Ich lege die Schraube neben den Würfel". Diese Anbindung stellt gewisse Anforderungen an die Geschwindigkeit des Generierungsprozesses, da jeweils die aktuelle Handlung beschrieben werden soll. Als Schnittstelle zu dem Simulationssystem und damit als Startpunkt des Generierungsprozesses dienen konzeptuelle Strukturen wie sie von Jackendoff beschrieben und von Lobin adaptiert wurden (Jackendoff (1991), Lobin (1996)). Der erfolgreiche Einsatz konzeptueller Strukturen in Prozessen der Sprachverarbeitung bietet eine gute Ausgangslage, diese als Schnittstelle zu Prozessen nichtlinguistischer Verarbeitung in Betracht zu ziehen (s. beispielsweise Nogier und Zock (1992), Dorr (1993)). Die Wahl konzeptueller Strukturen für diese Aufgabe bietet entscheidende Vorteile. Durch den rekursiven Aufbau dieser Strukturen kann auf einfache Weise ein inkrementelles und paralleles Eingabeverhalten implementiert werden. Ein solches Verarbeitungsverhalten legen zum einen psycholinguistisch motivierte Sprachproduktionsmodelle nahe (Levelt (1989)), zum anderen ist dies in der hier zugrundegelegten Anwendung notwendige Voraussetzung, um den zeitkritischen Generierungsprozess zu realisieren. Am Beispiel einer konzeptuellen Struktur werden die relevanten Merkmale beschrieben: [POSITION beside([OBJECT block [COLOR red]])]. Realisiert werden könnte diese Struktur beispielsweise als "neben dem Würfel". Zunächst fällt auf, dass komplexe konzeptuelle Strukturen aus anderen konzeptuellen Strukturen zusammengesetzt sind. Hier können drei Strukturen identifiziert werden: i.) [POSITION beside([OBJECT ])], ii.) [OBJECT block], iii.) [COLOR red]. Jede dieser Strukturen kann als Eingabeinkrement dienen, wobei die zeitliche Reihenfolge der Bereitstellung keine Rolle spielt. Die für den Generierungsprozess entscheidenden Bestandteile sind der Typ einer Struktur (POSITION, OBJECT, COLOR), der logische Kopf (beside, block, red), sowie Anzahl und Art möglicher Argumente ([OBJECT] als Argument der POSITION-Struktur). Konzeptuelle Strukturen tragen Informationen sowohl für die lexikalische als auch für die syntaktische Verarbeitung. Die Auswahl geeigneter Worte wird dabei mit Hilfe aller oben aufgezählten Bestandteile durchgeführt. Für die syntaktische Verarbeitung ist im Wesentlichen der Typ der Struktur von Bedeutung, da es nach Jackendoff eine Typ-Phrasen-Korrespondenz gibt, die hier ausgenutzt werden kann. So werden OBJECT-Strukturen im Allgemeinen als Nominalphrasen realisiert. Welche Bedeutung haben diese Eigenschaften konzeptueller Strukturen für den Generierungsprozess? Zunächst unterstützen sie in natürlicher Weise eine inkrementelle Verarbeitung, die als wichtiges Merkmal des Generierungsprozesses gilt (Levelt (1989), Kempen und Hoenkamp (1987)). Weiterhin tragen sie Informationen sowohl für die lexikalische als auch für die syntaktische Verarbeitung. Diese Informationen können unabhängig voneinander ausgewertet werden, wodurch eine Parallelisierung der Sprachgenerierung möglich wird. Dementsprechend sind diese beiden Prozessarten in IPaGe voneinander getrennt realisiert. Als zentraler Datenspeicher steht ein Blackboard zur Verfügung, so dass alle Prozesse Zugang zu den relevanten Daten haben. Dies ist insbesondere für die syntaktische Verarbeitung von Interesse, da hier lediglich der erste Teil der Verarbeitung vollkommen unabhängig von den Ergebnissen der lexikalischen Verarbeitung durchgeführt werden kann. Parallelisierung des Generierungsprozesses Welche Unterprozesse können in den beiden Einheiten identifiziert werden? Auf der Seite der lexikalischen Verarbeitung sind dies Transformation, Lexemauswahl und morphologische Verarbeitung. Transformation: Die lexikalische Verarbeitung befasst sich mit der Wahl geeigneter Worte, um die gegebenen semantischen Relationen auszudrücken. Zunächst müssen die vorhandenen Ambiguitäten in der Eingabestruktur aufgelöst werden. Diese Ambiguitäten ergeben sich durch die strukturelle Kodierung der Bedeutung. Der gleiche logische Kopf kann für einen gegebenen Typ unterschiedliche Bedeutung in verschiedenen strukturellen Kombinationen haben. BEISPIEL. Lexemauswahl: Als nächstes muss ein Lexem ausgewählt werden, das die intendierte Bedeutung kodiert. Für eine gegebene Bedeutung existieren oft mehrere Lexeme, von denen ein bestimmtes auszuwählen ist. Beispielsweise kann ein Baustein als Block, Würfel, Quader, Klotz, Baustein, Quadrat, etc. bezeichnet werden. Morphologische Verarbeitung: Ist der Auswahlprozess beendet, muss das entsprechende Lexem passend flektiert werden. Dieser Prozess ist im aktuellen IPaGe noch nicht realisiert, stattdessen findet eine Auswahl der flektierten Form aus einem Vollformenlexikon statt. Auf der syntaktischen Seite werden zwei Prozesse unterschieden: Mapping und Instantiierung. Mapping: Während der syntaktischen Verarbeitung wird festgelegt, welche Phrasen die Äußerung konstituieren. Eine erste Einschränkung des Suchraums ist möglich, da eine Korrespondenz zwischen konzeptuellen Typen und Phrasenstrukturen besteht, welche die entsprechenden Strukturen realisieren. Instantiierung: Phrasenstrukturen werden über klassische Phrasenstrukturregeln beschrieben, die die Konstituenten der Phrasen festlegen. Diese Konstituenten müssen durch die Worte ersetzt werden, die von der lexikalischen Verarbeitung geliefert werden. Bis jetzt wurde eine sequentielle Verarbeitungsweise beschrieben. Zuerst mussten Lexeme ausgewählt und flektiert werden, dann mussten sie entsprechend der Regeln der ausgewählten Phrasenstrukturen linearisiert werden. Aber es ist möglich diese Prozesse zu parallelisieren, um einen flexiblen und inkrementellen Generierungsprozess zu realisieren. Konzeptuelle Strukturen enthalten die Informationen, um lexikalische und syntaktische Verarbeitung simultan zu starten. Obwohl die flektierten Worte benötigt werden, um die Aufgabe der syntaktischen Verarbeitung zu beenden, kann der erste Schritt, das Mapping konzeptueller Typen auf mögliche Phrasenstrukturen, unabhängig davon stattfinden. Innerhalb dieser Verarbeitungseinheiten können die einzelnen Unterprozesse für ein gegebenes Eingabeinkrement nicht parallelisiert werden. Aber es gibt die Möglichkeit, die Verabeitung innerhalb dieser Prozesse selbst zu parallelisieren. Dies wird am Beispiel des Transformationsprozesses verdeutlicht. Eine gegebene konzeptuelle Struktur besteht aus einem Typ, einem Kopf und, u.U., aus Argumenten. Die verschiedenen Untersprozesse arbeiten im Wesentlichen lexikonbasiert. Während des Transformationsprozesses findet beispielsweise ein Lookup im konzeptuellen Lexikon statt. Der erste Schlüssel hierfür ist der konzeptuelle Typ dieser Struktur. Möchte man also den Transformationsprozess für verschiedene Eingabeinkremente parallelisieren, bietet es sich an, verschiedene Transformationsprozesse für die verschiedenen konzeptuellen Typen zu implementieren. Ein gegebenes Eingabeinkrement triggert dann seinen typspezifischen Transformationsprozess ohne den Gesamttransformationsprozess zu blockieren. Erreicht eine weitere Struktur mit anderem Typ den Generierungsprozess, kann die Verarbeitung dieser Struktur sofort starten. Um IPaGe zu implementieren wurde JAVA als Programmiersprache gewählt. Das objektorientierte Paradigma dieser Sprache unterstützt direkt die hier gewählte Art Prozesse zu parallelisieren. Dies wird wiederum am Beispiel des Transformationsprozesses exemplifiziert. Für den Prozess der Transformation wurde eine Klasse erzeugt, die die Verarbeitung dieses Prozesses implementiert. Um die Arbeit auf verschiedene Prozesse zu verteilen wurden Instanzen dieser Klasse für die unterschiedlichen konzeptuellen Typen erzeugt und als eigenständige Threads gestartet. Auf diese Weise ist eine einfache Anpassung des System möglich. Werden neue konzeptuelle Typen benötigt, ist außer der Ergänzung des Lexikons lediglich eine entsprechende typspezifische Instanz der Transformationsklasse zu erzeugen. Auf diese Weise werden alle Unterprozesse parallelisiert, was einen zusätzlichen Vorteil liefert, der am besten am Instantiierungsprozess veranschaulicht werden kann. Eines der Designkriterien für IPaGe war Flexibilität, hier in der Bedeutung, dass auf beliebige Eingaben reagiert werden kann. Komplexe konzeptuelle Strukturen bestehen selbst aus konzeptuellen Strukturen und können letztendlich bis auf atomare Strukturen zurückgeführt werden, die nur noch aus einem Typen und einem Kopf bestehen. Jede dieser atomaren Strukturen kann als Eingabeinkrement in den Generierungsprozess dienen. Die Reihenfolge ist dabei in keiner Weise vorgegeben. Da diese atomaren Strukturen zu Phrasenstrukturen korrespondieren, und da die Reihenfolge verschiedener Phrasen in einer Äußerung zu einem bestimmten Maß flexibel ist, kann das Ausgabeverhalten diese Flexibilität reflektieren. Die Reihenfolge, in der die Phrasen der Äußerung ausgegeben werden ist tatsächlich in hohem Maße abhängig von der Reihenfolge in der die Eingabestrukturen bereitgestellt werden. Wenn beispielsweise eine konzeptuelle Struktur, die als direktes Objekt realisiert wird, als erstes das Blackboard erreicht, ist es sehr wahrscheinlich, dass die Äußerung mit eben jenem direkten Objekt beginnt: Die Schraube lege ich neben den Würfel. Qualitative Inkrementalität Durch die Art der Parallelisierung der Prozesse ergibt sich ein weiterer, wünschenswerter Effekt. Grundsätzlich können nach Finkler zwei Typen von Inkrementalität unterschieden werden: quantitative und qualitative Inkrementalität (Finkler (1997)). Bisher war nur die Rede von quantitativer Inkrementalität. Die einzelnen Teile einer Eingabestruktur können nacheinander (hier sogar in beliebiger Reihenfolge) bereitgestellt und verarbeitet werden. Unter qualitativer Inkrementalität wird die Fähigkeit verstanden, ein bereits erreichtes Ergebnis zu verbessern, wenn neue Informationen zur Verfügung stehen. Dieses Phänomen wird in IPaGe während des Instantiierungsprozesses realisiert. Eine gegebene Phrase kann durch verschiedene mehr oder weniger komplexe Strukturen realisiert werden. Bsp.: NP -> Det N vs NP -> Det Adj N. Alle eine bestimmte Phrase realisierenden Strukturregeln werden als eigenständige Prozesse gestartet, und versuchen, die Konstituenten ihrer rechten Seite zu instantiieren. Gelingt dies für eine Regel, so steht ein erstes Ergebnis zur Verfügung, beispielsweise NP -> den Würfel. Die komplexeren Regeln versuchen weiterhin, ihre Konstituenten zu instantiieren. Ist im obigen Beispiel das entsprechende Adjektiv irgendwann verfügbar, so wird das bisherige Ergebnis überschrieben: NP -> den gelben Würfel. Erreicht der Ausgabeprozess die entsprechende Phrase, wird das aktuell vorhandene Ergebnis ausgegeben. Zusammenfassung Konzeptuelle Strukturen lassen sich erfolgreich als semantisches Repräsentationsformat im Sprachgenerierungsprozess einsetzen. Dies wurde am Beispiel des Generierungssystems IPaGe gezeigt. Aufgrund ihres Aufbaus unterstützen konzeptuelle Strukturen zum einen eine inkrementelle Verarbeitungsstrategie, zum anderen erlauben sie in Zusammenhang mit dem objektorientierten Paradigma der für die Implementierung gewählten Programmiersprache eine Parallelisierung des Generierungsprozesses, bei der die Adapation des Systems an andere als die hier vorgestellte Domäne problemlos möglich ist. Literatur Dorr, B.J. (1993): Machine translation: a view from the lexicon. MIT Press Finkler, W. (1997): Automatische Selbstkorrektur bei der inkrementellen Generierung gesprochener Sprache unter Realzeitbedingungen. Infix Jackendoff, R. (1991): Semantic Structures. MIT Press Kempen, G. und Hoenkamp, E. (1987): An incremental procedural grammar for sentence formulation. In Cognitive Science, 11, S. 201-258 Levelt, W.J.M. (1989): Speaking: From intention to articulation. MIT Press Lobin, H. (1996): Handlungsanweisungen: sprachliche Spezifikation teilautonomer Aktivität. DUV Milde, J.-T., Strippgen, S. und Peters, K. (1997): Situated communication with robots. In First international workshop on human-computer conversation Nogier, J.F. und Zock, M. (1992): Lexical choice as pattern matching. In Nagle, Nagle, Gerholz, Eklund (Hrsg.): Conceptual Structure: current research and practice, Ellis Horwood