ইউনিকোড স্ট্রিং টেনসরফ্লোতে
ইউনিকোড স্ট্রিং ডিফল্টভাবে UTF-8 এনকোডেড। TensorFlow-এ 'constant' মেথড দিয়ে UTF-8 এনকোডেড স্কেলার হিসেবে, এবং 'encode' মেথড দিয়ে UTF-16 এনকোডেড স্কেলার হিসেবে রিপ্রেজেন্ট করা যায়।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে নিউরাল নেটওয়ার্ক তৈরি করে?
ন্যাচারাল ল্যাঙ্গুয়েজ মডেলগুলো বিভিন্ন ভাষার ক্যারেক্টার সেট হ্যান্ডেল করে। ইউনিকোড সব ভাষার ক্যারেক্টারের জন্য স্ট্যান্ডার্ড এনকোডিং (০ থেকে ০x10FFFF কোড পয়েন্ট)।
গুগল কোল্যাবরে নিচের কোড রান করা হয়েছে।
import tensorflow as tf
print("একটি কনস্ট্যান্ট ডিফাইন করা হয়েছে")
tf.constant(u"Thanks 😊")
print("টেন্সরের শেপ")
tf.constant([u"You are", u"welcome!"]).shape
print("ইউনিকোড স্ট্রিং UTF-8 এনকোডেড স্কেলার হিসেবে")
text_utf8 = tf.constant(u"语言处理")
print(text_utf8)
print("ইউনিকোড স্ট্রিং UTF-16 এনকোডেড স্কেলার হিসেবে")
text_utf16be = tf.constant(u"语言处理".encode("UTF-16-BE"))
print(text_utf16be)
print("ইউনিকোড স্ট্রিং কোড পয়েন্ট ভেক্টর হিসেবে")
text_chars = tf.constant([ord(char) for char in u"语言处理"])
print(text_chars)
কোড ক্রেডিট: https://www.tensorflow.org/tutorials/load_data/unicode
আউটপুট
একটি কনস্ট্যান্ট ডিফাইন করা হয়েছে
টেন্সরের শেপ
ইউনিকোড স্ট্রিং UTF-8 এনকোডেড স্কেলার হিসেবে
tf.Tensor(b'\xe8\xaf\xad\xe8\xa8\x80\xe5\xa4\x84\xe7\x90\x86', shape=(), dtype=string)
ইউনিকোড স্ট্রিং UTF-16 এনকোডেড স্কেলার হিসেবে
tf.Tensor(b'\x8b\xed\x8a\x00Y\x04t\x06', shape=(), dtype=string)
ইউনিকোড স্ট্রিং কোড পয়েন্ট ভেক্টর হিসেবে
tf.Tensor([35821 35328 22788 29702], shape=(4,), dtype=int32)
ব্যাখ্যা
- tf.string একটি বেসিক dtype।
- বাইট স্ট্রিং টেন্সর বানাতে দেয়।
- ইউনিকোড স্ট্রিং ডিফল্ট UTF-8 এনকোডেড।
- tf.string টেন্সর বিভিন্ন দৈর্ঘ্যের বাইট স্ট্রিং ধারণ করতে পারে।
- স্ট্রিং দৈর্ঘ্য টেন্সর ডাইমেনশনে অন্তর্ভুক্ত নয়।
- পাইথন v2-এ 'u' প্রিফিক্স, v3-এ ডিফল্ট ইউনিকোড।
- টেনসরফ্লোতে ইউনিকোড রিপ্রেজেন্টেশনের দুটি স্ট্যান্ডার্ড পদ্ধতি: স্ট্রিং স্কেলার (এনকোডেড কোড পয়েন্ট সিকোয়েন্স) এবং int32 ভেক্টর (প্রতিটি পজিশনে এক কোড পয়েন্ট)।