Agregando palabras a la lista de paradas nltk

Tengo algún código que elimina las palabras de parada de mi conjunto de datos, ya que la lista de parada no parece eliminar la mayoría de las palabras que me gustaría, también estoy buscando agregar palabras a esta lista de parada para que se eliminen ellos para este caso El código que estoy usando para eliminar palabras clave es:

word_list2 = [w.strip() for w in word_list if w.strip() not in nltk.corpus.stopwords.words('english')] 

No estoy seguro de la syntax correcta para agregar palabras y parece que no puedo encontrar la correcta en ninguna parte. Cualquier ayuda es apreciada. Gracias.

Simplemente puede usar el método de añadir para agregarle palabras:

 stopwords = nltk.corpus.stopwords.words('english') stopwords.append('newWord') 

o extienda para agregar una lista de palabras, como lo sugirió Charlie en los comentarios.

 stopwords = nltk.corpus.stopwords.words('english') newStopWords = ['stopWord1','stopWord2'] stopwords.extend(newStopWords) 

Siempre hago stopset = set(nltk.corpus.stopwords.words('english')) en la parte superior de cualquier módulo que lo necesite. Entonces es fácil agregar más palabras al conjunto, además las verificaciones de membresía son más rápidas.

También estaba buscando una solución a esto. Después de algún rastro y error, tuve que agregar palabras a la lista de paradas. Espero que esto ayude.

 def removeStopWords(str): #select english stopwords cachedStopWords = set(stopwords.words("english")) #add custom words cachedStopWords.update(('and','I','A','And','So','arnt','This','When','It','many','Many','so','cant','Yes','yes','No','no','These','these')) #remove stop words new_str = ' '.join([word for word in str.split() if word not in cachedStopWords]) return new_str 

La forma en que lo hice en mi máquina Ubuntu fue, presioné ctrl + F para “palabras clave” en la raíz. Me dio una carpeta. Entré en él que tenía diferentes archivos. Abrí “inglés” que tenía apenas 128 palabras. Añadí mis palabras a ello. Guardado y hecho.

Las palabras de detención en inglés son un archivo dentro de nltk / corpus / stopwords / english.txt (supongo que estaría aquí … no tengo nltk en esta máquina … lo mejor sería buscar ‘english.txt dentro del repo nltk)

Simplemente puede agregar sus nuevas palabras de parada en este archivo.

También intente mirar los filtros de floración si su lista de palabras vacías aumenta a unos pocos cientos

En Windows C: \ Users \ username \ AppData \ Roaming \ nltk_data \ corpora vaya a esta ruta para encontrar palabras clave y edítela de acuerdo con el requisito

Utilizo este código para agregar nuevas palabras de parada a la lista de palabras de parada nltk en python

 from nltk.corpus import stopwords #...# stop_words = set(stopwords.words("english")) #add words that aren't in the NLTK stopwords list new_stopwords = ['apple','mango','banana'] new_stopwords_list = stop_words.union(new_stopwords) print(new_stopwords_list) 
 import nltk stopwords = nltk.corpus.stopwords.words('english') new_words=('re','name', 'user', 'ct') for i in new_words: stopwords.append(i) print(stopwords)