ইউনিকোড স্ট্রিং UTF-8 এ রিপ্রেজেন্ট করা
ইউনিকোড স্ট্রিং সেটকে UTF-8 এনকোডেড স্ট্রিং-এ রিপ্রেজেন্ট করতে 'encode' মেথড ব্যবহার করা হয়।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে न्यূরাল নেটওয়ার্ক তৈরি করে?
ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং মডেলগুলো বিভিন্ন ভাষার ক্যারেক্টার সেট হ্যান্ডেল করে। ইউনিকোড প্রায় সব ভাষার ক্যারেক্টার রিপ্রেজেন্ট করার স্ট্যান্ডার্ড এনকোডিং সিস্টেম। প্রতিটি ক্যারেক্টারের এক যুনিক INTEGER কোড পয়েন্ট থাকে (০ থেকে ০x10FFFF)। ইউনিকোড স্ট্রিং হল কোড ভ্যালুর সিকোয়েন্স।
পাইথনে ইউনিকোড স্ট্রিং রিপ্রেজেন্ট ও ম্যানিপুলেট করার পদ্ধতি নিচে দেওয়া হলো। প্রথমে স্ক্রিপ্ট ডিটেকশনের মাধ্যমে ইউনিকোড স্ট্রিংগুলো টোকেনাইজ করা হয়।
নিচের কোড গুগল কোল্যাবরে রান করা হয়েছে। কোল্যাব্রে ব্রাউজারে পাইথন কোড রান করা যায়, জিপিইউ ফ্রি 억্সেস পাওয়া যায়।
print("UTF-8 এনকোডেড স্ট্রিং হিসেবে ইউনিকোড স্ট্রিং সেট")
batch_utf8 = [s.encode('UTF-8') for s in [u'hällo', 'What is the weather tomorrow', u'Göödnight', u'😊']]
batch_chars_ragged = tf.strings.unicode_decode(batch_utf8, input_encoding='UTF-8')
for sentence_chars in batch_chars_ragged.to_list():
print(sentence_chars)
print("প্যাডিংসহ ডেন্স টেন্সর")
batch_chars_padded = batch_chars_ragged.to_tensor(default_value=-1)
print(batch_chars_padded.numpy())
print("স্পার্স ম্যাট্রিক্স-এ কনভার্ট")
batch_chars_sparse = batch_chars_ragged.to_sparse()কোড ক্রেডিট: https://www.tensorflow.org/tutorials/load_data/unicode
আউটপুট
UTF-8 এনকোডেড স্ট্রিং হিসেবে ইউনিকোড স্ট্রিং সেট
[104, 195, 108, 108, 111]
[87, 104, 97, 116, 32, 105, 115, 32, 116, 104, 101, 32, 119, 101, 97, 116, 104, 101, 114, 32, 116, 111, 109, 111, 114, 114, 111, 119]
[71, 246, 246, 100, 110, 105, 103, 104, 116]
[128522]
প্যাডিংসহ ডেন্স টেন্সর
[[104 195 108 108 111 -1 ... -1]
[87 104 97 116 32 105 ... 111 119]
[71 246 246 100 110 103 ... -1 -1]
[128522 -1 -1 ... -1 -1]]
স্পার্স ম্যাট্রিক্স-এ কনভার্ট
ব্যাখ্যা
- একাধিক স্ট্রিং ডিকোড করার সময় প্রতিটি স্ট্রিংয়ের ক্যারেক্টার সংখ্যা সমান নাও হতে পারে।
- ফলাফল tf.RaggedTensor, যেনার ইনারমোস্ট ডাইমেনশনের লেঞ্থ ভিন্ন হয়।
- এটি সরাসরি ব্যবহার করা যায়, অথবা tf.RaggedTensor.to_tensor() দিয়ে ডেন্স টেন্সর বা to_sparse() দিয়ে স্পার্স টেন্সর-এ কনভার্ট করা যায়।