Seite 1 von 1

Reguläre Ausdrücke und Umlaute in topia.termextract

Verfasst: Freitag 12. August 2011, 16:30
von vocoder
Hallo,

ich bin gerade dabei einen "term extractor" auszuprobieren, mit dem man Texte automatisch taggen (Parts-Of-Speech Tagging) kann: http://pypi.python.org/pypi/topia.termextract/

Schaut euch das mal an, für englische Texte funktioniert das super. Bei deutschen Texten, gibt es aber Probleme mit Umlauten. Wie es aussieht werden aus einem Wort, das Umlaute enthält, mehrere, ungefähr so: "Geschäftsführer" -> "Gesch äftsf ührer"

Ich habe die Skripte mal untersucht und die Ursache liegt wohl in der Tagger.tokenize-Funktion in tag.py, genauer an diesem Code am Anfang der Datei:

Code: Alles auswählen

TERM_SPEC = re.compile('([^a-zA-Z]*)([a-zA-Z-\.]*[a-zA-Z])([^a-zA-Z]*[a-zA-Z]*)')
Wie kann man diesen regulären Ausdruck so ändern, dass er Umlaute korrekt unterstützt? Kann jemand helfen?

Re: Reguläre Ausdrücke und Umlaute in topia.termextract

Verfasst: Freitag 12. August 2011, 17:48
von /me
vocoder hat geschrieben:

Code: Alles auswählen

TERM_SPEC = re.compile('([^a-zA-Z]*)([a-zA-Z-\.]*[a-zA-Z])([^a-zA-Z]*[a-zA-Z]*)')
Wie kann man diesen regulären Ausdruck so ändern, dass er Umlaute korrekt unterstützt? Kann jemand helfen?
Statt a-zA-Z würde ich ja eher \w verwenden und das IGNORECASE-Flag einsetzen. Die damit zusätzlich getroffenen Ziffern sind hier meiner Meinung anch auch nicht verkehrt. Damit kannst du direkt auch deutsche Umlaute erwischen, gesetzt den Fall du verwendest zusätzlich das LOCALE-Flag und hast das locale auch auf deutsch eingestellt.

Re: Reguläre Ausdrücke und Umlaute in topia.termextract

Verfasst: Freitag 12. August 2011, 19:28
von vocoder
Das funktioniert mit Umlauten und müsste prinzipiell auch mit Akzenten im Französischen klappen.

Danke!