Limpieza de texto para IA con regex
Eliminación de etiquetas HTML, puntuación, URL y correos electrónicos: creación de funciones de preprocesamiento de texto.
Limpieza de texto para IA con regex es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Por qué limpiar texto para la IA?
El texto sin procesar de la web está lleno de ruido: etiquetas HTML, URL, correos electrónicos, espacios en blanco adicionales y caracteres especiales. Introducir todo eso en un modelo desperdicia capacidad y perjudica la calidad.
Regex es la herramienta fundamental del preprocesamiento de texto. Crearemos una canalización de limpieza paso a paso.
Una muestra desordenada
Este es el tipo de cadena que podría extraer. Cada paso de limpieza se ocupa de un tipo de ruido.
raw = "<p>Contact us at info@shop.com or visit https://shop.com NOW!!! Thanks</p>"Eliminación de etiquetas HTML
Las etiquetas HTML tienen este aspecto: <tag>. El patrón <[^>]+> hace coincidir un <, cualquier carácter que no sea > y, después, >.
Sustitúyalas por una cadena vacía. (Para HTML complejo, es preferible utilizar un analizador como BeautifulSoup, pero regex resulta adecuado para una limpieza rápida).
import re
text = re.sub("<[^>]+>", "", raw)
print(text) # "Contact us at info@shop.com or visit https://shop.com NOW!!! Thanks"Eliminación de URL
Las URL comienzan por http:// o https://, seguidos de caracteres que no sean espacios. Haga coincidirlas y elimínelas.
import re
text = re.sub("https?://\S+", "", text)
print(text) # URL removedEliminación de direcciones de correo electrónico
Un patrón sencillo para un correo electrónico: caracteres de palabra, un @, un dominio, un punto y un dominio de nivel superior.
import re
text = re.sub("\S+@\S+\.\S+", "", text)
print(text) # email removedEnmascaramiento en lugar de eliminación
En los conjuntos de datos de privacidad, a menudo se enmascaran los datos sensibles en lugar de eliminarlos, conservando la estructura de las frases.
import re
masked = re.sub("\S+@\S+\.\S+", "[EMAIL]", "reach me at a@b.com please")
print(masked) # "reach me at [EMAIL] please"Eliminación de caracteres especiales
Conserve las letras, los dígitos y los espacios; elimine la puntuación y los símbolos con una clase negada. Según la tarea, decida si debe conservar algunos signos de puntuación.
import re
text = re.sub("[^A-Za-z0-9 ]", "", "Hello!! @world #2026")
print(text) # "Hello world 2026"Normalización de espacios en blanco
La limpieza deja dobles espacios y saltos de línea sueltos. Convierta cualquier secuencia de espacios en blanco en un único espacio con \s+ y, después, aplique strip() a los extremos.
import re
text = re.sub("\s+", " ", "Hello world\n\n again").strip()
print(text) # "Hello world again"Conversión a minúsculas y la importancia del orden
La conversión a minúsculas es habitual para mantener la coherencia, pero debe aplicarse con cuidado. Además, el orden es importante: elimine el HTML antes de quitar los caracteres especiales y normalice los espacios en blanco al final para que las eliminaciones anteriores no dejen huecos.
text = text.lower()
# Pipeline order: tags -> urls -> emails -> specials -> whitespace -> lowercaseCreación de una canalización de limpieza
Envuelva los pasos en una sola función para que todos los documentos reciban el mismo tratamiento. Compile previamente los patrones para mejorar la velocidad al procesar muchos documentos.
import re
def clean_text(s):
s = re.sub("<[^>]+>", " ", s) # html tags
s = re.sub("https?://\S+", " ", s) # urls
s = re.sub("\S+@\S+\.\S+", " ", s) # emails
s = re.sub("[^A-Za-z0-9 ]", " ", s) # special chars
s = re.sub("\s+", " ", s).strip() # whitespace
return s.lower()
print(clean_text(raw))Aplicación de la canalización a un DataFrame
Ejecute el limpiador sobre una columna de texto completa con apply para producir una columna lista para el modelo.
import pandas as pd
df["clean"] = df["text"].apply(clean_text)
print(df[["text", "clean"]].head())Comprobación rápida: normalización de espacios en blanco
Después de la limpieza, el texto contiene secuencias de varios espacios y saltos de línea que desea reducir a espacios individuales.
Resumen: limpieza de texto con regex
Ha creado una canalización de preprocesamiento real:
- Eliminar el HTML con
<[^>]+> - Eliminar URL (
https?://\S+) y correos electrónicos - Enmascarar datos sensibles con marcadores como
[EMAIL] - Eliminar caracteres especiales con una clase negada
- Normalizar los espacios en blanco con
\s++strip() - Envolverlo en una función y aplicarlo con
applya una columna
Con esto termina la sección sobre regex para texto destinado a la IA. A continuación: bases de datos para proyectos de IA.
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 53
- Lecciones
- 225
Preguntas frecuentes
¿La lección «Limpieza de texto para IA con regex» es gratis?
Sí — el texto completo de «Limpieza de texto para IA con regex» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Limpieza de texto para IA con regex»?
Eliminación de etiquetas HTML, puntuación, URL y correos electrónicos: creación de funciones de preprocesamiento de texto. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Limpieza de texto para IA con regex»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Patrones de regex y clases de caracteres
- Módulo re: search, match, findall, sub
- Grupos de captura y grupos con nombre
- Limpieza de texto para IA con regex