यूनिकोड स्ट्रिंग्स डिफ़ॉल्ट रूप से utf-8 एन्कोडेड हैं। यूनिकोड स्ट्रिंग को Tensorflow मॉड्यूल में 'स्थिर' विधि का उपयोग करके UTF-8 एन्कोडेड स्केलर मानों के रूप में दर्शाया जा सकता है। Tensorflow मॉड्यूल में मौजूद 'एन्कोड' पद्धति का उपयोग करके यूनिकोड स्ट्रिंग्स को UTF-16 एन्कोडेड स्केलर के रूप में दर्शाया जा सकता है।
और पढ़ें:TensorFlow क्या है और Keras कैसे TensorFlow के साथ तंत्रिका नेटवर्क बनाने के लिए काम करता है?
मॉडल जो प्राकृतिक भाषा को संसाधित करते हैं वे विभिन्न भाषाओं को संभालते हैं जिनमें अलग-अलग वर्ण सेट होते हैं। यूनिकोड को मानक एन्कोडिंग प्रणाली के रूप में माना जाता है जिसका उपयोग लगभग सभी भाषाओं के चरित्र का प्रतिनिधित्व करने के लिए किया जाता है। प्रत्येक वर्ण को एक अद्वितीय पूर्णांक कोड बिंदु की सहायता से एन्कोड किया गया है जो 0 और 0x10FFFF के बीच है। यूनिकोड स्ट्रिंग शून्य या अधिक कोड मानों का एक क्रम है।
आइए समझें कि पायथन का उपयोग करके यूनिकोड स्ट्रिंग्स का प्रतिनिधित्व कैसे करें, और यूनिकोड समकक्षों का उपयोग करने वालों में हेरफेर करें। सबसे पहले, हम यूनिकोड स्ट्रिंग्स को मानक स्ट्रिंग ऑप्स के यूनिकोड समकक्षों की सहायता से स्क्रिप्ट डिटेक्शन के आधार पर टोकन में अलग करते हैं।
हम नीचे दिए गए कोड को चलाने के लिए Google सहयोग का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफ़िकल प्रोसेसिंग यूनिट) तक मुफ्त पहुंच की आवश्यकता होती है। जुपिटर नोटबुक के ऊपर कोलैबोरेटरी बनाई गई है।
import tensorflow as tf print("A constant is defined") tf.constant(u"Thanks 😊") print("The shape of the tensor is") tf.constant([u"You are", u"welcome!"]).shape print("Unicode string represented as UTF-8 encoded scalar") text_utf8 = tf.constant(u"语言处理") print(text_utf8) print("Unicode string represented as UTF-16 encoded scalar") text_utf16be = tf.constant(u"语言处理".encode("UTF-16-BE")) print(text_utf16be) print("Unicode string represented as a vector of Unicode code points") text_chars = tf.constant([ord(char) for char in u"语言处理"]) print(text_chars)
कोड क्रेडिट:https://www.tensorflow.org/tutorials/load_data/unicode
आउटपुट
A constant is defined The shape of the tensor is Unicode string represented as UTF-8 encoded scalar tf.Tensor(b'\xe8\xaf\xad\xe8\xa8\x80\xe5\xa4\x84\xe7\x90\x86', shape=(), dtype=string) Unicode string represented as UTF-16 encoded scalar tf.Tensor(b'\x8b\xed\x8a\x00Y\x04t\x06', shape=(), dtype=string) Unicode string represented as a vector of Unicode code points tf.Tensor([35821 35328 22788 29702], shape=(4,), dtype=int32)
स्पष्टीकरण
- TensorFlow tf.string एक बुनियादी प्रकार है।
- यह उपयोगकर्ता को बाइट स्ट्रिंग्स के टेंसर बनाने की अनुमति देता है।
- यूनिकोड स्ट्रिंग्स डिफ़ॉल्ट रूप से utf-8 एन्कोडेड हैं।
- एक tf.string टेंसर में विभिन्न लंबाई के बाइट स्ट्रिंग्स को धारण करने की क्षमता होती है क्योंकि बाइट स्ट्रिंग्स को परमाणु इकाइयों के रूप में माना जाता है।
- स्ट्रिंग लंबाई टेंसर आयामों में शामिल नहीं है।
- जब पायथन का उपयोग स्ट्रिंग्स के निर्माण के लिए किया जाता है, तो यूनिकोड हैंडलिंग v2 और v3 के बीच बदल जाती है। v2 में, यूनिकोड स्ट्रिंग्स को "u" उपसर्ग द्वारा दर्शाया जाता है।
- v3 में, स्ट्रिंग्स डिफ़ॉल्ट रूप से यूनिकोड-एन्कोडेड होती हैं।
- टेन्सरफ्लो में यूनिकोड स्ट्रिंग का प्रतिनिधित्व करने के दो मानक तरीके हैं:
- स्ट्रिंग स्केलर:कोड बिंदुओं का एक क्रम एक ज्ञात वर्ण एन्कोडिंग के साथ एन्कोड किया गया है।
- int32 वेक्टर:एक विधि जहां प्रत्येक स्थिति में एक एकल कोड बिंदु होता है।