Show HN: LLM-Aided OCR – Memperbaiki kesalahan Tesseract OCR dengan LLM
(github.com/Dicklesworthstone)- Dirancang untuk meningkatkan kualitas keluaran optical character recognition (OCR) secara signifikan
- Memanfaatkan teknologi pemrosesan bahasa alami terbaru dan large language model (LLM) untuk mengubah teks OCR mentah menjadi dokumen yang sangat akurat, terformat rapi, dan mudah dibaca
Fitur
- Mengonversi PDF menjadi gambar
- OCR menggunakan Tesseract
- Koreksi kesalahan tingkat lanjut menggunakan LLM (lokal atau berbasis API)
- Smart text chunking untuk pemrosesan yang efisien
- Opsi format Markdown
- Menekan header dan nomor halaman (opsional)
- Evaluasi kualitas keluaran akhir
- Mendukung LLM lokal dan penyedia API berbasis cloud (OpenAI, Anthropic)
- Pemrosesan asinkron untuk peningkatan performa
- Logging mendetail untuk pelacakan proses dan debugging
- Akselerasi GPU untuk inferensi LLM lokal
Persyaratan
- Python 3.12+
- Tesseract OCR engine
- Library PDF2Image
- PyTesseract
- OpenAI API (opsional)
- Anthropic API (opsional)
- Dukungan LLM lokal (opsional, memerlukan model GGUF yang kompatibel)
Cara penggunaan
- Letakkan file PDF di direktori proyek
- Perbarui variabel
input_pdf_file_pathpada fungsimain()dengan nama file PDF - Jalankan skrip:
python llm_aided_ocr.py - Skrip akan menghasilkan beberapa file output, termasuk teks hasil pascapemrosesan final
Cara kerja
Proyek LLM-Aided OCR menggunakan proses multi-tahap untuk mengubah keluaran OCR mentah menjadi teks berkualitas tinggi yang mudah dibaca:
- Konversi PDF: Menggunakan
pdf2imageuntuk mengubah PDF input menjadi gambar - OCR: Menerapkan Tesseract OCR untuk mengekstrak teks dari gambar
- Text chunking: Membagi keluaran OCR mentah menjadi chunk yang dapat dikelola
- Koreksi kesalahan: Setiap chunk diproses berbasis LLM untuk memperbaiki kesalahan OCR dan meningkatkan keterbacaan
- Format Markdown (opsional): Memformat ulang teks yang telah dikoreksi menjadi Markdown yang bersih dan konsisten
- Evaluasi kualitas: Membandingkan kualitas keluaran akhir dengan teks OCR asli melalui evaluasi berbasis LLM
Ringkasan GN⁺
- Proyek LLM-Aided OCR adalah sistem yang secara signifikan meningkatkan kualitas keluaran OCR dengan memanfaatkan teknologi pemrosesan bahasa alami terbaru dan large language model
- Sistem ini mengonversi PDF menjadi gambar, mengekstrak teks dengan Tesseract, lalu memperbaiki kesalahan dan menyusunnya ulang dalam format Markdown melalui LLM
- Mendukung LLM lokal maupun berbasis cloud, serta mengoptimalkan performa melalui pemrosesan asinkron
- Proyek ini menyediakan berbagai fitur lanjutan untuk meningkatkan akurasi dan keterbacaan keluaran OCR, dan sangat berguna terutama untuk memproses dokumen besar
- Proyek dengan fungsi serupa antara lain ABBYY FineReader dan Adobe Acrobat OCR
1 komentar
Komentar Hacker News
Dengan rilis model schnell baru, ada kemungkinan memperoleh dataset untuk menghasilkan model vision SOTA
Untuk makalah ilmiah, model nougat dari Meta paling cocok
Berdasarkan percobaan sebelumnya, ini bekerja dengan baik dalam 90% kasus
Jika halaman PDF diubah menjadi PNG lalu gpt4 diminta mentranskripsikan gambar, hasilnya sangat akurat
Sekitar 10 tahun lalu pernah mencoba mengenali bahasa Mandarin dengan OCR menggunakan Tesseract
Mendapat hasil yang lebih baik dengan menggunakan PaddlePaddle
Ditanyakan apakah pernah mencoba paket OCR lain
Penting untuk menyesuaikan prompt agar model memahami dengan lebih jelas
Sedang mengerjakan tugas serupa untuk mem-parsing rubrik dan kiriman siswa
Bertanya tentang pendekatan memperbaiki kesalahan OCR dengan prompt "fix this text"