[Index] [Back] [Forward]


4.6 Unifikation


Im Verarbeitungsmodell von CAT2 wird der Begriff Unifikation weiter gefaßt. Mit Unifikation wird auch der Prozeß bezeichnet, der eine Baumstruktur mit den in den verschiedenen Regeln beschriebenen Baumstrukturen vergleicht, und dabei eine Unifikation der Merkmalsstrukturen der Baumstruktur mit den Merkmalsstrukturbeschreibungen der Grammatikregeln vornimmt.

Unifikation von Baumstrukturen

Die Unifikation von Baumstrukturen wird während des Parsens genutzt, um Wurzelknoten eines Objekts mit Tochterknoten von in Regeln beschriebenen Teilbäumen zu unifizieren. Sie wird bei der Transformation genutzt, um die Quellseite einer T-Regel mit Teilstrukturen des Quellobjekts zu unifizieren. Auch während der Anwendung von F-Regeln und TF-Regeln auf ein Objekt ist die Unifikation von Objektstrukturen und Regelstrukturen notwendig.

In allen Regeln existiert die Möglichkeit, für die verschiedenen beschriebenen Knoten Bedingungen und Konsequenzen mit Hilfe des Implikationsoperators '>>' zu formulieren. Nur bei F-Regeln und TF-Regeln wird diese Implikation auch verwirklicht. In allen anderen Fällen wird der Operator im Sinn einer konjunktiven Verknüpfung interpretiert und kann der Effizienzverbesserung dienen.

Zu einer Verbesserung kann es kommen, weil zuerst alle Bedingungsteile geprüft werden, dann erst alle zugehörigen Konsequenzen. Diese Vorgehensweise ermöglicht es, die entscheidenden und evtl. schnell unifizierbaren Merkmale eines Knotens in den Bedingungsteil zu schreiben. Nur wenn die Bedingungsteile aller Knoten des durch die Regel beschriebenen Objekts mit dem Objekt unifizierbar sind, müssen die zeitaufwendigen Unifikationen aller Konsequenzen erfolgen. Während des Parsens tritt jedoch keine Verbesserung ein, da hier nie ganze Objekte unifiziert werden, sondern immer nur einzelne Merkmalsstrukturen.

Die Unifikation der Bedingungen teilt sich in zwei Aufgaben. Die erste Aufgabe besteht darin die Wurzel der Regel und des Objekts mittels Merkmalsunifikation zu vergleichen. Dann werden die Konstituenten betrachtet. Diese können mit Quantoren versehen sein, es besteht die Möglichkeit der disjunktiven Verknüpfung. Die Tochterbäume der Regel müssen sowohl strukturell als auch hinsichtlich ihrer Merkmale mit den Tochterbäumen des Objekts unifizierbar sein. Für jeden Tochterbaum des Objekts wird der Algorithmus von links beginnend rekursiv aufgerufen. Dabei wird der zugehörige Tochterbaum, der in der Regel beschrieben wird, übergeben. Schlug die Unifikation eines Tochterbaumes fehl, wird via Backtracking nach einer anderen strukturellen Lösung gesucht, die durch Quantoren oder Disjunktionen in der Regel möglich ist. Können keine anderen Möglichkeiten gefunden werden, schlägt die gesamte Baumunifikation fehl. Bei jeder erfolgreichen Unifikation eines Tochterbaumes werden, falls welche existieren, die Konsequenzen und die zugehörigen Knoten vermerkt. Diese müssen dann nur noch nacheinander der Merkmalsunifikation unterzogen werden.

Merkmalsunifikation

Merkmalsunifikation findet immer zwischen der Merkmalsstrukturbeschreibung einer Grammatikregel und der Merkmalsstruktur eines linguistischen Objekts statt. Kann ein Constraint von der Merkmalsstruktur nicht entgültig bestätigt werden, d.h. die Merkmalsstruktur besitzt für das entsprechende Merkmal noch keinen Wert, der über die Erfüllung des Constraints eine Aussage treffen könnte, muß das Constraint auf geeignete Art und Weise gespeichert werden, um zu einem späteren Zeitpunkt erneut überprüft werden zu können. Ist statt des Wertes ein schon abgespeichertes Constraint vorhanden, müssen die beiden Constraints auf Verträglichkeit geprüft und gegebenenfalls zusammengefaßt werden.

Eine Merkmalsstrukturbeschreibung FBD soll mit einer Merkmalsstruktur FB unifiziert werden:

Unifikation von positivem Constraint {attr=A} und FB

Unifikation von existentiellem Constraint {attr==A} und FB

Unifikation von negativem Constraint {attr~=A} und FB

Es gibt drei prinzipielle Fälle, die bei der Unifikation mit einem negativen Constraint zu unterscheiden sind.
  1. {attr=A} ist kompatibel mit FB. Die Unifikation schlägt fehl.
  2. {attr=A} ist nicht unifizierbar mit FB. Die Unifikation von {attr~=A} und FB ist erfolgreich.
  3. {attr=A} ist unifizierbar mit FB, aber nicht kompatibel. Die Unifikation von {attr~=A} mit FB ist nicht entscheidbar. Das Constraint muß abgespeichert und erneut überprüft werden, wenn eine Variable in FB mit Werten belegt wird.
Enthält FB kein Merkmal attr, wird attr=X in die Merkmalsstruktur FB übernommen und 3. tritt ein.

Kompatibilität zwischen A und B ist exakt definiert durch:

Unifikation von atomarem Wert A und Wert B

Unifikation von komplexem Wert A und Wert B

Bei einem komplexen Wert A handelt es sich wieder um eine Merkmalsstrukturbeschreibung.

Unifikation von disjunktivem Wert (A1;A2) und B

Unifikation von implikativem Wert (A1>>A2) und Wert B

Die Merkmalsunifikation mit einem implikativen Constraint ist im Verarbeitungsmodell von CAT2 mit der Semantik einer Konjunktion belegt. Deshalb wird die Unifikation nacheinander mit beiden Teilen der Implikation durchgeführt. Wenn eine Unifikation fehlschlägt, schlägt die gesamte Unifikation fehl. Als Ergebnis dieser Analyse wird das Symbol '>>', wenn es in der Semantik einer Konjunktion verwendet wird, in einer späteren Version von CAT2 durch das Symbol '&' ersetzt.

Unifikation von verkettendem Wert (A1+A2) und Wert B


[Index] [Back] [Forward]