Limpieza de datos (III)
Tratamiento de datos no estructurados (1)
En las entradas que preceden hemos concretado el tratamiento de datos a una tipología específica de éstos: los datos estructurados y los semi-estructurados, siendo que en ambos aspiramos a presentarlos difinitivamente en unos formatos que podemos identificar como tablas. Pero al tratar con datos no estructurados el panorama cambia radicalmente, ya que ahora estamos hablando de un flujo de texto que aunque a simple vista pueda parecer ordenado y limpio, para la máquina es caótico, está lleno de "ruido" y el acceso a la información relevante (los datos, en suma) está lejos de ser proceso simple. Por resumirlo: no es lo mismo enfrentarse a una tabla de datos tipo excel que contiene un listado de alumnos que al cuerpo textual de un informe psicopedagógico. En el primer caso deberemos resolver
Por continuar con la comparación, en términos de tratamiento y limpieza de datos, en el primer caso (la tabla excel), nos enfrentamos a tareas como tratar con celdas vacías, corregir datos erróneos, eliminar filas duplicadas... Pero el tratamiento (y limpieza) de datos no estructurados es mucho más complejo y crítico: además de la complejidad técnica, que debemos resolver sí o sí, si queremos operar con ellos, nos enfrentamos a las delimitaciones que conlleva la confidencialidad. La primera dimensión (la técnica) tiene como principal objetivo transformar el caos textual en un flujo homogéneo de datos cargados de significado; la segunda implica respetar estrictamente el principio de confidencialidad.
Es por esto que el tratamiento de datos no estructurados (textos complejos, fundamentalmente) se articula en las cuatro temáticas que aquí me limitaré a presentar brevemente para ir desarrollándolas en posteriores entradas, aunque sólo en función de y en la medida en que nos sea de utilidad para la intervención de los SEO, como corresponde a la filosofía de este blog.
- Limpieza de estructura y de "basura" textual
- Anonimización y respeto a la privacidad
- Normalización lingüística
- Segmentación semántica
La limpieza de estructura y ruido o basura textual tiene como objetivo eliminar todo aquello que los documentos digitales textual acumulan, normalmente en función de las prácticas de los usuarios y que, para éstos, ni siquiera son visibles, pero que están ahí y dificultan el tratamiento digital de los algoritmos en el proceso de automatización de procedimientos de acceso a los datos relevantes del mismo documento. Todo esto se concreta como...
- la eliminación de números de página en mitad de un párrafo, encabezados repetidos o notas al pie descontextualizadas... que se "cuelan" inadvertidamente al extraer texto de diferentes tipos de archivo, como .pdf, .docx...
- la normalización de espacios y códigos específicos, como la depuración de tabulaciones irregulares , saltos de línea múltiples y, cuando se producen, las inconsistencias en la codificación de determinados caracteres como tildes o como la "ñ"
- el filtrado de elementos no semáticos, como código de script, html, urls o caracteres especiales que no aportan nada al análisis del contenido del texto
La anonimación nos permite proteger la confidencialidad mediante dos procedimientos: la detección de información personal y el uso de procedimientos de sustitución de esos datos por pseudonimos.
La detección de información de identificación personal (IIP o PII en inglés) se orienta a la identificación automatizada de nombres propios, números y códigos de identidad, direcciones postales, teléfonos o datos de contacto.
Pa pseudonimización (uso de "sinónimos") consiste en sustituir los datos identificativos por etiquetas normalizadas estructuradas, como, por ejemplo, sustituir "José Longinos Pacheco" por [PACIENTE_01] o [ESTUDIANTE_A]). Este procedimiento garantiza que el texto conserva la coherencia gramatical y la estructura contextual, pero eliminan el riesgo de fugas de información sensible.
La normalización lingüística, también llamada preprocesamiento NLP permite que los modelos de procesamiento lingüístico (semántico) trabajen con la máxima eficiencia y optimicen el uso de su ventana de contexto, reduciendo el consumo de tokens. Para ello el texto debe simplificarse a sus componentes esenciales, lo cual conseguimos mediante tres procedimientos: la estandarización, la lematización y la gestión de las palabras vacías.
La estandarización consiste en convertir el texto a minúsculas homogéneas, facilitando la identificación de términos que se prestan a variaciones de escritura, como podría ser el caso de, por ejemplo, "WISC", "Wisc" o "wisc".
La lematización y la reducción morfológica consiste en reducir las palabras flexivas a su raíz o lema de base. De este modo se unifican y reducen las variantes gramaticales de un mismo término, como "evaluando", "evaluó" o "evaluación", que se vinculan formalmente al verbo "evaluar". Esto facilita la indexación semántica, reduciendo el consumo de memoria de almacenamiento y de procesamiento del sistema.
Finalmente, la gestión de palabras vacías (o Stop Words) opera mediante el filtrado selectivo de artículos y preposiciones cuando se trabaja con motores de búsqueda clásicos, pero es menos necesaria (por lo que puede llegar a omitirse) cuando se emplean modelos LLM avanzados, para los que la sintaxis natural es relevante, ya que aporta matices contextuales valiosos.
Y finalmente, la segmentación semántica se orienta a afrontar el reto que supone la identificación de los datos contenidos en el texto, concretamente sus fronteras de inicio y final. Este reto no se presenta en los datos estructurados, ya que estos tienen límites claros (lo contenido en cada uno de los campos de cada uno de los registros), pero es vital en el procesamiento de los datos no estructurados, en los que se secesita deimitar la infornación con un criterio lógico.
No se trata, pues, de fragmentar el documento de manera ciega cada cierto número de palabras o caracteres; se trata de segmentar el texto respetando la arquitectura su semántica: aislar párrafos, delimitar secciones y diseñar ventanas de superposición (overlap) calculadas para asegurar que el hilo conductor y el contexto de la información no se destruyan durante la fragmentación.
1 Esta entrada ha sido elaborada a partir del resultado de una consulta realizada a IA-Gemini.
No hay comentarios:
Publicar un comentario
Comenta esta entrada