CoolFace
Datasetpublic

MAIA-Madrid-IA/cibelex-qa-rag-evals

Cibelex QA RAG Evals Description Question-answering evaluation set over the regulatory corpus of the Ayuntamiento de Madrid (LoRO ontology / Cibelex knowledge graph). Each item pairs a natural-language question with a ground-truth answer, the top-4 passages returned by a baseline retriever, and the answer generated by a baseline LLM from those passages. Designed as a benchmark for: Retrieval-augmented generation (RAG): comparing new retrievers and answer… See the full description on the dataset page: https://huggingface.co/datasets/MAIA-Madrid-IA/cibelex-qa-rag-evals.

sourceHugging Facecc-by-4.0updated 4mo agoView on Hugging Face
0likes18downloads
Dataset Card

Cibelex QA RAG Evals

Description

Question-answering evaluation set over the regulatory corpus of the Ayuntamiento de Madrid (LoRO ontology / Cibelex knowledge graph). Each item pairs a natural-language question with a ground-truth answer, the top-4 passages returned by a baseline retriever, and the answer generated by a baseline LLM from those passages.

Designed as a benchmark for:

  • —Retrieval-augmented generation (RAG): comparing new retrievers and answer generators against a frozen baseline RAG output.
  • —KG-aware retrieval: each item is labelled with the KG retrieval strategy (entity_search, cross_graph_join, graph_traversal, full_context) and the specific KG tool expected to answer it, enabling tool-selection ablations against the LoRO graph.
  • —Domain-specific QA in Spanish administrative law: gold answers include quotations from municipal ordinances and regulations.

Schema

Each record in test.jsonl:

FieldTypeDescription
idstringStable identifier (cibelex_qa_NNN, where NNN is the original row index in the source spreadsheet; ID gaps after row drops are intentional)
questionstringQuestion in Spanish about Madrid municipal regulations
gold_answerstringGround-truth answer, verbatim quotation of the relevant article(s)
source_citationstringHuman-readable citation of the source norm (ordinance or regulation + article numbers)
difficultyenum {baja, media, alta, muy_alta}Annotator-assigned difficulty
retrieved_contextlist[string] (length 4)Top-4 passages returned by the baseline retriever — these were the input to baseline_prediction
baseline_predictionstringAnswer generated by the baseline LLM from retrieved_context
reviewer_idstringAnonymized annotator id (anotador_01..NN); the mapping is regenerated deterministically from sorted unique reviewer names and not published
sources_in_kgboolean \nullWhether the source norms cited in source_citation are present in the LoRO knowledge graph
kg_strategyenum {entity_search, cross_graph_join, graph_traversal, full_context}Required KG retrieval strategy, generated with Claude Opus 4.6 from the dataset contents and the expected KG tool
kg_toolstringSpecific KG tool expected to answer this question (e.g. search_norms, norms_by_org, competence_lookup)

Example

json
{
  "id": "cibelex_qa_000",
  "question": "¿Cómo se nombra a los órganos directivos?",
  "gold_answer": "Artículo 49. Nombramiento de los titulares de los órganos directivos. ...",
  "source_citation": "Reglamento Orgánico del Gobierno y de la Administración del Ayuntamiento de Madrid, de 31 de mayo de 2004; artículos 49, 70 y 93",
  "difficulty": "media",
  "retrieved_context": ["Artículo 6. ...", "La organización central ...", "Excepcionalmente, ...", "## SECCIÓN 3.2 ..."],
  "baseline_prediction": "Los titulares de los órganos directivos de un Área de Gobierno son nombrados por la Junta de Gobierno ...",
  "reviewer_id": "anotador_03",
  "sources_in_kg": true,
  "kg_strategy": "entity_search",
  "kg_tool": "search_norms"
}

Provenance

This dataset is part of a joint effort by Grupo MAIA - IAM - Subdirección General de Innovación y Servicios Emergentes and the Dirección General de Organización, Régimen Jurídico y Calidad Regulatoria. The source data was assembled as part of the LoRO knowledge-graph evaluation effort. Legal Experts generated the original questions, located the relevant articles in municipal regulations, and labelled difficulty based on the number of articles and norms required to answer the question. These experts then evaluated the outputs received, appearing as anonymized annotators in the reviewer_id field.

The kg_strategy label was created with Claude Opus 4.6 from the dataset contents and the expected KG tool for each item.

Baseline retrieval and generation

Baseline retrieval and generation were performed using the following models:

  • —Retriever: Similarity search performed over the corpus chunks, encoded using BGE-M3 model. Retrieval performed with top-k = 4
  • —Generator: gemini-2.5-flash

The retrieved_context and baseline_prediction fields capture a frozen baseline RAG run (retriever top-4 passages and the LLM answer generated from them). Provenance details (model versions, prompt template, run date) will be filled in before publication.

Class distribution and known limitations

difficulty (102 items):

labelcount
baja~31
media~31
alta~26
muy_alta~14

kg_strategy (102 items) — strongly imbalanced:

strategycountshare
entity_search67~66%
cross_graph_join31~30%
graph_traversal2~2%
full_context2~2%

Limitation: graph_traversal and full_context are under-represented (n=2 each). Per-strategy metrics on these two classes are not statistically reliable. A complementary synthetic dataset balancing the under-represented strategies is being prepared as a separate publication.

kg_tool (7 distinct tools): search_norms (~67), norms_by_topic (~25), norms_by_org (~3), competence_lookup (~2), norm_detail (~2), norms_by_event (~2), norms_by_place (~1).

Construction

The dataset is reproducibly built from a single source spreadsheet kept under data/raw/ (immutable). Two post-processing corrections are applied at build time and recorded in data/input/post_processing_corrections.yaml:

  1. 1.Drop of one row (incomplete annotation: empty source citation, no clear normative answer).
  2. 2.Field correction on one row: a copy-paste error in the source citation (reported by the original annotator) is corrected to the actual ordinance regulating animal ownership.

Legal experts' names are anonymized to anotador_01..NN deterministically from a sorted list of unique reviewers; the mapping is not persisted.

License

CC-BY 4.0 for the data.

Contact

Grupo MAIA - maia.resources@madrid.es

For more information about the LoRO project, see: https://ayuntamientomadrid.github.io/loro-local-regulations-ontology/


Cibelex QA RAG Evals

Descripción

Conjunto de evaluación de preguntas y respuestas sobre el corpus normativo del Ayuntamiento de Madrid (ontología LoRO / grafo de conocimiento Cibelex). Cada elemento empareja una pregunta en lenguaje natural con una respuesta de referencia, los 4 pasajes principales devueltos por un recuperador base y la respuesta generada por un LLM base a partir de esos pasajes.

Diseñado como benchmark para:

  • —Generación aumentada por recuperación (RAG): comparación de nuevos recuperadores y generadores de respuestas frente a una salida RAG base congelada.
  • —Recuperación consciente del grafo de conocimiento: cada elemento está etiquetado con la estrategia de recuperación sobre KG (entity_search, cross_graph_join, graph_traversal, full_context) y la herramienta KG específica esperada para responderlo, lo que permite ablaciones de selección de herramientas sobre el grafo LoRO.
  • —QA específico de dominio en derecho administrativo español: las respuestas de referencia incluyen citas de ordenanzas y reglamentos municipales.

Esquema

Cada registro en test.jsonl:

CampoTipoDescripción
idstringIdentificador estable (cibelex_qa_NNN, donde NNN es el índice de fila original en la hoja de cálculo fuente; los saltos de ID tras eliminar filas son intencionados)
questionstringPregunta en español sobre normativa municipal de Madrid
gold_answerstringRespuesta de referencia, cita literal del artículo o artículos relevantes
source_citationstringCita legible de la norma fuente (ordenanza o reglamento + números de artículo)
difficultyenum {baja, media, alta, muy_alta}Dificultad asignada por el anotador
retrieved_contextlist[string] (longitud 4)4 pasajes principales devueltos por el recuperador base; fueron la entrada de baseline_prediction
baseline_predictionstringRespuesta generada por el LLM base a partir de retrieved_context
reviewer_idstringIdentificador anonimizado del anotador (anotador_01..NN); el mapeo se regenera determinísticamente a partir de los nombres únicos ordenados y no se publica
sources_in_kgboolean \nullIndica si las normas fuente citadas en source_citation están presentes en el grafo de conocimiento LoRO
kg_strategyenum {entity_search, cross_graph_join, graph_traversal, full_context}Estrategia de recuperación KG requerida, generada con Claude Opus 4.6 a partir de los contenidos del dataset y la herramienta KG esperada
kg_toolstringHerramienta KG específica esperada para responder la pregunta (por ejemplo, search_norms, norms_by_org, competence_lookup)

Ejemplo

json
{
  "id": "cibelex_qa_000",
  "question": "¿Cómo se nombra a los órganos directivos?",
  "gold_answer": "Artículo 49. Nombramiento de los titulares de los órganos directivos. ...",
  "source_citation": "Reglamento Orgánico del Gobierno y de la Administración del Ayuntamiento de Madrid, de 31 de mayo de 2004; artículos 49, 70 y 93",
  "difficulty": "media",
  "retrieved_context": ["Artículo 6. ...", "La organización central ...", "Excepcionalmente, ...", "## SECCIÓN 3.2 ..."],
  "baseline_prediction": "Los titulares de los órganos directivos de un Área de Gobierno son nombrados por la Junta de Gobierno ...",
  "reviewer_id": "anotador_03",
  "sources_in_kg": true,
  "kg_strategy": "entity_search",
  "kg_tool": "search_norms"
}

Procedencia

Este conjunto de datos forma parte de un trabajo conjunto del grupo MAIA - IAM - Subdirección General de Innovación y Servicios Emergentes y la Dirección General de Organización, Régimen Jurídico y Calidad Regulatoria. Los datos fuente fueron reunidos como parte del esfuerzo de evaluación del grafo de conocimiento LoRO. Expertos legales generaron las preguntas originales, localizaron los artículos relevantes en la normativa municipal y etiquetaron la dificultad según el número de artículos y normas necesarios para responder cada pregunta. Estos expertos evaluaron posteriormente las salidas recibidas y aparecen como anotadores anonimizados en el campo reviewer_id.

La etiqueta kg_strategy fue creada con Claude Opus 4.6 a partir de los contenidos del dataset y la herramienta KG esperada para cada elemento.

Recuperación y generación base

La recuperación y generación base se realizaron con los siguientes modelos:

  • —Recuperador: búsqueda por similitud sobre los fragmentos del corpus, codificados con el modelo BGE-M3. La recuperación se realizó con top-k = 4
  • —Generador: gemini-2.5-flash

Los campos retrieved_context y baseline_prediction capturan una ejecución RAG base congelada (los 4 pasajes principales del recuperador y la respuesta del LLM generada a partir de ellos). Los detalles de procedencia (versiones de los modelos, plantilla de prompt, fecha de ejecución) se completarán antes de la publicación.

Distribución de clases y limitaciones conocidas

difficulty (102 elementos):

etiquetarecuento
baja~31
media~31
alta~26
muy_alta~14

kg_strategy (102 elementos), muy desbalanceado:

estrategiarecuentoproporción
entity_search67~66%
cross_graph_join31~30%
graph_traversal2~2%
full_context2~2%

Limitación: graph_traversal y full_context están infrarrepresentadas (n=2 cada una). Las métricas por estrategia en estas dos clases no son estadísticamente fiables. Se está preparando un conjunto sintético complementario que equilibre las estrategias infrarrepresentadas como publicación separada.

kg_tool (7 herramientas distintas): search_norms (~67), norms_by_topic (~25), norms_by_org (~3), competence_lookup (~2), norm_detail (~2), norms_by_event (~2), norms_by_place (~1).

Construcción

El conjunto de datos se construye de forma reproducible a partir de una única hoja de cálculo fuente conservada en data/raw/ (inmutable). Se aplican dos correcciones de posprocesamiento durante la construcción y quedan registradas en data/input/post_processing_corrections.yaml:

  1. 1.Eliminación de una fila (anotación incompleta: cita de fuente vacía, sin respuesta normativa clara).
  2. 2.Corrección de campo en una fila: se corrige un error de copia y pega en la cita de fuente (reportado por el anotador original) para apuntar a la ordenanza real que regula la tenencia de animales.

Los nombres de expertos legales se anonimizan como anotador_01..NN de forma determinista a partir de una lista ordenada de revisores únicos; el mapeo no se persiste.

Licencia

CC-BY 4.0 para los datos.

Contacto

Grupo MAIA - maia.recursos@madrid.es

Para más información sobre el proyecto LoRO, puede consultarse: https://ayuntamientomadrid.github.io/loro-local-regulations-ontology/