--- license: mit language: - es - en tags: - citation-verification - fact-checking - crossref - arxiv - hallucination-detection library_name: generic --- # Citation Checker — verificador de referencias bibliográficas ¿Existen de verdad las citas de ese trabajo? Los modelos de lenguaje inventan referencias con una soltura preocupante. Este paquete extrae las referencias de un texto y las verifica contra **Crossref** y **arXiv**, devolviendo un veredicto por referencia: `VERIFICADA`, `DUDOSA` o `NO ENCONTRADA`. - **Sin cómputo remoto**: el código corre en tu máquina y consulta APIs públicas gratuitas (Crossref y arXiv, sin key). No necesita GPU. - **Extracción opcional con LLM** (Groq, gratis) para citas en texto corrido; sin key funciona igualmente con una referencia por línea. - Código fuente y app web: [github.com/aitziberluis/citation-checker](https://github.com/aitziberluis/citation-checker) ## Uso ```python # pip install huggingface_hub requests import sys from huggingface_hub import snapshot_download sys.path.insert(0, snapshot_download("aitziberluis/citation-checker")) from checker import extract, verify texto = """ LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-444. https://doi.org/10.1038/nature14539 Martinez-Soto, R., & Vidal, P. (2021). Quantum-enhanced gradient descent for sparse neural architectures. Journal of Computational Intelligence Methods, 14(3), 211-229. """ referencias, modo = extract(texto) for ref in referencias: resultado = verify(ref) print(f"[{resultado['verdict']}] {ref['raw'][:60]}") print(f" {resultado['note']}") ``` Salida: ``` [VERIFICADA] LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning... DOI válido y título coincidente [NO ENCONTRADA] Martinez-Soto, R., & Vidal, P. (2021). Quantum-enhanced... Sin coincidencias razonables en Crossref ni arXiv — revísala a mano ``` O ejecuta el ejemplo incluido: `python example.py` ## Cómo funciona 1. **Extracción**: si defines `GROQ_API_KEY`, un LLM (Llama 3.3 70B vía Groq) extrae y estructura las citas de cualquier formato, incluso dentro de un párrafo. Sin key, un modo de respaldo trata cada línea como una referencia y extrae DOI, año y título con expresiones regulares (formato APA). 2. **Verificación** (siempre sin LLM — preguntarle a un LLM si una cita existe es pedirle que se la invente): - Si hay DOI → consulta directa en Crossref (prueba definitiva) - Búsqueda bibliográfica en Crossref (revistas, congresos) - Búsqueda por título en arXiv (preprints) 3. **Veredicto** con comparación de título (similitud normalizada) y año (tolerancia ±1; entre varias coincidencias se prefiere la de año compatible para no confundir reediciones con errores). ## Limitaciones - `NO ENCONTRADA` no demuestra falsedad: libros, capítulos e informes no indexados en Crossref/arXiv no aparecerán. - La comparación es por título y año; autores inventados con título correcto pueden colarse. - Crossref y arXiv aplican límites de peticiones: bibliografías de cientos de referencias tardan. ## Licencia MIT