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 3. Recolección legal y reproducible

¿Cómo se recolecta un corpus de modo que otro pueda repetir la recolección y obtener lo mismo, sin tomar lo que no se puede tomar?

Pregunta de la semana

¿Cómo se recolecta un corpus de modo que otro pueda repetir la recolección y obtener lo mismo, sin tomar lo que no se puede tomar?

Por qué esta semana

Con un cuaderno que lee archivos y una delimitación escrita, el estudiante está listo para la operación que más se automatiza y que más se malentiende: traer los documentos desde la fuente. La automatización que el curso enseña no sirve para descargar más, sirve para descargar igual. Un programa de recolección es la forma ejecutable del protocolo: dice de dónde, con qué criterio, a qué ritmo y qué no. Otro investigador lo corre y obtiene el mismo corpus o una diferencia que el programa mismo detecta. Esta semana cierra el primer producto, el protocolo de corpus, porque solo ahora el estudiante sabe lo suficiente sobre sus fuentes para escribir cómo va a recolectarlas.

Contenido de la sesión

  1. Las fuentes se distinguen por cómo entregan sus documentos, y esa distinción decide el programa. Los repositorios de acceso abierto y las bibliotecas digitales ofrecen descarga directa de archivos; las hemerotecas digitales, como la de la Biblioteca Nacional de Colombia, ofrecen visores y a veces descarga por número; los portales de datos abiertos como datos.gov.co ofrecen conjuntos de datos en CSV y una interfaz de programación; muchos sitios de entidades públicas ofrecen solo páginas web que hay que leer con un programa.a El protocolo de corpus registra, para cada fuente, cuál de estas formas usa, porque de ella dependen el método, el ritmo y los derechos.
  1. La descarga es un criterio escrito, no una aspiradora. El programa que recolecta recibe la lista de lo que el protocolo dice que entra (un rango de fechas, un periódico, una categoría de norma, una consulta en el buscador) y trae exactamente eso. Lo que se trae de más "por si acaso" no es corpus: es carpeta, y vuelve a plantear el problema de la semana 1. El curso enseña a escribir primero la lista de lo que se va a pedir, revisarla a mano, y solo después ejecutar la descarga.

  2. Descargar de un sitio es entrar en una relación con quien lo mantiene, y esa relación tiene reglas escritas. El archivo robots.txt de cada sitio dice qué partes acepta que los programas visiten; el documento RFC 9309 de 2022 fija su formato. Los términos de uso dicen qué se puede hacer con lo descargado. Y la cortesía técnica tiene forma concreta: identificarse en cada petición con un nombre y un correo, esperar entre peticiones, no repetir lo que ya se tiene, y detenerse ante un error en lugar de insistir.b Un programa que ignora esto puede tumbar un servidor pequeño de un archivo regional, y ese es un daño que el investigador causa.

  1. Hay cosas que no se descargan, y la lista se escribe en el protocolo. No se descargan documentos con datos personales de personas vivas cuando el proyecto no tiene cómo tratarlos conforme a la Ley 1581 de 2012; no se descarga lo que los términos del sitio prohíben reproducir; no se descarga lo que está detrás de una suscripción o una credencial de acceso ajena; no se descarga lo que el protocolo no incluyó. Para cada uno de estos casos el curso ofrece una alternativa legítima: pedir el conjunto por solicitud de acceso a la información bajo la Ley 1712 de 2014, recolectar a mano con registro, o trabajar con una muestra que sí se puede tomar.

  2. El archivo crudo es intocable. Lo que llega de la fuente se guarda tal como llegó, en una carpeta crudo que no se edita nunca, con tres datos que lo acompañan desde ese instante: la dirección de donde vino, la fecha y hora de la descarga, y una huella criptográfica del contenido.c Todo lo que el curso hace después (limpiar, segmentar, normalizar) produce copias en otras carpetas. Si algo sale mal en cualquier paso, siempre se puede volver al crudo y repetir.

  1. Reproducible quiere decir que el cuaderno de recolección, ejecutado por otra persona en otra máquina, produce el mismo corpus o explica la diferencia. Las fuentes cambian: una nota se corrige, un conjunto de datos se actualiza, una página desaparece. El hash detecta el cambio; la bitácora de descarga, que registra cada petición con su resultado, permite decir qué cambió y cuándo. Reproducible no es inmutable: es trazable.
PROTOCOLOlista de lo que se piderevisada a mano PROGRAMApetición identificadapausa de 1 s · robots.txt FUENTErespondeo rechaza CRUDO (no se edita)url · fecha_descarga · sha256el archivo tal como llegótodo lo demás es copia BITÁCORAuna fila por peticiónqué, cuándo, resultado,hash o error NO SE DESCARGA datos personales sin tratamiento previsto · lo que los términos prohíben · lo que está tras una credencial ajena · lo que el protocolo no incluyó trazable
Figura 3. La recolección reproducible. Lo que hay que ver es que el archivo crudo nace con su dirección, su fecha y su huella, y que la lista de lo que no se descarga es parte del programa, no una nota al margen.

La diferencia entre las dos formas de descargar no está en la herramienta sino en qué se escribe antes.

Descargar como aspiradora Descargar como criterio
Se trae todo lo que el sitio deja traer Se trae lo que la lista revisada a mano dice
El criterio de inclusión se aplica después, sobre la carpeta El criterio de inclusión está en la lista, antes de pedir
No hay bitácora: lo que hay es lo que hay Cada petición tiene fila, fecha, resultado y hash
Lo que no se debía tomar ya está tomado Lo que no se toma está escrito y tiene alternativa
Otro no puede repetirlo ni saber qué falta Otro lo repite y explica la diferencia
  1. El protocolo de corpus se entrega esta semana porque reúne lo aprendido en las tres primeras: la delimitación y los criterios de Valles de la semana 1, el registro con campos de la semana 2, y las fuentes, el método y los límites de recolección de esta. Es un documento de dos a cuatro páginas, con la plantilla de plantillas/protocolo-de-corpus.md, que otro investigador podría leer y ejecutar. El cuaderno de recolección, que se escribe en el taller, es su anexo.

IA y exigencia

El modelo puede escribir la primera versión de una función de descarga, y esta semana se le pide eso: a partir de la descripción de una fuente, proponer el código que pide un documento, espera, lo guarda en crudo y anota la bitácora. El estudiante lee ese código línea por línea antes de ejecutarlo, verifica que respeta la pausa, que se identifica y que no toca nada fuera de la lista, y anota en el cuaderno qué corrigió. Lo que debe poder defender sin la máquina es la lista de lo que pidió y la lista de lo que no: ninguna de las dos la puede escribir el modelo.

Lecturas

Central

Complementaria

Guía de lectura

  • La Ley 1712 parte del principio de que la información pública es pública por defecto y que la reserva es la excepción que la entidad debe justificar. Eso cambia la posición del investigador: puede pedir. ¿Qué conjunto de documentos de su proyecto podría pedir por solicitud de acceso en lugar de descargarlo pieza por pieza?
  • La Ley 1581 define dato personal, dato sensible y tratamiento, y hace responsable a quien recolecta. Léala pensando en el archivo crudo: guardar ya es tratar. ¿Qué piezas de su corpus contienen datos personales, y tiene el proyecto una base para tratarlos?
  • El RFC 9309 es corto y técnico. Lo que interesa es su lógica: el sitio declara, el programa obedece, y lo que no está declarado no está permitido por omisión sino sujeto a juicio. Abra el robots.txt de una de sus fuentes. ¿Qué dice sobre lo que usted quiere descargar?

Taller de la segunda hora

Primera recolección reproducible sobre el caso demostrativo y luego sobre una fuente propia. Guía completa en practicas/practica-03-recoleccion-reproducible.md; bloques en practicas/cuaderno-apoyo.md, sección "Semana 3".

  1. Leer el robots.txt de datos.gov.co y de la Secretaría del Senado y anotar qué permiten.
  2. Pedir un conjunto de datos de datos.gov.co por su interfaz de programación, guardarlo en crudo con su dirección, fecha y hash, y anotar la bitácora.
  3. Pedir una norma de la Secretaría del Senado como página web, con identificación y pausa, y guardarla intacta.
  4. Repetir con una fuente propia, sobre una lista de no más de diez piezas revisada a mano.
  5. Cerrar el cuaderno, reiniciar y ejecutar todo. Comparar los hash de la segunda ejecución con los de la primera.
Fuente Forma de entrega robots.txt permite Ritmo Qué no se toma
datos.gov.co Interfaz de programación y CSV
Secretaría del Senado Páginas web
Fuente propia 1

Guion de la sesión

Momento Docente Estudiante Material
0 a 10 min Retoma tres fichas de delimitación y pregunta cómo entregan sus fuentes Clasifica sus fuentes por forma de entrega Fichas de la semana 1
10 a 30 min Expone las formas de entrega y la descarga como criterio escrito Escribe la lista de lo que pediría a una fuente
30 a 45 min Lee en vivo dos robots.txt y los términos de un sitio; expone la cortesía técnica Abre el robots.txt de una fuente propia Navegador
45 a 60 min Expone lo que no se descarga y las alternativas; el crudo intocable y el hash Marca en su ficha lo que no puede tomar Figura 3
60 a 70 min Pausa
70 a 110 min Ejecuta la recolección del caso y acompaña la propia Escribe y corre el cuaderno de recolección practica-03
110 a 120 min Cierra con la comparación de hash entre dos ejecuciones Anota diferencias si las hubo

Notas para el docente. Lo que suele fallar: la red del aula bloquea peticiones o el sitio responde con error; tener los archivos del caso descargados de antemano en una carpeta compartida para que el taller continúe. El segundo fallo es el estudiante que quiere descargar todo un sitio "ya que está"; devolverlo a la lista revisada a mano. El tercero es el código propuesto por el modelo sin pausa ni identificación: pedir que se lea en voz alta antes de ejecutar, siempre.

Entrega

Protocolo de corpus, con la plantilla de plantillas/protocolo-de-corpus.md y el cuaderno de recolección como anexo. Se evalúa que la delimitación esté argumentada con los cuatro criterios, que las exclusiones estén escritas, que cada fuente tenga forma de entrega, régimen de derechos y método de recolección, y que la lista de lo que no se descarga exista. Un protocolo que dice "se descargará todo lo disponible" no está en nivel Básico.

Para la próxima semana

Leer el capítulo 3 de Gibbs (2012) sobre preparación de datos y el artículo de Wilkinson y coautores (2016) sobre los principios FAIR. Tener en crudo al menos veinte piezas del corpus propio, con bitácora de descarga. Revisar el esquema de campos del registro de la semana 2: la semana 4 lo convierte en el catálogo maestro.