27.10.2014 Aufrufe

Messung maschineller¨Ubersetzbarkeit von ... - Parallele Systeme

Messung maschineller¨Ubersetzbarkeit von ... - Parallele Systeme

Messung maschineller¨Ubersetzbarkeit von ... - Parallele Systeme

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!