MediaPipe Text Embedder टास्क की मदद से, टेक्स्ट डेटा को संख्या के तौर पर दिखाया जा सकता है, ताकि उसका सिमेंटिक मतलब कैप्चर किया जा सके. इस सुविधा का इस्तेमाल अक्सर, कोसाइन मिलते-जुलते शब्दों की तुलना करने जैसी गणितीय तुलना करने की तकनीकों का इस्तेमाल करके, दो टेक्स्ट के बीच सेमेटिक मिलते-जुलते शब्दों की तुलना करने के लिए किया जाता है. यह टास्क, मशीन लर्निंग (एमएल) मॉडल की मदद से टेक्स्ट डेटा पर काम करता है. साथ ही, टेक्स्ट डेटा को संख्या के तौर पर दिखाता है. यह आउटपुट, हाई-डाइमेंशनल फ़ीचर वैक्टर की सूची के तौर पर दिखता है. इसे एम्बेडिंग वैक्टर भी कहा जाता है. यह आउटपुट, फ़्लोटिंग-पॉइंट या क्वांटिज़्ड फ़ॉर्मैट में दिखता है.
शुरू करें
अपने टारगेट प्लैटफ़ॉर्म के लिए, लागू करने से जुड़ी इनमें से किसी एक गाइड का पालन करके, इस टास्क का इस्तेमाल शुरू करें. प्लैटफ़ॉर्म के हिसाब से बनी इन गाइड में, इस टास्क को लागू करने का बुनियादी तरीका बताया गया है. इनमें सुझाया गया मॉडल और सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ कोड का उदाहरण भी शामिल है:
- Android - कोड का उदाहरण - गाइड
- Python - कोड का उदाहरण - गाइड
- वेब - कोड का उदाहरण - गाइड
टास्क की जानकारी
इस सेक्शन में, इस टास्क की सुविधाओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है.
सुविधाएं
- इनपुट टेक्स्ट प्रोसेसिंग - इन-ग्राफ़ टोकनेज़ेशन के बिना, मॉडल के लिए आउट-ऑफ़-ग्राफ़ टोकनेज़ेशन की सुविधा देता है.
- एम्बेडिंग मिलती-जुलती वैल्यू का हिसाब लगाना - दो फ़ीचर वैक्टर के बीच कोसाइन मिलती-जुलती वैल्यू का हिसाब लगाने के लिए, पहले से मौजूद यूटिलिटी फ़ंक्शन.
- क्वांटाइज़ेशन - फ़ीचर वेक्टर के लिए स्केलर क्वांटाइज़ेशन की सुविधा देता है.
टास्क के इनपुट | टास्क के आउटपुट |
---|---|
टेक्स्ट एम्बेडर, इनपुट डेटा के इस टाइप को स्वीकार करता है:
|
टेक्स्ट एम्बेडर, एम्बेड की गई ऐसी सूची दिखाता है जिसमें ये शामिल होते हैं:
|
कॉन्फ़िगरेशन के विकल्प
इस टास्क के लिए, कॉन्फ़िगरेशन के ये विकल्प उपलब्ध हैं:
विकल्प का नाम | ब्यौरा | वैल्यू की रेंज | डिफ़ॉल्ट मान |
---|---|---|---|
l2_normalize |
लौटाए गए फ़ीचर वेक्टर को L2 नॉर्म के साथ सामान्य करना है या नहीं. इस विकल्प का इस्तेमाल सिर्फ़ तब करें, जब मॉडल में पहले से कोई नेटिव L2_NORMALIZATION TFLite Op न हो. ज़्यादातर मामलों में, ऐसा पहले से ही होता है और इसलिए, L2 नॉर्मलाइज़ेशन को TFLite इंफ़रेंस की मदद से हासिल किया जाता है. इसके लिए, इस विकल्प की ज़रूरत नहीं होती. | Boolean |
False |
quantize |
स्केलर क्वांटाइज़ेशन की मदद से, दिखाए गए एम्बेड को बाइट में क्वांटाइज़ किया जाना चाहिए या नहीं. एम्बेड को यूनिट-नॉर्म माना जाता है और इसलिए, किसी भी डाइमेंशन की वैल्यू [-1.0, 1.0] के बीच होनी चाहिए. अगर ऐसा नहीं है, तो l2_normalize विकल्प का इस्तेमाल करें. | Boolean |
False |
मॉडल
इस टास्क के साथ डेवलपमेंट शुरू करने पर, हम डिफ़ॉल्ट रूप से सुझाया गया मॉडल उपलब्ध कराते हैं.
यूनिवर्सल सेंटेंस एन्कोडर मॉडल (इसका सुझाव दिया जाता है)
यह मॉडल, ड्यूअल एन्कोडर आर्किटेक्चर का इस्तेमाल करता है और इसे सवाल-जवाब वाले अलग-अलग डेटासेट पर ट्रेन किया गया है.
नीचे दिए गए वाक्यों के जोड़े देखें:
- ("it's a charming and often affecting journey", "what a great and fantastic trip")
- ("मुझे अपना फ़ोन पसंद है", "मुझे अपना फ़ोन पसंद नहीं है")
- ("इस रेस्टोरेंट में एक शानदार चीज़ है", "हमें अपने प्लान की जानकारी की दोबारा जांच करनी होगी")
पहले दो पेयर में मौजूद टेक्स्ट एम्बेड, तीसरे पेयर में मौजूद एम्बेड से ज़्यादा कोसाइन मिलते-जुलते होंगे. इसकी वजह यह है कि पहले दो पेयर के वाक्यों में "यात्रा के बारे में भावना" और "फ़ोन के बारे में राय", दोनों एक ही विषय के बारे में हैं. वहीं, तीसरे पेयर के वाक्यों में कोई एक विषय नहीं है.
ध्यान दें कि दूसरे पेयर में मौजूद दो वाक्यों में अलग-अलग सेंटीमेंट हैं. हालांकि, इनका मिलते-जुलते होने का स्कोर ज़्यादा है, क्योंकि इनमें एक ही विषय है.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | वर्शन |
---|---|---|---|
यूनिवर्सल सेंटेंस एन्कोडर | string, string, string | कोई नहीं (float32) | हाल ही के अपडेट |
टास्क के मानदंड
यहां पूरी पाइपलाइन के लिए टास्क के मानदंड दिए गए हैं. ये मानदंड, ऊपर दिए गए पहले से ट्रेन किए गए मॉडल पर आधारित हैं. इंतज़ार का समय, सीपीयू / जीपीयू का इस्तेमाल करके Pixel 6 पर औसत इंतज़ार का समय होता है.
मॉडल का नाम | सीपीयू के इंतज़ार का समय | जीपीयू में इंतज़ार का समय |
---|---|---|
यूनिवर्सल सेंटेंस एन्कोडर | 18.21 मिलीसेकंड | - |