Show HN: LLM-Aided OCR – Korrigiert Tesseract-OCR-Fehler mit einem LLM
(github.com/Dicklesworthstone)- Entwickelt, um die Qualität der Ausgabe optischer Zeichenerkennung (OCR) deutlich zu verbessern
- Nutzt moderne Natural-Language-Processing-Techniken und große Sprachmodelle (LLMs), um rohen OCR-Text in sehr präzise, gut formatierte und leicht lesbare Dokumente umzuwandeln
Funktionen
- Konvertierung von PDFs in Bilder
- OCR mit Tesseract
- Erweiterte Fehlerkorrektur mit einem LLM (lokal oder API-basiert)
- Intelligentes Text-Chunking für effiziente Verarbeitung
- Markdown-Formatierungsoptionen
- Unterdrückung von Kopfzeilen und Seitenzahlen (optional)
- Qualitätsbewertung der finalen Ausgabe
- Unterstützung für lokale LLMs und Cloud-basierte API-Anbieter (OpenAI, Anthropic)
- Asynchrone Verarbeitung zur Leistungssteigerung
- Detailliertes Logging für Prozessverfolgung und Debugging
- GPU-Beschleunigung für lokale LLM-Inferenz
Anforderungen
- Python 3.12+
- Tesseract-OCR-Engine
- PDF2Image-Bibliothek
- PyTesseract
- OpenAI API (optional)
- Anthropic API (optional)
- Unterstützung für lokale LLMs (optional, kompatibles GGUF-Modell erforderlich)
Verwendung
- PDF-Datei im Projektverzeichnis ablegen
- Die Variable
input_pdf_file_pathin der Funktionmain()mit dem Namen der PDF-Datei aktualisieren - Skript ausführen:
python llm_aided_ocr.py - Das Skript erzeugt mehrere Ausgabedateien, darunter den final nachbearbeiteten Text
Funktionsweise
Das Projekt LLM-Aided OCR verwendet einen mehrstufigen Prozess, um rohe OCR-Ausgaben in hochwertige, gut lesbare Texte umzuwandeln:
- PDF-Konvertierung: Das Eingabe-PDF wird mit
pdf2imagein Bilder umgewandelt - OCR: Tesseract OCR wird angewendet, um Text aus den Bildern zu extrahieren
- Text-Chunking: Die rohe OCR-Ausgabe wird in handhabbare Chunks aufgeteilt
- Fehlerkorrektur: Jeder Chunk wird durch LLM-basierte Verarbeitung geschickt, um OCR-Fehler zu korrigieren und die Lesbarkeit zu verbessern
- Markdown-Formatierung (optional): Der korrigierte Text wird in sauberes, konsistentes Markdown umformatiert
- Qualitätsbewertung: Eine LLM-basierte Bewertung vergleicht die Qualität der finalen Ausgabe mit dem ursprünglichen OCR-Text
Zusammenfassung von GN⁺
- Das Projekt LLM-Aided OCR ist ein System, das moderne Natural-Language-Processing-Techniken und große Sprachmodelle nutzt, um die Qualität von OCR-Ausgaben deutlich zu verbessern
- PDFs werden in Bilder umgewandelt, Text wird mit Tesseract extrahiert und anschließend mit einem LLM korrigiert und in Markdown neu strukturiert
- Es unterstützt sowohl lokale als auch Cloud-basierte LLMs und optimiert die Leistung durch asynchrone Verarbeitung
- Das Projekt bietet verschiedene fortgeschrittene Funktionen zur Verbesserung von Genauigkeit und Lesbarkeit von OCR-Ausgaben und ist besonders für die Verarbeitung großer Dokumente nützlich
- Ähnliche Projekte mit vergleichbarer Funktionalität sind unter anderem ABBYY FineReader und Adobe Acrobat OCR
1 Kommentare
Hacker-News-Kommentare
Mit der Veröffentlichung des neuen schnell-Modells könnte es möglich werden, Datensätze zu gewinnen, mit denen sich SOTA-Visionsmodelle erstellen lassen
Für wissenschaftliche Arbeiten ist metas nougat-Modell am besten geeignet
Nach früheren Versuchen funktioniert es in 90 % der Fälle gut
Wenn man PDF-Seiten in PNG konvertiert und gpt4 bittet, die Bilder zu transkribieren, ist das sehr präzise
Vor 10 Jahren wurde versucht, Tesseract für OCR auf Chinesisch zu verwenden
Mit PaddlePaddle wurden bessere Ergebnisse erzielt
Es wurde gefragt, ob andere OCR-Pakete ausprobiert wurden
Es ist wichtig, den Prompt so anzupassen, dass das Modell klarer versteht
Es wird an einer ähnlichen Aufgabe gearbeitet, bei der Rubrics und Einreichungen von Studierenden geparst werden
Es wurde nach dem Ansatz gefragt, OCR-Fehler mit dem Prompt "fix this text" zu korrigieren