Show HN: LLM-Aided OCR – Corrección de errores de Tesseract OCR con LLM
(github.com/Dicklesworthstone)- Diseñado para mejorar significativamente la calidad de la salida del reconocimiento óptico de caracteres (OCR)
- Aprovecha técnicas modernas de procesamiento de lenguaje natural y modelos de lenguaje grandes (LLM) para convertir texto OCR sin procesar en documentos muy precisos, bien formateados y fáciles de leer
Funciones
- Convertir PDF en imágenes
- OCR con Tesseract
- Corrección avanzada de errores usando LLM (local o basado en API)
- Fragmentación inteligente de texto para un procesamiento eficiente
- Opción de formato Markdown
- Supresión de encabezados y números de página (opcional)
- Evaluación de la calidad de la salida final
- Soporte para LLM locales y proveedores de API en la nube (OpenAI, Anthropic)
- Procesamiento asíncrono para mejorar el rendimiento
- Registro detallado para seguimiento del proceso y depuración
- Aceleración por GPU para la inferencia de LLM local
Requisitos
- Python 3.12+
- Motor OCR Tesseract
- Biblioteca PDF2Image
- PyTesseract
- API de OpenAI (opcional)
- API de Anthropic (opcional)
- Soporte para LLM local (opcional, requiere modelos GGUF compatibles)
Cómo usarlo
- Coloca el archivo PDF en el directorio del proyecto
- Actualiza la variable
input_pdf_file_pathde la funciónmain()con el nombre del archivo PDF - Ejecuta el script:
python llm_aided_ocr.py - El script generará varios archivos de salida, incluyendo el texto final posprocesado
Cómo funciona
El proyecto LLM-Aided OCR usa un proceso de múltiples etapas para transformar la salida OCR sin procesar en texto legible de alta calidad:
- Conversión de PDF: usa
pdf2imagepara convertir el PDF de entrada en imágenes - OCR: aplica Tesseract OCR para extraer texto de las imágenes
- Fragmentación de texto: divide la salida OCR sin procesar en fragmentos manejables
- Corrección de errores: cada fragmento pasa por un procesamiento basado en LLM para corregir errores de OCR y mejorar la legibilidad
- Formateo en Markdown (opcional): vuelve a dar formato al texto corregido en un Markdown limpio y consistente
- Evaluación de calidad: compara la calidad de la salida final con el texto OCR original mediante una evaluación basada en LLM
Resumen de GN⁺
- El proyecto LLM-Aided OCR es un sistema que mejora significativamente la calidad de la salida OCR aprovechando técnicas modernas de procesamiento de lenguaje natural y modelos de lenguaje grandes
- Convierte PDF en imágenes, extrae texto con Tesseract y luego corrige errores y lo reorganiza en formato Markdown mediante un LLM
- Soporta tanto LLM locales como basados en la nube, y optimiza el rendimiento mediante procesamiento asíncrono
- Este proyecto ofrece varias funciones avanzadas para aumentar la precisión y legibilidad de la salida OCR, y es especialmente útil para procesar documentos grandes
- Proyectos con funciones similares incluyen ABBYY FineReader, Adobe Acrobat OCR, entre otros
1 comentarios
Opiniones de Hacker News
Con el lanzamiento del nuevo modelo schnell, podría ser posible obtener un conjunto de datos para producir modelos de visión SOTA
En artículos científicos, el modelo nougat de Meta es el más adecuado
Según intentos anteriores, funciona bien en el 90% de los casos
Si conviertes una página PDF a PNG y le pides a gpt4 que transcriba la imagen, es muy preciso
Hace 10 años intenté reconocer chino con OCR usando Tesseract
Obtuve mejores resultados usando PaddlePaddle
Preguntan si se probaron otros paquetes de OCR
Es importante ajustar el prompt para que el modelo entienda con mayor claridad
Estoy haciendo un trabajo similar analizando rúbricas y entregas de estudiantes
Preguntan sobre el enfoque de usar el prompt "fix this text" para corregir errores de OCR