একটি বাক্যে প্রতিটি শব্দের কোড পয়েন্ট পেতে, প্রথমে বাক্যটি শব্দের শুরু কিনা তা পরীক্ষা করা হয়। তারপর, সমস্ত বাক্য থেকে অক্ষরের সমতল তালিকায় অক্ষরের সূচী শব্দের নির্দিষ্ট সূচক থেকে শুরু হয় কিনা তা পরীক্ষা করা হয়। একবার এটি যাচাই করা হলে, নিচের পদ্ধতিটি ব্যবহার করে প্রতিটি শব্দের প্রতিটি অক্ষরের কোড পয়েন্ট পাওয়া যায়।
স্ক্রিপ্ট শনাক্তকারীরা শব্দের সীমানা এবং কোথায় যোগ করা উচিত তা নির্ধারণ করতে সাহায্য করে। একটি বাক্যের শুরুতে এবং প্রতিটি অক্ষরের জন্য যার স্ক্রিপ্ট তার আগের অক্ষর থেকে আলাদা, শব্দের সীমানা যোগ করা হয়। স্টার্ট অফসেটগুলি একটি RaggedTensor তৈরি করতে ব্যবহার করা যেতে পারে। এই RaggedTensor-এ সমস্ত ব্যাচের শব্দের তালিকা থাকবে
আরো পড়ুন: টেনসরফ্লো কী এবং নিউরাল নেটওয়ার্ক তৈরি করতে টেনসরফ্লো-এর সাথে কেরাস কীভাবে কাজ করে?
আসুন আমরা বুঝতে পারি কিভাবে পাইথন ব্যবহার করে ইউনিকোড স্ট্রিংগুলিকে উপস্থাপন করা যায় এবং ইউনিকোড সমতুল্য ব্যবহার করে সেগুলিকে ম্যানিপুলেট করা যায়। প্রথমত, আমরা স্ট্যান্ডার্ড স্ট্রিং অপ্সের ইউনিকোড সমতুল্যের সাহায্যে স্ক্রিপ্ট সনাক্তকরণের উপর ভিত্তি করে ইউনিকোড স্ট্রিংগুলিকে টোকেনে আলাদা করি৷
নিচের কোডটি চালানোর জন্য আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারে Python কোড চালাতে সাহায্য করে এবং এর জন্য শূন্য কনফিগারেশন এবং GPUs (গ্রাফিক্যাল প্রসেসিং ইউনিট) তে বিনামূল্যে অ্যাক্সেস প্রয়োজন। জুপিটার নোটবুকের উপরে কোলাবোরেটরি তৈরি করা হয়েছে।
print("Check if sentence is the start of the word") sentence_char_starts_word = tf.concat( [tf.fill([sentence_char_script.nrows(), 1], True), tf.not_equal(sentence_char_script[:, 1:], sentence_char_script[:, :-1])], axis=1) print("Check if index of character starts from specific index of word in flattened list of characters from all sentences") word_starts = tf.squeeze(tf.where(sentence_char_starts_word.values), axis=1) print(word_starts) print("Get the code point of every character in every word") word_char_codepoint = tf.RaggedTensor.from_row_starts( values=sentence_char_codepoint.values, row_starts=word_starts) print(word_char_codepoint)
কোড ক্রেডিট:https://www.tensorflow.org/tutorials/load_data/unicode
আউটপুট
Check if sentence is the start of the word Check if index of character starts from specific index of word in flattened list of characters from all sentences tf.Tensor([ 0 5 7 12 13 15], shape=(6,), dtype=int64) Get the code point of every character in every word <tf.RaggedTensor [[72, 101, 108, 108, 111], [44, 32], [116, 104, 101, 114, 101], [46], [19990, 30028], [12371, 12435, 12395, 12385, 12399]]>
ব্যাখ্যা
- শব্দের সীমানা কোথায় যোগ করা উচিত তা নির্ধারণ করতে স্ক্রিপ্ট শনাক্তকারী সাহায্য করে৷
- প্রতিটি বাক্যের শুরুতে এবং প্রতিটি অক্ষরের জন্য একটি শব্দের সীমানা যোগ করা হয় যার স্ক্রিপ্ট তার আগের অক্ষর থেকে আলাদা৷
- এর পরে, এই স্টার্ট অফসেটগুলি একটি RaggedTensor তৈরি করতে ব্যবহার করা যেতে পারে৷
- এই RaggedTensor-এ সমস্ত ব্যাচের শব্দের তালিকা রয়েছে