Seite 1 von 1
Tagging
Verfasst: Freitag 26. April 2013, 22:45
von MarcelF6
Guten Abend miteinander
Ich habe eine Frage: Wie verwendet man den TreeTagger (in einer Funktion), um von einem Wort die Grundform zu finden?
Beispiel: Die Funktion erhält als Input die Worte "Sie sind viele Male gefahren" als Liste.
Ausgegeben sollen dann nur noch die Grundformen werden (mithilfe des TreeTaggers); also: "Sie, sein, viel, Mal, fahren".
Vielen Dank für die Hilfe.
Marcel
Re: Tagging
Verfasst: Freitag 26. April 2013, 23:11
von EyDu
Ich würde ja einfach nach "treetagger python" suchen, aber wahrscheinlich ist ein Klick auf den ersten Treffer schon zu kompliziert...
Re: Tagging
Verfasst: Samstag 27. April 2013, 00:00
von MarcelF6
Recht hast du.
Noch eine Frage: Woran könnte es liegen, dass ich nach der Eingabe "from treetagger import TreeTagger" folgenden Fehler bekomme:
" No module named treetagger" ?
Der TreeTagger ist eigentlich korrekt installiert.
Vielen Dank,
Marcel
Re: Tagging
Verfasst: Samstag 27. April 2013, 00:09
von BlackJack
@MarcelF6: Woran das liegt, dass Du bei ``form`` keinen Syntaxfehler bekommst? Keine Ahnung.

Re: Tagging
Verfasst: Samstag 27. April 2013, 01:19
von MarcelF6
Sorry, das war ein Tippfehler hier - der Fehler bleibt derselbe.
(habs nicht via copy-paste gemacht)
Re: Tagging
Verfasst: Samstag 27. April 2013, 08:09
von BlackJack
@MarcelF6: Was bringt Dich denn auf die Idee, dass das Modul so heisst? Und was hast Du alles installiert? Und wie genau? Um welchen TreeTagger geht es? Und welche Python-Anbindung?
Re: Tagging
Verfasst: Samstag 27. April 2013, 08:09
von xeike
MarcelF6 hat geschrieben:Noch eine Frage: Woran könnte es liegen, dass ich nach der Eingabe "from treetagger import TreeTagger" folgenden Fehler bekomme:
" No module named treetagger" ?
Der TreeTagger ist eigentlich korrekt installiert.
Könnte es sein, dass du verschiedene Python-Versionen hast?
Starte mal in der Shell python2.x und versuche treetagger zu importieren. Probiere dann dasselbe mit python3.x. Sonst ist treetagger vielleicht doch nicht korrekt installiert.
Xe
Re: Tagging
Verfasst: Samstag 27. April 2013, 10:46
von MarcelF6
Danke für Eure Antworten!
Die Installation muss eigentlich korrekt sein, denn folgender Testaufruf liefert die gewünschte Ausgabe:
echo 'Ihr seid nett.' | cmd/tagger-chunker-german-utf8
Bezüglich der python-Version: Ich verwende nur die default-Version 2.7.3.
Es geht um folgenden TreeTagger (allso so installiert wie es in der Anleitung steht):
http://www.cis.uni-muenchen.de/~schmid/ ... reeTagger/
Und die "Idee", dass das Modul so heisst, habe ich von hier:
https://github.com/miotto/treetagger-python
Vielen Dank für die Hilfe.
Re: Tagging
Verfasst: Samstag 27. April 2013, 10:56
von xeike
Du musst treetagger.py installiert haben, einschließlich seiner Abhängigkeiten. Ziehe diese Datei vielleicht einmal in dein Projekt-Verzeichnis, vielleicht liegt es "nur" am Pfad, dass die Datei nicht gefunden wird.
Xe
Re: Tagging
Verfasst: Samstag 27. April 2013, 11:03
von MarcelF6
Von welcher 'treetagger.py' sprichst du genau?
Der gesamte treetagger-Ordner befindet sich bereits im Projektverzeichnis...nur der Aufruf direkt in python funktioniert noch nicht

Re: Tagging
Verfasst: Samstag 27. April 2013, 11:16
von BlackJack
@MarcelF6: Ähm, du verlinkst
https://github.com/miotto/treetagger-python und fragst dann welche ``treetagger.py`` gemeint ist‽ Vielleicht genau die, die man dort herunterladen kann, und die neben ``README.md`` die *einzige* Datei in dem Projekt ist‽ Wie hast Du die denn installiert? Die muss natürlich in einem Pfad liegen, in dem Python sie finden kann wenn man den ``import`` ausführt. Also im aktuellen Arbeitsverzeichnis oder irgendwo in `sys.path`.
Re: Tagging
Verfasst: Samstag 27. April 2013, 11:58
von MarcelF6
Äh sh..., das file habe ich angeschaut und mich eben gefragt, ob es nicht möglich ist, nur mit den Daten von
http://www.cis.uni-muenchen.de/~schmid/ ... reeTagger/ die Grundformen von Wörtern zu finden. Das müsste ja eigentlich auch so klappen, oder?
Also man kann ja auch ausserhalb von python via 'echo 'hallo' | cmd/...' die Grundform finden; also müsste das doch auch innerhalb von python ohne das gesamte treetagger.py-Skript gehen. Aber wie?
Re: Tagging
Verfasst: Samstag 27. April 2013, 13:36
von xeike
MarcelF6 hat geschrieben:Das müsste ja eigentlich auch so klappen, oder?
Wofür brauchst du dann Python, wenn es doch auch so geht?
Entweder du willst das mit Python machen, dann installiere das Modul ordentlich oder nutze die Shell, dafür brauchst du Python nicht.
Falls du os.system() suchst, das gibt es hier:
http://docs.python.org/3/library/os.html#os.system
Aber... es führt dich direkt zur dunklen Seite der Macht.
Xe
Re: Tagging
Verfasst: Samstag 27. April 2013, 14:10
von BlackJack
@xeike: Wenn Du weist, dass es die dunkle Seite ist, warum erwähnst Du es dann *und* unterschlägst auch noch das Licht: das `subprocess`-Modul‽
Re: Tagging
Verfasst: Samstag 27. April 2013, 16:33
von MarcelF6
@xeike:
Weil ich innerhalb eines python-Skripts die Grundformen der Worte bestimmen sollte.
Zum Testen reicht die Shell natürlich aus.
@BlackJack:
subprocess-Modul? Wie würde das funktionieren?