stopwords stop spanish remove elimination eliminar python nltk stop-words

stop - Cómo eliminar palabras de parada usando nltk o python



stop words elimination python (7)

Así que tengo un conjunto de datos que me gustaría eliminar para dejar de usar palabras

stopwords.words(''english'')

Estoy luchando por usar esto dentro de mi código para simplemente sacar estas palabras. Ya tengo una lista de las palabras de este conjunto de datos, la parte con la que estoy luchando es compararla con esta lista y eliminar las palabras de finalización. Cualquier ayuda es apreciada.


Para excluir todo tipo de palabras prohibidas, incluidas nltk stop-words, podría hacer algo como esto:

from stop_words import get_stop_words from nltk.corpus import stopwords stop_words = list(get_stop_words(''en'')) #About 900 stopwords nltk_words = list(stopwords.words(''english'')) #About 150 stopwords stop_words.extend(nltk_words) output = [w for w in word_list if not w in stop_words]


Supongo que tiene una lista de palabras (word_list) de la cual quiere quitar stopwords. Podrías hacer algo como esto:

filtered_word_list = word_list[:] #make a copy of the word_list for word in word_list: # iterate over word_list if word in stopwords.words(''english''): filtered_word_list.remove(word) # remove word from filtered_word_list if it is a stopword


También podría hacer un conjunto de diferencias, por ejemplo:

list(set(nltk.regexp_tokenize(sentence, pattern, gaps=True)) - set(nltk.corpus.stopwords.words(''english'')))


puedes usar esta función, deberías notar que necesitas bajar todas las palabras

from nltk.corpus import stopwords def remove_stopwords(word_list): processed_word_list = [] for word in word_list: word = word.lower() # in case they arenet all lower cased if word not in stopwords.words("english"): processed_word_list.append(word) return processed_word_list


usando el filter :

from nltk.corpus import stopwords # ... filtered_words = list(filter(lambda word: word not in stopwords.words(''english''), word_list))


import sys print ("enter the string from which you want to remove list of stop words") userstring = input().split(" ") list =["a","an","the","in"] another_list = [] for x in userstring: if x not in list: # comparing from the list and removing it another_list.append(x) # it is also possible to use .remove for x in another_list: print(x,end='' '') # 2) if you want to use .remove more preferred code import sys print ("enter the string from which you want to remove list of stop words") userstring = input().split(" ") list =["a","an","the","in"] another_list = [] for x in userstring: if x in list: userstring.remove(x) for x in userstring: print(x,end = '' '') #the code will be like this


from nltk.corpus import stopwords # ... filtered_words = [word for word in word_list if word not in stopwords.words(''english'')]