
Limpieza de datos on-premise para datasets de entrenamiento ML: deduplicación, normalización y puntuación de calidad
Cómo limpiar datasets de entrenamiento ML on-premise — cubriendo deduplicación con MinHash, normalización de texto, redacción de PII y puntuación de calidad sin APIs en la nube.
Después de la ingesta, tienes texto estructurado. Pero estructurado no es lo mismo que limpio. Las colecciones de documentos empresariales contienen duplicados, artefactos de codificación, información de identificación personal, formato inconsistente y registros de baja calidad que degradarán el rendimiento del modelo si llegan al conjunto de entrenamiento.
La limpieza es la etapa donde la mayoría de los equipos subinvierten — y donde la brecha entre un modelo que funciona en producción y uno que no, usualmente se determina. Esta guía cubre las técnicas prácticas para limpiar datasets de entrenamiento ML enteramente on-premise: sin servicios NER en la nube, sin APIs externas, sin salida de datos.
Deduplicación: exacta y casi-duplicados
Los duplicados en datos de entrenamiento causan que los modelos sobreajusten en ejemplos repetidos, inflando métricas de rendimiento durante la evaluación mientras degradan la generalización. En colecciones de documentos empresariales, la duplicación es generalizada — la misma plantilla de contrato usada 300 veces con modificaciones menores, el mismo documento de política distribuido a cada departamento, el mismo email reenviado a través de una cadena de destinatarios.
Deduplicación exacta
El caso más simple. Calcula un hash (SHA-256) del contenido de cada documento y elimina registros con hashes idénticos. Esto captura duplicados idénticos a nivel de bytes — el mismo archivo guardado con diferentes nombres, o el mismo documento ingestado desde múltiples fuentes.
La deduplicación exacta es rápida (O(n) con un conjunto de hashes) y siempre debería ser el primer paso.
Detección de casi-duplicados
Más valiosa y más compleja. Los casi-duplicados son documentos con alta similitud pero contenido no idéntico — diferentes versiones de la misma plantilla, documentos con ediciones menores o registros que comparten el 90% de su contenido.
Dos enfoques prácticos:
MinHash con Hashing Sensible a la Localidad (LSH): Calcula firmas MinHash a partir de n-gramas del documento, luego usa LSH para encontrar eficientemente pares con alta similitud Jaccard. Esto escala a millones de documentos y captura casi-duplicados a nivel de contenido independientemente de las diferencias de formato. Umbral típico: 0.8-0.9 de similitud Jaccard.
SimHash: Calcula una sola huella digital por documento usando características ponderadas de tokens. Los documentos con distancia de Hamming por debajo de un umbral se marcan como casi-duplicados. Más rápido que MinHash para colecciones muy grandes pero menos preciso para documentos más cortos.
Para datasets de entrenamiento, MinHash con LSH es la elección estándar. Maneja bien el caso empresarial: encontrar esos 300 contratos casi idénticos y colapasarlos a un conjunto representativo de 15-20 variantes distintas.
Qué hacer con los casi-duplicados
No simplemente los elimines. Los casi-duplicados contienen información sobre qué porciones de un documento son estables (plantilla) versus variables (las partes que importan). Opciones:
- Conservar uno representativo: Selecciona la versión de mayor calidad y descarta el resto
- Conservar todos pero marcar: Incluye un ID de clúster para que las etapas posteriores puedan ponderar o muestrear según corresponda
- Fusionar: Para documentos de plantilla, extrae las porciones variables y crea un solo ejemplo de entrenamiento que cubra el espacio de variación
Normalización de texto
La normalización hace que el texto sea consistente sin cambiar su significado. Los documentos empresariales son notablemente inconsistentes en formas que importan para el entrenamiento de modelos.
Normalización de codificación
Convierte todo a UTF-8 NFC (descomposición canónica seguida de composición canónica). Esto maneja:
- "Comillas inteligentes" de Windows-1252 que aparecen como mojibake en UTF-8
- Múltiples representaciones Unicode del mismo carácter (por ejemplo, "é" como un solo codepoint vs. "e" + acento combinante)
- Espacios de ancho cero, marcas de orden de bytes y otros caracteres invisibles que rompen la tokenización
Normalización de espacios en blanco
- Colapsar múltiples espacios a espacios simples
- Normalizar finales de línea (CRLF a LF)
- Eliminar espacios en blanco al final de las líneas
- Manejar la conversión tab-a-espacio consistentemente
Normalización específica empresarial común
- Formatos de fecha: "03/11/2026" vs "March 11, 2026" vs "2026-03-11" — decide un formato canónico o normaliza a ISO 8601
- Formatos de números: "1,000,000" vs "1000000" vs "1.000.000" (europeo) — normaliza según la configuración regional
- Abreviaciones: "Dr." vs "Doctor", "Inc." vs "Incorporated" — mantén un diccionario de normalización específico del dominio
- Citas legales: "42 U.S.C. § 1983" aparece en docenas de formatos entre documentos — normaliza a una forma canónica
Detección y redacción de PII y PHI
Para datos de salud (HIPAA), financieros (GLBA, SOC 2) y legales (privilegio abogado-cliente), la redacción de PII/PHI no es opcional. Es un requisito de cumplimiento. Y debe ocurrir on-premise — enviar documentos a un servicio NER en la nube para detección de PII anula el propósito.
Enfoques de detección de PII on-premise
Basado en reglas (regex + patrones): Captura PII estructurada con alta precisión:
- Números de Seguro Social:
\d{3}-\d{2}-\d{4} - Números de teléfono: Varios formatos por configuración regional
- Direcciones de email: Coincidencia de patrones estándar
- Números de tarjetas de crédito: Patrones validados con Luhn
- Fechas de nacimiento: Cuando se combinan con pistas contextuales
Fortaleza: rápido, predecible, cero falsos negativos para formatos bien definidos. Debilidad: pierde PII contextual (nombres, direcciones, condiciones médicas mencionadas en texto libre).
Modelos NER (locales): Los modelos NER de spaCy, Stanza o variantes BERT ajustadas ejecutándose localmente pueden detectar nombres, organizaciones, ubicaciones y otras entidades contextuales. La precisión varía por dominio — un modelo NER de propósito general entrenado en artículos de noticias tendrá bajo rendimiento en notas clínicas, entidades legales o identificadores financieros.
Detección asistida por LLM local: Un modelo de lenguaje local (por ejemplo, Llama 3.1 8B, Qwen 2.5 7B) con un prompt de detección de PII. El modelo lee cada segmento de texto e identifica entidades sensibles. Más flexible que enfoques basados en reglas o NER pero más lento y menos determinístico. Mejor usado como segundo pase después de la detección basada en reglas y NER.
Estrategias de redacción
- Reemplazo: Intercambia PII con marcadores tipados —
[NAME],[SSN],[DATE_OF_BIRTH]. Preserva la estructura de las oraciones para entrenamiento. - Pseudonimización consistente: Reemplaza cada entidad única con un falso consistente — "Dr. Smith" se convierte en "Dr. Johnson" en todo el dataset. Preserva las relaciones entre entidades.
- Eliminación: Borra la PII y el contexto circundante. Pierde información pero es el enfoque más conservador.
Para datos de entrenamiento, el reemplazo con marcadores tipados es usualmente el mejor balance — el modelo aprende el patrón de dónde aparece la PII sin memorizar identificadores específicos.
Puntuación de calidad sin APIs en la nube
No todos los ejemplos de entrenamiento son igualmente valiosos. La puntuación de calidad identifica registros que probablemente mejorarán el rendimiento del modelo (alta calidad) versus registros que probablemente agregarán ruido (baja calidad).
Señales de calidad heurísticas
Estas no requieren inferencia de modelo y proporcionan estimaciones rápidas de calidad base:
| Señal | Qué captura | Umbral |
|---|---|---|
| Longitud de texto | Demasiado corto (sin contenido) o demasiado largo (basura concatenada) | Dependiente del dominio; típicamente 50-5000 tokens |
| Conteo de oraciones | "Documentos" de una sola oración que carecen de contexto | Mínimo 3-5 oraciones para la mayoría de los casos |
| Diversidad de vocabulario | Texto repetitivo (errores de copiar-pegar, plantilla) | Ratio tipo-token por debajo de 0.3 es sospechoso |
| Ratio de caracteres especiales | Artefactos OCR, corrupción de codificación | Más del 5% no alfanumérico es una señal |
| Confianza de detección de idioma | Documentos de idioma mixto, texto confuso | Por debajo de 0.8 de confianza amerita revisión |
| Perplejidad (modelo local) | Texto incoherente o corrupto | Alta perplejidad relativa al promedio del corpus |
Aprendizaje de confianza estilo Cleanlab
Cleanlab es la biblioteca open-source líder para encontrar errores de etiquetas y ejemplos de baja calidad en datasets. Usa aprendizaje confiable — comparando predicciones del modelo contra etiquetas proporcionadas para identificar ejemplos probablemente mal etiquetados o ambiguos.
Cleanlab funciona bien. La limitación para proveedores de servicios es que es una biblioteca Python que requiere experiencia en ingeniería ML para configurar y ejecutar. No proporciona una GUI, no produce informes listos para auditoría y requiere integración en un pipeline personalizado.
Puntuación de calidad basada en embeddings locales
Calcula embeddings para todos los registros usando un modelo de embeddings local (por ejemplo, all-MiniLM-L6-v2 vía sentence-transformers). Luego:
- Detección de outliers: Los registros cuyos embeddings están lejos de cualquier centro de clúster pueden ser fuera de tema o corruptos
- Puntuación de coherencia: Los registros cuyos embeddings están cerca del centroide del corpus son típicos; los registros en la periferia ameritan revisión
- Evaluación de diversidad: Asegura que el conjunto de entrenamiento cubra el espacio de embeddings de manera uniforme, no agrupado en una región
Este enfoque funciona enteramente en local y proporciona señales de calidad útiles sin etiquetado o entrenamiento de modelo.
Flujo de trabajo práctico de limpieza
Un flujo de trabajo de limpieza realista para un dataset empresarial:
- Deduplicación exacta — Eliminar duplicados idénticos a nivel de bytes. Rápido, sin falsos positivos.
- Normalización de codificación — Convertir a UTF-8 NFC. Corregir mojibake.
- Normalización de espacios en blanco y formato — Espaciado consistente, finales de línea, formatos de números.
- Detección de casi-duplicados — MinHash/LSH con umbral de 0.85. Revisar clústeres, seleccionar representantes.
- Detección de PII/PHI — Primer pase basado en reglas, segundo pase con NER, revisión manual de elementos marcados.
- Redacción de PII — Aplicar estrategia de redacción elegida. Registrar cada redacción.
- Filtrado de calidad heurístico — Eliminar registros que fallen las verificaciones básicas de calidad.
- Puntuación de calidad — Clasificar registros restantes por calidad. Revisar el 10% inferior.
- Revisión humana — Expertos de dominio revisan registros marcados y casos extremos.
Cada paso debería registrar qué se eliminó, modificó o marcó — y por qué. Este registro es tu rastro de auditoría.
El módulo Clean de Ertas Data Suite maneja todo este flujo de trabajo con deduplicación integrada (exacta y casi-duplicados), normalización, detección de PII y puntuación de calidad — accesible a través de una interfaz visual que expertos de dominio y oficiales de cumplimiento pueden operar directamente. Cada acción se registra en el rastro de auditoría del proyecto automáticamente.
Conectando con el pipeline
Los datos limpios alimentan el etiquetado, donde anotadores humanos y co-pilotos de LLM local aplican las etiquetas necesarias para el fine-tuning. Cuanto más limpios sean los datos entrando a la etapa de etiquetado, más rápido y preciso se vuelve el etiquetado — los expertos de dominio pasan tiempo en decisiones sustantivas de etiquetado en lugar de arreglar problemas de calidad de datos que deberían haberse capturado antes.
Para la visión general completa del pipeline, consulta Cómo construir un pipeline de preparación de datos on-premise para fine-tuning de LLM.
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Keep reading

Data Quality Scoring for Training Datasets Without Cloud APIs
How to score training data quality on-premise — covering label accuracy, inter-annotator agreement, outlier detection, and confidence learning without cloud dependencies.

On-Premise PII and PHI Redaction Workflows for Multi-Industry Service Providers
Technical guide to building on-premise PII/PHI redaction pipelines that handle healthcare, legal, financial, and government data without cloud dependencies.

How to Build an On-Premise Data Preparation Pipeline for LLM Fine-Tuning
A complete guide to building on-premise data preparation pipelines for LLM fine-tuning — covering the 5 stages from ingestion to export, tool comparisons, and architecture for regulated environments.