Contenido del curso
Técnicas Tradicionales de NLP para Documentos Empresariales
- 4

Tokenización con NLTK y SpaCy en español
06:51 min - 5

Stemming vs lematización en nubes de palabras
05:07 min - 6

Bag of Words y TF-IDF para representación vectorial de texto
05:32 min - 7

Análisis LDA para detectar temas ocultos en reseñas de texto
03:08 min - 8

Naive Bayes para clasificar reseñas con TF-IDF
07:41 min
Introducción y Profundización en Transformers para Aplicaciones Empresariales
Proyecto Final y Estrategia Comercial B2B
Limpieza de texto con regex en Python
Resumen
Limpiar texto con regex en Python es el primer paso para analizar reseñas de clientes con eficiencia. Aprenderás a preparar un dataset de Amazon eliminando ruido como URLs, HTML y emojis para quedarte solo con el contenido relevante de cada reseña, ahorrando costos computacionales en el proceso.
¿Qué son las expresiones regulares y para qué sirven?
Las expresiones regulares, conocidas como regex, son la herramienta clave para identificar patrones dentro de cadenas de texto. Su utilidad va mucho más allá de buscar palabras sueltas.
¿Qué es regex? Es una secuencia de caracteres que define un patrón de búsqueda. Te permite describir, identificar y manipular cadenas de texto de manera eficiente, como detectar un arroba, una URL o una etiqueta HTML.
Con regex puedes encontrar desde un símbolo de arroba hasta una URL completa o una etiqueta HTML dentro de un comentario. Esa flexibilidad es la que hace posible automatizar la limpieza de miles de reseñas en segundos.
¿Cómo preparar el dataframe antes de limpiar el texto?
Antes de tocar el contenido, conviene reducir el dataset a lo esencial. En este caso trabajamos solo con dos columnas: review body, que contiene el texto de la reseña, y stars, la puntuación asociada.
Sobre el dataframe original se hace una copia llamada filter_dat para no alterar los datos crudos. Después se valida que no haya valores nulos con el método isnull sumando los resultados por columna.
¿Cómo verifico valores nulos en pandas? Usa
df.isnull().sum(). Devuelve la cantidad de nulos por columna. Si todo da cero, puedes seguir sin imputar ni eliminar filas.
En este dataset no aparece ningún valor nulo, así que no hace falta imputar ni descartar filas. Puedes pasar directo a la limpieza.
¿Qué elementos eliminar de una reseña para análisis de texto?
Para construir la función de limpieza se importan las librerías re (regex) y string. La función recorre cada reseña aplicando una serie de transformaciones pensadas para conservar solo lo que aporta significado.
Estos son los pasos que ejecuta la función clean:
- Convertir todo el texto a minúsculas para uniformar el contenido.
- Eliminar textos entre corchetes, que suelen ser metadatos.
- Quitar URLs que aparecen en comentarios y no aportan valor.
- Borrar etiquetas HTML que vienen del renderizado original.
- Remover signos de puntuación y saltos de línea.
- Descartar palabras que contienen números, como menciones tipo usuario89 o usuario40.
- Eliminar emojis y caracteres especiales.
- Quitar espacios en blanco al inicio y al final.
Cada una de estas reglas responde a un tipo de ruido distinto. Las menciones a otros usuarios, por ejemplo, son frecuentes en plataformas como Amazon y distorsionan cualquier análisis posterior si no se eliminan.
¿Cómo aplico la función clean a una columna del dataframe?
Una vez definida la función, se aplica a la columna review body usando el método apply de pandas. El resultado se guarda en una nueva columna llamada clean_review, lo que permite comparar el antes y el después sin perder el original.
La ejecución sobre el dataset toma alrededor de ocho segundos, un tiempo razonable considerando el volumen de comentarios procesados.
¿Qué diferencia hay entre la reseña original y la reseña limpia?
Al comparar review body con clean_review se nota el cambio inmediatamente. Las mayúsculas desaparecen, las comas se eliminan y los caracteres especiales quedan fuera del texto final.
¿Por qué pasar el texto a minúsculas? Porque modelos y conteos de frecuencia tratan Producto y producto como palabras distintas. Unificar el caso evita duplicados y mejora la precisión.
La reseña limpia conserva solo el contenido evaluativo, que es justo lo que necesita un modelo de procesamiento de lenguaje natural para detectar sentimiento, temas o patrones de opinión.
¿Has aplicado regex en tus propios proyectos de NLP? Cuéntame qué patrones sueles eliminar primero en los comentarios.