De Kölschifier - Algorithmus

 

Darstellung des Übersetzungsprozesses:

An dieser Stelle soll der Übersetzungsprozess kurz plastisch dargestellt werden. Zu einem besseren Verständnis kann auch die Dokumentation des Quellcodes herangezogen werden.

Die Übersetzung verläuft in vier Stufen:

  1. Taggen der Eingabe.
  2. Nachschlagen der Eingabe im Kölschen Wörterbuch.
  3. Analyse nach Wortart (Tags).
  4. Generierung einer Kölschen Übersetzung.

Diesen vier Stufen kann man auch vier Hauptklassen des Java-Quellcodes zuordnen:

  1. Die Klasse Tagger [java-doc]. Hier wird der Tagger mit der bereits segmentierten Eingabe gestartet. Der Ausgabe-Stream wird abhört und für jedes gefundene Wort wird eine Instanz von Word [java-doc] angelegt.
  2. Die Klasse KoelnDic [java-doc]. In dieser Klasse werden eins-zu-eins-Übersetzungen vorgenommen. So werden Satzzeichen, SGML-Tags, Fremdwörter, Zahlen, etc einfach ohne Wandlung ins Kölsche übernommen.
    Bei anderen Wortarten muss das Koelsche Wörterbuch benutzt werden (Negation, Konjunktionen, Präpositionen, etc). Daraus ergeben sich dann die Übersetzungen. Auch die nötigen zusätzliche Informationen über gefundene Adjektive, Nomen oder Verben werden in Word [java-doc] eingetragen.
  3. Die Klasse Analyse [java-doc]. Bei einigen Wortarten ist eine Analyse sinnvoll und notwendig, da das Lexikon keine Vollformen enthält. Die Analyse ist in fast allen Fällen eine morphologische Analyse. Die Analyse fällt für jede Wortart (diese liefert der Tagger) unterschiedlich aus. Die Eingabe eines Nomens "Könige" wird mit dem vom Tagger gefundenen Lemma ("König") verglichen. In diesem Beispiel würde die Endung "e" auf eine Pluralform im Nominativ schließen lassen. Die gefundenen grammatischen Informationen werden in der Klasse Grammar [java-doc] - eine Unterklasse von Word - gespeichert und später wieder für die Generierung benötigt.
  4. Die Klasse Generator [java-doc]. Aus den Informationen der Analyse und den Informationen aus dem Wörterbuch werden einige k ölsche Wörter generiert. Hierzu zählen etwa Verben. Schwache Verben werden mittels Deklinationstabellen (diese liefert das Wörterbuch) in der richtigen Person und dem richtigen Tempus (diese liefert die Analyse) generiert.

Die Methoden dieser aufgeführten Klassen sind fast alle unsichtbar ("private"). Die Klassen werden nacheinander gestartet. Folgende Methoden-Aufrufe führen zum Start:

  1. Tagger.start / Mit diesem Aufruf wird eine ArrayList der eingegebenen Wörter angelegt und an die Kontroll-Klasse Koelsch [java-doc] zurückgegeben.
  2. KoelnDic.start / Die angelegte ArrayList wird übergeben und abgearbeitet.
  3. Analyse.that / Die ArrayList wird wieder übergeben und Wort für Wort abgearbeitet.
  4. Generator.start / Wieder mit Übergabe der ArrayList

Wie man hier sehen kann, legt Tagger.start eine ArrayList an. Die Liste wird dann beim Aufruf aller anderen Methoden übergeben. Die Bearbeitung der Wörter in den Wortlisten übernimmt dann die jeweilige Klasse. Die Ergebnisse dieser Bearbeitungen werden in der jeweiligen Instanz der Klasse Word gespeichtert.

Eine Beispielhafte Darstellung des Übersetzungsprozesses finden Sie bei der Konzeption [weiter...].