Ich bin ziemlich neu in Python, ich versuche NLTK zu verwenden, um Stoppwörter meiner Datei zu entfernen. Der Code funktioniert, aber es trennt Interpunktion, wenn mein Text ein Tweet mit einer Erwähnung (@user) ist, bekomme ich "@ user". Später muss ich eine Worthäufigkeit machen, und ich brauche Erwähnungen und Hashtags, um richtig zu arbeiten. Mein Code:Python - NLTK Trennzeichen
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
import codecs
arquivo = open('newfile.txt', encoding="utf8")
linha = arquivo.readline()
while linha:
stop_word = set(stopwords.words("portuguese"))
word_tokens = word_tokenize(linha)
filtered_sentence = [w for w in word_tokens if not w in stop_word]
filtered_sentence = []
for w in word_tokens:
if w not in stop_word:
filtered_sentence.append(w)
fp = codecs.open("stopwords.txt", "a", "utf-8")
for words in (filtered_sentence):
fp.write(words + " ")
fp.write("\n")
linha= arquivo.readline()
EDIT Nicht sicher, ob dies der beste Weg, es zu tun ist, aber ich regelte es auf diese Weise:
for words in (filtered_sentence):
fp.write(words)
if words not in string.punctuation:
fp.write(" ")
fp.write("\n")
Das ist viel besser, vielen Dank – urukh