Ich möchte nur Nomen oder Nomen Gruppen aus riesigen Textdatei extrahieren. Der unten stehende Python-Code funktioniert einwandfrei, extrahiert aber die Substantive nur für die letzte Zeile. Ich bin ziemlich sicher, dass der Code erfordert ‚append‘, aber nicht wissen, wieExtrahieren Substantive mit POS-Tagging mit Python (Looping)
import nltk
import pos_tag
import nltk.tokenize
import numpy
f = open(r'infile.txt', encoding="utf8")
data = f.readlines()
tagged_list = []
for line in data:
tokens = nltk.word_tokenize(line)
tagged = nltk.pos_tag(tokens)
nouns = [word for word,pos in tagged \
if (pos == 'NN' or pos == 'NNP' or pos == 'NNS' or pos == 'NNPS')]
downcased = [x.lower() for x in nouns]
joined = " ".join(downcased).encode('utf-8')
into_string = str(nouns)
output = open(r"outfile.csv", "wb")
output.write(joined)
output.close()
Das Ergebnis sieht wie folgt aus (ich ein Anfänger von Python bin.): Wohnung Verkehr der Innenstadt, die die Nomen Worte für die sind letzte Zeile der Datei. Ich möchte die Substantive für jede Zeile der Datei in einer Zeile speichern. Zum Beispiel sollten die Eingabedatei und die entsprechenden Ergebnisse wie folgt aussehen.
Input file:
I like the milk.
I like the milk and bread.
I like the milk, bread, and butter.
Output file:
milk
milk bread
milk bread butter
Hoffe jemand hilft, den Code oben zu beheben.
wahrscheinlich besser eine Liste Ansatz . Sonst wird alles in einer Zeile ohne Leerzeichen geschrieben: P – Mangohero1
Danke, ich habe gerade editiert. :) :) – Alperen
Editiert es richtig wie ich kommentiert! haha – Mangohero1