Después de limpiar el texto y tokenizarlo, aparece una decisión clásica del preprocesamiento en NLP: qué hacer con las palabras muy frecuentes que, en muchos contextos, aportan poco significado temático. A esas palabras se las suele llamar stopwords.
La idea de eliminar stopwords fue muy importante en NLP clásico porque ayudaba a reducir ruido, simplificar representaciones y disminuir el tamaño del vocabulario. Sin embargo, no siempre conviene hacerlo. En algunos problemas, quitar estas palabras puede mejorar el análisis; en otros, puede destruir información relevante.
En este tema estudiaremos qué son las stopwords, por qué se usan, cuándo conviene eliminarlas y cuáles son sus limitaciones.
Las stopwords son palabras muy frecuentes en un idioma que, en ciertos tipos de análisis, suelen aportar poco contenido semántico específico. En español, ejemplos típicos son:
elladeyenqueEstas palabras aparecen en muchísimos textos y, por sí solas, no suelen ayudar demasiado a distinguir un documento sobre medicina de uno sobre deportes o economía.
En enfoques clásicos como Bag of Words o TF-IDF, las palabras muy frecuentes podían dominar la representación sin aportar demasiado valor discriminativo. Eliminar stopwords ayudaba a:
Por eso, durante mucho tiempo la eliminación de stopwords se consideró casi un paso estándar en NLP clásico.
Supongamos que tenemos esta oración:
El gato duerme en el sillón de la sala
Si eliminamos algunas stopwords, podría quedar algo como:
gato duerme sillón sala
La versión reducida conserva bastante contenido temático general. Esto puede ser útil en ciertas tareas de clasificación o recuperación de información. Sin embargo, ya empieza a verse una limitación: la estructura de la oración se pierde bastante.
Un error común es pensar que las stopwords son palabras sin valor. No es así. Son palabras muy importantes para el idioma. Lo que ocurre es que, en algunas tareas específicas, su valor discriminativo puede ser bajo.
Por ejemplo, artículos, preposiciones y conjunciones cumplen funciones gramaticales fundamentales. Sin ellas, el lenguaje pierde estructura y naturalidad. Por eso, eliminarlas puede servir para ciertas representaciones, pero no significa que carezcan de importancia lingüística.
Aunque cada lista puede variar, suelen incluirse categorías como:
La selección concreta depende del idioma, del corpus y de la tarea.
En muchos proyectos se usan listas predefinidas de stopwords. Bibliotecas como NLTK o spaCy incluyen listas para distintos idiomas. Estas listas sirven como punto de partida, pero no deberían considerarse sagradas.
En la práctica, muchas veces conviene:
Por ejemplo, en un dominio legal, médico o comercial, ciertas palabras frecuentes pueden o no ser relevantes según el problema concreto.
La eliminación de stopwords puede ser útil en escenarios como:
En estos casos, quitar palabras muy frecuentes puede ayudar a que resalten mejor los términos más característicos del contenido.
En otros problemas, eliminar stopwords puede ser directamente perjudicial. Por ejemplo:
no son fundamentales.Esto muestra que la eliminación de stopwords no es una regla universal, sino una decisión condicionada por la tarea.
Una advertencia muy importante es que algunas palabras aparentemente frecuentes son semánticamente decisivas. El ejemplo más claro es la negación.
Comparemos:
me gustó la películano me gustó la películaSi elimináramos la palabra no por considerarla irrelevante, cambiaríamos completamente el significado del texto. Por eso, muchas listas de stopwords deben revisarse cuidadosamente antes de aplicarlas.
En análisis de sentimiento, la decisión de eliminar stopwords requiere especial cuidado. Algunas palabras funcionales, intensificadores o negaciones pueden modificar por completo la polaridad.
Ejemplos:
muy bueno no es igual a buenono funciona no es igual a funcionaapenas aceptable no transmite lo mismo que aceptableEsto muestra que, incluso entre palabras muy frecuentes, algunas cumplen funciones cruciales para interpretar tono y opinión.
En recuperación de información, eliminar stopwords suele tener más sentido porque muchas consultas se benefician de resaltar términos distintivos. Sin embargo, incluso allí hay excepciones.
Por ejemplo, en consultas muy cortas o expresiones fijas, quitar una palabra funcional puede alterar demasiado la intención original.
Por eso, incluso en buscadores, la eliminación de stopwords debe equilibrarse con la necesidad de preservar ciertas expresiones importantes.
En algunos proyectos no basta con usar listas generales. Puede ser útil construir listas personalizadas para el dominio.
Por ejemplo, en una colección de documentos donde ciertas palabras aparecen en casi todos los textos sin aportar discriminación, podría tener sentido tratarlas como stopwords del dominio.
Esto ocurre, por ejemplo, cuando todos los documentos pertenecen a un mismo sector y repiten vocabulario institucional o fórmulas muy frecuentes.
La eliminación de stopwords está muy ligada a representaciones clásicas como Bag of Words y TF-IDF. En Bag of Words, las palabras muy frecuentes pueden ocupar espacio sin ayudar demasiado. En TF-IDF, parte de ese problema se reduce porque los términos muy comunes reciben menor peso relativo.
Esto significa que, en algunos casos, usar TF-IDF ya atenúa el efecto de las stopwords y la necesidad de eliminarlas puede ser menor que con Bag of Words puro.
En la práctica, la eliminación de stopwords suele realizarse después de tokenizar, porque necesitamos identificar cada unidad textual antes de decidir si pertenece o no a la lista de stopwords.
El flujo típico sería:
Este orden facilita el control sobre qué unidades se eliminan efectivamente.
No siempre hace falta eliminar todas las stopwords de forma binaria. En algunos proyectos puede ser más razonable aplicar un filtrado selectivo.
Por ejemplo:
Esta estrategia suele ser más segura que aplicar listas genéricas sin revisión.
Tomemos la oración:
La película no fue muy buena, pero tampoco fue terrible
Si elimináramos muchas palabras frecuentes sin criterio, podríamos obtener algo como:
película buena terrible
El resultado pierde matices decisivos: la negación, la intensidad y la relación contrastiva. Este ejemplo deja claro que quitar stopwords puede simplificar, pero también deformar bastante el significado.
En NLP clásico, eliminar stopwords era una práctica muy habitual y a menudo beneficiosa. En NLP moderno, sobre todo con modelos neuronales preentrenados, esta práctica suele usarse mucho menos.
La razón es que los modelos modernos pueden aprovechar contexto, orden y estructura de la oración. Si quitamos demasiadas palabras funcionales, el texto se vuelve artificial y el modelo pierde señales importantes.
Por eso, la eliminación de stopwords hoy debe pensarse más como una herramienta opcional que como un paso obligatorio.
| Situación | ¿Puede convenir quitar stopwords? | Comentario |
|---|---|---|
| Clasificación con Bag of Words | Sí, frecuentemente. | Ayuda a reducir ruido y dimensionalidad. |
| TF-IDF | A veces. | TF-IDF ya atenúa parte del problema. |
| Análisis de sentimiento | Con mucha cautela. | Negaciones e intensificadores son críticos. |
| Traducción o generación | No suele convenir. | Se pierde estructura lingüística esencial. |
| Transformers preentrenados | Generalmente no. | El modelo aprovecha contexto y estructura completa. |
La eliminación de stopwords es una técnica clásica y útil en ciertos escenarios, pero no debe aplicarse de manera automática. Su valor depende de si realmente ayuda a resaltar la información importante o, por el contrario, si elimina señales necesarias para comprender el texto.
Como ocurre con casi todo el preprocesamiento en NLP, la clave no está en seguir reglas fijas, sino en entender qué efecto tienen nuestras decisiones sobre la representación final del lenguaje.
En el próximo tema estudiaremos la normalización del texto, profundizando en cómo reducir variantes superficiales para mejorar consistencia en el análisis y el modelado.