Show HN: LLM-Aided OCR – LLM से Tesseract OCR की त्रुटियों को ठीक करना
(github.com/Dicklesworthstone)- ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) आउटपुट की गुणवत्ता को काफी बेहतर बनाने के लिए डिज़ाइन किया गया
- नवीनतम natural language processing तकनीकों और large language model (LLM) का उपयोग करके raw OCR टेक्स्ट को बेहद सटीक, अच्छी तरह फ़ॉर्मैट किए गए और आसानी से पढ़े जा सकने वाले दस्तावेज़ में बदलता है
विशेषताएँ
- PDF को इमेज में बदलना
- Tesseract का उपयोग करके OCR
- LLM (लोकल या API-आधारित) का उपयोग करके उन्नत त्रुटि-सुधार
- कुशल प्रोसेसिंग के लिए smart text chunking
- Markdown formatting विकल्प
- हेडर और पेज नंबर suppress करना (वैकल्पिक)
- अंतिम आउटपुट की गुणवत्ता का मूल्यांकन
- लोकल LLM और cloud-आधारित API providers (OpenAI, Anthropic) का समर्थन
- प्रदर्शन सुधार के लिए asynchronous processing
- प्रोसेस ट्रैकिंग और debugging के लिए विस्तृत logging
- लोकल LLM inference के लिए GPU acceleration
आवश्यकताएँ
- Python 3.12+
- Tesseract OCR engine
- PDF2Image लाइब्रेरी
- PyTesseract
- OpenAI API (वैकल्पिक)
- Anthropic API (वैकल्पिक)
- लोकल LLM समर्थन (वैकल्पिक, compatible GGUF model आवश्यक)
उपयोग का तरीका
- प्रोजेक्ट डायरेक्टरी में PDF फ़ाइल रखें
main()फ़ंक्शन केinput_pdf_file_pathवेरिएबल को PDF फ़ाइलनाम से अपडेट करें- स्क्रिप्ट चलाएँ:
python llm_aided_ocr.py - स्क्रिप्ट अंतिम post-processing टेक्स्ट सहित कई output files बनाएगी
यह कैसे काम करता है
LLM-Aided OCR प्रोजेक्ट raw OCR आउटपुट को उच्च-गुणवत्ता वाले, पढ़ने में आसान टेक्स्ट में बदलने के लिए multi-step process का उपयोग करता है:
- PDF conversion:
pdf2imageका उपयोग करके इनपुट PDF को इमेज में बदलना - OCR: इमेज से टेक्स्ट निकालने के लिए Tesseract OCR लागू करना
- Text chunking: raw OCR आउटपुट को प्रबंधनीय chunks में विभाजित करना
- Error correction: हर chunk पर LLM-आधारित प्रोसेसिंग से OCR त्रुटियों को ठीक करना और पठनीयता बढ़ाना
- Markdown formatting (वैकल्पिक): सुधारे गए टेक्स्ट को साफ़ और सुसंगत Markdown में दोबारा फ़ॉर्मैट करना
- Quality assessment: LLM-आधारित मूल्यांकन के माध्यम से अंतिम आउटपुट की गुणवत्ता की मूल OCR टेक्स्ट से तुलना करना
GN⁺ का सार
- LLM-Aided OCR प्रोजेक्ट एक ऐसा सिस्टम है जो नवीनतम natural language processing तकनीकों और large language model का उपयोग करके OCR आउटपुट की गुणवत्ता को काफी बेहतर बनाता है
- यह PDF को इमेज में बदलता है, Tesseract से टेक्स्ट निकालता है, फिर LLM के जरिए त्रुटियाँ सुधारकर उसे Markdown फ़ॉर्मैट में पुनर्गठित करता है
- यह लोकल और cloud-आधारित दोनों तरह के LLM का समर्थन करता है और asynchronous processing के जरिए प्रदर्शन को अनुकूलित करता है
- यह प्रोजेक्ट OCR आउटपुट की सटीकता और पठनीयता बढ़ाने के लिए कई उन्नत सुविधाएँ देता है, और खासकर बड़े दस्तावेज़ों के लिए उपयोगी है
- समान सुविधाएँ देने वाले प्रोजेक्ट्स में ABBYY FineReader, Adobe Acrobat OCR आदि शामिल हैं
1 टिप्पणियां
Hacker News की राय
नए schnell मॉडल के रिलीज़ से SOTA vision model बनाने के लिए डेटासेट हासिल करने की संभावना है
वैज्ञानिक papers के लिए meta का nougat model सबसे उपयुक्त है
पहले किए गए प्रयासों में, यह 90% मामलों में अच्छी तरह काम करता था
अगर PDF pages को PNG में बदलकर gpt4 से image transcribe करने को कहा जाए, तो यह बहुत सटीक होता है
10 साल पहले Tesseract का इस्तेमाल करके Chinese OCR करने की कोशिश की गई थी
PaddlePaddle का इस्तेमाल करके बेहतर नतीजे मिले
पूछा गया कि क्या दूसरे OCR packages भी आज़माए गए हैं
prompt को adjust करना ज़रूरी है ताकि model और स्पष्ट रूप से समझ सके
rubrics और student submissions को parse करने जैसा मिलता-जुलता काम किया जा रहा है
OCR errors ठीक करने के लिए "fix this text" prompt इस्तेमाल करने वाले approach के बारे में पूछा गया