Palabras Vacías
Desliza para mostrar el menú
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:
1234567import 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)
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:
1234567891011121314import 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)
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.
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.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla