Proyectos / Citation Grounding Checker

Citation Grounding Checker

Verificación de respaldo de citas con reglas, FLAN-T5 y DeBERTa NLI. Predicciones, abstenciones y precisión vinculadas al pasaje exacto de cada afirmación.

Autor: · Python 3.11.13 · Licencia: MIT

Ficha publicada: · Ficha actualizada:

Repositorio · Evidencia original · Release v0.1.0

Problema y utilidad para agentes

Recuperar una fuente relevante no demuestra que respalde una afirmación. Una cifra alterada, una negación o un contexto omitido cambian lo que una cita permite concluir.

El proyecto expone afirmación, pasaje, etiqueta de referencia y veredicto juntos. Permite inspeccionar errores de grounding sin mezclarlos con errores del buscador: aquí el pasaje ya está dado.

Arquitectura

  1. Contrato de evidencia. Valida las citas literales, offsets, archivos y separación entre desarrollo y evaluación. Cada veredicto enlaza un pasaje con revisión inmutable.
  2. Tres verificadores. Reglas conservadoras, FLAN-T5-small y DeBERTa v3 xsmall NLI reciben solo pasaje y afirmación. Etiquetas, categorías y explicaciones de referencia quedan fuera del prompt.
  3. Evaluación explícita. Distingue respaldo, contradicción, evidencia insuficiente y abstención. Conserva salidas originales, hashes, matrices de confusión y métricas por categoría.

Qué demuestra

  • Trazabilidad desde una afirmación hasta su evidencia textual exacta.
  • Evaluación comparada de verificadores con cobertura y abstenciones visibles.
  • Ejecución local de modelos fijados y separación de etiquetas respecto de entradas.

Resultados publicados

Corpus original de 48 pares sintéticos sobre 16 pasajes: 12 casos de desarrollo y 36 de evaluación. Los modelos se ejecutaron en Intel Xeon W-3223 con dos hilos de CPU.

Las tres clases tienen 12 casos cada una en evaluación. La precisión se calcula entre las predicciones emitidas para cada clase; los aciertos usan los 36 casos como denominador. Abstenerse no equivale a clasificar evidencia como insuficiente.

Veredictos sobre los 36 casos de evaluación

Evidencia original ·
MétodoAciertosAbstencionesPrecisión: respaldoPrecisión: contradicciónPrecisión: insuficiente
Reglas3 / 3633 / 361.0001.000Sin predicciones
FLAN-T5-small21 / 360 / 360.5000.5830.833
DeBERTa NLI31 / 361 / 360.9230.8001.000

DeBERTa acertó 31 de 36 casos y se abstuvo en uno. Las reglas acertaron tres y se abstuvieron en 33. La precisión de las reglas sobre sus pocas respuestas debe leerse junto con esa cobertura.

Las etiquetas son referencias sintéticas del autor. No hay anotación humana independiente ni medición de desacuerdo entre revisores. El análisis conserva errores numéricos, de paráfrasis y de contexto. Resultados y análisis.

Reproducir

Validación, reglas y replay usan Python 3.11 o posterior sin dependencias de modelos. La inferencia completa requiere descargar los pesos fijados y sus paquetes.

Los comandos de entorno usan shell POSIX. La medición exige un árbol Git limpio y una salida nueva. El lock corresponde a Intel macOS; cada nueva ejecución conserva sus propios metadatos.

Revisar la evidencia guardada

git clone https://github.com/lucioduran/citation-grounding-checker.git
cd citation-grounding-checker
git checkout 1bb2d88a9a434e3193949f8e92f1aff3e118199c
python -m grounding validate
python -m grounding verify --report results/eval/report.json
python -m grounding check --passage "The gate is open." --claim "The gate is not open."

Repetir la medición local

python -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-local.lock
python -m grounding download
HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 TOKENIZERS_PARALLELISM=false OMP_NUM_THREADS=2 MKL_NUM_THREADS=2 python -m grounding run --split dev --output build/dev
HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 TOKENIZERS_PARALLELISM=false OMP_NUM_THREADS=2 MKL_NUM_THREADS=2 python -m grounding run --split eval --output build/eval
python -m grounding verify --report build/eval/report.json

Alcance y límites

  • Corpus pequeño, sintético y conocido por el autor; varios casos comparten pasajes y plantillas.
  • Umbral NLI fijo de 0,6 sin calibración. No hay recuperación web, validación humana ni evaluación de seguridad de producción.
  • Los tiempos son observaciones individuales. El replay recalcula resultados guardados, no repite inferencia ni establece su autenticidad.

Fuentes y revisión

Los valores de esta ficha provienen del informe enlazado. No son una medición en vivo. El informe conserva la revisión ejecutada; la revisión consultada incluye la publicación posterior de ese informe.