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

- प्रोसेसर बनाएं पर क्लिक करें, नीचे स्क्रोल करते हुए खास जानकारी पर जाएं (या खोज बार में "इनवॉइस पार्सर" टाइप करें) और इनवॉइस पार्सर चुनें.
 

- इसे 
codelab-invoice-uptrainingनाम दें (या कुछ और जो आपको याद रहेगा) और सूची में अपना सबसे नज़दीकी इलाका चुनें. 

- अपना प्रोसेसर बनाने के लिए, बनाएं पर क्लिक करें. इसके बाद, आपको प्रोसेसर की खास जानकारी देने वाला पेज दिखेगा.
 

4. डेटासेट बनाना
अपने प्रोसेसर को ट्रेनिंग देने के लिए, हमें ट्रेनिंग और टेस्टिंग डेटा के साथ एक डेटासेट बनाना होगा. इससे प्रोसेसर को उन इकाइयों की पहचान करने में मदद मिलेगी जिन्हें हम एक्सट्रैक्ट करना चाहते हैं.
डेटासेट सेव करने के लिए, आपको Cloud Storage में एक नया बकेट बनाना होगा. ध्यान दें: यह वही बकेट नहीं होनी चाहिए जिसमें आपके दस्तावेज़ अभी स्टोर हैं.
- Cloud Shell खोलें और बकेट बनाने के लिए, नीचे दिए गए निर्देशों का पालन करें. इसके अलावा, Cloud Console में एक नया बकेट बनाएं. इस बकेट का नाम सेव करें, आपको बाद में इसकी ज़रूरत पड़ेगी.
 
export PROJECT_ID=$(gcloud config get-value project)
gsutil mb -p $PROJECT_ID "gs://${PROJECT_ID}-uptraining-codelab"
- डेटासेट टैब पर जाएं और डेटासेट बनाएं पर क्लिक करें
 

- पहले चरण में बनाई गई बकेट को डेस्टिनेशन पाथ फ़ील्ड में चिपकाएं. (
gs://को शामिल न करें) 

- डेटासेट बनने तक इंतज़ार करें. इसके बाद, आपको डेटासेट मैनेजमेंट पेज पर रीडायरेक्ट कर दिया जाएगा.
 

5. टेस्ट दस्तावेज़ इंपोर्ट करें
अब हम अपने डेटासेट में, इनवॉइस के PDF का सैंपल इंपोर्ट करते हैं.
- दस्तावेज़ इंपोर्ट करें पर क्लिक करें
 

- हमारे पास इस लैब में इस्तेमाल करने के लिए एक सैंपल PDF है. नीचे दिए गए लिंक को कॉपी करके सोर्स पाथ बॉक्स में चिपकाएं. "डेटा का बंटवारा" रहने दें "असाइन नहीं किया गया" के तौर पर मार्क करें अभी के लिए. इंपोर्ट करें पर क्लिक करें.
 
cloud-samples-data/documentai/codelabs/uptraining/pdfs

- दस्तावेज़ इंपोर्ट होने का इंतज़ार करें. जांच करने में एक मिनट से भी कम समय लगा.
 

- इंपोर्ट पूरा होने के बाद, आपको डेटासेट मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) में दस्तावेज़ दिखेगा. लेबलिंग कंसोल में जाने के लिए उस पर क्लिक करें.
 

6. टेस्ट दस्तावेज़ को लेबल करें
इसके बाद, हम उन इकाइयों के टेक्स्ट एलिमेंट और लेबल की पहचान करेंगे जिन्हें एक्सट्रैक्ट करना है. इन लेबल का इस्तेमाल, हमारे मॉडल को दस्तावेज़ के इस खास स्ट्रक्चर को पार्स करने और सही टाइप की पहचान करने के लिए किया जाएगा.
- अब आपको लेबलिंग कंसोल में होना चाहिए, जो कुछ ऐसा दिखेगा.
 

- "टेक्स्ट चुनें" पर क्लिक करें टूल का इस्तेमाल करें, फिर टेक्स्ट "मैकविलियम पाइपिंग इंटरनैशनल पाइपिंग कंपनी" को हाइलाइट करें और 
supplier_nameलेबल असाइन करें. लेबल के नाम खोजने के लिए, टेक्स्ट फ़िल्टर का इस्तेमाल किया जा सकता है. 

- "14368 Pipeline Ave Chino, CA 91710" टेक्स्ट को हाइलाइट करें और 
supplier_addressलेबल असाइन करें. 

- "10001" टेक्स्ट को हाइलाइट करें और 
invoice_idलेबल असाइन करें. 

- "02-01-2020" टेक्स्ट को हाइलाइट करें और 
due_dateलेबल असाइन करें. 

- "बाउंडिंग बॉक्स" पर स्विच करें टूल. "नॉकल कपलर" टेक्स्ट को हाइलाइट करें और 
line_item/descriptionलेबल असाइन करें. 

- "9" टेक्स्ट को हाइलाइट करें और 
line_item/quantityलेबल असाइन करें. 

- "74.43" टेक्स्ट को हाइलाइट करें और 
line_item/unit_priceलेबल असाइन करें. 

- "669.87" टेक्स्ट को हाइलाइट करें और 
line_item/amountलेबल असाइन करें. 

- अगले दो लाइन आइटम के लिए पिछले 4 चरण दोहराएं. पूरा होने पर यह ऐसा दिखना चाहिए.
 

- "1,419.57" टेक्स्ट को हाइलाइट करें (सबटोटल के आगे) जोड़ें और 
net_amountलेबल असाइन करें. 

- "113.57" टेक्स्ट को हाइलाइट करें (टैक्स के बगल में) और 
total_tax_amountलेबल असाइन करें. 

- "1,533.14" टेक्स्ट को हाइलाइट करें ('कुल' के बगल में) और 
total_amountलेबल असाइन करें. 

- किसी "$" को हाइलाइट करें 
currencyलेबल असाइन करें और 

- पूरा होने पर, लेबल किया गया दस्तावेज़ कुछ ऐसा दिखना चाहिए. ध्यान दें, दस्तावेज़ में बाउंडिंग बॉक्स या बाईं ओर मौजूद मेन्यू में लेबल के नाम/वैल्यू पर क्लिक करके, इन लेबल में बदलाव किए जा सकते हैं. लेबल करना पूरा करने के बाद सेव करें पर क्लिक करें.
 

- यहां लेबल और वैल्यू की पूरी सूची दी गई है
 
लेबल का नाम  | टेक्स्ट  | 
  | मैकविलियम पाइपिंग इंटरनैशनल पाइपिंग कंपनी  | 
  | 14368 पाइपलाइन ऐवे चिनो, कैलिफ़ोर्निया 91710  | 
  | 10001  | 
  | 2020-01-02  | 
  | नकल कप्लर  | 
  | 9  | 
  | 74.43  | 
  | 669.87  | 
  | पीवीसी पाइप 12 इंच  | 
  | 7  | 
  | 15.90  | 
  | 111.30  | 
  | कॉपर पाइप  | 
  | 7  | 
  | 91.20  | 
  | 638.40  | 
  | 1,419.57  | 
  | 113.57  | 
  | 1,533.14  | 
  | $  | 
7. ट्रेनिंग सेट में दस्तावेज़ असाइन करें
अब आपको डेटासेट मैनेजमेंट कंसोल पर वापस जाना होगा. ध्यान दें कि लेबल किए गए और बिना लेबल वाले दस्तावेज़ों की संख्या के साथ-साथ चालू लेबल की संख्या भी बदल गई है.

- हमें इस दस्तावेज़ को या तो "प्रशिक्षण" को असाइन करना होगा या "जांच करें" सेट. दस्तावेज़ पर क्लिक करें.
 

- असाइन करने के लिए असाइन करें पर क्लिक करें. इसके बाद, ट्रेनिंग पर क्लिक करें.
 

- ध्यान दें कि डेटा विभाजन के आंकड़े बदल गए हैं.
 

8. पहले से लेबल किया गया डेटा इंपोर्ट करें
डॉक्यूमेंट एआई अपट्रेनिंग के लिए, ट्रेनिंग और टेस्ट सेट, दोनों में कम से कम 10 दस्तावेज़ होने चाहिए. साथ ही, हर सेट में हर लेबल के 10 इंस्टेंस होने चाहिए.
हमारा सुझाव है कि हर सेट में कम से कम 50 दस्तावेज़ होने चाहिए. साथ ही, सबसे अच्छी परफ़ॉर्मेंस के लिए, हर लेबल में 50 दस्तावेज़ होने चाहिए. आम तौर पर, ट्रेनिंग से जुड़ा ज़्यादा डेटा मिलने पर ज़्यादा सटीक जानकारी मिलती है.
मैन्युअल रूप से 100 दस्तावेज़ों को लेबल करने में बहुत समय लगेगा. इसलिए, हमारे पास पहले से लेबल किए गए कुछ दस्तावेज़ हैं, जिन्हें इस लैब के लिए इंपोर्ट किया जा सकता है.
पहले से लेबल की गई दस्तावेज़ की फ़ाइलों को Document.json फ़ॉर्मैट में इंपोर्ट किया जा सकता है. प्रोसेसर को कॉल करने और Human in the Loop (HITL) का इस्तेमाल करके, पुष्टि करने की प्रोसेस के सटीक होने की पुष्टि करने के नतीजे हो सकते हैं.
- दस्तावेज़ इंपोर्ट करें पर क्लिक करें.
 

- Cloud Storage के नीचे दिए गए पाथ को कॉपी करें/चिपकाएं और उसे ट्रेनिंग सेट को असाइन करें.
 
cloud-samples-data/documentai/codelabs/uptraining/training
- एक और बकेट जोड़ें पर क्लिक करें. इसके बाद, नीचे दिए गए Cloud Storage पाथ को कॉपी करें/चिपकाएं और उसे टेस्ट के सेट में असाइन करें.
 
cloud-samples-data/documentai/codelabs/uptraining/test

- इंपोर्ट करें पर क्लिक करें और दस्तावेज़ों के इंपोर्ट होने का इंतज़ार करें. इसमें पिछली बार की तुलना में ज़्यादा समय लगेगा, क्योंकि अभी प्रोसेस करने के लिए काफ़ी दस्तावेज़ हैं. मेरी जांच में, इसमें करीब छह मिनट लगे. इस पेज को छोड़ा जा सकता है और बाद में इस पर वापस आया जा सकता है.
 

- प्रक्रिया पूरी होने के बाद, आपको डेटासेट मैनेजमेंट पेज पर दस्तावेज़ दिखेंगे.
 

9. लेबल में बदलाव करें
इस उदाहरण के लिए हम जिन नमूना दस्तावेज़ों का इस्तेमाल कर रहे हैं, उनमें इनवॉइस पार्सर के साथ काम करने वाला हर लेबल शामिल नहीं है. ट्रेनिंग से पहले, हमें उन लेबल को 'बंद है' के तौर पर मार्क करना होगा जिन्हें हम इस्तेमाल नहीं कर रहे हैं. अपट्रेनिंग से पहले कस्टम लेबल जोड़ने के लिए, इसी तरह का तरीका भी अपनाया जा सकता है.
- सबसे नीचे बाएं कोने में, लेबल मैनेज करें पर क्लिक करें.
 

- अब आप लेबल मैनेजमेंट कंसोल में पहुंच जाएंगे.
 

- सिर्फ़ नीचे दिए गए लेबल को चालू है के तौर पर मार्क करने के लिए, चेकबॉक्स और बंद करें/चालू करें बटन का इस्तेमाल करें.
currencydue_dateinvoice_idline_item/amountline_item/descriptionline_item/quantityline_item/unit_pricenet_amountsupplier_addresssupplier_nametotal_amounttotal_tax_amount
 - पूरा होने पर कंसोल ऐसा दिखना चाहिए. काम पूरा हो जाने के बाद सेव करें पर क्लिक करें.
 

- डेटासेट मैनेजमेंट कंसोल पर वापस जाने के लिए, 'वापस जाएं' ऐरो पर क्लिक करें. ध्यान दें कि जिन लेबल में 0 इंस्टेंस मौजूद है उन्हें 'बंद है' के तौर पर मार्क किया गया है.
 

10. ज़रूरी नहीं: इंपोर्ट किए गए नए दस्तावेज़ों को अपने-आप लेबल करें
डिप्लॉय किए गए मौजूदा प्रोसेसर वर्शन वाले प्रोसेसर के लिए, बिना लेबल वाले दस्तावेज़ इंपोर्ट करते समय, लेबल करने में लगने वाला समय बचाने के लिए, अपने-आप लेबल होने की सुविधा का इस्तेमाल किया जा सकता है.
- ट्रेन पेज पर, दस्तावेज़ इंपोर्ट करें पर क्लिक करें.
 - निम्न  पथ को कॉपी करें और चिपकाएं. इस डायरेक्ट्री में पांच बिना लेबल वाले इनवॉइस PDF हैं. डेटा स्प्लिट ड्रॉपडाउन सूची से ट्रेनिंग चुनें.
cloud-samples-data/documentai/Custom/Invoices/PDF_Unlabeled - अपने-आप लेबल होना सेक्शन में, अपने-आप लेबल होने की सुविधा के साथ इंपोर्ट करें चेकबॉक्स चुनें.
 - दस्तावेज़ों को लेबल करने के लिए, प्रोसेसर का कोई मौजूदा वर्शन चुनें.
 
- उदाहरण के लिए: 
pretrained-invoice-v1.3-2022-07-15 
- इंपोर्ट करें पर क्लिक करें और दस्तावेज़ों के इंपोर्ट होने का इंतज़ार करें. इस पेज को छोड़ा जा सकता है और बाद में इस पर वापस आया जा सकता है.
 
- प्रक्रिया पूरी होने पर, दस्तावेज़ अपने-आप लेबल हुआ सेक्शन में ट्रेन पेज पर दिखते हैं.
 
- ट्रेनिंग या जांच के लिए, अपने-आप लेबल होने वाले दस्तावेज़ों को लेबल किए गए के तौर पर मार्क किए बिना इस्तेमाल नहीं किया जा सकता. अपने-आप लेबल हुए दस्तावेज़ देखने के लिए, अपने-आप लेबल हुआ सेक्शन पर जाएं.
 - लेबलिंग कंसोल में जाने के लिए पहला दस्तावेज़ चुनें.
 - लेबल, बाउंडिंग बॉक्स, और वैल्यू की पुष्टि करके पक्का करें कि वे सही हैं. छूटे हुए सभी वैल्यू को लेबल करें.
 - काम पूरा हो जाने पर, लेबल के तौर पर मार्क करें को चुनें.
 - अपने-आप लेबल होने वाले हर दस्तावेज़ के लिए, लेबल की पुष्टि करें. इसके बाद, ट्रेनिंग के लिए डेटा का इस्तेमाल करने के लिए, ट्रेन पेज पर वापस जाएं.
 
11. मॉडल को बेहतर बनाएं
अब हम अपने इनवॉइस पार्सर की ट्रेनिंग शुरू करने के लिए तैयार हैं.
- ट्रेन के नए वर्शन को ट्रेनिंग दें पर क्लिक करें
 

- अपने वर्शन को एक नाम दें जिसे आप याद रखें, जैसे कि 
codelab-uptraining-test-1. बेस वर्शन, मॉडल वर्शन है, जिससे इस नए वर्शन को बनाया जाएगा. अगर नए प्रोसेसर का इस्तेमाल किया जा रहा है, तो सिर्फ़ अपट्रेनिंग के साथ Google Pretrained Next ही विकल्प होना चाहिए 

- (ज़रूरी नहीं) अपने डेटासेट में लेबल से जुड़ी मेट्रिक देखने के लिए, लेबल के आंकड़े देखें भी चुना जा सकता है.
 

- अपट्रेनिंग की प्रोसेस शुरू करने के लिए, ट्रेनिंग शुरू करें पर क्लिक करें. आपको डेटासेट मैनेजमेंट पेज पर रीडायरेक्ट किया जाएगा. दाईं ओर, ट्रेनिंग की स्थिति देखी जा सकती है. ट्रेनिंग पूरी होने में कुछ घंटे लगेंगे. इस पेज को छोड़ा जा सकता है और बाद में इस पर वापस आया जा सकता है.
 

- वर्शन के नाम पर क्लिक करने पर, आपको वर्शन मैनेज करें पेज पर ले जाया जाएगा. इस पेज पर, वर्शन आईडी और ट्रेनिंग जॉब की मौजूदा स्थिति दिखती है.
 

12. नए मॉडल वर्शन का परीक्षण करें
ट्रेनिंग जॉब पूरा होने के बाद (मेरे टेस्ट में करीब एक घंटा लगा), अब मॉडल के नए वर्शन को टेस्ट किया जा सकता है. साथ ही, इसका इस्तेमाल अनुमान लगाने के लिए किया जा सकता है.
- वर्शन मैनेज करें पेज पर जाएं. यहां आप मौजूदा स्टेटस और F1 स्कोर देख सकते हैं.
 

- इस मॉडल वर्शन का इस्तेमाल करने से पहले, हमें इसे डिप्लॉय करना होगा. दाईं ओर मौजूद वर्टिकल बिंदु पर क्लिक करें. इसके बाद, वर्शन डिप्लॉय करें को चुनें.
 

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

- डिप्लॉयमेंट पूरा होने के बाद, आकलन करें टैब पर जाएं. फिर वर्शन ड्रॉपडाउन पर क्लिक करें और हमारे नए बनाए गए वर्शन को चुनें.
 

- इस पेज पर, आकलन की मेट्रिक देखी जा सकती हैं. इसमें, पूरे दस्तावेज़ और अलग-अलग लेबल के लिए, F1 स्कोर, सटीक, और रीकॉल शामिल हैं. AutoML दस्तावेज़ में इन मेट्रिक के बारे में ज़्यादा जानकारी देखी जा सकती है.
 - नीचे लिंक की गई PDF फ़ाइल डाउनलोड करें. यह एक सैंपल दस्तावेज़ है. इसे ट्रेनिंग या टेस्ट सेट में शामिल नहीं किया गया था.
 
- टेस्ट दस्तावेज़ अपलोड करें पर क्लिक करें और PDF फ़ाइल चुनें.
 

- निकाली गई इकाइयां कुछ ऐसी दिखनी चाहिए.
 

13. नतीजा
बधाई हो, आपने इनवॉइस पार्सर को अप ट्रेनिंग देने के लिए, दस्तावेज़ एआई (AI) का इस्तेमाल कर लिया है. अब इस प्रोसेसर का इस्तेमाल, इनवॉइस पार्स करने के लिए ठीक वैसे ही किया जा सकता है जैसे किसी खास प्रोसेसर के लिए किया जाता है.
प्रोसेसिंग रिस्पॉन्स को मैनेज करने का तरीका जानने के लिए, खास प्रोसेसर कोडलैब देखें.
मिटाना
इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, आपके Google Cloud खाते पर लगने वाले शुल्क से बचने के लिए:
- Cloud Console में, संसाधन मैनेज करें पेज पर जाएं.
 - प्रोजेक्ट की सूची में, अपना प्रोजेक्ट चुनें. इसके बाद, 'मिटाएं' पर क्लिक करें.
 - डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए 'शट डाउन करें' पर क्लिक करें.
 
संसाधन
- दस्तावेज़ एआई वर्कबेंच के लिए दस्तावेज़
 - दस्तावेज़ों का भविष्य - YouTube प्लेलिस्ट
 - दस्तावेज़ एआई से जुड़ा दस्तावेज़
 - दस्तावेज़ एआई Python क्लाइंट लाइब्रेरी
 - दस्तावेज़ के एआई सैंपल
 
लाइसेंस
इस काम को क्रिएटिव कॉमंस एट्रिब्यूशन 2.0 जेनरिक लाइसेंस के तहत लाइसेंस मिला है.