[Index] [Back] [Forward]


Kapitel 4 : Die Verarbeitung


Den Übersetzungsprozeß von CAT2 kann man wie bei vielen anderen Systemen in die Phasen Analyse , Transfer und Generierung gliedern, wobei Analyse und Generierung die linguistischen Ebenen Morphologie, Syntax und Semantik umfassen und der Transfer den konkreten Umsetzungsprozeß von der Quellsprache in die Zielsprache darstellt.

Abbildung 4.1: Phasen des Übersetzungsprozesses


Aus der Sicht des Verarbeitungsmodells von CAT2 ist die Einteilung anders vorzunehmen. Hier kann man die morphologische Analyse, die syntaktische Analyse, die Phase der Baumtransformationen und die morphologische Generierung unterscheiden.

Abbildung 4.2: Phasen der Übersetzung aus Sicht des Verarbeitungsmodells


4.1 Morphologische Analyse


Die morphologische Analyse hat die Aufgabe, jedem Wort der Eingabe eine Merkmalsstruktur mit morphologischen, syntaktischen und semantischen Merkmalen zuzuordnen. CAT2 besitzt keine eigene morphologische Analyse. Die Einträge in der morphologischen Ebene der Grammatik bilden vielmehr ein Vollformenlexikon, aus welchem die entsprechenden Merkmalsstrukturen ausgelesen werden können.

Da diese Situation äußerst unbefriedigend ist, gibt es die Möglichkeit, die morphologische Analyse von einem externen Programm durchführen zu lassen. Im Moment wird dazu das Programm MPRO verwendet, welches sowohl Komposition und Derivation, als auch Flexion beherrscht, und für viele Sprachen, allerdings in unterschiedlichem Umfang, zur Verfügung steht.

Verwendung eines Vollformenlexikons

Abbildung 4.3: Erstellung eines morph. Objekts mit Vollformenlexikon


Bei der Verwendung eines Vollformenlexikons wird die morphologische Analyse durch einen simplen Lexikonzugriff ersetzt. Jeder Zeichenkette der Eingabe wird eine initiale Merkmalsstruktur zugewiesen. Diese besteht aus den Merkmalen string und 'word#'. Der Wert von string ist die Zeichenkette selbst und der Wert von 'word#' eine Zahl, die ihre Stellung im Satz repräsentiert. Der Wert des Merkmals string dient als Schlüssel für den Lexikonzugriff. Das bedeutet, daß für jede Zeichenkette, die korrekt verarbeitet werden soll, mindestens ein Eintrag im morphologischen Generator der Quellsprache existieren muß. Dieser Lexikoneintrag wird ausgelesen und mit der initialen Merkmalsstruktur der Zeichenkette unifiziert. Anschließend werden die F-Regeln des Generators genutzt, um Defaultmerkmale und -werte in die Merkmalsstruktur aufzunehmen. Kann kein Lexikoneintrag gefunden werden, der die zu analysierende Zeichenkette enthält, wird das Merkmal lex mit dem Wert '@unknown' belegt.

Externe morphologischen Analyse

Abbildung 4.4: Erstellung eines morph. Objekts mit MPRO


Die externe morphologische Analyse mittels MPRO liefert ein morphologisches Objekt, das aus Merkmalsstrukturbeschreibungen besteht, die auf die Grammatik von CAT2 abgestimmt sind und genauso verarbeitet werden können, als wären sie durch die Verwendung eines morphologischen Generators entstanden.


4.2 Syntaktische Analyse


Für die Syntaxanalyse wird in CAT2 ein Bottom-Up-Chart-Parser mit einem modifiziertem Earley-Algorithmus verwendet. Dieser erstellt aus einem morphologischem Objekt unter Nutzung eines syntaktischen Generators einen, bzw. bei Mehrdeutigkeit mehrere Syntaxbäume. Der Parser von CAT2 arbeitet ohne Startsymbol, d.h. er ist theoretisch in der Lage, jede beliebige Phrase, die durch die Grammatik definiert wird, zu analysieren. Dadurch wird es möglich, auch einzelne Wörter oder Wortgruppen zu übersetzen.

Abbildung 4.5: Syntaktische Analyse in CAT2


Syntaktischer Generator Wie in den vorhergehenden Abschnitten besprochen, besteht der syntaktische Generator aus B-Regeln, die die möglichen syntaktischen Strukturen beschreiben, und F-Regeln, zur Überprüfung und Vervollständigung der Merkmale erstellter Strukturen. Die kleinsten syntaktischen Strukturen, die Blätter eines Syntaxbaumes, werden durch atomare B-Regeln beschrieben. Diese bilden das Lexikon der syntaktischen Ebene.

Morphologisches Objekt Das morphologische Objekt, welches analysiert und in ein syntaktisches überführt werden soll, besteht aus einer Liste von Merkmalsstrukturen. Jede Merkmalsstruktur beschreibt ein Wort der Eingabe. Bei Mehrdeutigkeiten kann ein Wort auch durch mehrere Merkmalsstrukturen beschrieben werden.

Algorithmus

Der Parser verarbeitet die Wörter nacheinander, beginnend mit dem ersten Wort der Eingabe. Für jedes Wort gibt es zwei grundlegende Operationen. In Anlehnung an den Earley-Algorithmus werden sie Scanner und Completer genannt.

Scanner Der Scanner erstellt aus der morphologischen Merkmalsstruktur eines Wortes durch Unifikation mit einer atomaren B-Regel, die das gleiche Lexem repräsentiert, d.h. denselben Wert des Merkmals lex besitzt, ein syntaktisches Objekt. Auf dieses werden dann die F-Regeln des Generators angewendet. Im Erfolgsfall wird das Objekt in einem Chart abgespeichert. Existieren mehrere Merkmalsstrukturen für das Eingabewort, oder werden verschiedene Lexikoneinträge mit dem gleichen Lexem gefunden, wird jeweils ein weiteres syntaktisches Objekt erstellt.

Completer Ist die Phase des Scannens beendet, wird der Completer aktiviert. Dieser versucht aus den bereits abgespeicherten syntaktischen Objekten, größere Syntaxbäume zu erstellen. Für jedes in der letzten Scanner-Phase erstellte Objekt läuft dieselbe Prozedur ab: Es wird eine B-Regel gesucht, die einen Baum beschreibt, dessen äußerster rechter Tochterknoten mit dem Objekt unifizierbar ist. In einem weiteren Schritt werden die anderen Tochterknoten, von rechts beginnend mit bereits erstellten syntaktischen Objekten aufgefüllt. Also mit Wörtern oder Wortgruppen, die sich in der Eingabe links vom aktuellen Wort befinden. Der entstehende Syntaxbaum wird wieder der Überprüfung durch die F-Regeln unterzogen und dann in einem Chart abgespeichert. Danach dient er als neuer Ausgangspunkt für die Erstellung noch größerer Strukturen. Falls es mehrere Möglichkeiten gibt, einen Baum zu erstellen, also mehrere Regeln anwendbar sind, oder die Tochterknoten mit verschiedenen Objekten unifiziert werden können, werden diese Möglichkeiten nacheinander getestet und im Erfolgsfall ein weiteres Objekt erstellt und gespeichert.


4.3 Transformation


Alle weiteren Prozesse bis zur morphologischen Generierung sind Baumtransformationsprozesse zwischen zwei Ebenen der Repräsentation. Für den Transformationsprozess wird ein Translator zwischen den Ebenen und ein Generator für die Zielebene benötigt.

Abbildung 4.6: Baumtransformation


Algorithmus

  1. Es wird eine T-Regel des Translators gesucht, deren Quellseite mit dem Quellobjekt unifizierbar ist. Die Marker der T-Regel werden an die entsprechenden Teilbäume des Quellobjektes gebunden.

  2. Der Transformationsalgorithmus wird rekursiv für jedes der gebundenen Subobjekte ausgeführt.

  3. Aus der Zielseite der T-Regel wird unter Einbeziehung aller transformierten Subobjekte ein provisorisches Zielobjekt erstellt.

  4. Es wird eine B-Regel des Generators ermittelt, die mit dem provisorischen Zielobjekt unifizierbar ist. Die Unifikation wird ausgeführt.

  5. Die Zielseiten alle TF-Regeln, deren Quellseiten auf das Quellobjekt anwendbar sind, müssen auf das provisorische Zielobjekt angewendet werden.

  6. Konnten die F-Regeln des Generators erfolgreich auf das Zielobjekt angewendet werden, wird es als permanentes Objekt abgespeichert.

  7. Der Transformationsprozeß ist beendet und es findet ein Backtracking statt, um alle weiteren Lösungen zu ermitteln.


4.4 Morphologische Generierung


Abbildung 4.7: Morphologische Generierung in CAT2


Ausgangspunkt der morphologischen Generierung ist ein syntaktisches Objekt, ein Syntaxbaum. Das Ziel ist ein morphologisches Objekt, das für jedes Wort des Ausgabesatzes eine Merkmalsstruktur mit dem Merkmal string enthält, dessen Wert die korrekte Zeichenkette der Zielsprache widerspiegelt. Wie bei der Analyse gibt es auch bei der morphologischen Generierung die Möglichkeiten ein externes Programm oder ein Vollformenlexikon zu benutzen. Beide Verfahrensweisen arbeiten wortweise, d.h. die Blätter des Syntaxbaumes dienen nacheinander als Eingabe.

Verwendung eines Vollformenlexikons

Die Merkmalsstruktur aus dem Syntaxbaum wird mit dem Eintrag aus dem Vollformenlexikon unifiziert, der denselben Wert des Merkmals lex besitzt. Durch die Unifikation kann der Wert des Merkmals string ermittelt werden, der als Ausgabezeichenkette dient. Dann werden die F-Regeln der morphologischen Ebene angewendet, um die neue Mermalsstruktur zu bestätigen und zu vervollständigen. Aus Konsistenzgründen wird die Merkmalsstruktur zusätzlich mit dem Merkmal 'word#' ausgestattet.

Externe morphologische Generierung

Bei der externen morphologischen Generierung wird dem Programm die Merkmalsstruktur aus dem Syntaxbaum übergeben. Das Ergebnis ist eine Zeichenkette, die in die Merkmalsstruktur als Wert des Merkmals string übernommen wird. Die weiteren Schritte gleichen denen, die bei der Arbeit mit einem Vollformenlexikon ausgeführt werden müssen: Anwendung der F-Regeln und Hinzufügen des Merkmals 'word#'.


4.5 Robuste Übersetzung


Kann eine normale Übersetzung nicht erfolgen, weil zum Beispiel kein vollständiger Syntaxbaum erstellt werden kann, ist es dennoch oft erwünscht, ein wenigstens teilweise richtiges Ergebnis zu erhalten. Deshalb existiert der Robustmodus.

Fehler während der syntaktischen Analyse

Trat der Fehler schon während der syntaktischen Analyse auf, werden die vom Parser bis dahin erstellten Teilbäume dem weiteren Analyse- und Generierungsprozeß einzeln unterzogen. Da es zeitlich nicht möglich und auch nicht lohnend ist, wirklich alle Teilbäume zu übersetzen, werden nur einige ausgewählt.

Aus den Teilbäumen, die mit dem ersten Wort der Eingabe beginnen, wird der größte ausgewählt. Der nächste zu übersetzende Teilbaum muß dann an diesen anschließen, usw. Diese Auswahlmethode ist relativ willkürlich, da nicht gesichert ist, daß die linguistisch sinnvollste Gliederung aus den möglichen ausgewählt wurde.

Fehler während der Baumtransformation

Konnte ein Baum nicht korrekt von einer Repräsentationsebene in eine andere überführt werden, wird im Robustmodus versucht, dessen Teilbäume unabhängig voneinander zu übersetzen.

Fehler während der morphologischen Generierung

Ein Fehler bei der morphologischen Generierung kann zum Beispiel durch die Verletzung einer F-Regel des morphologischen Generators auftreten. Im Robustmodus werden Zeichenketten des Ausgabetextes direkt aus den Merkmalsstrukturen entnommen, die die Blätter des Syntaxbaumes bilden. Falls das Merkmal string in der Merkmalsstruktur existiert, wird dessen Wert genutzt, sonst der des Merkmals lex.


[Index] [Back] [Forward]