Así que tengo un conjunto de datos que me gustaría eliminar el uso de palabras vacías
stopwords.words('english')
Estoy luchando por cómo usar esto dentro de mi código para simplemente eliminar estas palabras. Ya tengo una lista de las palabras de este conjunto de datos, la parte con la que estoy luchando es comparar con esta lista y eliminar las palabras vacías. Se agradece cualquier ayuda.
python
nltk
stop-words
Alex
fuente
fuente
from nltk.corpus import stopwords
para futuros googlersnltk.download("stopwords")
para que el diccionario de palabras vacías esté disponible.Respuestas:
fuente
stops = set(stopwords.words("english"))
lugar.stopwords.words('english')
son minúsculas. Así que asegúrese de usar solo palabras en minúscula en la lista, por ejemplo[w.lower() for w in word_list]
También puede hacer una diferencia de conjuntos, por ejemplo:
fuente
Supongo que tiene una lista de palabras (word_list) de las que desea eliminar las palabras vacías. Podrías hacer algo como esto:
fuente
Para excluir todo tipo de palabras vacías, incluidas las palabras vacías nltk, puede hacer algo como esto:
fuente
len(get_stop_words('en')) == 174
vslen(stopwords.words('english')) == 179
Hay un paquete de Python muy simple y liviano
stop-words
solo por este motivo.Primero instale el paquete usando:
pip install stop-words
Luego, puede eliminar sus palabras en una línea usando la comprensión de listas:
Este paquete es muy liviano para descargar (a diferencia de nltk), funciona tanto para
Python 2
yPython 3
, y tiene palabras vacías para muchos otros lenguajes como:fuente
Utilice la biblioteca Textcleaner para eliminar palabras irrelevantes de sus datos.
Siga este enlace: https://yugantm.github.io/textcleaner/documentation.html#remove_stpwrds
Siga estos pasos para hacerlo con esta biblioteca.
Después de instalar:
Utilice el código anterior para eliminar las palabras vacías.
fuente
puede usar esta función, debe notar que necesita reducir todas las palabras
fuente
usando filtro :
fuente
word_list
es grande, este código es muy lento. Es mejor para convertir la lista de palabras vacías a un conjunto antes de usarlo:.. in set(stopwords.words('english'))
.Aquí está mi opinión sobre esto, en caso de que desee obtener inmediatamente la respuesta en una cadena (en lugar de una lista de palabras filtradas):
fuente
En caso de que sus datos se almacenen como un
Pandas DataFrame
, puede usarremove_stopwords
desde textero que usan la lista de palabras vacías NLTK por defecto .fuente
fuente
fuente