टेबल्स, PDFs और उलझे हुए डॉक्यूमेंट्स
असली डॉक्यूमेंट्स अक्सर स्कैन किए हुए, कई कॉलम वाले, टेबल्स और तस्वीरों से भरे होते हैं। RAG की ज़्यादातर नाकामियाँ यहीं से शुरू होती हैं, किसी भी सर्च के होने से पहले ही।
60 सेकंड में
टेबल्स, PDFs और उलझे हुए डॉक्यूमेंट्स
असली डॉक्यूमेंट्स अक्सर स्कैन किए हुए, कई कॉलम वाले, टेबल्स और तस्वीरों से भरे होते हैं। RAG की ज़्यादातर नाकामियाँ यहीं से शुरू होती हैं, किसी भी सर्च के होने से पहले ही।
PDFs इतने मुश्किल क्यों होते हैं
| समस्या | एक्सट्रैक्शन के बाद आपको क्या दिखता है | क्या मदद करता है |
|---|---|---|
| दो या उससे ज़्यादा कॉलम | दोनों कॉलमों की लाइनें आपस में मिल जाती हैं | लेआउट-अवेयर एक्सट्रैक्शन; कुछ सैंपल पेजों पर पढ़ने का क्रम जांचें |
| हेडर्स, फ़ूटर्स, पेज नंबर | हर चंक के अंदर "Page 7 of 40 · Confidential" | ज़्यादातर पेजों पर दोहराई जाने वाली लाइनों को पहचानें और उन्हें हटा दें |
| लाइनों के बीच में टूटे हुए शब्द | "applic- ation" | हाइफ़न वाले लाइन ब्रेक्स को ध्यान से आपस में दोबारा जोड़ें |
| खास अक्षर और लिगेचर्स | "file" की जगह "file", अजीब से सिंबल | यूनिकोड नॉर्मलाइज़ेशन (जैसे NFKC) और एक क्लीनिंग स्टेप |
| पुरानी फॉन्ट एन्कोडिंग वाले भारतीय लिपियों के PDFs | बिगड़े हुए अक्षर जो स्क्रीन पर तो ठीक दिखते हैं | एक सैंपल जांचें; अगर टेक्स्ट लेयर काम की न हो तो रेंडर किए गए पेज का OCR करें |
| स्कैन किए गए पेज | कोई टेक्स्ट नहीं, सिर्फ़ एक तस्वीर | OCR (अगला सेक्शन) |
स्कैन किए गए डॉक्यूमेंट्स और OCR
- 1
पहचानें
हर पेज को जांचें: क्या इसमें काम की टेक्स्ट लेयर है, या यह सिर्फ़ एक तस्वीर है? - 2
तस्वीर तैयार करें
सीधा करें, क्रॉप करें और कंट्रास्ट बेहतर बनाएं; एक अच्छा रिज़ॉल्यूशन इस्तेमाल करें। - 3
सही भाषा के साथ OCR चलाएं
इंजन को बताएं कि किस लिपि और भाषा की उम्मीद करनी है। - 4
कॉन्फिडेंस जांचें
कम कॉन्फिडेंस या अजीब अक्षरों वाले पेजों को समीक्षा के लिए फ़्लैग करें। - 5
सोर्स को सेव रखें
पेज इमेज का लिंक संभाल कर रखें, ताकि OCR में शक होने पर यूज़र्स असली पेज देख सकें।
टेबल्स
- जब टेबल छोटी हो, तो पूरी टेबल को एक साथ रखें, और उसे हेडर रो के साथ Markdown जैसे साफ़ टेक्स्ट फॉर्मेट में स्टोर करें।
- बड़ी टेबल्स के लिए, रो के हर समूह के साथ हेडर को दोहराएं, या हर रो को एक पूरे वाक्य में बदल दें।
- टेबल के हर चंक में टेबल का शीर्षक और यूनिट ("Fees in ₹ per semester") जोड़ें।
- ऐसे नंबरों के लिए जिन्हें लोग फ़िल्टर करेंगे, जोड़ेंगे या तुलना करेंगे, टेबल को डेटाबेस में भी लोड करें। स्ट्रक्चर्ड रिट्रीवल वाला पाठ इसे समझाता है।
def rows_to_sentences(title, header, rows):
"""Each row becomes one line that makes sense on its own."""
out = []
for row in rows:
pairs = [f"{col}: {val}" for col, val in zip(header, row)]
out.append(f"{title} | " + "; ".join(pairs))
return out
header = ["Course", "Tuition (Rs per semester)", "Hostel (Rs per semester)"]
rows = [["B.Sc. Physics", "18,000", "22,000"], ["B.Com", "15,000", "22,000"]]
for line in rows_to_sentences("Fee schedule 2025-26 (made-up)", header, rows):
print(line)तस्वीरें, चार्ट्स और डायग्राम्स
- हर फ़ाइल टाइप के लिए एक ही एक्सट्रैक्शन सेटिंग
- एक्सट्रैक्ट किए गए टेक्स्ट को कोई नहीं पढ़ता
- टेबल्स को नंबरों की सपाट लाइनों में बदल दिया जाना
- बिना किसी क्वालिटी चेक के OCR आउटपुट को इंडेक्स करना
- टेक्स्ट PDFs, स्कैन्स, स्लाइड्स और स्प्रेडशीट्स के लिए अलग-अलग तरीका
- हर बदलाव के बाद किसी इंसान द्वारा रैंडम सैंपल्स को पढ़ना
- टेबल्स को पूरा रखना या खुद में मुकम्मल रो में बदलना
- कम कॉन्फिडेंस वाले पेजों को फ़्लैग करना और असली तस्वीर से लिंक करना
और देखें और पढ़ें
लैब
आपके अपने तीन डॉक्यूमेंट्स पर एक्सट्रैक्शन क्वालिटी रिपोर्ट, जिसमें सबसे बड़ी समस्याओं के समाधान हों।
समस्या
ऐसे तीन डॉक्यूमेंट्स चुनें जिन्हें इस्तेमाल करने की आपको इजाज़त हो: एक सामान्य टेक्स्ट PDF, एक टेबल वाला डॉक्यूमेंट, और छपे हुए पेज का एक स्कैन या फोटो (जैसे कोई सार्वजनिक सूचना)। दूसरे लोगों के प्राइवेट डॉक्यूमेंट्स का इस्तेमाल न करें।
- आपके पास मौजूद किसी भी टूल से टेक्स्ट एक्सट्रैक्ट करें: कॉपी-पेस्ट, एक मुफ़्त PDF लाइब्रेरी, या एक मुफ़्त OCR टूल।
- हर डॉक्यूमेंट के लिए, आपको दिखने वाली हर समस्या की सूची बनाएं: क्रम, हेडर्स, टूटे हुए शब्द, अक्षर, टेबल्स, छूटा हुआ टेक्स्ट।
- पाठ में दिए गए
rows_to_sentencesवाले तरीके का इस्तेमाल करके एक टेबल को दोबारा लिखें। - हर समस्या के लिए लिखें कि आप उसे कैसे ठीक करेंगे, और कई फ़ाइलों में इस समस्या को अपने आप कैसे पहचानेंगे।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1आप 300 पेजों की PDF में पेज हेडर्स और फ़ूटर्स को अपने आप कैसे पहचान सकते हैं?दिखाएं
हर पेज की पहली और आखिरी कुछ लाइनें एक्सट्रैक्ट करें। अंकों को हटाकर (ताकि "Page 7" और "Page 8" एक जैसे दिखें) और अतिरिक्त स्पेस हटाकर उन्हें नॉर्मलाइज़ करें। जो लाइनें ज़्यादातर पेजों पर दिखाई देती हैं, वे लगभग पक्के तौर पर हेडर्स या फ़ूटर्स हैं, इसलिए चंकिंग से पहले उन्हें हटा दें। खुद भी कुछ सैंपल देखकर जांच लें, क्योंकि कोई असली हेडिंग भी कुछ पेजों पर दोहराई जा सकती है।
Q2एक स्कैन किए गए मराठी नोटिस का OCR किया गया जिसमें बहुत सारी गलतियाँ हैं। OCR टेक्स्ट पर कीवर्ड सर्च काम नहीं करती, लेकिन वेक्टर सर्च कभी-कभी काम कर जाती है। ऐसा क्यों है, और आप क्या करेंगे?दिखाएं
कीवर्ड सर्च को शब्दों के बिल्कुल सटीक मेल की ज़रूरत होती है, और OCR की गलतियाँ शब्दों को तोड़ देती हैं, इसलिए यह फेल हो जाती है। जो शब्द बच जाते हैं, वेक्टर सर्च उनसे फिर भी सामान्य मतलब समझ लेती है। सबसे पहले OCR को सुधारें: बेहतर स्कैन, सही लैंग्वेज सेटिंग, इमेज क्लीन-अप, या कोई दूसरा इंजन या विज़न मॉडल। लो-कॉन्फिडेंस पेजों को फ्लैग करें, और हमेशा असली इमेज को सोर्स के रूप में दिखाएं ताकि यूज़र्स असली टेक्स्ट पढ़ सकें।
अक्सर पूछे जाने वाले सवाल
मुझे कौन सी PDF लाइब्रेरी इस्तेमाल करनी चाहिए?
ओपन-सोर्स के कई विकल्प मौजूद हैं, और वे स्पीड, लेआउट संभालने के तरीके और टेबल सपोर्ट में अलग-अलग होते हैं। अपने डॉक्यूमेंट्स के सैंपल पर दो या तीन आज़माएं और आउटपुट को पढ़ें। टूल्स अक्सर बदलते रहते हैं, इसलिए मौजूदा डॉक्स और लाइसेंस चेक करें।
क्या मुझे सुरक्षित रहने के लिए हमेशा OCR ही करना चाहिए?
नहीं। अगर किसी PDF में अच्छी टेक्स्ट लेयर है, तो उसे एक्सट्रैक्ट करना आमतौर पर OCR से ज़्यादा सटीक होता है। OCR स्कैन्स के लिए है, और उन पेजों के लिए जिनकी टेक्स्ट लेयर खराब है, जैसे कि कुछ पुरानी भारतीय लिपियों वाली PDFs।
मैं Word फ़ाइलों, स्लाइड्स और स्प्रेडशीट्स को कैसे संभालूँ?
हर फॉर्मेट के लिए बने खास रीडर का इस्तेमाल करें, ताकि हेडिंग्स, स्लाइड टाइटल्स और सेल स्ट्रक्चर बने रहें। स्प्रेडशीट्स को टेक्स्ट में बदलने के बजाय किसी डेटाबेस में लोड करना अक्सर बेहतर होता है।
डॉक्यूमेंट प्रोसेसिंग में कितना समय लगना चाहिए?
अक्सर लोगों की उम्मीद से कहीं ज़्यादा। कई असली प्रोजेक्ट्स के लिए, डॉक्यूमेंट्स को साफ़ करना और उन्हें व्यवस्थित करना जवाबों की क्वालिटी का सबसे बड़ा कारण होता है। शुरू से ही इसके लिए समय और साधन तय करके चलें।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।