टेंसरफ्लो टेक्स्ट का उपयोग 'unicode_split' मेथड का उपयोग करके स्ट्रिंग को कैरेक्टर द्वारा विभाजित करने के लिए किया जा सकता है, पहले विभाजित स्ट्रिंग को एन्कोड करके, और फिर फ़ंक्शन कॉल को एक वेरिएबल में असाइन करके। यह वेरिएबल फ़ंक्शन कॉल का परिणाम रखता है।
और पढ़ें: टेंसरफ्लो क्या है और केरस टेंसरफ्लो के साथ न्यूरल नेटवर्क बनाने में कैसे काम करता है?
हम केरस सीक्वेंशियल API का उपयोग करेंगे, जो एक सीक्वेंशियल मॉडल बनाने में सहायक है जिसका उपयोग लेयर के सादे स्टैक के साथ काम करने के लिए किया जाता है, जहां प्रत्येक लेयर में ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है।
एक न्यूरल नेटवर्क जिसमें कम से कम एक लेयर होती है, कन्वोल्यूशनल लेयर के रूप में जानी जाती है। हम कन्वोल्यूशनल न्यूरल नेटवर्क का उपयोग लर्निंग मॉडल बनाने के लिए कर सकते हैं।
टेंसरफ्लो टेक्स्ट में टेक्स्ट-संबंधित क्लास और ऑप्स का संग्रह होता है जिसे टेंसरफ्लो 2.0 के साथ उपयोग किया जा सकता है। टेंसरफ्लो टेक्स्ट का उपयोग सीक्वेंस मॉडलिंग को प्रीप्रोसेस करने के लिए किया जा सकता है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या कोलेबोरेटरी ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। कोलेबोरेटरी को जुपिटर नोटबुक के शीर्ष पर बनाया गया है।
टोकनाइज़ेशन एक स्ट्रिंग को टोकन में तोड़ने की विधि है। ये टोकन शब्द, संख्या, या विराम चिह्न हो सकते हैं।
महत्वपूर्ण इंटरफ़ेस में Tokenizer और TokenizerWithOffsets शामिल हैं जिनमें से प्रत्येक में क्रमशः tokenize और tokenize_with_offsets नामक एकल मेथड होता है। कई टोकनाइज़र हैं, जिनमें से प्रत्येक TokenizerWithOffsets को लागू करता है (जो Tokenizer क्लास को विस्तारित करता है)। इसमें मूल स्ट्रिंग में बाइट ऑफसेट प्राप्त करने का विकल्प शामिल है। यह जानने में मदद करता है कि मूल स्ट्रिंग में बाइट्स से टोकन बनाया गया था।
उदाहरण
print("एन्कोडेड कैरेक्टर विभाजित हैं")
tokens = tf.strings.unicode_split([u"仅今年前".encode('UTF-8')], 'UTF-8')
print("टोकनाइज़्ड डेटा को सूची में परिवर्तित किया गया")
print(tokens.to_list())
कोड क्रेडिट - https://www.tensorflow.org/tutorials/tensorflow_text/intro
आउटपुट
एन्कोडेड कैरेक्टर विभाजित हैं टोकनाइज़्ड डेटा को सूची में परिवर्तित किया गया [[b'\xe4\xbb\x85', b'\xe4\xbb\x8a', b'\xe5\xb9\xb4', b'\xe5\x89\x8d']]
व्याख्या
सभी टोकनाइज़र RaggedTensors लौटाते हैं जिनमें टोकन के आंतरिक आयाम मूल व्यक्तिगत स्ट्रिंग्स पर मैप किए जाते हैं।
परिणामी आकार की रैंक एक से बढ़ जाती है।
व्हाइटस्पेस का उपयोग किए बिना शब्दों को सेगमेंट करने वाली भाषाओं को टोकनाइज़ करते समय, कैरेक्टर द्वारा विभाजित करना आम है।
यह टेंसरफ्लो कोर में पाए जाने वाले unicode_split ऑप का उपयोग करके किया जा सकता है।
एक बार unicode_split कॉल होने पर, टोकनाइज़्ड डेटा सूची में जोड़ा जाता है।