Então, eu tenho um conjunto de dados que gostaria de remover palavras de parada de usar
stopwords.words('english')
Estou lutando para usar isso no meu código para simplesmente tirar essas palavras. Já tenho uma lista das palavras deste conjunto de dados, a parte com a qual estou lutando é comparando a esta lista e removendo as palavras irrelevantes. Qualquer ajuda é apreciada.
python
nltk
stop-words
Alex
fonte
fonte
from nltk.corpus import stopwords
para futuros googlersnltk.download("stopwords")
para disponibilizar o dicionário de palavras irrelevantes.Respostas:
fonte
stops = set(stopwords.words("english"))
vez disso.stopwords.words('english')
são minúsculas. Portanto, certifique-se de usar apenas palavras em minúsculas na lista, por exemplo[w.lower() for w in word_list]
Você também pode fazer uma diferença definida, por exemplo:
fonte
Suponho que você tenha uma lista de palavras (lista de palavras) da qual deseja remover as palavras irrelevantes. Você poderia fazer algo assim:
fonte
Para excluir todos os tipos de palavras irrelevantes, incluindo palavras irrelevantes, você pode fazer algo assim:
fonte
len(get_stop_words('en')) == 174
contralen(stopwords.words('english')) == 179
Existe um pacote python muito simples e leve
stop-words
apenas para isso.Primeiro instale o pacote usando:
pip install stop-words
Então, você pode remover suas palavras em uma linha usando a compreensão de lista:
Este pacote é muito leve para baixar (ao contrário do nltk), funciona para ambos
Python 2
ePython 3
, e tem palavras de parada para muitos outros idiomas como:fonte
Use a biblioteca textcleaner para remover palavras irrelevantes de seus dados.
Siga este link: https://yugantm.github.io/textcleaner/documentation.html#remove_stpwrds
Siga estas etapas para fazer isso com esta biblioteca.
Depois de instalar:
Use o código acima para remover as palavras irrelevantes.
fonte
você pode usar esta função, você deve perceber que precisa diminuir todas as palavras
fonte
usando filtro :
fonte
word_list
for grande, esse código é muito lento. É melhor para converter a lista de stopwords a um conjunto antes de usá-lo:.. in set(stopwords.words('english'))
.Aqui está minha opinião sobre isso, caso você queira colocar a resposta imediatamente em uma string (em vez de uma lista de palavras filtradas):
fonte
No caso de seus dados serem armazenados como um
Pandas DataFrame
, você pode usarremove_stopwords
do textero que usa a lista de palavras irrelevantes NLTK por padrão .fonte
fonte
fonte