Saltar al contenido

Agregar / eliminar palabras vacías personalizadas con espacios

Solución:

Con Spacy 2.0.11, puede actualizar su conjunto de palabras vacías mediante uno de los siguientes:

Para agregar una sola palabra irrelevante:

import spacy    
nlp = spacy.load("en")
nlp.Defaults.stop_words.add("my_new_stopword")

Para agregar varias palabras vacías a la vez:

import spacy    
nlp = spacy.load("en")
nlp.Defaults.stop_words |= {"my_new_stopword1","my_new_stopword2",}

Para eliminar una sola palabra irrelevante:

import spacy    
nlp = spacy.load("en")
nlp.Defaults.stop_words.remove("whatever")

Para eliminar varias palabras vacías a la vez:

import spacy    
nlp = spacy.load("en")
nlp.Defaults.stop_words -= {"whatever", "whenever"}

Nota: Para ver el conjunto actual de palabras vacías, use:

print(nlp.Defaults.stop_words)

Actualización: se señaló en los comentarios que esta corrección solo afecta la ejecución actual. Para actualizar el modelo, puede utilizar los métodos nlp.to_disk("/path") y nlp.from_disk("/path") (descrito con más detalle en https://spacy.io/usage/saving-loading).

Puede editarlos antes de procesar su texto de esta manera (ver esta publicación):

>>> import spacy
>>> nlp = spacy.load("en")
>>> nlp.vocab["the"].is_stop = False
>>> nlp.vocab["definitelynotastopword"].is_stop = True
>>> sentence = nlp("the word is definitelynotastopword")
>>> sentence[0].is_stop
False
>>> sentence[3].is_stop
True

Nota: Esto parece funcionar <= v1.8. Para versiones más recientes, vea otras respuestas.

Para la versión 2.0 utilicé esto:

from spacy.lang.en.stop_words import STOP_WORDS

print(STOP_WORDS) # <- set of Spacy's default stop words

STOP_WORDS.add("your_additional_stop_word_here")

for word in STOP_WORDS:
    lexeme = nlp.vocab[word]
    lexeme.is_stop = True

Esto carga todas las palabras vacías en un conjunto.

Puede modificar sus palabras vacías para STOP_WORDS o use su propia lista en primer lugar.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *