RAG और सर्च इंजीनियरिंगमध्यमपाठ 2137 मिनट का पाठ

टेबल्स, PDFs और उलझे हुए डॉक्यूमेंट्स

असली डॉक्यूमेंट्स अक्सर स्कैन किए हुए, कई कॉलम वाले, टेबल्स और तस्वीरों से भरे होते हैं। RAG की ज़्यादातर नाकामियाँ यहीं से शुरू होती हैं, किसी भी सर्च के होने से पहले ही।

पाठ वीडियो में

60 सेकंड में

टेबल्स, PDFs और उलझे हुए डॉक्यूमेंट्स

असली डॉक्यूमेंट्स अक्सर स्कैन किए हुए, कई कॉलम वाले, टेबल्स और तस्वीरों से भरे होते हैं। RAG की ज़्यादातर नाकामियाँ यहीं से शुरू होती हैं, किसी भी सर्च के होने से पहले ही।

1/5
आसान शब्दों में
अगर आप किसी पेज को टेढ़ा फोटोकॉपी करें, उसका एक कोना काट दें और पेजों का क्रम बिगाड़ दें, तो सबसे होशियार छात्र भी उसमें से सवालों के जवाब नहीं दे पाएगा। AI भी ऐसा ही है। अगर अंदर जाने वाला टेक्स्ट ही टूटा-फूटा है, तो बाहर आने वाले जवाब भी टूटे-फूटे ही होंगे।
कई टीमें हफ़्तों तक embeddings और prompts को सुधारने में लगी रहती हैं, जबकि असली समस्या यह होती है कि पहले कदम में ही टेक्स्ट ठीक से एक्सट्रैक्ट नहीं हुआ था। किसी भी और चीज़ से पहले अपने एक्सट्रैक्ट किए गए टेक्स्ट को देखें। कोई भी दस चंक्स खोलें और उन्हें पढ़ें। आपको अक्सर कुछ ही मिनटों में समस्या समझ आ जाएगी।

PDFs इतने मुश्किल क्यों होते हैं

PDF को पेज पर सही दिखने के लिए डिज़ाइन किया गया है, न कि पढ़ने के क्रम में टेक्स्ट को स्टोर करने के लिए। इसके अंदर अक्सर अपनी-अपनी जगह पर रखे हुए टेक्स्ट के टुकड़े, रेखाएं और तस्वीरें होती हैं। उसमें से साफ़-सुथरा टेक्स्ट वापस पाना एक अंदाज़ा लगाने जैसा होता है।
समस्याएक्सट्रैक्शन के बाद आपको क्या दिखता हैक्या मदद करता है
दो या उससे ज़्यादा कॉलमदोनों कॉलमों की लाइनें आपस में मिल जाती हैंलेआउट-अवेयर एक्सट्रैक्शन; कुछ सैंपल पेजों पर पढ़ने का क्रम जांचें
हेडर्स, फ़ूटर्स, पेज नंबरहर चंक के अंदर "Page 7 of 40 · Confidential"ज़्यादातर पेजों पर दोहराई जाने वाली लाइनों को पहचानें और उन्हें हटा दें
लाइनों के बीच में टूटे हुए शब्द"applic- ation"हाइफ़न वाले लाइन ब्रेक्स को ध्यान से आपस में दोबारा जोड़ें
खास अक्षर और लिगेचर्स"file" की जगह "file", अजीब से सिंबलयूनिकोड नॉर्मलाइज़ेशन (जैसे NFKC) और एक क्लीनिंग स्टेप
पुरानी फॉन्ट एन्कोडिंग वाले भारतीय लिपियों के PDFsबिगड़े हुए अक्षर जो स्क्रीन पर तो ठीक दिखते हैंएक सैंपल जांचें; अगर टेक्स्ट लेयर काम की न हो तो रेंडर किए गए पेज का OCR करें
स्कैन किए गए पेजकोई टेक्स्ट नहीं, सिर्फ़ एक तस्वीरOCR (अगला सेक्शन)

स्कैन किए गए डॉक्यूमेंट्स और OCR

OCR (ऑप्टिकल कैरेक्टर रिकॉग्निशन) किसी पेज की तस्वीर से टेक्स्ट पढ़ता है। सरकारी आदेश, पुरानी फाइलें, दस्तख़त किए हुए पत्र और फ़ोन से ली गई तस्वीरें अक्सर स्कैन्स होती हैं। Tesseract जैसे ओपन-सोर्स इंजन कई लिपियों को सपोर्ट करते हैं, जिनमें कई भारतीय लिपियां भी शामिल हैं, और कुछ विज़न-लैंग्वेज मॉडल्स भी पेज की तस्वीरों को पढ़ सकते हैं। स्कैन की क्वालिटी, लिपि, फॉन्ट और लेआउट के हिसाब से इसकी क्वालिटी में काफ़ी फ़र्क आता है।
  1. 1

    पहचानें

    हर पेज को जांचें: क्या इसमें काम की टेक्स्ट लेयर है, या यह सिर्फ़ एक तस्वीर है?
  2. 2

    तस्वीर तैयार करें

    सीधा करें, क्रॉप करें और कंट्रास्ट बेहतर बनाएं; एक अच्छा रिज़ॉल्यूशन इस्तेमाल करें।
  3. 3

    सही भाषा के साथ OCR चलाएं

    इंजन को बताएं कि किस लिपि और भाषा की उम्मीद करनी है।
  4. 4

    कॉन्फिडेंस जांचें

    कम कॉन्फिडेंस या अजीब अक्षरों वाले पेजों को समीक्षा के लिए फ़्लैग करें।
  5. 5

    सोर्स को सेव रखें

    पेज इमेज का लिंक संभाल कर रखें, ताकि OCR में शक होने पर यूज़र्स असली पेज देख सकें।
सावधान रहें
OCR की गलतियाँ चुपके से होती हैं। "5" को "S" पढ़ लिया जाना या किसी रकम में से "₹" का छूट जाना - सर्च में ऐसे आ जाएगा और दिखाया जाएगा मानो यही सच हो। जिन नंबरों का महत्व है, जैसे रकम, तारीखें और आईडी, उनके लिए जवाब के साथ असली पेज की तस्वीर दिखाएं, या किसी सिस्टम ऑफ़ रिकॉर्ड से पुष्टि करें।

टेबल्स

टेबल्स सामान्य चंकिंग को बिगाड़ देती हैं। जब किसी टेबल को टेक्स्ट की लाइनों में बदल दिया जाता है, तो कॉलम के हेडर नंबरों से बहुत दूर हो जाते हैं, और किसी चंक में बस "12 18 24" लिखा रह सकता है बिना यह जाने कि इनका क्या मतलब है।
  • जब टेबल छोटी हो, तो पूरी टेबल को एक साथ रखें, और उसे हेडर रो के साथ Markdown जैसे साफ़ टेक्स्ट फॉर्मेट में स्टोर करें।
  • बड़ी टेबल्स के लिए, रो के हर समूह के साथ हेडर को दोहराएं, या हर रो को एक पूरे वाक्य में बदल दें।
  • टेबल के हर चंक में टेबल का शीर्षक और यूनिट ("Fees in ₹ per semester") जोड़ें।
  • ऐसे नंबरों के लिए जिन्हें लोग फ़िल्टर करेंगे, जोड़ेंगे या तुलना करेंगे, टेबल को डेटाबेस में भी लोड करें। स्ट्रक्चर्ड रिट्रीवल वाला पाठ इसे समझाता है।
Python: turn table rows into self-contained sentencespython
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 (कोई रिसर्च पेपर या न्यूज़लेटर) से सारा टेक्स्ट कॉपी करें और उसे एक प्लेन टेक्स्ट एडिटर में पेस्ट करें। क्या पढ़ने का क्रम सही है? आपका सर्च इंडेक्स भी बिल्कुल यही देखेगा।

और देखें और पढ़ें

लैब

आपके अपने तीन डॉक्यूमेंट्स पर एक्सट्रैक्शन क्वालिटी रिपोर्ट, जिसमें सबसे बड़ी समस्याओं के समाधान हों।

~30 min

समस्या

ऐसे तीन डॉक्यूमेंट्स चुनें जिन्हें इस्तेमाल करने की आपको इजाज़त हो: एक सामान्य टेक्स्ट PDF, एक टेबल वाला डॉक्यूमेंट, और छपे हुए पेज का एक स्कैन या फोटो (जैसे कोई सार्वजनिक सूचना)। दूसरे लोगों के प्राइवेट डॉक्यूमेंट्स का इस्तेमाल न करें।

  1. आपके पास मौजूद किसी भी टूल से टेक्स्ट एक्सट्रैक्ट करें: कॉपी-पेस्ट, एक मुफ़्त PDF लाइब्रेरी, या एक मुफ़्त OCR टूल।
  2. हर डॉक्यूमेंट के लिए, आपको दिखने वाली हर समस्या की सूची बनाएं: क्रम, हेडर्स, टूटे हुए शब्द, अक्षर, टेबल्स, छूटा हुआ टेक्स्ट।
  3. पाठ में दिए गए rows_to_sentences वाले तरीके का इस्तेमाल करके एक टेबल को दोबारा लिखें।
  4. हर समस्या के लिए लिखें कि आप उसे कैसे ठीक करेंगे, और कई फ़ाइलों में इस समस्या को अपने आप कैसे पहचानेंगे।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1आप 300 पेजों की PDF में पेज हेडर्स और फ़ूटर्स को अपने आप कैसे पहचान सकते हैं?दिखाएं

हर पेज की पहली और आखिरी कुछ लाइनें एक्सट्रैक्ट करें। अंकों को हटाकर (ताकि "Page 7" और "Page 8" एक जैसे दिखें) और अतिरिक्त स्पेस हटाकर उन्हें नॉर्मलाइज़ करें। जो लाइनें ज़्यादातर पेजों पर दिखाई देती हैं, वे लगभग पक्के तौर पर हेडर्स या फ़ूटर्स हैं, इसलिए चंकिंग से पहले उन्हें हटा दें। खुद भी कुछ सैंपल देखकर जांच लें, क्योंकि कोई असली हेडिंग भी कुछ पेजों पर दोहराई जा सकती है।

Q2एक स्कैन किए गए मराठी नोटिस का OCR किया गया जिसमें बहुत सारी गलतियाँ हैं। OCR टेक्स्ट पर कीवर्ड सर्च काम नहीं करती, लेकिन वेक्टर सर्च कभी-कभी काम कर जाती है। ऐसा क्यों है, और आप क्या करेंगे?दिखाएं

कीवर्ड सर्च को शब्दों के बिल्कुल सटीक मेल की ज़रूरत होती है, और OCR की गलतियाँ शब्दों को तोड़ देती हैं, इसलिए यह फेल हो जाती है। जो शब्द बच जाते हैं, वेक्टर सर्च उनसे फिर भी सामान्य मतलब समझ लेती है। सबसे पहले OCR को सुधारें: बेहतर स्कैन, सही लैंग्वेज सेटिंग, इमेज क्लीन-अप, या कोई दूसरा इंजन या विज़न मॉडल। लो-कॉन्फिडेंस पेजों को फ्लैग करें, और हमेशा असली इमेज को सोर्स के रूप में दिखाएं ताकि यूज़र्स असली टेक्स्ट पढ़ सकें।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

मुझे कौन सी PDF लाइब्रेरी इस्तेमाल करनी चाहिए?

ओपन-सोर्स के कई विकल्प मौजूद हैं, और वे स्पीड, लेआउट संभालने के तरीके और टेबल सपोर्ट में अलग-अलग होते हैं। अपने डॉक्यूमेंट्स के सैंपल पर दो या तीन आज़माएं और आउटपुट को पढ़ें। टूल्स अक्सर बदलते रहते हैं, इसलिए मौजूदा डॉक्स और लाइसेंस चेक करें।

क्या मुझे सुरक्षित रहने के लिए हमेशा OCR ही करना चाहिए?

नहीं। अगर किसी PDF में अच्छी टेक्स्ट लेयर है, तो उसे एक्सट्रैक्ट करना आमतौर पर OCR से ज़्यादा सटीक होता है। OCR स्कैन्स के लिए है, और उन पेजों के लिए जिनकी टेक्स्ट लेयर खराब है, जैसे कि कुछ पुरानी भारतीय लिपियों वाली PDFs।

मैं Word फ़ाइलों, स्लाइड्स और स्प्रेडशीट्स को कैसे संभालूँ?

हर फॉर्मेट के लिए बने खास रीडर का इस्तेमाल करें, ताकि हेडिंग्स, स्लाइड टाइटल्स और सेल स्ट्रक्चर बने रहें। स्प्रेडशीट्स को टेक्स्ट में बदलने के बजाय किसी डेटाबेस में लोड करना अक्सर बेहतर होता है।

डॉक्यूमेंट प्रोसेसिंग में कितना समय लगना चाहिए?

अक्सर लोगों की उम्मीद से कहीं ज़्यादा। कई असली प्रोजेक्ट्स के लिए, डॉक्यूमेंट्स को साफ़ करना और उन्हें व्यवस्थित करना जवाबों की क्वालिटी का सबसे बड़ा कारण होता है। शुरू से ही इसके लिए समय और साधन तय करके चलें।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें