8. Eliminación de stopwords

8.1 Introducción

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.

8.2 ¿Qué son las stopwords?

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:

  • el
  • la
  • de
  • y
  • en
  • que

Estas 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.

8.3 ¿Por qué surgió la idea de eliminarlas?

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:

  • Reducir tamaño del vocabulario.
  • Disminuir ruido en el análisis.
  • Ahorrar memoria y cómputo.
  • Dar más protagonismo a términos temáticos.

Por eso, durante mucho tiempo la eliminación de stopwords se consideró casi un paso estándar en NLP clásico.

La eliminación de stopwords nació como una estrategia práctica para reducir palabras muy frecuentes que, en algunos modelos, aportaban más ruido que información.

8.4 Ejemplo intuitivo

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.

8.5 Stopwords no significa palabras inútiles

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.

8.6 Tipos de palabras que suelen aparecer como stopwords

Aunque cada lista puede variar, suelen incluirse categorías como:

  • Artículos.
  • Preposiciones.
  • Conjunciones.
  • Pronombres muy frecuentes.
  • Algunos verbos auxiliares o formas muy comunes.

La selección concreta depende del idioma, del corpus y de la tarea.

8.7 Listas de stopwords

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:

  • Usar una lista base.
  • Revisarla según el dominio.
  • Agregar o quitar términos específicos.

Por ejemplo, en un dominio legal, médico o comercial, ciertas palabras frecuentes pueden o no ser relevantes según el problema concreto.

8.8 Cuándo puede convenir eliminarlas

La eliminación de stopwords puede ser útil en escenarios como:

  • Clasificación temática con modelos clásicos.
  • Recuperación de información basada en términos.
  • Análisis exploratorio de palabras frecuentes.
  • Construcción de nubes de palabras más informativas.
  • Reducción de dimensionalidad en representaciones dispersas.

En estos casos, quitar palabras muy frecuentes puede ayudar a que resalten mejor los términos más característicos del contenido.

8.9 Cuándo puede ser un error eliminarlas

En otros problemas, eliminar stopwords puede ser directamente perjudicial. Por ejemplo:

  • En análisis de sentimiento, palabras como no son fundamentales.
  • En traducción automática, la estructura gramatical importa mucho.
  • En resumen o generación de texto, quitar stopwords destruye la fluidez.
  • En modelos modernos preentrenados, muchas veces conviene conservar el texto completo.

Esto muestra que la eliminación de stopwords no es una regla universal, sino una decisión condicionada por la tarea.

8.10 El caso crítico de la negación

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ícula
  • no me gustó la película

Si 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.

Una stopword muy frecuente puede seguir siendo semánticamente crucial. La negación es el ejemplo más claro.

8.11 Stopwords y análisis de sentimiento

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 bueno
  • no funciona no es igual a funciona
  • apenas aceptable no transmite lo mismo que aceptable

Esto muestra que, incluso entre palabras muy frecuentes, algunas cumplen funciones cruciales para interpretar tono y opinión.

8.12 Stopwords y búsqueda de informació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.

8.13 Stopwords personalizadas por dominio

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.

8.14 Relación con Bag of Words y TF-IDF

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.

8.15 ¿Conviene eliminarlas antes o después de tokenizar?

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:

  1. Limpieza básica del texto.
  2. Tokenización.
  3. Comparación de tokens con la lista de stopwords.
  4. Eliminación o conservación según criterio.

Este orden facilita el control sobre qué unidades se eliminan efectivamente.

8.16 Eliminación total o filtrado selectivo

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:

  • Conservar negaciones.
  • Conservar intensificadores relevantes.
  • Quitar solo artículos y preposiciones muy neutras.
  • Adaptar la lista al idioma y a la tarea.

Esta estrategia suele ser más segura que aplicar listas genéricas sin revisión.

8.17 Ejemplo conceptual

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.

8.18 NLP clásico versus NLP moderno

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.

8.19 Resumen comparativo

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.

8.20 Qué debes recordar de este tema

  • Las stopwords son palabras muy frecuentes que, en algunos contextos, aportan poco valor discriminativo.
  • Eliminar stopwords fue una técnica muy importante en NLP clásico.
  • No todas las stopwords son irrelevantes; algunas son semánticamente cruciales.
  • La negación es un caso especialmente delicado.
  • En modelos modernos, eliminar stopwords suele ser menos necesario que antes.
  • La decisión debe depender siempre de la tarea y del tipo de representación.

8.21 Conclusión

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.