पायथन का उपयोग करके चालान से डेटा कैसे निकालें: एक चरण-दर-चरण मार्गदर्शिका

पायथन का उपयोग करके चालान से डेटा कैसे निकालें: एक चरण-दर-चरण मार्गदर्शिका

आज के तेज-तर्रार कारोबारी माहौल में, सभी आकार की कंपनियों के लिए चालान और भुगतान संसाधित करना एक महत्वपूर्ण कार्य है।

चालान में ग्राहक और विक्रेता के विवरण, आदेश की जानकारी, मूल्य निर्धारण, कर और भुगतान की शर्तें जैसी महत्वपूर्ण जानकारी होती है।

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

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

इस जानकारी को मैन्युअल रूप से निकालने और संसाधित करने में त्रुटि-प्रवणता हो सकती है, जिसके कारण देरी, अशुद्धता और छूटे हुए अवसर हो सकते हैं।

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

इस चरण-दर-चरण मार्गदर्शिका में, हम पता लगाएंगे कि इनवॉइस से संरचित और असंरचित डेटा निकालने, PDF को प्रोसेस करने और मशीन लर्निंग मॉडल के साथ एकीकृत करने के लिए Python का लाभ कैसे उठाया जाए।

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

कुछ और करने से पहले, आइए समझते हैं कि चालान क्या हैं!

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

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

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

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

चालान से डेटा निकालना महंगा हो सकता है और भुगतान प्रसंस्करण में देरी हो सकती है, खासकर जब बड़ी मात्रा में चालान से निपटना हो। यहीं पर चालान डेटा निष्कर्षण आता है।

चालान डेटा निष्कर्षण चालान से संरचित और असंरचित डेटा निकालने की प्रक्रिया को संदर्भित करता है। चालान डेटा प्रकारों की विविधता के कारण यह प्रक्रिया चुनौतीपूर्ण हो सकती है, लेकिन इसे पायथन जैसे उपकरणों का उपयोग करके स्वचालित किया जा सकता है।

जैसा कि चर्चा की गई है कि प्रत्येक चालान निकालना आसान नहीं है क्योंकि वे विभिन्न रूपों और टेम्पलेट्स में आते हैं। इनवॉइस से डेटा निकालते समय व्यवसायों के सामने कुछ चुनौतियाँ हैं:

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

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

आइए संक्षेप में पायथन पुस्तकालयों को देखें जिनका उपयोग उदाहरण के साथ चालान निष्कर्षण के लिए किया जा सकता है:

पाइटेसेरैक्ट

Pytesseract Google के Tesseract OCR इंजन के लिए एक Python आवरण है, जो उपलब्ध सबसे लोकप्रिय OCR इंजनों में से एक है। Pytesseract को इनवॉइस सहित स्कैन की गई छवियों से टेक्स्ट निकालने के लिए डिज़ाइन किया गया है, और इनवॉइस के हेडर और फुटर सेक्शन से की-वैल्यू जोड़े और अन्य टेक्स्ट जानकारी निकालने के लिए इस्तेमाल किया जा सकता है।

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

पांडा

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

बोर्ड

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

Camelot

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

OpenCV

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

तकिया

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

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

इनवॉइस की जटिलता और आपके द्वारा निकाली जाने वाली विशिष्ट जानकारी के आधार पर, आपको यहां बताए गए से परे अतिरिक्त लाइब्रेरी और तकनीकों का उपयोग करने की आवश्यकता हो सकती है।

अब, इससे पहले कि हम इनवॉइस निकालने के एक वास्तविक उदाहरण में गोता लगाएँ, आइए पहले निष्कर्षण के लिए इनवॉइस डेटा तैयार करने की प्रक्रिया पर चर्चा करें।

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

निकासी के लिए चालान डेटा तैयार करने की एक प्रमुख तकनीक डेटा की सफाई और प्रीप्रोसेसिंग है।

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

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

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

उदाहरण के लिए, पीडीएफ इनवॉइस से टेबल निकालने के लिए, आप टैबुला-पी लाइब्रेरी का उपयोग कर सकते हैं जो पीडीएफ में टेबल से डेटा निकालता है। पीडीएफ पृष्ठ का वह क्षेत्र प्रदान करके जहां तालिका स्थित है, आप तालिका को निकाल सकते हैं और पांडा लाइब्रेरी का उपयोग करके इसमें हेरफेर कर सकते हैं।

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

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

इस सेक्शन में, आइए इनवॉइस से कुछ फ़ील्ड निकालने के लिए रेगुलर एक्सप्रेशन का उपयोग करें।

चरण 1: पुस्तकालयों को आयात करें

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

import pdftotext
import re

चरण 2: पीडीएफ पढ़ें

हम पहले Python के बिल्ट-इन का उपयोग करके PDF चालान पढ़ते हैं open() समारोह। 'आरबी' तर्क फाइल को बाइनरी मोड में खोलता है, जो पीडीएफ जैसी बाइनरी फाइलों को पढ़ने के लिए आवश्यक है। फिर हम पीडीएफ फाइल से टेक्स्ट सामग्री निकालने के लिए पीडीएफटीओटेक्स्ट लाइब्रेरी का उपयोग करते हैं।

with open('invoice.pdf', 'rb') as f:
pdf = pdftotext.PDF(f)
text = 'nn'.join(pdf)

चरण 3: इनवॉइस पर टेक्स्ट का मिलान करने के लिए रेगुलर एक्सप्रेशन का उपयोग करें

चालान पाठ से चालान संख्या, कुल देय राशि, चालान तिथि और देय तिथि निकालने के लिए हम नियमित अभिव्यक्ति का उपयोग करते हैं। हम नियमित अभिव्यक्तियों का उपयोग करके संकलित करते हैं re.compile() कार्य करें और उपयोग करें search() पाठ में पैटर्न की पहली घटना को खोजने के लिए कार्य। हम उपयोग करते हैं group() पैटर्न से मिलान किए गए पाठ को निकालने का कार्य, और strip() मिलान किए गए पाठ से किसी भी आगे या पीछे की सफेद जगह को हटाने के लिए कार्य करें। यदि कोई मिलान नहीं मिलता है, तो हम संबंधित मान को कोई नहीं पर सेट करते हैं।

invoice_number = re.search(r'Invoice Numbers*ns*n(.+?)s*n', text).group(1).strip()
total_amount_due = re.search(r'Total Dues*ns*n(.+?)s*n', text).group(1).strip() # Extract the invoice date
invoice_date_pattern = re.compile(r'Invoice Dates*ns*n(.+?)s*n')
invoice_date_match = invoice_date_pattern.search(text)
if invoice_date_match: invoice_date = invoice_date_match.group(1).strip()
else: invoice_date = None # Extract the due date
due_date_pattern = re.compile(r'Due Dates*ns*n(.+?)s*n')
due_date_match = due_date_pattern.search(text)
if due_date_match: due_date = due_date_match.group(1).strip()
else: due_date = None

चरण 4: डेटा प्रिंट करना

अंत में, हम चालान से निकाले गए सभी डेटा को प्रिंट करते हैं।

print('Invoice Number:', invoice_number)
print('Date:', date)
print('Total Amount Due:', total_amount_due)
print('Invoice Date:', invoice_date)
print('Due Date:', due_date)

निवेश

नमूना-चालान.pdf

उत्पादन

Invoice Date: January 25, 2016
Due Date: January 31, 2016
Invoice Number: INV-3337
Date: January 25, 2016
Total Amount Due: $93.50

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

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

from tabula import read_pdf
from tabulate import tabulate
file = "sample-invoice.pdf"
df = read_pdf(file ,pages="all")
print(tabulate(df[0]))
print(tabulate(df[1]))

निवेश

नमूना-चालान.pdf

उत्पादन

- ------------ ----------------
0 Order Number 12345
1 Invoice Date January 25, 2016
2 Due Date January 31, 2016
3 Total Due $93.50
- ------------ ---------------- - - ------------------------------- ------ ----- ------
0 1 Web Design $85.00 0.00% $85.00 This is a sample description...
- - ------------------------------- ------ ----- ------

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

ओसीआर लागू करने के लिए चालान के लेआउट की पहचान करना

इस उदाहरण में, हम चालान छवि के माध्यम से पार्स करने के लिए, पायथन के लिए एक लोकप्रिय ओसीआर इंजन टेसरैक्ट का उपयोग करेंगे।

चरण 1: आवश्यक पुस्तकालयों को आयात करें

सबसे पहले, हम आवश्यक पुस्तकालयों का आयात करते हैं: छवि प्रसंस्करण के लिए OpenCV (cv2), और OCR के लिए pytesseract। हम OCR परिणामों के आउटपुट स्वरूप को निर्दिष्ट करने के लिए pytesseract से Output वर्ग भी आयात करते हैं।

import cv2
import pytesseract
from pytesseract import Output

चरण 2: नमूना चालान छवि पढ़ें

इसके बाद हम नमूना चालान छवि नमूना-चालान.जेपीजी का उपयोग करके पढ़ते हैं cv2.imread() और इसे img वेरिएबल में स्टोर करें।

img = cv2.imread('sample-invoice.jpg')

चरण 3: छवि पर ओसीआर निष्पादित करें और परिणाम शब्दकोश प्रारूप में प्राप्त करें

अगला, हम उपयोग करते हैं pytesseract.image_to_data() छवि पर ओसीआर करने के लिए और पता लगाए गए पाठ के बारे में जानकारी का शब्दकोश प्राप्त करने के लिए। output_type=Output.DICT तर्क निर्दिष्ट करता है कि हम परिणाम शब्दकोश प्रारूप में चाहते हैं।

फिर हम उपलब्ध जानकारी को देखने के लिए कीज़ () फ़ंक्शन का उपयोग करके परिणामी शब्दकोश की कुंजियों को प्रिंट करते हैं जिसे हम ओसीआर परिणामों से निकाल सकते हैं।

d = pytesseract.image_to_data(img, output_type=Output.DICT)
# Print the keys of the resulting dictionary to see the available information
print(d.keys())

चरण 4: बाउंडिंग बॉक्स प्लॉट करके पता लगाए गए टेक्स्ट की कल्पना करें

खोजे गए पाठ की कल्पना करने के लिए, हम शब्दकोश में जानकारी का उपयोग करके प्रत्येक खोजे गए शब्द के बाउंडिंग बॉक्स को प्लॉट कर सकते हैं। हम सबसे पहले पता लगाए गए टेक्स्ट ब्लॉक की संख्या प्राप्त करते हैं len() फ़ंक्शन, और उसके बाद प्रत्येक ब्लॉक पर लूप करें। प्रत्येक ब्लॉक के लिए, हम जांचते हैं कि क्या पता लगाए गए टेक्स्ट का कॉन्फिडेंस स्कोर 60 से अधिक है (यानी, पता लगाए गए टेक्स्ट के सही होने की अधिक संभावना है), और यदि ऐसा है, तो हम बाउंडिंग बॉक्स की जानकारी प्राप्त करते हैं और टेक्स्ट के चारों ओर एक आयत का उपयोग करके प्लॉट करते हैं। cv2.rectangle(). हम फिर परिणामी छवि का उपयोग करके प्रदर्शित करते हैं cv2.imshow() और विंडो बंद करने से पहले उपयोगकर्ता द्वारा कुंजी दबाए जाने की प्रतीक्षा करें।

n_boxes = len(d['text'])
for i in range(n_boxes): if float(d['conf'][i]) > 60: # Check if confidence score is greater than 60 (x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i]) img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) cv2.imshow('img', img)
cv2.waitKey(0)

उत्पादन

पायथन का उपयोग करके इनवॉइस से डेटा कैसे निकालें: एक चरण-दर-चरण मार्गदर्शिका प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

नामांकित इकाई पहचान (एनईआर) एक प्राकृतिक भाषा प्रसंस्करण तकनीक है जिसका उपयोग असंरचित पाठ से संरचित जानकारी निकालने के लिए किया जा सकता है। चालान निष्कर्षण के संदर्भ में, एनईआर का उपयोग प्रमुख संस्थाओं जैसे चालान संख्या, दिनांक और मात्रा की पहचान करने के लिए किया जा सकता है।

पायथन का उपयोग करके इनवॉइस से डेटा कैसे निकालें: एक चरण-दर-चरण मार्गदर्शिका प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.
इनवॉइस पर सूचना निकालने के लिए एनईआर मॉडल

एक लोकप्रिय एनएलपी लाइब्रेरी जिसमें एनईआर कार्यक्षमता शामिल है spacy. स्पासी अंग्रेजी सहित कई भाषाओं में एनईआर के लिए पूर्व-प्रशिक्षित मॉडल प्रदान करता है। चालान से जानकारी निकालने के लिए स्पासी का उपयोग करने का एक उदाहरण यहां दिया गया है:

चरण 1: स्पासी आयात करें और पूर्व-प्रशिक्षित मॉडल लोड करें

इस उदाहरण में, हम पहले पूर्व-प्रशिक्षित अंग्रेजी मॉडल को एनईआर के साथ लोड करते हैं spacy.load() समारोह.

import spacy
# Load the English pre-trained model with NER
nlp = spacy.load('en_core_web_sm')

चरण 2: पीडीएफ चालान को एक स्ट्रिंग के रूप में पढ़ें और एनईआर मॉडल को चालान पाठ पर लागू करें

फिर हम चालान पीडीएफ फाइल को एक स्ट्रिंग के रूप में पढ़ते हैं और एनईआर मॉडल को टेक्स्ट में लागू करते हैं nlp() समारोह.

with open('invoice.pdf', 'r') as f: text = f.read() # Apply the NER model to the invoice text
doc = nlp(text)

चरण 3: चालान संख्या, दिनांक और कुल बकाया राशि निकालें

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

invoice_number = None
invoice_date = None
total_amount_due = None for ent in doc.ents: if ent.label_ == 'INVOICE_NUMBER': invoice_number = ent.text.strip() elif ent.label_ == 'DATE': if ent.text.strip().lower().startswith('invoice'): invoice_date = ent.text.strip() elif ent.label_ == 'MONEY': if 'total' in ent.text.strip().lower(): total_amount_due = ent.text.strip()

चरण 4: निकाली गई जानकारी को प्रिंट करें
अंत में, हम सत्यापन के लिए निकाली गई जानकारी को कंसोल पर प्रिंट करते हैं। ध्यान दें कि एनईआर मॉडल का प्रदर्शन इनपुट डेटा की गुणवत्ता और परिवर्तनशीलता के आधार पर भिन्न हो सकता है, इसलिए निकाली गई जानकारी की सटीकता में सुधार के लिए कुछ मैन्युअल सुधार की आवश्यकता हो सकती है।

print('Invoice Number:', invoice_number)
print('Invoice Date:', invoice_date)
print('Total Amount Due:', total_amount_due)

अगले भाग में, आइए स्वचालित चालान निष्कर्षण के लिए कुछ सामान्य चुनौतियों और समाधानों पर चर्चा करें।

आम चुनौतियां और समाधान

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

असंगत प्रारूप

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

खराब गुणवत्ता वाले स्कैन

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

विभिन्न भाषाएं और फ़ॉन्ट आकार

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

जटिल चालान संरचनाएं

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

अन्य प्रणालियों के साथ एकीकरण (ईआरपी)

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

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

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

पायथन का उपयोग करके इनवॉइस से डेटा कैसे निकालें: एक चरण-दर-चरण मार्गदर्शिका प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

नैनोनेट्स के साथ, आपको मिलता है

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

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

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

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

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

नैनोनेट्स के साथ डिजिटाइज़िंग चालान शुरू करें - 1 क्लिक डिजिटाइज़ेशन:

पायथन का उपयोग करके इनवॉइस से डेटा कैसे निकालें: एक चरण-दर-चरण मार्गदर्शिका प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

सारांश

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

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

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

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

समय टिकट:

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