अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़न वेब सेवाएँ

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़न वेब सेवाएँ

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

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

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

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

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

इस अनुभाग में, हम प्री-लेबलिंग टूल के इनपुट और आउटपुट पर चर्चा करते हैं और समाधान आर्किटेक्चर का अवलोकन प्रदान करते हैं।

इनपुट और आउटपुट

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

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

टूल एक मैनिफ़ेस्ट फ़ाइल भी लेता है जो पीडीएफ दस्तावेज़ों को उन संस्थाओं के साथ मैप करता है जिन्हें हम इन दस्तावेज़ों से निकालना चाहते हैं। संस्थाओं में दो चीजें शामिल हैं: द expected_text दस्तावेज़ से निकालने के लिए (उदाहरण के लिए, AnyCompany Bank) और संगत entity_type (उदाहरण के लिए, bank_name). बाद में इस पोस्ट में, हम दिखाते हैं कि निम्नलिखित उदाहरण की तरह सीएसवी दस्तावेज़ से इस मेनिफेस्ट फ़ाइल का निर्माण कैसे किया जाए।

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

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

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

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

जब समीक्षा पूरी हो जाती है, तो आप अमेज़ॅन कॉम्प्रिहेंशन कस्टम इकाई पहचानकर्ता मॉडल को प्रशिक्षित करने के लिए एनोटेटेड डेटा का उपयोग कर सकते हैं।

आर्किटेक्चर

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

पहली तकनीक है फजी मिलान. इसके लिए अपेक्षित संस्थाओं के साथ एक पूर्व-प्रकट फ़ाइल की आवश्यकता होती है। टूल टेक्स्ट समानता की तुलना करके पूर्व-एनोटेशन उत्पन्न करने के लिए फ़ज़ी मिलान एल्गोरिदम का उपयोग करता है।

फ़ज़ी मिलान दस्तावेज़ में उन स्ट्रिंग्स की तलाश करता है जो प्री-मेनिफ़ेस्ट फ़ाइल में सूचीबद्ध अपेक्षित संस्थाओं के समान (लेकिन आवश्यक रूप से समान नहीं) हैं। यह पहले दस्तावेज़ में अपेक्षित पाठ और शब्दों के बीच पाठ समानता स्कोर की गणना करता है, फिर यह एक सीमा से ऊपर के सभी जोड़ों का मिलान करता है। इसलिए, भले ही कोई सटीक मिलान न हो, अस्पष्ट मिलान से संक्षिप्तीकरण और गलत वर्तनी जैसे वेरिएंट मिल सकते हैं। यह टूल को संस्थाओं को शब्दशः प्रकट होने की आवश्यकता के बिना दस्तावेज़ों को पूर्व-लेबल करने की अनुमति देता है। उदाहरण के लिए, यदि 'AnyCompany Bank' एक अपेक्षित इकाई के रूप में सूचीबद्ध है, फ़ज़ी मैचिंग इसकी घटनाओं को एनोटेट करेगा 'Any Companys Bank'. यह सख्त स्ट्रिंग मिलान की तुलना में अधिक लचीलापन प्रदान करता है और प्री-लेबलिंग टूल को स्वचालित रूप से अधिक इकाइयों को लेबल करने में सक्षम बनाता है।

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

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

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

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

निम्नलिखित चित्र पूर्ण वास्तुकला को दर्शाता है।

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

निम्नलिखित अनुभागों में, हम समाधान को लागू करने के चरणों के बारे में जानेंगे।

प्री-लेबलिंग टूल तैनात करें

रिपॉजिटरी को अपनी स्थानीय मशीन पर क्लोन करें:

git clone https://github.com/aws-samples/amazon-comprehend-automated-pdf-prelabeling-tool.git

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

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

यदि आपने पहले कॉम्प्रिहेंड सेमी-स्ट्रक्चर्ड डॉक्यूमेंट्स एनोटेशन टूल को तैनात किया है, तो FAQ अनुभाग देखें Pre_labeling_tool/README.md केवल प्री-लेबलिंग टूल के लिए विशिष्ट संसाधनों को कैसे तैनात किया जाए, इस पर निर्देशों के लिए।

यदि आपने पहले उपकरण तैनात नहीं किया है और नए सिरे से शुरुआत कर रहे हैं, तो संपूर्ण समाधान तैनात करने के लिए निम्नलिखित कार्य करें।

वर्तमान निर्देशिका को एनोटेशन टूल फ़ोल्डर में बदलें:

cd amazon-comprehend-semi-structured-documents-annotation-tools

समाधान बनाएं और तैनात करें:

make ready-and-deploy-guided

प्री-मेनिफ़ेस्ट फ़ाइल बनाएँ

इससे पहले कि आप प्री-लेबलिंग टूल का उपयोग कर सकें, आपको अपना डेटा तैयार करना होगा। मुख्य इनपुट पीडीएफ दस्तावेज़ और एक पूर्व-प्रकट फ़ाइल हैं। प्री-मेनिफेस्ट फ़ाइल में नीचे प्रत्येक पीडीएफ दस्तावेज़ का स्थान शामिल है 'pdf' और अपेक्षित इकाइयों के साथ JSON फ़ाइल का स्थान जिसके अंतर्गत लेबल लगाया जाना है 'expected_entities'.

नोटबुक generate_premanifest_file.ipynb दिखाता है कि इस फ़ाइल को कैसे बनाया जाए। डेमो में, प्री-मेनिफ़ेस्ट फ़ाइल निम्नलिखित कोड दिखाती है:

[ { 'pdf': 's3://<bucket>/data_aws_idp_workshop_data/bank_stmt_0.pdf', 'expected_entities': 's3://<bucket>/prelabeling-inputs/expected-entities/example-demo/fuzzymatching_version/file_bank_stmt_0.json' }, ...
]

प्री-मेनिफ़ेस्ट फ़ाइल में सूचीबद्ध प्रत्येक JSON फ़ाइल (नीचे)। expected_entities) में शब्दकोशों की एक सूची है, प्रत्येक अपेक्षित इकाई के लिए एक। शब्दकोशों में निम्नलिखित कुंजियाँ हैं:

  • 'अपेक्षित_पाठ' - इकाई से मेल खाने वाले संभावित टेक्स्ट स्ट्रिंग्स की एक सूची।
  • 'इकाई प्रकार' - संगत इकाई प्रकार.
  • 'अनदेखा_सूची' (वैकल्पिक) - उन शब्दों की सूची जिन्हें मैच में नजरअंदाज किया जाना चाहिए। इन मापदंडों का उपयोग अस्पष्ट मिलान को उन शब्दों के विशिष्ट संयोजनों से मिलान करने से रोकने के लिए किया जाना चाहिए जिनके बारे में आप जानते हैं कि वे गलत हैं। यदि आप नाम देखते समय कुछ संख्याओं या ईमेल पतों को अनदेखा करना चाहते हैं तो यह उपयोगी हो सकता है।

उदाहरण के लिए, expected_entities पहले दिखाया गया पीडीएफ निम्नलिखित जैसा दिखता है:

[ { 'expected_texts': ['AnyCompany Bank'], 'entity_type': 'bank_name', 'ignore_list': [] }, { 'expected_texts': ['JANE DOE'], 'entity_type': 'customer_name', 'ignore_list': ['JANE.DOE@example_mail.com'] }, { 'expected_texts': ['003884257406'], 'entity_type': 'checking_number', 'ignore_list': [] }, ...
]

प्री-लेबलिंग टूल चलाएँ

पिछले चरण में आपके द्वारा बनाई गई प्री-मैनिफ़ेस्ट फ़ाइल के साथ, प्री-लेबलिंग टूल चलाना प्रारंभ करें। अधिक विवरण के लिए, नोटबुक देखें प्रारंभ_चरण_कार्य.ipynb.

प्री-लेबलिंग टूल प्रारंभ करने के लिए, एक प्रदान करें event निम्नलिखित कुंजियों के साथ:

  • पूर्वप्रकट - प्रत्येक पीडीएफ दस्तावेज़ को उसके अनुरूप मैप करें expected_entities फ़ाइल। इसमें शामिल होना चाहिए अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) बाल्टी (नीचे)। bucket) और कुंजी (अंडर key) फ़ाइल का.
  • उपसर्ग - बनाने के लिए उपयोग किया जाता है execution_id, जो आउटपुट स्टोरेज के लिए S3 फ़ोल्डर और सेजमेकर ग्राउंड ट्रुथ लेबलिंग कार्य का नाम देता है।
  • इकाई_प्रकार - एनोटेटर्स को लेबल करने के लिए यूआई में प्रदर्शित किया गया। इनमें अपेक्षित निकाय फ़ाइलों में सभी निकाय प्रकार शामिल होने चाहिए।
  • कार्य_टीम_नाम (वैकल्पिक) - सेजमेकर ग्राउंड ट्रुथ लेबलिंग कार्य बनाने के लिए उपयोग किया जाता है। यह उपयोग करने के लिए निजी कार्यबल से मेल खाता है। यदि यह प्रदान नहीं किया गया है, तो सेजमेकर ग्राउंड ट्रुथ लेबलिंग कार्य के बजाय केवल एक मेनिफेस्ट फ़ाइल बनाई जाएगी। आप बाद में सेजमेकर ग्राउंड ट्रुथ लेबलिंग कार्य बनाने के लिए मेनिफेस्ट फ़ाइल का उपयोग कर सकते हैं। ध्यान दें कि इस लेखन के समय, आप नोटबुक से लेबलिंग कार्य बनाते समय कोई बाहरी कार्यबल प्रदान नहीं कर सकते। हालाँकि, आप बनाई गई नौकरी को क्लोन कर सकते हैं और इसे सेजमेकर ग्राउंड ट्रुथ कंसोल पर बाहरी कार्यबल को सौंप सकते हैं।
  • Comprehend_parameters (वैकल्पिक) - अमेज़ॅन कॉम्प्रिहेंशन कस्टम इकाई पहचानकर्ता मॉडल को सीधे प्रशिक्षित करने के लिए पैरामीटर। यदि छोड़ा गया, तो यह चरण छोड़ दिया जाएगा.

स्टेट मशीन शुरू करने के लिए, निम्नलिखित पायथन कोड चलाएँ:

import boto3
stepfunctions_client = boto3.client('stepfunctions')

response = stepfunctions_client.start_execution(
stateMachineArn=fuzzymatching_prelabeling_step_functions_arn,
input=json.dumps(<event-dict>)
)

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

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.

जब राज्य मशीन पूरी हो जाए, तो निम्न कार्य करें:

  • में सहेजे गए निम्नलिखित आउटपुट का निरीक्षण करें prelabeling/ का फ़ोल्डर comprehend-semi-structured-docs S3 बाल्टी:
    • दस्तावेज़ों के प्रत्येक पृष्ठ के लिए अलग-अलग एनोटेशन फ़ाइलें (प्रति दस्तावेज़ एक पृष्ठ)। temp_individual_manifests/
    • सेजमेकर ग्राउंड ट्रुथ लेबलिंग कार्य के लिए एक घोषणापत्र consolidated_manifest/consolidated_manifest.manifest
    • एक मैनिफ़ेस्ट जिसका उपयोग कस्टम अमेज़ॅन कॉम्प्रिहेंन्ड मॉडल को प्रशिक्षित करने के लिए किया जा सकता है consolidated_manifest/consolidated_manifest_comprehend.manifest
  • सेजमेकर कंसोल पर, सेजमेकर ग्राउंड ट्रुथ लेबलिंग कार्य खोलें जो एनोटेशन की समीक्षा करने के लिए बनाया गया था
  • प्रशिक्षित किए गए कस्टम अमेज़ॅन कॉम्प्रिहेंन्ड मॉडल का निरीक्षण और परीक्षण करें

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

क्लीन अप

अतिरिक्त शुल्क लगने से बचने के लिए, आपके द्वारा बनाए गए संसाधनों को हटा दें और निम्नलिखित कमांड के साथ आपके द्वारा तैनात किए गए स्टैक को हटा दें:

make delete

निष्कर्ष

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

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

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

सेजमेकर ग्राउंड ट्रुथ लेबलिंग जॉब का उपयोग करके पीडीएफ दस्तावेजों को लेबल करने के तरीके के बारे में अधिक जानकारी के लिए देखें Amazon Comprehend का उपयोग करके दस्तावेज़ों में नामित संस्थाओं को निकालने के लिए कस्टम दस्तावेज़ एनोटेशन और डेटा लेबल करने के लिए अमेज़ॅन सेजमेकर ग्राउंड ट्रुथ का उपयोग करें.


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

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.ऑस्कर श्नैक जेनेरेटिव एआई इनोवेशन सेंटर में एप्लाइड साइंटिस्ट हैं। उन्हें मशीन लर्निंग के पीछे के विज्ञान में गोता लगाने का शौक है ताकि इसे ग्राहकों के लिए सुलभ बनाया जा सके। काम के अलावा, ऑस्कर को साइकिल चलाना और सूचना सिद्धांत के रुझानों के साथ बने रहना पसंद है।

अमेज़ॅन कॉम्प्रिहेंशन के लिए पीडीएफ प्री-लेबलिंग को स्वचालित करें | अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.रोमेन बेसोम्बेस जेनेरेटिव एआई इनोवेशन सेंटर में डीप लर्निंग आर्किटेक्ट हैं। उन्हें मशीन लर्निंग के साथ ग्राहकों की व्यावसायिक समस्याओं का समाधान करने के लिए नवीन आर्किटेक्चर बनाने का शौक है।

समय टिकट:

से अधिक AWS मशीन लर्निंग

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2

स्रोत नोड: 1497327
समय टिकट: जून 21, 2022