J'ai le code en dessous et j'essaie d'appliquer une liste de mots vides à la liste des mots. Cependant, les résultats montrent encore des mots tels que "a" et "le" qui, selon moi, auraient été supprimés par ce processus. Toute idée qui a mal tourné serait formidable.
import nltk
from nltk.corpus import stopwords
Word_list = open("xxx.y.txt", "r")
filtered_words = [w for w in Word_list if not w in stopwords.words('english')]
print filtered_words
Quelques points importants.
Si vous allez vérifier l'appartenance à une liste à plusieurs reprises, j'utiliserais un ensemble au lieu d'une liste.
stopwords.words('english')
renvoie une liste de minuscules mots vides. Il est fort probable que votre source contienne des majuscules et ne correspond pas pour cette raison.
Vous ne lisez pas correctement le fichier, vous vérifiez l'objet fichier et non une liste des mots séparés par des espaces.
Mettre tous ensemble:
import nltk
from nltk.corpus import stopwords
Word_list = open("xxx.y.txt", "r")
stops = set(stopwords.words('english'))
for line in Word_list:
for w in line.split():
if w.lower() not in stops:
print w