टेक्स्ट की कैटगरी तय करने के लिए टास्क गाइड

यूज़र इंटरफ़ेस (यूआई) का उदाहरण, जिसमें इनपुट के तौर पर फ़िल्म की अच्छी समीक्षा और आउटपुट के तौर पर पांच स्टार और थंब्स अप दिखाया गया है

MediaPipe टेक्स्ट क्लासिफ़ायर टास्क की मदद से, टेक्स्ट को तय की गई कैटगरी के सेट में बांटा जा सकता है. जैसे, सकारात्मक या नकारात्मक सेंटीमेंट. कैटगरी, मॉडल को ट्रेनिंग देने के दौरान तय की जाती हैं. यह टास्क, मशीन लर्निंग (एमएल) मॉडल के साथ टेक्स्ट डेटा पर काम करता है. यह डेटा, स्टैटिक डेटा के तौर पर होता है. साथ ही, यह कैटगरी और उनके संभावित स्कोर की सूची दिखाता है.

इसे आज़माएं!

शुरू करें

इस टास्क का इस्तेमाल शुरू करने के लिए, जिस प्लैटफ़ॉर्म पर काम किया जा रहा है उसके लिए, लागू करने से जुड़ी इनमें से किसी एक गाइड का पालन करें:

प्लैटफ़ॉर्म के हिसाब से बनाई गई ये गाइड, इस टास्क को लागू करने का बुनियादी तरीका बताती हैं. इनमें सुझाया गया मॉडल और सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ कोड का उदाहरण शामिल है.

टास्क की जानकारी

इस सेक्शन में, इस टास्क की सुविधाओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है.

सुविधाएं

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

कॉन्फ़िगरेशन विकल्प

इस टास्क के लिए, कॉन्फ़िगरेशन के ये विकल्प उपलब्ध हैं:

विकल्प का नाम ब्यौरा वैल्यू की रेंज डिफ़ॉल्ट मान
displayNamesLocale टास्क के मॉडल के मेटाडेटा में दिए गए डिसप्ले नेम के लिए, लेबल की भाषा सेट करता है. हालांकि, ऐसा तब ही किया जाता है, जब वह भाषा उपलब्ध हो. अंग्रेज़ी के लिए, डिफ़ॉल्ट तौर पर en होता है. TensorFlow Lite मेटाडेटा राइटर एपीआई का इस्तेमाल करके, कस्टम मॉडल के मेटाडेटा में स्थानीय भाषा के लेबल जोड़े जा सकते हैं स्थानीय भाषा का कोड en
maxResults सबसे ज़्यादा स्कोर वाले, कैटगरी के नतीजों की ज़्यादा से ज़्यादा संख्या सेट करता है. हालांकि, ऐसा करना ज़रूरी नहीं है. अगर यह वैल्यू 0 से कम है, तो सभी उपलब्ध नतीजे दिखाए जाएंगे. कोई भी पॉज़िटिव संख्या -1
scoreThreshold अनुमान के स्कोर का थ्रेशोल्ड सेट करता है. यह थ्रेशोल्ड, मॉडल के मेटाडेटा में दिए गए थ्रेशोल्ड (अगर कोई है) को बदल देता है. इस वैल्यू से कम के नतीजे अस्वीकार कर दिए जाते हैं. कोई भी फ़्लोट सेट नहीं है
categoryAllowlist कैटगरी के लिए इस्तेमाल किए जा सकने वाले नामों की वैकल्पिक सूची सेट करता है. अगर यह सेट नहीं है, तो कैटगरी के जिन नामों को इस सेट में शामिल नहीं किया गया है उनके लिए कैटगरी तय करने के नतीजों को फ़िल्टर कर दिया जाएगा. डुप्लीकेट या अज्ञात कैटगरी के नामों को अनदेखा कर दिया जाता है. यह विकल्प, categoryDenylist के साथ इस्तेमाल नहीं किया जा सकता. दोनों का इस्तेमाल करने पर गड़बड़ी का मैसेज दिखता है. कोई भी स्ट्रिंग सेट नहीं है
categoryDenylist कैटगरी के उन नामों की वैकल्पिक सूची सेट करता है जिनका इस्तेमाल नहीं किया जा सकता. अगर यह सेट खाली नहीं है, तो कैटगरी के जिन नामों को इस सेट में शामिल किया गया है उनके लिए, कैटगरी के हिसाब से किए गए बंटवारे के नतीजे फ़िल्टर कर दिए जाएंगे. डुप्लीकेट या अज्ञात कैटगरी के नामों को अनदेखा कर दिया जाता है. यह विकल्प, categoryAllowlist के साथ इस्तेमाल नहीं किया जा सकता. दोनों का इस्तेमाल करने पर गड़बड़ी होती है. कोई भी स्ट्रिंग सेट नहीं है

मॉडल

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

पहले से ट्रेन किए गए मॉडल, सेंटीमेंट विश्लेषण के लिए ट्रेन किए जाते हैं. साथ ही, इनसे यह अनुमान लगाया जाता है कि इनपुट टेक्स्ट का सेंटीमेंट सकारात्मक है या नकारात्मक. इन मॉडल को SST-2 (स्टैनफ़र्ड सेंटिमेंट ट्रीबैंक) डेटासेट पर ट्रेन किया गया था. इसमें फ़िल्म की समीक्षाओं को सकारात्मक या नकारात्मक के तौर पर लेबल किया गया था. ध्यान दें कि ये मॉडल सिर्फ़ अंग्रेज़ी में काम करते हैं. इन मशीन लर्निंग मॉडल को, फ़िल्मों की समीक्षाओं के डेटासेट पर ट्रेन किया गया है. इसलिए, आपको अन्य विषयों पर आधारित टेक्स्ट की क्वालिटी खराब दिख सकती है.

यह मॉडल, BERT-आधारित आर्किटेक्चर (खास तौर पर, MobileBERT मॉडल) का इस्तेमाल करता है. इस मॉडल का सुझाव इसलिए दिया जाता है, क्योंकि यह काफ़ी सटीक नतीजे देता है. इसमें मेटाडेटा होता है, जिसकी मदद से टास्क, ग्राफ़ से बाहर BERT टोकनेइज़ेशन कर सकता है.

मॉडल का नाम इनपुट का आकार क्वांटाइज़ेशन का टाइप वर्शन
BERT-क्लासिफ़ायर [1x128],[1x128],[1x128] डाइनैमिक रेंज हाल ही के अपडेट

औसत शब्द एम्बेडिंग मॉडल

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

मॉडल का नाम इनपुट का आकार क्वांटाइज़ेशन का टाइप वर्शन
औसत शब्द एम्बेडिंग 1 x 256 कोई नहीं (float32) हाल ही के अपडेट

टास्क के मानदंड

यहां पूरी पाइपलाइन के लिए टास्क के मानदंड दिए गए हैं. ये मानदंड, पहले से ट्रेन किए गए ऊपर दिए गए मॉडल पर आधारित हैं. इंतज़ार का समय, सीपीयू / जीपीयू का इस्तेमाल करके Pixel 6 पर औसत इंतज़ार का समय होता है.

मॉडल का नाम सीपीयू के इंतज़ार का समय जीपीयू में इंतज़ार का समय
औसत शब्द एम्बेड 0.14 मिलीसेकंड -
BERT-classifier 57.68 मिलीसेकंड -

कस्टम मॉडल

अगर आपको दिए गए मॉडल की क्षमताओं को बेहतर बनाना है या उनमें बदलाव करना है, तो इस टास्क के साथ पसंद के मुताबिक बनाए गए मशीन लर्निंग मॉडल का इस्तेमाल किया जा सकता है. मौजूदा मॉडल में बदलाव करने या TensorFlow जैसे टूल का इस्तेमाल करके मॉडल बनाने के लिए, Model Maker का इस्तेमाल किया जा सकता है. MediaPipe के साथ इस्तेमाल किए जाने वाले कस्टम मॉडल, TensorFlow Lite फ़ॉर्मैट में होने चाहिए. साथ ही, उनमें मॉडल के ऑपरेटिंग पैरामीटर के बारे में बताने वाला खास metadata शामिल होना चाहिए. अपना मॉडल बनाने से पहले, आपको Model Maker का इस्तेमाल करके, इस टास्क के लिए दिए गए मॉडल में बदलाव करना चाहिए.