Messung maschineller¨Ubersetzbarkeit von ... - Parallele Systeme
Messung maschineller¨Ubersetzbarkeit von ... - Parallele Systeme
Messung maschineller¨Ubersetzbarkeit von ... - Parallele Systeme
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
8. Implementierung <strong>von</strong> MT Analyser<br />
8.1. Einbindung <strong>von</strong> TreeTagger<br />
8.1.1. Satzerkennung und Reformatierung des Textes<br />
TreeTagger verlangt, dass die zu taggenden Texte so formatiert sind, dass je ein Wort in<br />
einer Zeile steht. Zu diesem Zweck werden alle an MT Analyser übergebenen Textdateien<br />
zunächst mit Hilfe der Klasse Reformatter reformatiert und im neuen Format gespeichert.<br />
Zwar umfasst TreeTagger auch einen Algorithmus, der einen Text in die einzelnen Wörter<br />
und Satzzeichen zerlegt, jedoch zeigten sich hier bei der Erkennung gerade <strong>von</strong> Zahlen<br />
und Abkürzungen einige leicht zu behebende Fehleinteilungen. Weil zudem einige Zeichen<br />
in den Eingabedateien zwecks Vereinheitlichung der Zeichencodierung (es gibt u. a. verschiedene<br />
Versionen <strong>von</strong> Gedankenstrichen) durch andere ersetzt werden müssen, wurde<br />
ein eigener Algorithmus zur Reformatierung geschrieben, der jedes Wort bzw. Satzzeichen<br />
in eine eigene Zeile schreibt.<br />
Problematisch ist dabei vor allem der Umgang mit Punkten. Das Auftreten eines Punktes<br />
alleine ist für ein Satzende kein hinreichendes Kriterium, weil ein Punkt auch zu einer<br />
Abkürzung oder einer Ordinalzahl gehören kann. Über eine Liste mit über 300 gängigen<br />
Abkürzungen werden Punkte herausgefiltert, die kein Satzende markieren. Wörter aus<br />
nur einem Buchstaben, gefolgt <strong>von</strong> einem Punkt, werden ebenfalls als Abkürzungen betrachtet.<br />
Überdies werden Zahlen kleiner als 100 sowie kleine lateinische Zahlen, denen<br />
ein Punkt folgt, als Ordinalzahlen angesehen. Hier wäre sicherlich ein statistischer Ansatz<br />
exakter als eine starre Grenzziehung, allerdings steht kein Material zur Verfügung, anhand<br />
dessen sich ein Algorithmus mit höherer Genauigkeit schreiben ließe. In Tests traten<br />
durch diese willkürliche Einteilung jedoch nur sehr selten Fehler auf.<br />
8.1.2. Aufruf <strong>von</strong> TreeTagger<br />
Die reformatierte Datei wird gespeichert und als Parameter zusammen mit der Zieldatei an<br />
TreeTagger übergeben. TreeTagger verarbeitet dann die reformatierte Datei und speichert<br />
den getaggten Text in der Zieldatei. Dazu musste unter Windows die auszuführende Batch-<br />
Datei und in der Linux-/Solaris-Version <strong>von</strong> TreeTagger das auszuführende Shell-Skript<br />
leicht abgeändert werden.<br />
Der Aufruf aus MT Analyser erfolgt in der Methode execTreeTagger() in einem externen<br />
Prozess über die in Java enthaltene Klasse ProcessBuilder. Zu unterscheiden ist an<br />
dieser Stelle nach dem Betriebssystem, weil der Aufruf unter Windows anders funktioniert<br />
als unter Linux-/Solaris-<strong>Systeme</strong>n. Der folgende Codeausschnitt zeigt den Aufruf<br />
<strong>von</strong> TreeTagger.<br />
if(os.equals(OS_WINDOWS)) {<br />
pb = new ProcessBuilder("cmd", "/c", path + "tag-german.bat",<br />
85