Ich habe eine Liste von Namen, auf denen ich NLTK zu POS-Tag verwende. Ich verwende es zusammen mit Wortsegment, da die Namen wie thisisme
durcheinandergewürfelt sind.NLTK POS-Tags Extraktion, versuchte Schlüssel, Werte aber noch nicht
So habe ich erfolgreich POS diese Tage mit einer Schleife getaggt, jedoch kann ich die POS-Tags nicht extrahieren. Die gesamte Übung wurde von einer CSV gemacht.
Das ist, was die CSV am Ende des Tages aussehen soll.
name, length, pos
thisisyou 6 NN, ADJ
Mein Code so weit ist
import pandas as pd
import nltk
import wordsegment
from wordsegment import segment
from nltk import pos_tag, word_tokenize
from nltk.tag.util import str2tuple
def readdata():
datafileread = pd.read_csv('data.net.lint.csv')
domain_names = datafileread.DOMAIN[0:5]
for domain_name in domain_names:
seg_words = segment(domain_name)
postagged = nltk.pos_tag(seg_words)
limit_names = postagged
for keys,values in postagged:
print (posttagged)
readdata()
Und ich bekomme dieses Ergebnis
NN
NN
ADJ
NN
Dies scheint in Ordnung, aber es ist falsch. Einige POS-Tags sollten sich nicht in einer neuen Zeile befinden. Es sollte nur wie NNNN
durcheinander geworfen werden.
Danke Alexis, es hat perfekt funktioniert. Ich hätte vor Stunden um Hilfe bitten sollen. – user970155
Könnten Sie bitte erklären, was passiert (t für w, t in postagged), danke – user970155
Es ist ein ["Generator Ausdruck"] (https://docs.python.org/3.5/tutorial/classes.html#generator-expressions) und übergibt 'join()' das Äquivalent einer Liste von Strings. Siehe auch [Listenverständnis] (https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions). – alexis