Palabras Vacías
Comprensión de las palabras vacías
Las palabras vacías son palabras comunes que generalmente no aportan significado a 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 palabras vacías suelen ser filtradas después de la tokenización para tareas de PLN, como análisis de sentimientos, modelado de temas o extracción de palabras clave. La razón detrás de eliminar las palabras vacías es reducir el tamaño del conjunto de datos, lo que mejora la eficiencia computacional, y aumenta la relevancia del análisis al centrarse en las palabras que aportan significado relevante.
Eliminación de palabras vacías con NLTK
Para facilitar el proceso, nltk proporciona una lista completa de palabras vacías en varios idiomas, que se puede acceder y utilizar fácilmente para filtrar palabras vacías de los datos de texto.
A continuación se muestra cómo obtener la lista de palabras vacías 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 comprobar 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 las stop words 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.
Alternativamente, podríamos utilizar un bucle for habitual en lugar de una comprensión de listas; sin embargo, emplear 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
Awesome!
Completion rate improved to 3.45
Palabras Vacías
Desliza para mostrar el menú
Comprensión de las palabras vacías
Las palabras vacías son palabras comunes que generalmente no aportan significado a 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 palabras vacías suelen ser filtradas después de la tokenización para tareas de PLN, como análisis de sentimientos, modelado de temas o extracción de palabras clave. La razón detrás de eliminar las palabras vacías es reducir el tamaño del conjunto de datos, lo que mejora la eficiencia computacional, y aumenta la relevancia del análisis al centrarse en las palabras que aportan significado relevante.
Eliminación de palabras vacías con NLTK
Para facilitar el proceso, nltk proporciona una lista completa de palabras vacías en varios idiomas, que se puede acceder y utilizar fácilmente para filtrar palabras vacías de los datos de texto.
A continuación se muestra cómo obtener la lista de palabras vacías 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 comprobar 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 las stop words 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.
Alternativamente, podríamos utilizar un bucle for habitual en lugar de una comprensión de listas; sin embargo, emplear la comprensión de listas en este caso resulta más eficiente y conciso.
¡Gracias por tus comentarios!