13 Februar 2010

Stanford-postagger und Ruby Teil1

Wie der Titel dieses Posts schon verrät geht es darum, den Stanford Log-linear Part-Of-Speech Tagger von Ruby aus anzusprechen. Genauer gesagt würde ich dem POS-Tagger gerne von Ruby aus einen Text zum taggen übergeben und brauche das Ergebnis dann als schönes Ruby-Array in dem jeder Wortform dann die entsprechende Wortart zugeordnet ist. Zuerst rief ich den POS-Tagger aus Ruby einfach via CLI auf, da der Tagger aber eine gewisse Zeit zum starten braucht, erwies sich diese Vorgehensweise zum Taggen von mehreren Texten als eher unvorteilhaft. Nun gibt es für Ruby aber die Ruby-Java-Bridge, mit der sich Javaklassen gleich in Ruby benutzen lassen. Leider braucht der stanford-tagger für deutsche Texte einige Parameter, die ich in Ruby nicht zu setzen in der Lage war. Ich habe dafür also in Java folgende kleine Klasse geschrieben, die den Tagger für deutsche Texte initialisiert und die ich dann mit Ruby ansprechen kann:

In den Zeilen 15 und 17 werden die entsprechenden Parameter gesetzt (z.B. als Modell der german.tagger mit den entsprechenden german.tagger.props). Der stanford-tagger liegt hier im Unterverzeichnis stanford-postagger, das Modell darunter in models, diese Verzeichnisse und Parameter gilt es also entsprechend anzupassen.

Labels: , ,