2017-08-11 2 views
0

Ich habe ein Problem mit dem Entfernen von Stoppwörtern. Wenn ich mein Skript ausführe: `Nltk Stoppwörter Entfernung gibt die falsche Ausgabe

Es gibt mir folgendes. Wie könnte ich es reparieren?

{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
{'b', 'n', 'f', 'l', 'v', 'h', 'k', 'e', 'r', ' ', 'w', '“', 'g', 'u', 'p', 'c'} 
+0

Ihre 'english_corpus_lowercase' nicht eine Liste von Wörtern, sondern eine Zeichenkette. Sie müssen es zuerst in Token setzen. – DyZ

+0

Als eine Randnotiz, da "" und dergleichen keine einzelnen Zeichenfolgen sind, werden sie nie aus Ihrem Text entfernt. – DyZ

Antwort

0

Versuchen Sie die folgenden:

import nltk 
from nltk.corpus import stopwords 
from nltk import word_tokenize 

file1 = open('english.txt', 'r') 
english = file1.read() 
file1.close() 

english_corpus_lowercase = [w.lower() for w in word_tokenize(english)] 
english_without_punc = [c for c in english_corpus_lowercase if c not in (",", "``", "`", "?", ".", ";", ":", "!", "''", "'", '"', "-", "(", ")")] 
english_corpus_sans_stopwords = [] 
stopwords = nltk.corpus.stopwords.words('english') 

for w in english_without_punc: 
    if w not in stopwords: 
     english_corpus_sans_stopwords.append(w) 
print(english_corpus_sans_stopwords) 
+0

Vielen Dank! Es funktioniert einwandfrei)) –

+0

Gern geschehen, der Trick war nur, 'word_tokenize' zu ​​verwenden, das sich um das Heavy Lifting kümmert :) – Andras

Verwandte Themen