Carlos Isaac
Zainea Maya

Tunjos para la IA
Programa de cursos

Razonamiento, validación e inteligencia artificial en ciencias sociales y humanidades.

Curso 2 · Oficio · ocho sesiones · híbrido

Semana 4. El catálogo maestro

¿Qué tiene que saber una tabla de cada pieza para que el corpus se pueda reconstruir, citar y defender sin volver a la fuente?

Pregunta de la semana

¿Qué tiene que saber una tabla de cada pieza para que el corpus se pueda reconstruir, citar y defender sin volver a la fuente?

Por qué esta semana

Hasta aquí el corpus es una carpeta crudo con una bitácora de descarga. Esta semana le da su columna vertebral: el catálogo maestro, una tabla con una fila por pieza y una columna por cada cosa que hay que saber de ella. El catálogo no es un inventario ni un adorno administrativo. Es el lugar donde la decisión de la semana 1 queda escrita pieza por pieza, donde la procedencia de la semana 3 se vuelve consultable, y donde el análisis de las semanas 6 y 7 va a buscar qué se puede decir de cada texto. Un corpus sin catálogo no se puede citar; un catálogo que no se valida no se puede creer. La semana enseña a construirlo con pandas, a limpiar sus duplicados con hash y a someterlo a reglas de integridad antes de usarlo.

Contenido de la sesión

  1. El catálogo responde las preguntas que la cadena de procedencia dejó planteadas, y responde una por columna. De dónde salió la pieza: fuente y dirección. Cuándo fue producida y cuándo fue tomada: dos fechas distintas que se confunden con frecuencia. Quién la produjo y en qué situación: la escena, que en prensa es el periódico y la sección, y en normas es la entidad y el tipo de acto. Bajo qué régimen se puede usar: derechos. Por qué está en el corpus: el criterio de inclusión del protocolo que la hizo entrar. Y cómo se sabe que es la misma: el hash. Lo demás es útil; esto es obligatorio.

  2. El esquema del curso tiene catorce campos y se adopta tal cual, para que los catálogos de todos los estudiantes se puedan comparar y para que los cursos que reciben el catálogo como documento de entrada, Codificación cualitativa con IA en ciencias sociales, donde el corpus se codifica con el modelo como codificador auxiliar, y Patrones estables en datos de las ciencias sociales, donde se le aplican agrupamientos y redes de coocurrencia, lo lean sin traducción. Los campos obligatorios son id, titulo, fuente, url, fecha_documento, fecha_descarga, escena, derechos, criterio_inclusion, hash_sha256 y ruta_crudo; los opcionales son autor, ruta_limpio y notas.a Un proyecto puede añadir columnas; no puede quitar las obligatorias. La plantilla plantillas/catalogo-maestro.md describe cada campo, su formato y un ejemplo.

  1. El identificador es propio, estable y opaco. Propio porque lo asigna el investigador y no la fuente: si la fuente renumera o desaparece, el corpus no cambia. Estable porque una vez asignado no se reutiliza: una pieza excluida conserva su identificador con la nota de exclusión, y la siguiente recibe uno nuevo. Opaco porque no codifica información que pueda cambiar: P-0042 sirve; ElTiempo-1910-marzo-nota3 deja de servir el día en que se descubre que la nota era de abril. Todo lo que el identificador quisiera decir se dice en las otras columnas.

  2. Deduplicar es la primera limpieza del catálogo, y se hace con el hash antes que con los ojos. Dos piezas con el mismo SHA-256 son el mismo archivo byte a byte: una se conserva y la otra se anota como duplicado de la primera. Los casi duplicados, que difieren en espacios, en mayúsculas, en una tilde perdida por el OCR o en una línea de encabezado, no comparten hash, y para detectarlos hay que decidir qué diferencias se ignoran.b Esa decisión es del investigador, se escribe en el cuaderno, y la mini app muestra cómo cambia el resultado según qué se normaliza antes de comparar.

  1. Validar la integridad es someter el catálogo a reglas antes de confiar en él, y escribir las reglas en el cuaderno para que se apliquen cada vez que el catálogo cambie. Las reglas del curso son cinco: ningún campo obligatorio vacío; las fechas con formato ISO y la de descarga posterior a la del documento; el hash de la columna igual al hash recalculado del archivo en ruta_crudo; ningún identificador repetido; y ningún criterio de inclusión que no exista en el protocolo. Un catálogo que no pasa las cinco no entra al análisis. La mini app aplica las tres primeras a diez registros y explica, para cada falla, qué dejaría de poder reconstruirse.
  1. pandas entra esta semana con tres operaciones y no más: leer una tabla desde CSV, filtrar filas por una condición, y agrupar por una columna para contar. Con las tres, el estudiante responde las preguntas que un lector le hará a su corpus: cuántas piezas por fuente, cuántas por año, cuántas por criterio de inclusión, cuántas con derechos restringidos. Las respuestas son la primera descripción del corpus, y van al informe de la semana 8 tal como salen del cuaderno, con la celda que las produjo.
Una fila del catálogo maestro. Los campos con borde verde son obligatorios. IDENTIDAD id titulo autor ¿Cuál pieza es,sin depender de la fuente? PROCEDENCIA fuente url fecha_documento fecha_descarga ¿De dónde salió,cuándo fue hecha y cuándo tomada? ESCENA escena productor, género,sección, situación ¿Quién la produjoy en qué situación? RÉGIMEN derechos criterio_inclusion ¿Se puede usar,y por qué está aquí? INTEGRIDAD hash_sha256 ruta_crudo ruta_limpio notas ¿Es el mismo archivo que se tomó, y dónde está? 14 campos11 obligatorios
Figura 4. El esquema del catálogo maestro. Lo que hay que ver es que cada bloque responde una pregunta de la cadena de procedencia, y que un campo obligatorio vacío deja una de esas preguntas sin respuesta.
  1. El catálogo preliminar sale de la sesión con las piezas que el estudiante ya tiene en crudo, generado por el cuaderno y no a mano. Que lo genere el cuaderno es lo que lo hace reproducible: si entran veinte piezas más la semana siguiente, se ejecuta de nuevo y el catálogo crece sin que nadie copie celdas. Lo que no sale del cuaderno, como la escena o el criterio de inclusión, se completa en una tabla aparte que el cuaderno lee y une al catálogo, de modo que las decisiones a mano también queden en un archivo con fecha.

IA y exigencia

Se le pide al modelo que proponga, a partir del protocolo del estudiante, valores de escena y criterio_inclusion para diez piezas, dándole el texto de cada una. El estudiante revisa las diez propuestas contra su lectura, acepta, corrige o rechaza cada una, y anota el resultado en una columna propuesta_modelo que el catálogo conserva al lado del valor decidido. Lo que debe poder defender sin la máquina es cada regla de integridad: por qué esa regla, qué falla detecta, y qué pasaría si no estuviera.

Lecturas

Central

  • Gibbs, G. (2012). El análisis de datos cualitativos en investigación cualitativa. Madrid: Morata. Cap. 3, "Preparación de los datos".
  • Wilkinson, M. D. et al. (2016). "The FAIR Guiding Principles for scientific data management and stewardship". Scientific Data 3, 160018. https://doi.org/10.1038/sdata.2016.18

Complementaria

Guía de lectura

  • Gibbs trata la preparación de datos como una serie de decisiones sobre qué conservar del contexto de producción: quién habló, dónde, en qué condiciones. Lea su lista pensando en la columna escena. ¿Qué datos de la situación de producción de sus documentos se perderían si solo guardara el texto?
  • Los principios FAIR fueron escritos para datos científicos y hablan de metadatos legibles por máquinas. Traduzca cada principio al catálogo. ¿Cuál de los cuatro principios cumple hoy su carpeta crudo y cuál no?
  • Gitelman sostiene que no hay datos crudos: todo dato fue tomado por alguien con un criterio. El curso llama crudo a una carpeta sabiendo eso. ¿En qué sentido el archivo que usted descargó ya no es crudo, y dónde queda registrado ese sentido?
  • Gebru y sus coautores proponen una ficha para cada conjunto de datos con preguntas sobre motivación, composición y recolección. ¿Qué pregunta de esa ficha no puede responder hoy sobre su corpus?

Taller de la segunda hora

Construcción del catálogo preliminar con el cuaderno. Bloques en practicas/cuaderno-apoyo.md, sección "Semana 4".

  1. Recorrer crudo y calcular el SHA-256 de cada archivo; unir el resultado a la bitácora de descarga por la ruta.
  2. Asignar identificadores propios en orden de descarga.
  3. Detectar duplicados exactos por hash; anotar en notas cuál conserva y cuál se excluye.
  4. Leer la tabla de decisiones a mano (escena, criterio, derechos) y unirla al catálogo por id.
  5. Aplicar las cinco reglas de integridad y listar las filas que fallan.
  6. Guardar catalogo.csv y producir tres conteos: por fuente, por año, por criterio.
Regla Qué comprueba Qué se rompe si falla
1 Ningún campo obligatorio vacío Una pregunta de la cadena sin respuesta
2 Fechas en formato ISO; descarga posterior al documento La pieza no se puede situar
3 Hash de la columna igual al recalculado No se sabe si el archivo es el que se tomó
4 Ningún id repetido Dos piezas se citan igual
5 Criterio de inclusión existe en el protocolo La pieza entró sin razón escrita

Guion de la sesión

Momento Docente Estudiante Material
0 a 10 min Abre el catálogo del caso demostrativo y hace preguntas que solo él puede responder Anota qué preguntas no responde su registro de la semana 2 catalogo.csv del caso
10 a 30 min Expone el esquema campo por campo con la figura 4 Marca en su registro qué campos ya tiene y cuáles faltan Figura 4, plantilla del catálogo
30 a 45 min Deduplicación con la mini app: cambia normalizaciones en vivo Prueba con dos textos propios casi iguales apps/deduplicacion-hash.html
45 a 60 min Validación con la mini app: rompe registros y lee la explicación Corrige los diez registros hasta que todos pasen apps/validador-catalogo.html
60 a 70 min Pausa
70 a 110 min Acompaña la construcción del catálogo propio Ejecuta los seis pasos del taller cuaderno-apoyo.md, sección 4
110 a 120 min Pide los tres conteos y los proyecta de dos estudiantes Compara sus conteos con su protocolo

Notas para el docente. Lo que suele fallar: el estudiante quiere identificadores con significado y se resiste a los opacos; el ejemplo de la nota mal fechada suele convencer. El segundo fallo es la unión de tablas por id en pandas, donde un espacio de más deja filas sin pareja; mostrar el error y la función strip. El tercero es el hash que no coincide porque el archivo se abrió y guardó con un editor que cambió los finales de línea: es la mejor demostración de por qué crudo no se toca.

Bitácora

El cuaderno de la sesión con el catálogo preliminar, la lista de filas que fallan las reglas y lo que piensa hacer con ellas. Las propuestas del modelo para escena y criterio, con su decisión pieza por pieza. Una pregunta abierta sobre un campo que no sabe cómo llenar para alguna fuente.

Para la próxima semana

Leer Rawson y Muñoz (2019), "Against Cleaning", y Cordell (2017) sobre el OCR sucio. Abrir tres archivos de crudo y anotar todo lo que no es texto del documento: encabezados, números de página, saltos, caracteres extraños. La semana 5 decide qué hacer con eso y qué se pierde al hacerlo.