
Desarrollé PDF Craft para convertir libros escaneados en Markdown o EPUB que de verdad se puedan leer, buscar y organizar. Reconocer las palabras es solo una parte. Un número, un símbolo rodeado por un círculo o un asterisco en el cuerpo debe seguir llevando a la nota correcta al pie de la página original. Si se pierde ese vínculo, el texto puede adaptarse a la pantalla, pero la lectura queda incompleta.
Esto importa al trabajar con libros antiguos, fuentes académicas o una biblioteca personal. La conversión debería permitir buscar, copiar y leer en pantallas pequeñas sin perder las referencias. Para revisar una muestra, consulta la guía de PDF escaneado a EPUB y la lista de comprobación de fórmulas y notas.
OCR reconoce caracteres, no su función
OCR encuentra texto en la página, pero no siempre sabe qué papel cumple. La letra pequeña al pie puede ser una nota o el final del cuerpo. Un número en un círculo puede ser una llamada o un elemento de una lista. Una nota incluso puede quedar partida en dos bloques o continuar en la página siguiente.
Un vínculo mal interpretado produce resultados extraños: una llamada sin destino, dos notas pegadas, un número de página dentro de una frase o el final de una página unido a la cabecera de la siguiente. Las notas al pie llevan mucho tiempo entre los problemas más difíciles de PDF Craft.
El primer intento: que el LLM leyera todas las páginas
Hace aproximadamente un año elegí la solución más directa: entregar cada página a un modelo de lenguaje. A menudo podía reconocer que el texto pequeño explicaba el cuerpo, interpretar estrellas o números romanos como llamadas y valorar si una frase seguía después de un salto de página.
Página por página resultaba prometedor; en un libro largo, no. Cientos de páginas significaban cientos de llamadas, esperas y posibles reintentos. Para entender los saltos había que añadir las páginas vecinas, lo que agrandaba la entrada. La mayoría de las páginas ya estaban bien. El modelo costoso las volvía a leer solo para confirmar que no había nada que cambiar. Además, al usuario le costaba distinguir entre un proceso lento y uno atascado.
Primero, un proceso completo con reglas
Las versiones posteriores devolvieron el trabajo principal al OCR y a reglas deterministas. Ese proceso separa cuerpo y notas, une párrafos, divide las notas individuales y relaciona cada llamada con su explicación. Es rápido, estable, repetible y funciona bien en la mayoría de las páginas.
Pero los diseños de libros varían mucho: notas al pie o entre columnas, llamadas numéricas o simbólicas, cabeceras y números de página mezclados con el texto. Algunas decisiones exigen comprender el sentido de una frase. Las reglas dejan ciertos casos difíciles; aplicar un LLM a todo el libro vuelve a ser demasiado lento y caro.
El cambio: JEV inspecciona, no rehace
No hacía falta sustituir el proceso existente. Hacía falta una inspección rápida que señalara las páginas sospechosas. Le planteo a JEV una pregunta limitada: ¿Puede aceptarse sin cambios el análisis de esta página? No reescribe el texto ni explica nota por nota. Devuelve una probabilidad que sirve para decidir si la página continúa o pasa al LLM.
La unidad de inspección es la página completa. Si el algoritmo omite una nota por completo, revisar solo las notas ya detectadas no puede encontrarla. Una evaluación de la página aún puede advertir referencias ausentes, asignaciones erróneas, conexiones anómalas entre páginas o números de página en el cuerpo. Prefiero revisar algunas páginas de más a dejar pasar un error al EPUB: un falso positivo cuesta otra comprobación; un error omitido perjudica el resultado. El umbral todavía necesita calibrarse con más ejemplos.
flowchart TB
accTitle: De la revisión de páginas a la reparación limitada
accDescr: OCR y las reglas procesan la página. JEV decide si puede pasar sin cambios. Las páginas sospechosas van al LLM y después a una comprobación de integridad. Si fallan, se repite la reparación.
A[OCR y reglas] --> B{JEV: página fiable?}
B -- Sí --> F[Capítulos y salida]
B -- No --> C[LLM corrige solo esta página]
C --> D{Comprobación de integridad}
D -- Aprobada --> F
D -- Reintento --> C
El LLM corrige dentro de límites estrictos
Cuando se marca una página, el LLM recibe la estructura textual de la anterior, la actual y la siguiente, pero solo puede modificar la del centro. Las otras dos sirven de contexto para frases que atraviesan el salto. No le envío imágenes: el OCR ya conserva texto, posiciones y disposición, y aquí se busca corregir el sentido, no repetir el reconocimiento.
El modelo puede volver a etiquetar cuerpo, notas y números de página, corregir la continuidad de los párrafos y relacionar llamadas con notas. No puede reescribir libremente el original ni cambiar la estructura de la página. Después, el programa comprueba el orden de los índices, la correspondencia entre llamadas y notas, la coherencia de los enlaces entre páginas y que cada marca pueda localizarse sin ambigüedad. Si falla, devuelve errores concretos y pide un resultado completo de nuevo. Ahorrar reintentos no justifica relajar estas condiciones.
Lo que mostró una muestra de 26 páginas
En una prueba con un PDF de 26 páginas y muchas notas, JEV seleccionó 6 páginas para el LLM. Las seis primeras respuestas superaron las comprobaciones de integridad y se conservaron las 22 relaciones entre llamadas y notas que ya eran correctas.
Las correcciones reales fueron pequeñas pero importantes: números impresos se habían convertido en cuerpo; uno de ellos enlazaba falsamente dos párrafos; y una frase introductoria se había unido a la cita sangrada que venía después. El modelo usó el sentido y la sangría para separarlas.
Es una observación de una sola muestra, no una tasa general de precisión ni de coste. Una buena reparación conserva lo correcto y se detiene después de corregir problemas con pruebas claras.
Reservar el juicio costoso para lo necesario
Las reglas realizan la mayor parte del trabajo, JEV selecciona rápido las páginas sospechosas, el LLM trata los pocos casos que requieren entender el sentido y las verificaciones protegen la estructura final. Las páginas reparadas vuelven al mismo proceso de capítulos, Markdown y EPUB.
Queda probar más idiomas, diseños y libros extensos, sobre todo para medir los errores que JEV no detecta y ajustar el umbral. Pero ya no hace falta que un LLM lea de principio a fin un libro para encontrar unos pocos fallos en los márgenes. Si conviertes uno propio, empieza con una muestra breve con notas en el espacio de PDF Craft y comprueba llamadas, notas completas y párrafos entre páginas.

