Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Palabras Vacías | Sección
Procesamiento de Lenguaje Natural

bookPalabras Vacías

Desliza para mostrar el menú

Note
Definición

Las stop words son palabras comunes que generalmente no aportan al significado de una oración, al menos para los propósitos de la mayoría de los análisis y algoritmos. Estas incluyen palabras como "the", "is", "in" y "on".

Las stop words suelen ser filtradas después de la tokenización para tareas de PLN, como análisis de sentimiento, modelado de temas o extracción de palabras clave. La razón detrás de eliminar las stop words es disminuir el tamaño del conjunto de datos, lo que mejora la eficiencia computacional, y aumentar la relevancia del análisis al centrarse en las palabras que aportan un significado significativo.

Eliminación de Stop Words con NLTK

Para facilitar el proceso, nltk proporciona una lista completa de stop words en varios idiomas, que puede ser fácilmente accedida y utilizada para filtrar stop words de los datos de texto.

A continuación se muestra cómo obtener la lista de stop words en inglés en NLTK y convertirla en un set:

1234567
import nltk from nltk.corpus import stopwords # Download the stop words list nltk.download('stopwords') # Load English stop words stop_words = set(stopwords.words('english')) print(stop_words)
copy
Note
Nota

Convertir esta lista en un set mejora la eficiencia de las búsquedas, ya que verificar la pertenencia en un set es más rápido que en una lista.

Teniendo esto en cuenta, veamos un ejemplo completo de cómo filtrar palabras vacías de un texto dado:

1234567891011121314
import nltk from nltk.tokenize import word_tokenize from nltk.corpus import stopwords nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) text = "This is an example sentence demonstrating the removal of stop words." text = text.lower() # Tokenize the text tokens = word_tokenize(text) # Remove stop words filtered_tokens = [word for word in tokens if word not in stop_words] print("Original Tokens:", tokens) print("Filtered Tokens:", filtered_tokens)
copy

Como se puede observar, primero se deben descargar las stop words y realizar la tokenización. El siguiente paso consiste en utilizar una comprensión de listas para crear una lista que contenga únicamente los tokens que no son stop words. El uso de word.lower() en la cláusula if es fundamental para convertir cada palabra (token) a minúsculas, ya que nltk contiene las stop words exclusivamente en minúsculas.

Note
Nota

De manera alternativa, se podría utilizar un bucle for tradicional en lugar de una comprensión de listas; sin embargo, el uso de la comprensión de listas en este caso resulta más eficiente y conciso.

question mark

¿Cuál de las siguientes opciones describe mejor qué son las stop words y por qué suelen eliminarse?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 1. Capítulo 7
some-alt