26 पॉइंट द्वारा GN⁺ 2025-06-17 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • साधारण character recognition से आगे बढ़कर पूरे दस्तावेज़ को Markdown संरचना में बदलने वाला high-performance image-to-Markdown OCR मॉडल
  • गणितीय समीकरणों को LaTeX फ़ॉर्म में बदलता है, इमेज में automatic description जोड़ता है, और तालिकाओं को HTML/Markdown table के रूप में आउटपुट करता है, जिससे LLM उपयोग के लिए अनुकूल आउटपुट बनता है
  • signature, watermark, checkbox आदि को पहचानकर <signature>, <watermark>, ☐/☑ जैसे रूप में बदलता है, यानी दस्तावेज़ के अलग-अलग घटकों को प्रोसेस करने की क्षमता बहुत अच्छी है
  • Hugging Face के Transformers या vLLM server के जरिए आसानी से इस्तेमाल किया जा सकता है, और docext लाइब्रेरी के माध्यम से web app के रूप में भी उपयोग संभव है
  • अलग-अलग document type और complex layout पर accuracy और structuring level बहुत ऊँचा है, इसलिए contract, form, report आदि में बहुत उपयोगी है

प्रोजेक्ट का अवलोकन और महत्व

  • Nanonets-OCR-s सामान्य OCR (optical character recognition) से आगे जाकर, दस्तावेज़ के अर्थ और संरचना का विश्लेषण करता है और परिणाम को Markdown फ़ॉर्मेट में आउटपुट करने वाला एक अभिनव मॉडल है
  • यह समीकरण, इमेज, टेबल, checkbox, signature, watermark को अलग-अलग पहचानकर, अर्थपूर्ण tagging और representation (LaTeX, HTML, Markdown आदि) में बदलता है, ताकि downstream tasks या LLM (large language model) आधारित document processing के लिए उपयुक्त आउटपुट मिल सके
  • मौजूदा open source OCR प्रोजेक्ट्स की तुलना में यह complex document structure और विभिन्न semantic elements को extract करने में बेहतर performance और automated workflow लागू करने की अधिक संभावना दिखाता है
  • यह Qwen2.5-VL-3B-Instruct मॉडल का fine-tuned संस्करण है, जो दस्तावेज़ के अलग-अलग घटकों की पहचान करके उन्हें अर्थपूर्ण markup से tag करता है

मुख्य विशेषताएँ

  • LaTeX समीकरण पहचान
    • दस्तावेज़ में शामिल समीकरण और mathematical formula को inline($...$) या display($$...$$) प्रकार के अनुसार अपने-आप LaTeX syntax में बदलकर आउटपुट करता है
  • इंटेलिजेंट इमेज विवरण
    • हर इमेज के लिए, <img> टैग के भीतर इमेज की प्रकृति, स्टाइल और सामग्री का विस्तार से वर्णन करता है
    • logo, chart, graph जैसी विभिन्न इमेज को भी संदर्भ और अर्थ सहित समझाकर LLM उपयोग के लिए उपयुक्त input में बदलता है
  • signature detection और separation
    • signature image को टेक्स्ट से अलग करके अलग <signature> टैग में प्रोसेस करता है
    • कानूनी और business document के automated processing में इसका उपयोग बहुत मूल्यवान है
  • watermark extraction
    • दस्तावेज़ में डाले गए watermark text को पहचानकर <watermark> टैग के भीतर अलग से व्यवस्थित करता है
  • checkbox और radio button conversion
      • ☐ (unchecked), ☑ (checked), ☒ (rejected) जैसे standard Unicode symbol के रूप में आउटपुट
    • survey, application form जैसे फ़ॉर्म-आधारित दस्तावेज़ों की processing reliability बढ़ती है
  • complex table structure extraction
    • complex table को भी Markdown और HTML table के रूप में बदलकर उच्च उपयोगिता देता है

प्रमुख उपयोग के तरीके

Python code उदाहरण

  • Hugging Face की transformers लाइब्रेरी का उपयोग करके मॉडल को आसानी से लोड और रन किया जा सकता है
  • इमेज को input देने पर, टेक्स्ट, टेबल, समीकरण, इमेज विवरण, watermark आदि structured Markdown के रूप में परिणाम मिलता है
  • page number या watermark को , आदि से अलग करके wrap किया जाता है
  • checkbox को Unicode symbol (☐, ☑) के रूप में आउटपुट किया जाता है

vLLM आधारित उपयोग

  • vLLM server पर मॉडल को register करके OpenAI-compatible API के जरिए आसानी से access और उपयोग किया जा सकता है
  • इमेज input देने पर, टेक्स्ट, टेबल, समीकरण, watermark आदि को एकसमान फ़ॉर्मेट में बदला हुआ आउटपुट मिलता है

docext पैकेज का उपयोग

  • docext नाम के अलग पैकेज के जरिए, केवल command चलाकर Nanonets-OCR-s को document structuring में तुरंत लागू किया जा सकता है
  • GitHub दस्तावेज़ देखा जा सकता है

2 टिप्पणियां

 
GN⁺ 2025-06-17
Hacker News राय
  • मैं Nanonets में काम करता/करती हूँ, और Nanonets-OCR-s नाम का 3B-स्केल VLM मॉडल जारी करने को लेकर बहुत उत्साहित हूँ
    यह मॉडल दस्तावेज़ों को साफ़ और संरचित Markdown में बदलने के लिए optimized हल्का मॉडल है
    क्योंकि इसे दस्तावेज़ की संरचना और context (टेबल, सूत्र, इमेज, डायग्राम, watermark, checkbox आदि) पर train किया गया है
    मुख्य फीचर्स में LaTeX सूत्र पहचान (inline और block सूत्रों को सही तरह अलग करके रूपांतरण), built-in image description (img टैग का उपयोग, chart/logo/diagram आदि समर्थन), signature detection और separation (signature ब्लॉक में आउटपुट), watermark extraction (watermark टैग में संग्रहीत), स्मार्ट checkbox/radio button हैंडलिंग (Unicode रूपांतरण से post-processing reliability बेहतर), और complex table structure extraction (multi-row/column टेबल भी Markdown और HTML में अच्छी तरह आउटपुट) शामिल हैं
    अगर खुद आज़माना चाहें तो Huggingface या Docext Colab देख सकते हैं

    • Docext का सही लिंक README.md है

    • जानना चाहता/चाहती हूँ कि इस्तेमाल किए जा रहे LLM में hallucination दिखाई देती है या नहीं

    • क्या इमेज खुद extract की जा सकती हैं, या अब भी अलग extraction process की ज़रूरत पड़ती है?

    • क्या इसका उपयोग restaurant menu की फोटो या PDF को JSON schema के मुताबिक parse करने में किया जा सकता है (शायद post-processing LLM की मदद के साथ), या ऐसे उपयोग के लिए बड़ा multimodal LLM अधिक उपयुक्त होगा?

  • मैंने Shipibo (पेरू की एक स्वदेशी भाषा)-Spanish शब्दकोश को English dictionary में translate करने के लिए कई LLM आज़माए, लेकिन दो कॉलम, अजीब line breaks, और definitions में Shipibo व Spanish के मिश्रण की वजह से समझना मुश्किल था
    ऊपर से scan quality भी अच्छी नहीं है
    लगता है इस मॉडल को एक बार ज़रूर आज़माना चाहिए

  • मैं वर्षों से ऐसा समाधान ढूँढ रहा/रही था/थी जो दशकों से Word और PowerPoint में जमा सामग्री को लेकर, हर element को दूसरे format में reuse करने लायक standardized रूप में बदल सके
    यह उस सिस्टम को बनाने के लिए बिल्कुल ज़रूरी core building block लगता है
    अब archive या history फीचर की ज़रूरत है, यानी हर element को आसानी से archive और reload किया जा सके तो अच्छा होगा
    वाकई शानदार काम है

    • राय है कि unoconv या pandoc से basic conversion करने के बाद, plain text को refine करने के लिए LLM इस्तेमाल करने वाला तरीका शुरू में शायद ज़्यादा सरल होगा
  • अफ़सोस है कि ऐसे मॉडल सिर्फ Markdown को target करते हैं
    असल में Markdown के कई version हैं, और footnotes, bibliography, figures आदि के लिए support कमज़ोर है
    किसी अधिक structured और साफ़ spec वाले format की ज़रूरत है

    • दरअसल हम Markdown में convert करते हुए साथ ही semantic tagging भी मॉडल को सिखाते हैं
      उदाहरण के लिए, equations को LaTeX में extract किया जाता है, और images (diagram, figure आदि) को img टैग से विस्तार से describe किया जाता है
      signature, watermark, page number आदि के लिए भी टैग उपयोग होते हैं
      complex tables (multi-row/column) को Markdown नहीं बल्कि HTML table के रूप में निकाला जाता है

    • "structured Markdown" का विचार LLM OCR मॉडल से भी ज़्यादा रोमांचक लगा था, लेकिन आखिर में यह कुछ खास elements पर tagging तक सीमित दिखता है, इसलिए मॉडल के बाहर इसकी उपयोगिता थोड़ी सीमित लगती है

  • docling से तुलना करें तो इसके क्या फायदे और कमियाँ हैं?

  • Datalab/Marker से इसका क्या फ़र्क है?
    मैंने कई PDF->MD converters की तुलना की है, और अभी तक Marker सबसे बेहतर लगा, हालांकि वह भी perfect नहीं है

    • मेरे व्यक्तिगत अनुभव में, जटिल formulas और code मिले-जुले papers को convert करने में Marker काफ़ी अच्छा बैठता है
      मसलन Fortran inverse Laplace transform पर एक paper में, जहाँ formulas (inline/display मिले-जुले) और monospace code blocks एक ही पेज पर हों, Marker से process करने पर inline $\sigma_0$ "<sup>s</sup> 0" बन जाता है, और $f(t)$ "<i>f~</i>~t*!" की तरह बिगड़ जाता है
      मौजूदा मॉडल की ताकत यह है कि वह ऐसे हिस्सों को अंदरूनी तौर पर सही आउटपुट करता है
      संदर्भ screenshot(https://imgur.com/a/Q7UYIfW)

    • मैंने अपनी cross-comparison अभी शुरू ही की है; अगर आप candidates की list बता सकें तो बहुत आभारी रहूँगा/रहूँगी

  • मैंने खुद PowerShell में एक script बनाई है जो इस मॉडल को कहीं से भी PDF पर लागू कर देती है
    खुद चलाकर देखा तो GPU (1080 8GB) पुराना होने की वजह से speed काफ़ी धीमी है (कम से कम 5 मिनट प्रति पेज)
    अगर कोई Cloud Run (external GPU support) पर चलने वाली PDF to markdown conversion utility आज़माना चाहता हो तो बताइए
    पूरा होने पर मैं लिंक भी साझा करूँगा/करूँगी

    • अभी-अभी इसे Cloud Run पर चलाकर sample result की रिपोर्ट दी है
      animate.pdf के कुछ नतीजों में title, author, publisher, black-and-white illustration (img टैग में description), और Google digitization tag ठीक से extract हुए
      table of contents भी table के रूप में बिल्कुल सही निकला
      स्पीड धीमी होने को छोड़ दें तो functionality और accuracy से मैं बहुत संतुष्ट हूँ

    • Cloud Run आधारित PDF to markdown सेवा में मेरी बहुत दिलचस्पी है

  • यह multi-column या multi-row tables वाले दस्तावेज़ों को कैसे संभालता है (उदाहरण: यह PDF जिसमें पेज 1 पर rowspan, पेज 29 पर colspan आदि हैं)?

  • non-English text recognition performance कैसी है?
    मेरी समझ यह रही है कि मौजूदा LLM-आधारित OCR में विदेशी भाषाओं का समर्थन पारंपरिक OCR से काफ़ी कमज़ोर होता है

    • यह आपके अनुभव पर आधारित बात है या समझ के आधार पर?
      मेरे अनुभव में, जब Google Translate और ChatGPT को सीधे images पर इस्तेमाल किया जाए, तो ChatGPT का प्रदर्शन हमेशा बेहतर रहा है
      खासकर Japanese handwritten menu को भी वह translate और explain अच्छी तरह कर देता है
  • जिन मॉडलों में multilingual support का ज़िक्र नहीं होता, वे व्यवहार में non-English PDF पर बहुत खराब प्रदर्शन करते हैं

    • वास्तव में इसे ज़्यादातर English पर train किया गया है, लेकिन training data के एक हिस्से में Chinese और कई European भाषाएँ भी शामिल हैं
      इसके अलावा base model (Qwen-2.5-VL-3B) multilingual है
      मैंने Reddit पर Chinese में भी अच्छे नतीजों की एक पोस्ट देखी थी (लिंक)
 
chakankim 2025-06-18

मैंने Korean card receipt sample पर प्रोसेस करके देखा; स्पीड धीमी है, लेकिन यह लगभग पूरी तरह सही पढ़ लेता है।