Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Aplicación Práctica del Preprocesamiento de Texto | Fundamentos de la Preprocesamiento de Texto
Introducción al PLN

bookAplicación Práctica del Preprocesamiento de Texto

Documentos

Primero, antes de proceder con un ejemplo práctico de preprocesamiento de texto, es importante comprender los componentes clave de un corpus de texto: documentos.

Note
Definición

Un documento es una pieza de texto separada dentro de un corpus, por ejemplo, un correo electrónico dentro de un corpus de correos electrónicos.

Esencialmente, todo corpus de texto es un conjunto de documentos, por lo que el preprocesamiento del corpus implica el preprocesamiento de cada uno de los documentos.

Cargando el corpus

Anteriormente, teníamos nuestro corpus de texto como variables de tipo string. Sin embargo, en escenarios reales, un corpus de texto suele almacenarse en archivos TXT para datos puramente textuales o en archivos CSV con múltiples columnas cuando se asocian datos adicionales al texto.

En nuestro curso, trabajaremos con archivos CSV o TXT, donde cada documento comienza en una nueva línea. Por lo tanto, utilizaremos la función read_csv() de la biblioteca pandas para cargar un corpus de texto desde un archivo.

123456
import pandas as pd corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) print(corpus)
copy

Aquí, leemos este archivo TXT en un DataFrame. Establecemos sep='\r' para usar el símbolo de retorno de carro como separador, lo que indica que cada documento comienza en una nueva línea. Usamos header=None para que la primera línea no se considere un encabezado y especificamos names=['Document'] para nombrar la única columna como 'Document'. Como resultado, obtendremos un DataFrame con una sola columna llamada 'Document' que contiene 6 documentos (frases).

Preprocesamiento del corpus

Para preprocesar el corpus, primero creemos una función para preprocesar cada uno de los documentos:

123456789101112131415161718
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc
copy

Ahora apliquemos esta función a nuestro DataFrame para cada uno de los documentos y creemos una columna con los documentos limpiados:

123456789101112131415161718192021222324252627
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk import pandas as pd nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) corpus['Cleaned_Document'] = corpus['Document'].apply(preprocess_document) print(corpus)
copy

Como puede observar, nuestro corpus ha sido preprocesado correctamente, por lo que utilizaremos la versión preprocesada de este corpus más adelante en el curso.

question mark

Seleccione la salida correcta del siguiente fragmento de código.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 9

Pregunte a AI

expand

Pregunte a AI

ChatGPT

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

Awesome!

Completion rate improved to 3.45

bookAplicación Práctica del Preprocesamiento de Texto

Desliza para mostrar el menú

Documentos

Primero, antes de proceder con un ejemplo práctico de preprocesamiento de texto, es importante comprender los componentes clave de un corpus de texto: documentos.

Note
Definición

Un documento es una pieza de texto separada dentro de un corpus, por ejemplo, un correo electrónico dentro de un corpus de correos electrónicos.

Esencialmente, todo corpus de texto es un conjunto de documentos, por lo que el preprocesamiento del corpus implica el preprocesamiento de cada uno de los documentos.

Cargando el corpus

Anteriormente, teníamos nuestro corpus de texto como variables de tipo string. Sin embargo, en escenarios reales, un corpus de texto suele almacenarse en archivos TXT para datos puramente textuales o en archivos CSV con múltiples columnas cuando se asocian datos adicionales al texto.

En nuestro curso, trabajaremos con archivos CSV o TXT, donde cada documento comienza en una nueva línea. Por lo tanto, utilizaremos la función read_csv() de la biblioteca pandas para cargar un corpus de texto desde un archivo.

123456
import pandas as pd corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) print(corpus)
copy

Aquí, leemos este archivo TXT en un DataFrame. Establecemos sep='\r' para usar el símbolo de retorno de carro como separador, lo que indica que cada documento comienza en una nueva línea. Usamos header=None para que la primera línea no se considere un encabezado y especificamos names=['Document'] para nombrar la única columna como 'Document'. Como resultado, obtendremos un DataFrame con una sola columna llamada 'Document' que contiene 6 documentos (frases).

Preprocesamiento del corpus

Para preprocesar el corpus, primero creemos una función para preprocesar cada uno de los documentos:

123456789101112131415161718
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc
copy

Ahora apliquemos esta función a nuestro DataFrame para cada uno de los documentos y creemos una columna con los documentos limpiados:

123456789101112131415161718192021222324252627
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk import pandas as pd nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) corpus['Cleaned_Document'] = corpus['Document'].apply(preprocess_document) print(corpus)
copy

Como puede observar, nuestro corpus ha sido preprocesado correctamente, por lo que utilizaremos la versión preprocesada de este corpus más adelante en el curso.

question mark

Seleccione la salida correcta del siguiente fragmento de código.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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