Tagging ein einzelnes Wort mit dem nltk-pos-tagger-tags jeden Buchstaben statt das Wort
Ich versuche tag ein einziges Wort mit dem nltk pos-tagger:
word = "going"
pos = nltk.pos_tag(word)
print pos
Aber die Ausgabe ist:
[('g', 'NN'), ('o', 'VBD'), ('i', 'PRP'), ('n', 'VBP'), ('g', 'JJ')]
Es ist tagging jeder Brief, anstatt nur das eine Wort.
Was kann ich tun, damit es tag das Wort?
- Beachten Sie, dass tagging ein einzelnes Wort nicht zu geben, Sie zufrieden stellende Ergebnisse. Denken Sie daran: Wenn der Blick auf die einzelnen Worte, das war genug, wir bräuchten nicht tagger-- wir würden nur schauen bis die POS in einem Wörterbuch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
nltk.tag.pos_tag
akzeptiert eine Liste von Token, getrennt und tags Ihrer Elemente. Daher müssen Sie, um Ihre Worte in einem iterierbar wie "list":pos
tagging-soll-tag die Wörter basierend auf Ihren ursprünglichen Charakter und Ihre Stellung im Satz. Das ist, warum der tag besteht aus mehreren Zeichen.nltk.tag.pos_tag('a sentence'.split())
, und nichtnltk.tag.pos_tag(['a sentence'])
, denn letzteres würde die Produktion von einem einzigen tagpos_tag
akzeptiert durchsuchbar, nicht nur Listen. Er iteriert über die Elemente, die in diesem iterierbar (Zeichen im Falle von strings, Elemente, die in dem Fall von Listen) und versuche tag diesen Artikel. Ich bin sicher, Sie sind sich dessen bewusst, aber ich dachte, ich würde nur Klarstellung für diejenigen, die sich Fragen, warum der output ist so wie es ist.Dem tagger arbeitet auf einer Liste von Wörtern. Drehen Sie die Zeichenfolge in einer Liste verwenden Sie einfach so etwas wie
dann verwenden Sie die pos-tagger auf die
word_list
. Beachten Sie, dass wenn Sie mehr als ein Wort, Sie sollten laufennltk.word_tokenize
auf den ersten string.Als für den Erfolg in der tagging-nur ein Wort, schau dir das lookup-tagger erwähnt, die in Abschnitt 4.3 hier. Die
pos_tag
verwendet nltk ist komplizierter, als nur ein Wort-lookup-tagger, aber es macht einen als Teil des Prozesses, so sollten Sie sehen, Ergebnisse ok.