जनरेटिव डेटा इंटेलिजेंस

Amazon Texttract | के साथ रसीद और इनवॉइस प्रोसेसिंग पाइपलाइन बनाएं अमेज़न वेब सेवाएँ

दिनांक:

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

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

समाधान अवलोकन

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

समाधान वास्तुकला

निम्नलिखित अनुभाग आपको समाधान बनाने की प्रक्रिया से परिचित कराते हैं।

.. पूर्वापेक्षाएँ

इस समाधान को तैनात करने के लिए, आपके पास निम्नलिखित होना चाहिए:

  • एक एडब्ल्यूएस खाता.
  • An AWS क्लाउड 9 पर्यावरण। AWS Cloud9 एक क्लाउड-आधारित एकीकृत विकास वातावरण (IDE) है जो आपको केवल एक ब्राउज़र से अपना कोड लिखने, चलाने और डीबग करने देता है। इसमें एक कोड संपादक, डिबगर और टर्मिनल शामिल है।

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

समाधान तैनात करें

समाधान स्थापित करने के लिए, आप इसका उपयोग करें AWS क्लाउड डेवलपमेंट किट (एडब्ल्यूएस सीडीके) को तैनात करने के लिए एडब्ल्यूएस CloudFormation ढेर।

  1. अपने AWS Cloud9 IDE टर्मिनल में, क्लोन करें गिटहब भंडार और निर्भरताएँ स्थापित करें। तैनात करने के लिए निम्नलिखित कमांड चलाएँ InvoiceProcessor ढेर:
git clone https://github.com/aws-samples/amazon-textract-invoice-processor.git
pip install -r requirements.txt
cdk bootstrap
cdk deploy

GitHub रेपो से डिफ़ॉल्ट कॉन्फ़िगरेशन सेटिंग्स के साथ तैनाती में लगभग 25 मिनट लगते हैं। अतिरिक्त आउटपुट जानकारी AWS क्लाउडफ़ॉर्मेशन कंसोल पर भी उपलब्ध है।

  1. AWS CDK परिनियोजन पूर्ण होने के बाद, व्यय सत्यापन नियम बनाएं अमेज़ॅन डायनेमोडीबी मेज़। आप निम्नलिखित कमांड चलाने के लिए उसी AWS Cloud9 टर्मिनल का उपयोग कर सकते हैं:
aws dynamodb execute-statement --statement "INSERT INTO "$(aws cloudformation list-exports --query 'Exports[?Name==`InvoiceProcessorWorkflow-RulesTableName`].Value' --output text)" VALUE {'ruleId': 1, 'type': 'regex', 'field': 'INVOICE_RECEIPT_ID', 'check': '(?i)[0-9]{3}[a-z]{3}[0-9]{3}$', 'errorTxt': 'Receipt number is not valid. It is of the format: 123ABC456'}"
aws dynamodb execute-statement --statement "INSERT INTO "$(aws cloudformation list-exports --query 'Exports[?Name==`InvoiceProcessorWorkflow-RulesTableName`].Value' --output text)" VALUE {'ruleId': 2, 'type': 'regex', 'field': 'PO_NUMBER', 'check': '(?i)[a-z0-9]+$', 'errorTxt': 'PO number is not present'}"

  1. S3 बकेट में जो प्रारंभ होता है invoiceprocessorworkflow-invoiceprocessorbucketf1-*, एक अपलोड फ़ोल्डर बनाएं।

In अमेज़ॅन कॉग्निटो, आपके पास पहले से ही एक मौजूदा उपयोगकर्ता पूल होना चाहिए OpenSearchResourcesCognitoUserPool*. हम नया उपयोगकर्ता बनाने के लिए इस उपयोगकर्ता पूल का उपयोग करते हैं।

  1. Amazon Cognito कंसोल पर, उपयोगकर्ता पूल पर नेविगेट करें OpenSearchResourcesCognitoUserPool*.
  2. एक नया Amazon Cognito उपयोगकर्ता बनाएं।
  3. अपनी पसंद का उपयोगकर्ता नाम और पासवर्ड प्रदान करें और बाद में उपयोग के लिए उन्हें नोट कर लें।
  4. दस्तावेज़ अपलोड करें रैंडम_इनवॉइस1 और रैंडम_इनवॉइस2 S3 के लिए uploads वर्कफ़्लो प्रारंभ करने के लिए फ़ोल्डर।

आइए अब दस्तावेज़ प्रसंस्करण के प्रत्येक चरण के बारे में विस्तार से जानें।

दस्तावेज़ कैप्चर

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

नमूना चालान अपलोड करें

निष्कर्षण

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

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

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

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

निम्नलिखित चित्र स्टेप फ़ंक्शंस वर्कफ़्लो दिखाता है।

चरण फ़ंक्शन वर्कफ़्लो

निष्कर्षण वर्कफ़्लो में निम्नलिखित चरण शामिल हैं:

  • इनवॉइसप्रोसेसर-निर्णायक - एन AWS लाम्बा फ़ंक्शन जो सत्यापित करता है कि इनपुट दस्तावेज़ प्रारूप अमेज़ॅन टेक्स्टट्रैक्ट द्वारा समर्थित है या नहीं। समर्थित प्रारूपों के बारे में अधिक जानकारी के लिए, देखें इनपुट दस्तावेज़.
  • दस्तावेज़विभाजक - एक लैम्ब्डा फ़ंक्शन जो दस्तावेज़ों से 2,500-पृष्ठ (अधिकतम) खंड उत्पन्न करता है और बड़े बहु-पृष्ठ दस्तावेज़ों को संसाधित कर सकता है।
  • मानचित्र राज्य - एक लैम्ब्डा फ़ंक्शन जो प्रत्येक टुकड़े को समानांतर में संसाधित करता है।
  • टेक्सट्रैक्टएसिंक - यह कार्य एसिंक्रोनस एपीआई का उपयोग करके अमेज़ॅन टेक्स्टट्रैक्ट को कॉल करता है सर्वोत्तम प्रथाओं साथ में अमेज़न सरल अधिसूचना सेवा (अमेज़ॅन एसएनएस) सूचनाएं और उपयोग OutputConfig Amazon Texttract JSON आउटपुट को आपके द्वारा पहले बनाए गए S3 बकेट में संग्रहीत करने के लिए। इसमें दो लैम्ब्डा फ़ंक्शन शामिल हैं: एक प्रसंस्करण के लिए दस्तावेज़ जमा करना और दूसरा जो एसएनएस अधिसूचना पर ट्रिगर होता है।
  • TexttractAsyncToJSON2 - क्योंकि TextractAsync कार्य एकाधिक पृष्ठांकित आउटपुट फ़ाइलें उत्पन्न कर सकता है TextractAsyncToJSON2 प्रक्रिया उन्हें एक JSON फ़ाइल में जोड़ती है।

हम निम्नलिखित अनुभागों में अगले तीन चरणों के विवरण पर चर्चा करते हैं।

सत्यापन एवं अनुमोदन

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

  • सत्यापन सफल है यदि INVOICE_RECEIPT_ID मौजूद है और रेगेक्स से मेल खाता है (?i)[0-9]{3}[a-z]{3}[0-9]{3}$ और if PO_NUMBER मौजूद है और रेगेक्स से मेल खाता है (?i)[a-z0-9]+$
  • यदि कोई हो तो सत्यापन असफल है PO_NUMBER or INVOICE_RECEIPT_ID दस्तावेज़ में गलत है या गायब है।

फ़ाइलें संसाधित होने के बाद, व्यय सत्यापन फ़ंक्शन इनपुट फ़ाइलों को किसी एक में ले जाता है approved or declined समान S3 बकेट में फ़ोल्डर।

S3 आउटपुट

इस समाधान के प्रयोजनों के लिए, हम व्यय सत्यापन नियमों को संग्रहीत करने के लिए DynamoDB का उपयोग करते हैं। हालाँकि, आप अपने स्वयं के या व्यावसायिक व्यय सत्यापन या प्रबंधन समाधानों के साथ एकीकृत करने के लिए इस समाधान को संशोधित कर सकते हैं।

बुद्धिमान सूचकांक और खोज

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

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

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

ओपन सर्च दस्तावेज़ खोज

अभिलेखीय, लेखापरीक्षा और विश्लेषण

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

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

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

ओपनसर्च आयात

पृष्ठ को ताज़ा करें और नेविगेट करें होम, डैशबोर्ड , और खुला चालान. अब आप फ़िल्टर चुन सकते हैं और लागू कर सकते हैं और पिछले चालानों का पता लगाने के लिए समय विंडो का विस्तार कर सकते हैं।

ओपन सर्च डैशबोर्ड

क्लीन अप

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

  1. S3 बकेट से सभी सामग्री हटाएँ invoiceprocessorworkflow-invoiceprocessorbucketf1-*.
  2. AWS Cloud9 में, Amazon Cognito संसाधनों और CloudFormation स्टैक को हटाने के लिए निम्नलिखित कमांड चलाएँ:
cognito_user_pool=$(aws cloudformation list-exports --query 'Exports[?Name==`InvoiceProcessorWorkflow-CognitoUserPoolId`].Value' --output text)
echo $cognito_user_pool
cdk destroy
aws cognito-idp delete-user-pool --user-pool-id $cognito_user_pool

  1. AWS Cloud9 कंसोल से आपके द्वारा बनाए गए AWS Cloud9 वातावरण को हटाएँ।

निष्कर्ष

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

आरंभ करने के लिए, इस सुविधा को आज़माने के लिए अमेज़न टेक्स्टट्रैक्ट कंसोल में साइन इन करें। Amazon Texttract क्षमताओं के बारे में अधिक जानने के लिए, देखें Amazon Textract डेवलपर गाइड or पाठ संसाधन. आईडीपी के बारे में अधिक जानने के लिए, एडब्ल्यूएस एआई सेवाओं के साथ आईडीपी देखें भाग 1 और भाग 2 पोस्ट नहीं।


लेखक के बारे में

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

शिबिन माइकलराज AWS टेक्स्ट्रेक्ट टीम में एक वरिष्ठ उत्पाद प्रबंधक हैं। वह AWS ग्राहकों के लिए AI/ML-आधारित उत्पाद बनाने पर केंद्रित है।

सुप्रकाश दत्ता अमेज़ॅन वेब सर्विसेज में एक सीनियर सॉल्यूशंस आर्किटेक्ट हैं। वह डिजिटल परिवर्तन रणनीति, एप्लिकेशन आधुनिकीकरण और माइग्रेशन, डेटा एनालिटिक्स और मशीन लर्निंग पर ध्यान केंद्रित करते हैं। वह AWS में AI/ML समुदाय का हिस्सा है और बुद्धिमान दस्तावेज़ प्रसंस्करण समाधान डिज़ाइन करता है।

मारन चंद्रशेखरन अमेज़ॅन वेब सर्विसेज में एक वरिष्ठ समाधान वास्तुकार हैं, जो हमारे उद्यम ग्राहकों के साथ काम करते हैं। काम के अलावा, उन्हें टेक्सास हिल कंट्री में यात्रा करना और अपनी मोटरसाइकिल चलाना पसंद है।

स्पॉट_आईएमजी

नवीनतम खुफिया

स्पॉट_आईएमजी