NLTK: lemmatizer und pos_tag [duplizieren]

Diese Frage hat hier bereits eine Antwort:

wordnet Lemmatisierung und Pos Tagging in Python 6 answers

Ich baue einen Plaintext-Corpus und der nächste Schritt ist, alle meine Texte zu lemmatisieren. Ich benutze das WordNetLemmatizer und brauche das pos_tag für jedes Token, um das Problem, dass z.B. Lieben -> Lemma = Lieben und Lieben -> Lemma = Lieben ...

Das standardmäßige WordNetLemmatizer-POS-Tag ist n (= Nomen), denke ich, aber wie kann ich das pos_tag verwenden? Ich denke, die erwarteten WordNetLemmatizer-POS-Tag unterscheiden sich von den pos_tag, die ich bekomme. Gibt es eine Funktion oder etwas, das mir helfen kann?!?!

in dieser Zeile denke ich, das word_pos ist falsch und das ist der Fehlergrund

lemma = wordnet_lemmatizer.lemmatize (word, word_pos)

import nltk
from nltk.corpus import PlaintextCorpusReader
from nltk import sent_tokenize, word_tokenize, pos_tag
from nltk.stem import WordNetLemmatizer
wordnet_lemmatizer = WordNetLemmatizer()

corpus_root = 'C:\\Users\\myname\\Desktop\\TestCorpus'
lyrics = PlaintextCorpusReader(corpus_root,'.*')

for fileid in lyrics.fileids():
     tokens = word_tokenize(lyrics.raw(fileid))
     tagged_tokens = pos_tag(tokens)
     for tagged_token in tagged_tokens:
         word = tagged_token[0]
         word_pos = tagged_token[1]
         print(tagged_token[0])
         print(tagged_token[1])
         lemma = wordnet_lemmatizer.lemmatize(word,pos=word_pos)
         print(lemma)

Zusätzliche Frage: Reicht der pos_tag für meine Lemmatisierung aus oder brauche ich einen anderen Tagger? Meine Texte sind Texte ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage