डीप लर्निंग का उपयोग करके टेबल डिटेक्शन एंड इंफॉर्मेशन एक्सट्रैक्शन

स्रोत नोड: 1325422

टेबल एक्सट्रैक्शन का परिचय

एप्लिकेशन, सॉफ़्टवेयर और ऑनलाइन प्लेटफ़ॉर्म की बढ़ती संख्या के साथ एकत्रित किए जा रहे डेटा की मात्रा दिन-ब-दिन अत्यधिक बढ़ रही है।

इस विशाल डेटा को उत्पादक रूप से संभालने/एक्सेस करने के लिए, मूल्यवान सूचना निष्कर्षण उपकरण विकसित करना आवश्यक है।

सूचना निष्कर्षण क्षेत्र में ध्यान देने की मांग करने वाले उप-क्षेत्रों में से एक है छवियों से तालिकाओं का निष्कर्षण या प्रपत्रों, पीडीएफ़ और दस्तावेज़ों से सारणीबद्ध डेटा का पता लगाना।

टेबल निष्कर्षण एक दस्तावेज़ में तालिका जानकारी का पता लगाने और विघटित करने का कार्य है।

टेबल ओसीआर - एक छवि से टेबल डेटा निकालने वाले नैनोनेट्स!
तालिका ओसीआर - एक छवि से तालिका डेटा निकालने वाले नैनोनेट्स!

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

हालाँकि, तालिका OCR सॉफ़्टवेयर के साथ, आप स्वचालित रूप से तालिकाओं का पता लगा सकते हैं और एक ही बार में दस्तावेज़ों से सभी सारणीबद्ध डेटा निकाल सकते हैं। यह बहुत समय बचाता है और फिर से काम करता है।

इस लेख में, हम सबसे पहले देखेंगे कि कैसे नैनोनेट स्वचालित रूप से छवियों या दस्तावेज़ों से तालिकाओं को निकाल सकता है। फिर हम दस्तावेज़ों में तालिकाओं का पता लगाने और निकालने के लिए कुछ लोकप्रिय DL तकनीकों को शामिल करेंगे।


इनवॉइस, रसीदों या किसी अन्य प्रकार के दस्तावेज़ से सारणीबद्ध डेटा निकालना चाहते हैं? नैनोनेट्स की जाँच करें' पीडीएफ टेबल एक्सट्रैक्टर सारणीबद्ध डेटा निकालने के लिए। एक डेमो शेड्यूल करें स्वचालित करने के बारे में अधिक जानने के लिए टेबल निष्कर्षण.


विषय - सूची

Nanonets तालिका OCR . के साथ छवि से तालिका निकालें

  • साइन अप करें एक मुफ्त नैनोनेट खाते के लिए

    • नैनोनेट्स टेबल ओसीआर मॉडल में इमेज/फाइल अपलोड करें
    • नैनोनेट स्वचालित रूप से सभी सारणीबद्ध डेटा का पता लगाता है और निकालता है
    • डेटा संपादित करें और समीक्षा करें (यदि आवश्यक हो)
    • संसाधित डेटा को Excel, csv या JSON के रूप में निर्यात करें

नैनोनेट्स के साथ छवि से तालिका निकालें

चाहते पीडीएफ से डेटा खंगालें दस्तावेजों, पीडीएफ तालिका को एक्सेल में बदलें or स्वचालित तालिका निष्कर्षण? मालूम करना कैसे नैनोनेट्स पीडीएफ खुरचनी or पीडीएफ पार्सर आपके व्यवसाय को अधिक उत्पादक बनाने के लिए शक्ति प्रदान कर सकता है।


नैनोनेट्स टेबल ओसीआर एपीआई

नैनोनेट्स के साथ टेबल ओसीआर
नैनोनेट्स के साथ टेबल ओसीआर

RSI नैनोनेट्स ओसीआर एपीआई आपको आसानी से ओसीआर मॉडल बनाने की अनुमति देता है। आपको अपनी छवियों के पूर्व-प्रसंस्करण के बारे में चिंता करने या मिलान टेम्पलेट्स के बारे में चिंता करने या अपने ओसीआर मॉडल की सटीकता बढ़ाने के लिए नियम आधारित इंजन बनाने की आवश्यकता नहीं है।

आप अपना डेटा अपलोड कर सकते हैं, उसे एनोटेट कर सकते हैं, मॉडल को प्रशिक्षित करने के लिए सेट कर सकते हैं और एक ब्राउज़र आधारित UI के माध्यम से पूर्वानुमान प्राप्त करने के लिए प्रतीक्षा कर सकते हैं, बिना कोड की एक भी पंक्ति लिखे, GPU के बारे में चिंता करना या डीप लर्निंग मॉडल का उपयोग करके अपने टेबल डिटेक्शन के लिए सही आर्किटेक्चर ढूंढना।

आप प्रत्येक भविष्यवाणी के JSON प्रतिक्रियाओं को अपने सिस्टम के साथ एकीकृत करने के लिए प्राप्त कर सकते हैं और अत्याधुनिक एल्गोरिदम और एक मजबूत बुनियादी ढांचे पर निर्मित मशीन लर्निंग पावर्ड ऐप का निर्माण कर सकते हैं।

https://nanonets.com/documentation/


क्या आपका व्यवसाय डिजिटल दस्तावेज़ों, PDF या छवियों में डेटा या टेक्स्ट पहचान से संबंधित है? क्या आपने सोचा है कि सारणीबद्ध डेटा कैसे निकाला जाता है, छवियों से पाठ निकालें , पीडीएफ से डेटा निकालें or पीडीएफ से पाठ निकालें सही और कुशलता से?


टेबल एक्सट्रैक्शन को कौन उपयोगी पाएगा

जैसा कि पिछले अनुभाग में चर्चा की गई है, स्वच्छ प्रारूप में डेटा का प्रतिनिधित्व करने के लिए तालिकाओं का अक्सर उपयोग किया जाता है। हम उन्हें कई क्षेत्रों में अक्सर देख सकते हैं, अपने काम को व्यवस्थित करने से लेकर तालिकाओं में डेटा की संरचना करने से लेकर कंपनियों की विशाल संपत्ति के भंडारण तक। बहुत सारे संगठन हैं जिन्हें हर दिन लाखों टेबल से निपटना पड़ता है। सब कुछ मैन्युअल रूप से करने के ऐसे श्रमसाध्य कार्यों को सुविधाजनक बनाने के लिए, हमें तेज तकनीकों का सहारा लेना होगा। आइए कुछ उपयोग मामलों पर चर्चा करें जहां टेबल निकालना आवश्यक हो सकता है:

स्रोत: पैट्रिक टॉमासो, अनपलाश

व्यक्तिगत उपयोग के मामले

RSI टेबल निष्कर्षण प्रक्रिया छोटे व्यक्तिगत उपयोग के मामलों के लिए भी सहायक हो सकती है। कभी-कभी हम दस्तावेजों को मोबाइल फोन पर कैद कर लेते हैं और बाद में उन्हें अपने कंप्यूटर पर कॉपी कर लेते हैं। इस प्रक्रिया का उपयोग करने के बजाय हम दस्तावेज़ों को सीधे कैप्चर कर सकते हैं और उन्हें अपने कस्टम टेम्प्लेट में संपादन योग्य स्वरूपों के रूप में सहेज सकते हैं। नीचे कुछ उपयोग के मामले दिए गए हैं कि हम अपनी व्यक्तिगत दिनचर्या में टेबल निष्कर्षण को कैसे फिट कर सकते हैं -

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

HTML के लिए दस्तावेज़: वेब पेजों में, हम तालिकाओं का उपयोग करके प्रस्तुत जानकारी का भार पाते हैं। वे डेटा की तुलना में हमारी मदद करते हैं और हमें संगठित तरीके से संख्याओं पर त्वरित ध्यान देते हैं। तालिका निष्कर्षण प्रक्रिया का उपयोग करके, हम पीडीएफ दस्तावेजों या जेपीजी / पीएनजी चित्रों को स्कैन कर सकते हैं, और सूचनाओं को सीधे कस्टम स्व-डिज़ाइन किए गए तालिका प्रारूप में लोड कर सकते हैं। हम मौजूदा तालिकाओं के आधार पर अतिरिक्त तालिकाओं को जोड़ने के लिए स्क्रिप्ट लिख सकते हैं, और इस तरह जानकारी को डिजिटल कर सकते हैं। यह सामग्री को संपादित करने में हमारी मदद करता है और भंडारण प्रक्रिया को तेज करता है।


औद्योगिक उपयोग के मामले

दुनिया भर में कई ऐसे उद्योग हैं जो कागजी कार्रवाई और प्रलेखन पर विशेष रूप से बैंकिंग और बीमा क्षेत्रों में चलते हैं। ग्राहकों के विवरण संग्रहीत करने से लेकर ग्राहकों की ज़रूरतों को पूरा करने तक, तालिकाओं का व्यापक रूप से उपयोग किया जाता है। यह जानकारी फिर से अनुमोदन के लिए विभिन्न शाखाओं के लिए एक दस्तावेज (हार्ड कॉपी) के रूप में पारित की जाती है, जिसमें कभी-कभी, गलत सूचना तालिकाओं से जानकारी हथियाने के दौरान त्रुटियों का कारण बन सकती है। इसके बजाय, यहां स्वचालन का उपयोग करना, हमारे जीवन को बहुत आसान बनाता है। एक बार प्रारंभिक डेटा कैप्चर और स्वीकृत हो जाने के बाद, हम उन दस्तावेजों को सीधे तालिकाओं में स्कैन कर सकते हैं और डिजीटल डेटा पर आगे काम कर सकते हैं। अकेले समय की खपत और दोष को कम करने दें, हम ग्राहकों को उस समय और स्थान के बारे में सूचित कर सकते हैं जहां सूचना संसाधित होती है। इसलिए, यह डेटा की विश्वसनीयता सुनिश्चित करता है, और परिचालन से निपटने के हमारे तरीके को सरल बनाता है। आइए अब अन्य संभावित उपयोग मामलों को देखें:

गुणवत्ता नियंत्रण: गुणवत्ता नियंत्रण मुख्य सेवाओं में से एक है जो शीर्ष उद्योग प्रदान करते हैं। यह आमतौर पर घर में और हितधारकों के लिए किया जाता है। इसके एक भाग के रूप में, कई फीडबैक फॉर्म हैं जो उपभोक्ताओं से प्रदान की गई सेवा के बारे में प्रतिक्रिया निकालने के लिए एकत्र किए जाते हैं। औद्योगिक क्षेत्रों में, वे दैनिक जाँचकर्ताओं और नोटों को संक्षेप में बताने के लिए तालिकाओं का उपयोग करते हैं कि उत्पादन लाइनें कैसे काम कर रही हैं। इन सभी को आसानी से तालिका निष्कर्षण का उपयोग करके एक ही स्थान पर प्रलेखित किया जा सकता है।

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


व्यावसायिक उपयोग के मामले

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

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

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


क्या आपके मन में OCR समस्या है? डिजिटाइज़ करना चाहते हैं चालान, PDF या नंबर प्लेट? वहां जाओ नैनोनेट्स और मुक्त करने के लिए ओसीआर मॉडल का निर्माण!


डीप लर्निंग इन एक्शन

डीप लर्निंग आर्टिफिशियल न्यूरल नेटवर्क पर आधारित मशीन लर्निंग के तरीकों के व्यापक परिवार का एक हिस्सा है।

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


टेबलनेट

पेपर: टेबलनेट: डीप लर्निंग मॉडल एंड-टू-एंड टेबल डिटेक्शन और स्कैन किए गए डॉक्यूमेंट इमेज से टेबुलर डेटा निष्कर्षण

परिचय: टेबलनेट एक आधुनिक गहन शिक्षण वास्तुकला है जिसे वर्ष 2019 में टीसीएस अनुसंधान वर्ष की एक टीम द्वारा प्रस्तावित किया गया था। मुख्य प्रेरणा मोबाइल फोन या कैमरों के माध्यम से स्कैन की गई तालिकाओं से जानकारी निकालना था।

उन्होंने एक समाधान प्रस्तावित किया जिसमें एक छवि के भीतर सारणी क्षेत्र का सटीक पता लगाना और बाद में पता लगाने वाली तालिका की पंक्तियों और स्तंभों से जानकारी का पता लगाना और निकालना शामिल है।

डेटासेट: उपयोग किए गए डेटासेट Marmot थे। इसमें पीडीएफ फॉर्मेट में 2000 पेज हैं जो संबंधित ग्राउंड-ट्रू के साथ एकत्रित किए गए थे। इसमें चीनी पेज भी शामिल हैं। संपर्क - http://www.icst.pku.edu.cn/cpdp/sjzy/index.htm

वास्तुकला: आर्किटेक्चर लॉन्ग एट अल पर आधारित है, सिमेंटिक सेगमेंटेशन के लिए एक एनकोडर-डिकोडर मॉडल। उसी एनकोडर/डिकोडर नेटवर्क का उपयोग टेबल निष्कर्षण के लिए FCN आर्किटेक्चर के रूप में किया जाता है। छवियों को पूर्व-संसाधित और का उपयोग करके संशोधित किया जाता है टेसेरैक्ट ओसीआर.

मॉडल को दो चरणों में व्युत्पन्न किया जाता है, जो गहन शिक्षण तकनीकों के इनपुट के अधीन होता है। पहले चरण में, उन्होंने एक वीजीजी -19 नेटवर्क के एक वेट का उपयोग किया है। उन्होंने इस्तेमाल किए गए VGG नेटवर्क की पूरी तरह से कनेक्ट की गई परतों को 1 × 1 रूपांतरण परतों द्वारा बदल दिया है। सभी दृढ़ परतें ReLU सक्रियण और संभाव्यता 0.8 की एक ड्रॉपआउट परत द्वारा अनुसरण की जाती हैं। वे दूसरे चरण को डिकोडेड नेटवर्क कहते हैं जिसमें दो शाखाएँ होती हैं। यह अंतर्ज्ञान के अनुसार है कि स्तंभ क्षेत्र तालिका क्षेत्र का सबसेट है। इस प्रकार, एकल एन्कोडिंग नेटवर्क टेबल और कॉलम दोनों क्षेत्रों की सुविधाओं का उपयोग करके बेहतर सटीकता के साथ सक्रिय क्षेत्रों को फ़िल्टर कर सकता है। पहले नेटवर्क से आउटपुट दो शाखाओं को वितरित किया जाता है। पहली शाखा में, दो कनवल्शन ऑपरेशन लागू किए जाते हैं और मूल छवि आयामों को पूरा करने के लिए अंतिम फीचर मैप को बढ़ा दिया जाता है। स्तंभों का पता लगाने के लिए दूसरी शाखा में, एक ReLU सक्रियण फ़ंक्शन के साथ एक अतिरिक्त कनवल्शन लेयर और एक ड्रॉपआउट लेयर के साथ वही ड्रॉपआउट संभावना है जैसा कि पहले बताया गया है। फ़ीचर मैप्स को (1 × 1) कनवल्शन लेयर के बाद फ्रैक्शनलली स्ट्रेटेड कॉन्फोल्यूशंस का उपयोग करके सैंपल किया जाता है। नीचे वास्तुकला की एक छवि है:

टेबलनेट की वास्तुकला

आउटपुट: मॉडल का उपयोग करके दस्तावेजों को संसाधित करने के बाद, तालिकाओं और स्तंभों के मुखौटे उत्पन्न होते हैं। इन मास्क का उपयोग छवि से तालिका और उसके स्तंभ क्षेत्रों को फ़िल्टर करने के लिए किया जाता है। अब Tesseract OCR का उपयोग करते हुए, सूचना को खंडित क्षेत्रों से निकाला जाता है। नीचे मास्क दिखाने वाली एक छवि है जो उत्पन्न होती है और बाद में तालिकाओं से निकाली जाती है:

उन्होंने उसी मॉडल का भी प्रस्ताव रखा जो आईसीडीएआर के साथ ठीक-ठाक है जिसने मूल मॉडल से बेहतर प्रदर्शन किया। ठीक-ठीक मॉडल की याद, परिशुद्धता और एफ 1-स्कोर क्रमशः 0.9628, 0.9697, 0.9662 हैं। मूल मॉडल में उसी क्रम में 0.9621, 0.9547, 0.9583 के दर्ज मेट्रिक्स हैं। चलो अब एक और वास्तुकला में गोता लगाएँ।


डीपडीएसआरटी

पेपर: डीपड्रेस: ​​डीप लर्निंग फॉर डिटेक्शन एंड स्ट्रक्चर रिकॉग्निशन ऑफ टेबल्स इन डॉक्यूमेंट इमेजेज

परिचय: DeepDeSRT एक न्यूरल नेटवर्क फ्रेमवर्क है जिसका उपयोग दस्तावेजों या छवियों में तालिकाओं का पता लगाने और समझने के लिए किया जाता है। शीर्षक में उल्लिखित इसके दो समाधान हैं:

  1. यह दस्तावेज़ छवियों में तालिका का पता लगाने के लिए एक गहन सीखने-आधारित समाधान प्रस्तुत करता है।
  2. यह तालिका संरचना मान्यता के लिए एक उपन्यास गहन सीखने-आधारित दृष्टिकोण का प्रस्ताव करता है, अर्थात पहचान की गई तालिकाओं में पंक्तियों, स्तंभों और सेल पदों की पहचान करना।

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

डेटासेट: उपयोग किया गया डेटासेट एक आईसीडीएआर 2013 तालिका प्रतियोगिता है जिसमें कुल मिलाकर 67 पृष्ठों वाले 238 दस्तावेज हैं।

वास्तुकला:

  • टेबल डिटेक्शन प्रस्तावित मॉडल ने तालिकाओं का पता लगाने के लिए मूल ढांचे के रूप में फास्ट आरसीएनएन का उपयोग किया। आर्किटेक्चर दो अलग-अलग हिस्सों में टूट गया है। पहले भाग में, उन्होंने तथाकथित क्षेत्र प्रस्ताव नेटवर्क (RPN) द्वारा इनपुट छवि के आधार पर क्षेत्र प्रस्ताव तैयार किए। दूसरे भाग में, उन्होंने फास्ट-आरसीएनएन का उपयोग करके क्षेत्रों को वर्गीकृत किया। इस वास्तुकला को वापस करने के लिए, उन्होंने उपयोग किया जेडएफनेट और वीजीजी -16 का वजन।
  • संरचना मान्यता तालिका के सफलतापूर्वक पता लगने के बाद और उसके स्थान को सिस्टम के लिए जाना जाता है, इसकी सामग्रियों को समझने में अगली चुनौती उन पंक्तियों और स्तंभों को पहचानना और उनका पता लगाना है जो तालिका की भौतिक संरचना बनाते हैं। इसलिए उन्होंने वीजीजी -16 के वजन के साथ एक पूरी तरह से जुड़े नेटवर्क का उपयोग किया है जो पंक्तियों और स्तंभों से जानकारी निकालता है। नीचे DeepDeSRT के आउटपुट दिए गए हैं:

आउटपुट:

टेबल डिटेक्शन के आउटपुट
संरचना मान्यता के आउटपुट [6]

मूल्यांकन परिणामों से पता चलता है कि टेबल डिटेक्शन और स्ट्रक्चर रिकॉग्निशन के लिए डीपडीआरआरटी ​​आउटपरफॉर्म अत्याधुनिक तरीके अपनाता है और 1 तक टेबल डिटेक्शन एंड स्ट्रक्चर रिकॉग्निशन के लिए 96.77% और 91.44% का एफ 2015 माप हासिल करता है।


ग्राफ तंत्रिका नेटवर्क

पेपर: ग्राफ न्यूरल नेटवर्क्स का उपयोग करके रिथिंकिंग टेबल रिकॉग्निशन

परिचय: इस शोध में, डीप लर्निंग लेबोरेटरी, नेशनल सेंटर ऑफ़ आर्टिफिशियल इंटेलिजेंस (NCAI) के लेखकों ने टेबल के बारे में जानकारी निकालने के लिए ग्राफ न्यूरल नेटवर्क्स का प्रस्ताव रखा। उन्होंने तर्क दिया कि ग्राफ नेटवर्क इन समस्याओं के लिए एक अधिक प्राकृतिक विकल्प है और आगे चलकर दो ढाल-आधारित ग्राफ न्यूरल नेटवर्क का पता लगाया।

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

डेटासेट: लेखकों ने चार श्रेणियों में विभाजित 0.5 मिलियन तालिकाओं के एक नए बड़े कृत्रिम रूप से उत्पन्न डेटासेट का प्रस्ताव रखा।

  1. छवियाँ बिना विलय के और सत्तारूढ़ लाइनों के साथ सादे चित्र हैं
  2. छवियों में अलग-अलग सीमा प्रकार होते हैं जिनमें सत्तारूढ़ लाइनों की सामयिक अनुपस्थिति शामिल है
  3. सेल और स्तंभ विलय का परिचय देता है
  4. कैमरे ने रैखिक परिप्रेक्ष्य परिवर्तन के साथ छवियों को कैप्चर किया

वास्तुकला: उन्होंने उथले कन्वेन्शियल नेटवर्क का इस्तेमाल किया जो संबंधित कंसॉल्यूशनल फीचर्स जेनरेट करता है। यदि आउटपुट फीचर्स के स्थानिक आयाम इनपुट छवि के समान नहीं हैं, तो वे उन स्थितियों को इकट्ठा करते हैं जो इनपुट और आउटपुट आयामों के बीच के अनुपात के आधार पर रैखिक रूप से स्केल किए जाते हैं और उन्हें एक इंटरैक्शन नेटवर्क पर भेजते हैं जिसमें DGCNN नामक दो ग्राफ नेटवर्क होते हैं और GravNet। ग्राफ नेटवर्क के पैरामीटर मूल सीएनएन के समान हैं। अंत में, उन्होंने सामग्री को वर्गीकृत करने के लिए एक रनटाइम जोड़ी नमूने का उपयोग किया है जो कि आंतरिक रूप से मोंटे कार्लो आधारित एल्गोरिथ्म का उपयोग किया जाता है। नीचे आउटपुट हैं:

आउटपुट:

ग्राफ तंत्रिका नेटवर्क द्वारा उत्पन्न आउटपुट

नीचे सारणीबद्ध सटीकता संख्या है जो नेटवर्क द्वारा चार श्रेणियों के लिए नेटवर्क द्वारा उत्पन्न की जाती है जैसा कि प्रस्तुत किया गया है डेटासेट खंड:


CGAN और जेनेटिक एल्गोरिदम

पेपर: सशर्त जनरेशन एडवांसरियल नेटवर्क और जेनेटिक एल्गोरिदम का उपयोग करके दस्तावेजों से तालिकाओं को निकालना

परिचय: इस शोध में, लेखकों ने एक बॉटम-अप (कोशिकाओं, पंक्तियों या स्तंभों में लाइनों को एकीकृत करने) के बजाय एक टॉप-डाउन दृष्टिकोण का उपयोग किया।

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

डेटासेट: लेखकों ने अपने स्वयं के डेटासेट का उपयोग किया जिसमें 4000 टेबल हैं।

वास्तुकला: प्रस्तावित मॉडल में दो भाग होते हैं। पहले भाग में, इनपुट छवियों को सशर्त जनन संबंधी प्रतिकूल तंत्रिका नेटवर्क का उपयोग करके कंकाल तालिकाओं में सारगर्भित किया जाता है। एक GAN में दो नेटवर्क फिर से होते हैं, जो जनरेटर यादृच्छिक नमूने और भेदभाव उत्पन्न करता है जो बताता है कि क्या उत्पन्न छवियां नकली या मूल हैं। जेनरेटर जी एक एनकोडर-डिकोडर नेटवर्क है जहां एक इनपुट छवि उत्तरोत्तर अपसैम्पलिंग परतों की एक श्रृंखला के माध्यम से एक अड़चन परत तक जाती है जहां प्रक्रिया उलट जाती है। डिकोडिंग परतों के लिए पर्याप्त जानकारी पारित करने के लिए, स्किप कनेक्शन के साथ एक यू-नेट आर्किटेक्चर का उपयोग किया जाता है और एक कनेक्शन छोड़ दिया जाता है परतों के बीच i और n - i को संघनन के माध्यम से जोड़ा जाता है, जहां n परतों की कुल संख्या है, और मैं परत संख्या है एनकोडर में। पैचगन आर्किटेक्चर का उपयोग डिस्क्रिमिनेटर डी के लिए किया जाता है। यह पैच के पैमाने पर आउटपुट छवि संरचना को दंडित करता है। ये एक कंकाल तालिका के रूप में उत्पादन का उत्पादन करते हैं।

दूसरे भाग में, वे प्रत्येक उम्मीदवार और कंकाल के बीच की दूरी के माप का उपयोग करके उत्पन्न कंकाल छवि के लिए उम्मीदवार अव्यक्त डेटा संरचनाओं के फिट का अनुकूलन करते हैं। यह है कि छवियों के अंदर का पाठ कैसे निकाला जाता है। नीचे वास्तुकला को दर्शाती एक छवि है:

दृष्टिकोण का सामान्य योजनाबद्ध

उत्पादन: अनुमानित तालिका संरचनाओं की तुलना करके मूल्यांकन किया जाता है - पंक्ति और स्तंभ संख्या, ऊपरी बाएँ कोने की स्थिति, पंक्ति की ऊँचाई और स्तंभ की चौड़ाई

आनुवंशिक एल्गोरिथ्म ने तालिकाओं से जानकारी निकालते समय 95.5% सटीकता पंक्ति-वार और 96.7% सटीकता स्तंभ-वार दी।


दस्तावेजों को डिजिटाइज करने की जरूरत प्राप्तियों or चालान लेकिन कोड के लिए बहुत आलसी? वहां जाओ नैनोनेट्स और मुक्त करने के लिए ओसीआर मॉडल का निर्माण!


[कोड] पारंपरिक दृष्टिकोण

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

समस्या को अधिक सटीक तरीके से समझने के लिए, हम कुछ मूल शब्दों को परिभाषित करते हैं, जिनका उपयोग पूरे लेख में किया जाएगा:

  • टेक्स्ट: एक स्ट्रिंग और पाँच विशेषताएँ (शीर्ष, बाएँ, चौड़ाई, ऊँचाई, फ़ॉन्ट)
  • लाइन: इसमें टेक्स्ट ऑब्जेक्ट्स होते हैं जिन्हें मूल फाइल में एक ही लाइन पर माना जाता है
  • इकलौती रेखा: लाइन ऑब्जेक्ट केवल एक टेक्स्ट ऑब्जेक्ट के साथ।
  • मल्टी लाइन: एक से अधिक टेक्स्ट ऑब्जेक्ट के साथ लाइन ऑब्जेक्ट।
  • मल्टी लाइन खंड: निरंतर मल्टी-लाइन ऑब्जेक्ट का एक सेट।
  • पंक्ति: तालिका में क्षैतिज ब्लॉक
  • स्तंभ: तालिका में लंबवत ब्लॉक
  • सेल: एक पंक्ति और स्तंभ का प्रतिच्छेदन
  • सेल - पैडिंग: कोशिका के अंदर आंतरिक पैडिंग या स्थान।

OpenCV के साथ तालिका का पता लगाना

हम स्कैन की गई तालिकाओं से जानकारी निकालने के लिए पारंपरिक कंप्यूटर विज़न तकनीकों का उपयोग करेंगे। यहाँ हमारी पाइपलाइन है; हम शुरू में सामान्य कैमरों का उपयोग करके डेटा (तालिकाएँ जहाँ से हमें जानकारी निकालने की आवश्यकता होती है) पर कब्जा करते हैं, और फिर कंप्यूटर विज़न का उपयोग करते हुए, हम सीमाओं, किनारों और कोशिकाओं को खोजने का प्रयास करेंगे। हम विभिन्न फ़िल्टर और आकृति का उपयोग करेंगे, और हम तालिकाओं की मुख्य विशेषताओं को उजागर करेंगे।

हमें एक तालिका की छवि की आवश्यकता होगी। हम इसे फोन पर कैप्चर कर सकते हैं या किसी मौजूदा छवि का उपयोग कर सकते हैं। नीचे कोड स्निपेट है,

file = r’table.png’
table_image_contour = cv2.imread(file, 0)
table_image = cv2.imread(file)

यहां, हमने एक ही इमेज इमेज को दो वेरिएबल लोड किया है क्योंकि हम का उपयोग करेंगे टेबल_इमेज_कॉन्टूर लोड की गई छवि पर हमारे पहचाने गए आकृति को खींचते समय। नीचे तालिका की छवि है जो हम अपने कार्यक्रम में उपयोग कर रहे हैं:

मेज की छवि

हम नामक एक तकनीक को रोजगार देंगे उलटा छवि थ्रेसहोल्ड जो दी गई छवि में मौजूद डेटा को बढ़ाता है।

ret, thresh_value = cv2.threshold( table_image_contour, 180, 255, cv2.THRESH_BINARY_INV)

एक और महत्वपूर्ण प्रीप्रोसेसिंग कदम है छवि फैलाव। बाइनरी छवियों (ब्लैक एंड व्हाइट) पर लागू होने वाला एक सरल गणित ऑपरेशन है, जो धीरे-धीरे अग्रभूमि पिक्सल के क्षेत्रों की सीमाओं को बढ़ाता है (यानी सफेद पिक्सेल, आमतौर पर)।

kernel = np.ones((5,5),np.uint8)
dilated_value = cv2.dilate(thresh_value,kernel,iterations = 1)

OpenCV में, हम विधि का उपयोग करते हैं, खोजें वर्तमान छवि में आकृति प्राप्त करने के लिए। इस विधि में तीन तर्क होते हैं, पहला है पतला चित्र (जिस छवि का उपयोग पतला चित्र उत्पन्न करने के लिए किया जाता है वह है table_image_contour - findContours विधि केवल द्विआधारी छवियों का समर्थन करती है), दूसरी है cv2.RETR_TREE जो हमें समोच्च पुनर्प्राप्ति मोड का उपयोग करने के लिए कहता है, तीसरा है  cv2.CHAIN_APPROX_SIMPLE जो समोच्च सन्निकटन मोड है। खोजें दो मानों को अनपैक करता है, इसलिए हम नाम का एक और वैरिएबल जोड़ेंगे पदक्रम। जब छवियों को नेस्टेड किया जाता है, तो अंतर्विरोध को अन्योन्याश्रितता से निकाल दिया जाता है। ऐसे रिश्तों का प्रतिनिधित्व करने के लिए, पदानुक्रम का उपयोग किया जाता है।

contours, hierarchy = cv2.findContours( dilated_value, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

आकृति के निशान जहां बिल्कुल छवि में मौजूद है। अब, हम पिछले चरण में गणना की गई आकृति सूची पर पुनरावृत्ति करते हैं और आयताकार बक्से के निर्देशांक की गणना करते हैं, जैसा कि मूल छवि में विधि का उपयोग करके देखा गया है,  cv2.बाउंडिंगरेक्ट। अंतिम पुनरावृत्ति में, हमने उन बॉक्सों को मूल छवि table_image पर विधि का उपयोग करके रखा, cv2.rectangle ().

for cnt in contours: x, y, w, h = cv2.boundingRect(cnt) # bounding the images if y < 50: table_image = cv2.rectangle(table_image, (x, y), (x + w, y + h), (0, 0, 255), 1) 

यह हमारा आखिरी कदम है। यहां हम विधि का उपयोग करते हैं नाम दिया गया निकाले गए कंटेंट और कंट्रोल्स के साथ हमारी टेबल को रेंडर करने के लिए। नीचे कोड स्निपेट है:

plt.imshow(table_image)
plt.show()
cv2.namedWindow('detecttable', cv2.WINDOW_NORMAL)

आउटपुट

उपरोक्त कोड स्निपेट में y के मान को 300 में बदलें, यह आपका आउटपुट होगा:

एक बार जब आपके पास तालिकाओं को हटा दिया जाता है, तो आप हर समोच्च फसल को टेसरैक्ट ओसीआर इंजन के माध्यम से चला सकते हैं, जिसके लिए ट्यूटोरियल पाया जा सकता है यहाँ उत्पन्न करें। एक बार जब हमारे पास प्रत्येक पाठ के बक्से होते हैं, तो हम उन्हें उनके x और y निर्देशांक के आधार पर क्लस्टर कर सकते हैं जो कि संबंधित पंक्ति और स्तंभ से संबंधित हैं।

इसके अलावा, आपके पीडीएफ दस्तावेज़ों को HTML फ़ाइलों में बदलने के लिए PDFMiner का उपयोग करने का विकल्प है, जिसे हम अंत में अपनी टेबल प्राप्त करने के लिए रेगुलर एक्सप्रेशन का उपयोग करके पार्स कर सकते हैं। यहां बताया गया है कि आप इसे कैसे कर सकते हैं।


PDFMiner और Regex पार्सिंग

छोटे दस्तावेज़ों से जानकारी निकालने के लिए, गहन शिक्षण मॉडल को कॉन्फ़िगर करने या कंप्यूटर विज़न एल्गोरिदम लिखने में समय लगता है। इसके बजाय, हम पायथन में नियमित अभिव्यक्तियों का उपयोग कर सकते हैं पाठ निकालें पीडीएफ दस्तावेजों से। साथ ही, याद रखें कि यह तकनीक छवियों के लिए काम नहीं करती है। हम इसका उपयोग केवल HTML फ़ाइलों या PDF दस्तावेज़ों से जानकारी निकालने के लिए कर सकते हैं। ऐसा इसलिए है, क्योंकि जब आप रेगुलर एक्सप्रेशन का उपयोग कर रहे होते हैं, तो आपको सामग्री को स्रोत से मिलाने और जानकारी निकालने की आवश्यकता होगी। छवियों के साथ, आप टेक्स्ट का मिलान नहीं कर पाएंगे, और रेगुलर एक्सप्रेशन विफल हो जाएंगे। आइए अब एक साधारण पीडीएफ दस्तावेज़ के साथ काम करें और उसमें मौजूद तालिकाओं से जानकारी निकालें। नीचे छवि है:

पहले चरण में, हम अपने प्रोग्राम में पीडीएफ को लोड करते हैं। एक बार ऐसा हो जाने के बाद, हम पीडीएफ को एचटीएमएल में बदल देते हैं ताकि हम सीधे नियमित भावों का उपयोग कर सकें और इस प्रकार, तालिकाओं से सामग्री निकाल सकें। इसके लिए, हम जिस मॉड्यूल का उपयोग करते हैं वह है pdfminer। यह पीडीएफ से सामग्री को पढ़ने और इसे HTML फ़ाइल में बदलने में मदद करता है।

नीचे कोड स्निपेट है:

from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.converter import HTMLConverter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
import re def convert_pdf_to_html(path): rsrcmgr = PDFResourceManager() retstr = StringIO() codec = 'utf-8' laparams = LAParams() device = HTMLConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) fp = file(path, 'rb') interpreter = PDFPageInterpreter(rsrcmgr, device) password = "" maxpages = 0 #is for all caching = True pagenos=set() for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,password=password,caching=caching, check_extractable=True): interpreter.process_page(page) fp.close() device.close() str = retstr.getvalue() retstr.close() return str

कोड क्रेडिट: Zevross

हमने रेगुलर एक्सप्रेशन और पीडीएफ से संबंधित पुस्तकालयों को मिलाकर बहुत सारे मॉड्यूल आयात किए। विधि में Convert_pdf_to_html, हम पीडीएफ फाइल का रास्ता भेजते हैं जिसे HTML फाइल में बदलना होता है। विधि का आउटपुट HTML स्ट्रिंग होगा जैसा कि नीचे दिखाया गया है:

'<span style="font-family: XZVLBD+GaramondPremrPro-LtDisp; font-size:12px">Changing Echoesn<br>7632 Pool Station Roadn<br>Angels Camp, CA 95222n<br>(209) 785-3667n<br>Intake: (800) 633-7066n<br>SA </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> TX DT BU </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> RS RL OP PH </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> CO CJ n<br></span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> SF PI </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> AH SPn<br></span></div>' 

नियमित अभिव्यक्ति पैटर्न मिलान के लिए उपयोग की जाने वाली ट्रिकिएस्ट और सबसे अच्छे प्रोग्रामिंग तकनीकों में से एक है। कोड स्वरूपण, वेब स्क्रैपिंग, और सत्यापन उद्देश्यों के लिए ये व्यापक रूप से कई अनुप्रयोगों में उपयोग किए जाते हैं। इससे पहले कि हम अपने HTML तालिकाओं से सामग्री निकालना शुरू करें, चलो जल्दी से नियमित अभिव्यक्तियों के बारे में कुछ चीजें सीखें।

यह लाइब्रेरी मिलान करने और पैटर्न खोजने के लिए विभिन्न इनबिल्ट तरीके प्रदान करती है। नीचे कुछ हैं:

import re # Match the pattern in the string
re.match(pattern, string) # Search for a pattern in a string
re.search(pattern, string) # Finds all the pattern in a string
re.findall(pattern, string) # Splits string based on the occurrence of pattern
re.split(pattern, string, [maxsplit=0] # Search for the pattern and replace it with the given string
re.sub(pattern, replace, string)

वर्ण / अभिव्यक्तियाँ जो आप आमतौर पर नियमित अभिव्यक्तियों में देखते हैं, उनमें शामिल हैं:

  • [AZ] - कोई भी बड़ा अक्षर
  • डी - अंक
  • w - शब्द वर्ण (अक्षर, अंक और अंडरस्कोर)
  • s - व्हाइटस्पेस (रिक्त स्थान, टैब और व्हाइटस्पेस)

अब HTML में एक विशेष पैटर्न का पता लगाने के लिए, हम नियमित अभिव्यक्ति का उपयोग करते हैं और फिर उसी के अनुसार पैटर्न लिखते हैं। हम पहले डेटा को इस तरह से विभाजित करते हैं कि एड्रेस चंक्स को प्रोग्राम के नाम (ANGELS CAMP, APPLE VALLEY, आदि) के अनुसार अलग-अलग ब्लॉक में अलग किया जाता है:

pattern = '(?<=<span style="font-family: XZVLBD+GaramondPremrPro-LtDisp; font-size:12px">)(.*?)(?=<br></span></div>)' for programinfo in re.finditer(pattern, biginputstring, re.DOTALL): do looping stuff…

बाद में, हम प्रोग्राम का नाम, शहर, राज्य और ज़िप पाते हैं, जो हमेशा एक ही पैटर्न (पाठ, अल्पविराम, दो अंकों के बड़े अक्षर, 5 नंबर (या 5 नंबर चार नंबर हाइफ़न)) का अनुसरण करते हैं - ये पीडीएफ फाइल में मौजूद हैं जो हम इनपुट के रूप में माना जाता है)। निम्नलिखित कोड स्निपेट जांचें:

# To identify the program name
programname = re.search('^(?!<br>).*(?=\n)', programinfo.group(0))
# since some programs have odd characters in the name we need to escape
programname = re.escape(programname) citystatezip =re.search('(?<=>)([a-zA-Zs]+, [a-zA-Zs]{2} d{5,10})(?=\n)', programinfo.group(0))
mainphone =re.search('(?<=<br>)(d{3}) d{3}-d{4}x{0,1}d{0,}(?=\n)', programinfo.group(0))
altphones = re.findall('(?<=<br>)[a-zA-Zs]+: (d{3}) d{3}-d{4}x{0,1}d{0,}(?=\n)(?=\n)', programinfo.group(0)) 

यह एक सरल उदाहरण है, जिसमें बताया गया है कि हम नियमित अभिव्यक्ति का उपयोग करके पीडीएफ फाइलों से कैसे जानकारी निकालते हैं। सभी आवश्यक जानकारी निकालने के बाद, हम इस डेटा को एक CSV फ़ाइल में लोड करते हैं।

def createDirectory(instring, outpath, split_program_pattern): i = 1 with open(outpath, 'wb') as csvfile: filewriter = csv.writer(csvfile, delimiter=',' , quotechar='"', quoting=csv.QUOTE_MINIMAL) # write the header row filewriter.writerow(['programname', 'address', 'addressxtra1', 'addressxtra2', 'city', 'state', 'zip', 'phone', 'altphone', 'codes']) # cycle through the programs for programinfo in re.finditer(split_program_pattern, instring, re.DOTALL): print i i=i+1 # pull out the pieces programname = getresult(re.search('^(?!<br>).*(?=\n)', programinfo.group(0))) programname = re.escape(programname) # some facilities have odd characters in the name

तो यह एक सरल उदाहरण है जो बताता है कि आप अपने निकाले गए एचटीएमएल को सीएसवी फ़ाइल में कैसे धकेल सकते हैं। सबसे पहले हम एक CSV फ़ाइल बनाते हैं, हमारी सभी विशेषताओं का पता लगाते हैं, और एक-एक करके उनके संबंधित कॉलम में धक्का देते हैं। नीचे एक स्क्रीनशॉट है:

रेगुलर एक्सप्रेशंस का उपयोग करते हुए टेबल से निकाले गए आइटम का स्क्रीनशॉट

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


पारंपरिक तरीकों के साथ चुनौतियां

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


टेबल डिटेक्शन

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

  • छवि परिवर्तन: छवि परिवर्तन लेबल का पता लगाने में एक प्राथमिक कदम है। इसमें तालिका में मौजूद डेटा और सीमाओं को बढ़ाना शामिल है। हमें तालिका में प्रस्तुत आंकड़ों के आधार पर उचित प्रीप्रोसेसिंग एल्गोरिदम चुनने की आवश्यकता है। उदाहरण के लिए, जब हम छवियों के साथ काम कर रहे होते हैं, तो हमें थ्रेसहोल्ड और एज डिटेक्टरों को लागू करने की आवश्यकता होती है। यह परिवर्तन कदम हमें सामग्री को अधिक सटीक रूप से खोजने में मदद करता है। कुछ मामलों में, आकृति गलत हो सकती है और एल्गोरिदम छवि को बढ़ाने में विफल रहती है। इसलिए, सही छवि परिवर्तन चरणों का चयन करना और प्रीप्रोसेसिंग महत्वपूर्ण है।
  • छवि गुणवत्ता: जब हम सूचना निष्कर्षण के लिए तालिकाओं को स्कैन करते हैं, तो हमें यह सुनिश्चित करने की आवश्यकता होती है कि इन दस्तावेजों को उज्जवल वातावरण में स्कैन किया जाता है जो अच्छी गुणवत्ता की छवियों को सुनिश्चित करता है। जब प्रकाश की स्थिति खराब होती है, CV और DL एल्गोरिदम दिए गए इनपुट में तालिकाओं का पता लगाने में विफल हो सकते हैं। यदि हम गहरी शिक्षा का उपयोग कर रहे हैं, तो हमें यह सुनिश्चित करने की आवश्यकता है कि डेटासेट सुसंगत है और मानक चित्रों का एक अच्छा सेट है। यदि हम पुराने टूटे हुए कागजों में मौजूद तालिकाओं पर इन मॉडलों का उपयोग करते हैं, तो पहले हमें उन चित्रों में शोर को रोकना और खत्म करना होगा।
  • संरचनात्मक लेआउट और टेम्पलेट्स की विविधता: सभी टेबल अद्वितीय नहीं हैं। एक सेल कई कोशिकाओं पर, या तो लंबवत या क्षैतिज रूप से फैल सकता है, और फैले हुए कोशिकाओं के संयोजन संरचनात्मक विविधता की एक बड़ी संख्या बना सकते हैं। इसके अलावा, कुछ पाठ की विशेषताओं पर जोर देते हैं, और तालिका की रेखाएं उस तरीके को प्रभावित कर सकती हैं जिस तरह से तालिका की संरचना को समझा जाता है। उदाहरण के लिए, क्षैतिज रेखाएं या बोल्ड टेक्स्ट टेबल के कई हेडर पर जोर दे सकते हैं। तालिका की संरचना नेत्रहीन कोशिकाओं के बीच संबंधों को परिभाषित करती है। तालिकाओं में दृश्य संबंधों को संबंधित कोशिकाओं को कम्प्यूटेशनल रूप से ढूंढना और उनसे जानकारी निकालना मुश्किल हो जाता है। इसलिए एल्गोरिदम का निर्माण करना महत्वपूर्ण है जो तालिकाओं की विभिन्न संरचनाओं को संभालने में मजबूत हैं।
  • सेल पैडिंग, मार्जिन, बॉर्डर: ये किसी भी टेबल की अनिवार्यता है - पैडिंग, मार्जिन और बॉर्डर हमेशा समान नहीं होंगे। कुछ तालिकाओं में कोशिकाओं के अंदर बहुत अधिक पैडिंग होती है, और कुछ में नहीं होती है। अच्छी गुणवत्ता वाली छवियों और प्रीप्रोसेसिंग चरणों का उपयोग करने से तालिका निष्कर्षण प्रक्रिया को सुचारू रूप से चलाने में मदद मिलेगी।

टेबल निष्कर्षण

यह वह चरण है जहां तालिकाओं की पहचान के बाद जानकारी निकाली जाती है। इस विषय में बहुत सारे कारक हैं कि सामग्री कैसे संरचित है और तालिका में क्या सामग्री मौजूद है। इसलिए एल्गोरिथम बनाने से पहले सभी चुनौतियों को समझना महत्वपूर्ण है।

  • सघन सामग्री: कोशिकाओं की सामग्री या तो संख्यात्मक या पाठ्य हो सकती है। हालाँकि, पाठ्य सामग्री आमतौर पर घनी होती है, जिसमें समरूप और संक्षिप्तीकरण के उपयोग के साथ पाठ की अस्पष्ट छोटी मात्रा होती है। तालिकाओं को समझने के लिए, पाठ को अव्यवस्थित करने की आवश्यकता होती है, और संक्षिप्ताक्षर और संक्षिप्तीकरण को विस्तारित करने की आवश्यकता होती है।
  • विभिन्न फ़ॉन्ट्स और प्रारूप: फ़ॉन्ट्स आमतौर पर विभिन्न शैलियों, रंगों और ऊंचाइयों के होते हैं। हमें यह सुनिश्चित करने की आवश्यकता है कि ये सामान्य और पहचानने में आसान हों। कुछ फ़ॉन्ट परिवार विशेष रूप से जो शापित या हस्तलिखित के अंतर्गत आते हैं, उन्हें निकालना थोड़ा कठिन होता है। इसलिए अच्छे फॉन्ट और उचित फॉर्मेटिंग का उपयोग करके एल्गोरिथ्म को जानकारी को अधिक सटीक रूप से पहचानने में मदद मिलती है।
  • एकाधिक पृष्ठ PDF और पृष्ठ विराम: तालिकाओं में पाठ पंक्ति पूर्वनिर्धारित सीमा के प्रति संवेदनशील है। कई पृष्ठों में फैले सेल के साथ, तालिकाओं को पहचानना मुश्किल हो जाता है। मल्टी-टेबल पेज पर, एक-दूसरे से अलग-अलग टेबल को अलग करना मुश्किल है। विरल और अनियमित तालिकाओं के साथ काम करना कठिन है। इसलिए, ग्राफिक सत्तारूढ़ लाइनों और सामग्री लेआउट को टेबल क्षेत्रों को खोलने के लिए महत्वपूर्ण स्रोतों के रूप में एक साथ उपयोग किया जाना चाहिए।

तालिका रूपांतरण

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

  • लेआउट सेट करें: जब स्कैन किए गए दस्तावेजों से तालिकाओं के विभिन्न स्वरूपों को निकाला जाता है, तो हमें सामग्री को पुश करने के लिए एक उचित टेबल लेआउट की आवश्यकता होती है। कभी-कभी, एल्गोरिथ्म कोशिकाओं से जानकारी निकालने में विफल रहता है। इसलिए, एक उचित लेआउट डिजाइन करना भी उतना ही महत्वपूर्ण है।
  • मूल्य प्रस्तुति पैटर्न की विविधता: कोशिकाओं में मान अलग-अलग सिंटैक्टिक प्रतिनिधित्व पैटर्न का उपयोग करके प्रस्तुत किया जा सकता है। तालिका में पाठ पर विचार करें 6 text 2। एल्गोरिथ्म उस विशेष जानकारी को परिवर्तित करने में विफल हो सकता है। इसलिए संख्यात्मक मानों के निष्कर्षण के लिए संभावित प्रस्तुति पैटर्न के ज्ञान की आवश्यकता होती है।
  • दृश्य के लिए प्रतिनिधित्व: तालिकाओं के लिए अधिकांश प्रतिनिधित्व प्रारूप, जैसे मार्कअप भाषाएं जिनमें तालिकाओं का वर्णन किया जा सकता है, को विज़ुअलाइज़ेशन के लिए डिज़ाइन किया गया है। इसलिए, तालिकाओं को स्वचालित रूप से संसाधित करना चुनौतीपूर्ण है।

ये वे चुनौतियाँ हैं जिनका सामना हमें पारंपरिक तकनीकों का उपयोग करते हुए तालिका निष्कर्षण प्रक्रिया के दौरान करना है। अब देखते हैं कि डीप लर्निंग की मदद से इन पर कैसे काबू पाया जा सकता है। विभिन्न क्षेत्रों में इसका व्यापक रूप से अनुसंधान किया जा रहा है।



दस्तावेजों, रसीदों को डिजिटाइज़ करने की आवश्यकता है या चालान लेकिन कोड के लिए बहुत आलसी? वहां जाओ नैनोनेट्स और मुक्त करने के लिए ओसीआर मॉडल का निर्माण!


सारांश

इस लेख में, हमने तालिकाओं से जानकारी निकालने के बारे में विस्तार से समीक्षा की है। हमने देखा है कि कैसे डीप लर्निंग और कंप्यूटर विजन जैसी आधुनिक प्रौद्योगिकियां सटीक परिणामों को आउटपुट करने में मजबूत एल्गोरिदम का निर्माण करके सांसारिक कार्यों को स्वचालित कर सकती हैं। प्रारंभिक अनुभागों में, हमने व्यक्तियों, उद्योगों और व्यावसायिक क्षेत्रों के कार्यों को सुविधाजनक बनाने में टेबल निष्कर्षण की भूमिका के बारे में सीखा है, और पीडीएफ/एचटीएमएल से टेबल निकालने, फॉर्म ऑटोमेशन पर विस्तृत उपयोग के मामलों की भी समीक्षा की है, बीजक स्वचालन, आदि। हमने थ्रेशोल्डिंग, फैलाव और समोच्च पहचान तकनीकों का उपयोग करके तालिकाओं में जानकारी की स्थिति का पता लगाने के लिए कंप्यूटर विज़न का उपयोग करके एक एल्गोरिथ्म को कोडित किया है। हमने पारंपरिक तकनीकों का उपयोग करते समय तालिका का पता लगाने, निष्कर्षण और रूपांतरण प्रक्रियाओं के दौरान आने वाली चुनौतियों पर चर्चा की है, और बताया है कि इन मुद्दों पर काबू पाने में गहन शिक्षण हमें कैसे मदद कर सकता है। अंत में, हमने कुछ तंत्रिका नेटवर्क आर्किटेक्चर की समीक्षा की है और दिए गए प्रशिक्षण डेटा के आधार पर तालिका निष्कर्षण प्राप्त करने के उनके तरीकों को समझा है।



अपडेट:
‌ डीप लर्निंग का उपयोग करके टेबल डिटेक्शन और सूचना निष्कर्षण में विभिन्न दृष्टिकोणों के बारे में अधिक पठन सामग्री जोड़ी गई।

समय टिकट:

से अधिक एअर इंडिया और मशीन लर्निंग