Saltar al contenido
La Ciutat Parla.

Metodología

Cómo funciona.

Las actas de los plenos son documentos PDF de hasta 200 páginas. Esta página explica cómo las convertimos en datos estructurados, qué hace la inteligencia artificial y qué supervisa la persona.

7 pasos del pipeline
~$0.10 coste por pleno (IA)
4 mandatos procesados
100% código abierto

Fuentes de datos

El proyecto parte de fuentes públicas del Ajuntament de València y las combina para generar datos que no existen en ninguna otra forma estructurada.

Actas de plenos municipales

PDFs publicados por el Ajuntament en su web oficial. Dominio público. Reutilización amparada por la Ley 19/2013 de Transparencia y la Ley 2/2015 de la Comunitat Valenciana.

Principal · dominio público

Dataset Barris i Districtes

88 barrios y 19 distritos con sus contornos GeoJSON. Portal de Datos Abiertos del Ajuntament de València (geoportal.valencia.es). Usado para la geolocalización de intervenciones y el mapa interactivo.

Datos abiertos · CC BY 4.0

Queixes, Suggeriments i Pressupostos

Datasets de quejas y sugerencias (87.528 registros) y de presupuestos participativos (8 ediciones). Portal de Datos Abiertos del Ajuntament. Usados en la sección Altres veus.

Datos abiertos · CC BY 4.0

El pipeline: 7 pasos

Un conjunto de scripts Python procesa cada pleno desde su publicación en la web del Ajuntament hasta su aparición en la web. Los pasos 1–4 son automáticos e idempotentes; los pasos 5–7 usan IA con supervisión humana.

01

Índice de sesiones

Python · web scraping

Descarga automática del listado de todos los plenos desde la web municipal. Extrae fecha, tipo (ordinario/extraordinario) y enlaces a las actas y vídeos.

sessions_index.json

02

Metadatos de sesión

Python · web scraping

Visita cada página de sesión para obtener los metadatos completos y los enlaces directos a los PDFs de las actas.

sessions_metadata.json

03

Descarga de PDFs

Python · urllib

Descarga las actas oficiales en formato PDF. Solo descarga los que no existen ya localmente. Las actas pueden superar las 200 páginas.

data/raw/pdfs/

04

Extracción de texto

pdftotext · Python

Convierte cada PDF a texto plano limpio. Elimina cabeceras, pies de página y artefactos de maquetación para preparar el texto para la IA.

data/raw/texts/

05

Extracción con IA

Claude Haiku · Anthropic IA

El modelo lee el texto del acta e identifica cada bloque de intervención ciudadana. Por cada intervención extrae: quién habla, qué entidad representa, en qué idioma, qué dice. Genera resúmenes bilingües (castellano y valencià).

interventions_raw.json

06

Normalización de entidades

Claude Haiku · supervisión humana IA

La misma entidad aparece con grafías distintas en diferentes actas. Este paso agrupa variantes bajo un nombre canónico. Se aplican correcciones manuales reproducibles para casos que la IA no resuelve bien.

entitats.json

07

Clasificación y construcción final

Claude Haiku · Python IA

Cada intervención se clasifica temáticamente (9 categorías, 30+ subcategorías), geográficamente (barrio, distrito, ámbito) y con códigos CAP (Comparative Agendas Project, estándar académico internacional). Se construyen los JSONs finales que alimentan la web.

intervencions.json · plenos.json

El rol de la inteligencia artificial

La IA hace posible procesar cientos de páginas de documentos administrativos. La supervisión humana garantiza la calidad del resultado.

Qué hace la IA

  • Localizar los bloques de intervención ciudadana en el acta
  • Identificar quién habla y a qué entidad representa
  • Detectar el idioma (castellano, valencià o mixt)
  • Redactar un resumen de 1-2 frases en ambos idiomas
  • Clasificar temáticamente con taxonomía propia y códigos CAP
  • Identificar barrios y distritos mencionados
  • Marcar en negrita las frases clave del texto

Qué supervisa la persona

  • Revisar cada sesión procesada
  • Eliminar intervenciones de concejales mal identificados
  • Corregir nombres de entidades y fusionar duplicados
  • Reasignar cesiones de turno entre entidades
  • Validar la clasificación geográfica en casos ambiguos
  • Todas las correcciones quedan en código versionado y son reproducibles
Modelo: Claude Haiku (Anthropic) · Coste estimado por pleno: ~$0.05–0.15 · Coste total del dataset completo: <$30 · Hosting web: $0 (sitio estático)

Cobertura y limitaciones

El dataset es exhaustivo dentro de su ámbito, pero tiene límites que cualquier usuario debería conocer.

Cobertura temporal: 4 mandatos municipales: 2011–2015 (Rita Barberá), 2015–2019 (Joan Ribó), 2019–2023 (Joan Ribó), 2023–2027 (María José Catalá). Los plenos más recientes se añaden periódicamente.
Solo intervenciones ciudadanas: El dataset recoge únicamente las intervenciones del turno ciudadano en el pleno. No incluye debates entre concejales, preguntas de grupos municipales ni otros trámites del orden del día.
Calidad de los PDFs: Las actas de 2011–2014 son documentos escaneados. La calidad del texto extraído es menor y puede haber más errores de transcripción que en los documentos digitales nativos de mandatos posteriores.
Precisión de la IA: La extracción automática tiene una tasa de acierto elevada, pero no es perfecta. Todas las sesiones se revisan manualmente. Los errores identificados se corrigen en un script de correcciones versionado.
Normalización de entidades: Una misma entidad puede aparecer con grafías distintas en diferentes actas. El proceso de normalización es iterativo y mejora con cada nuevo pleno procesado. Pueden quedar variantes no detectadas.
Entidades no identificadas: En algunos casos el interviniente no indica claramente la entidad que representa. Estas intervenciones se recogen con el campo entitat vacío o con el nombre del interviniente como identificador.

Reutilizar los datos

El dataset completo está disponible para descarga libre bajo licencia CC BY 4.0. Puedes usarlo en proyectos periodísticos, investigaciones académicas o visualizaciones propias siempre que cites la fuente.

Ir a Datos abiertos →