কম্পিউটার

পাইথনে হোয়াইটস্পেস টোকেনাইজার দিয়ে কীভাবে টেনসরফ্লো পাঠ্য ব্যবহার করা যেতে পারে?


টেনসরফ্লো টেক্সটকে ‘হোয়াইটস্পেস টোকেনাইজার’ কল করে হোয়াইটস্পেস টোকেনাইজার ব্যবহার করা যেতে পারে, যা একটি টোকেনাইজার তৈরি করে, যেটি স্ট্রিং-এ ‘টোকেনাইজ’ পদ্ধতিতে ব্যবহার করা হয়।

আরো পড়ুন: টেনসরফ্লো কী এবং নিউরাল নেটওয়ার্ক তৈরি করতে টেনসরফ্লো-এর সাথে কেরাস কীভাবে কাজ করে?

আমরা কেরাস সিকোয়েন্সিয়াল এপিআই ব্যবহার করব, যা একটি অনুক্রমিক মডেল তৈরি করতে সহায়ক যা স্তরগুলির একটি প্লেইন স্ট্যাকের সাথে কাজ করতে ব্যবহৃত হয়, যেখানে প্রতিটি স্তরে একটি ইনপুট টেনসর এবং একটি আউটপুট টেনসর রয়েছে৷

একটি নিউরাল নেটওয়ার্ক যা অন্তত একটি স্তর ধারণ করে একটি কনভোলিউশনাল স্তর হিসাবে পরিচিত। আমরা শেখার মডেল তৈরি করতে কনভোলিউশনাল নিউরাল নেটওয়ার্ক ব্যবহার করতে পারি।

টেনসরফ্লো টেক্সটে টেক্সট সম্পর্কিত ক্লাস এবং অপ্সের সংগ্রহ রয়েছে যা টেনসরফ্লো 2.0 এর সাথে ব্যবহার করা যেতে পারে। টেনসরফ্লো টেক্সটটি সিকোয়েন্স মডেলিং প্রিপ্রসেস করতে ব্যবহার করা যেতে পারে।

নিচের কোডটি চালানোর জন্য আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারে Python কোড চালাতে সাহায্য করে এবং এর জন্য শূন্য কনফিগারেশন এবং GPUs (গ্রাফিক্যাল প্রসেসিং ইউনিট) তে বিনামূল্যে অ্যাক্সেস প্রয়োজন। জুপিটার নোটবুকের উপরে কোলাবোরেটরি তৈরি করা হয়েছে।

টোকেনাইজেশন হল একটি স্ট্রিংকে টোকেনে বিভক্ত করার পদ্ধতি। এই টোকেনগুলি শব্দ, সংখ্যা বা বিরাম চিহ্ন হতে পারে। মূল ইন্টারফেসগুলির মধ্যে রয়েছে টোকেনাইজার এবং টোকেনাইজার উইথঅফসেট যার প্রতিটির একটি একক পদ্ধতি রয়েছে যথাক্রমে টোকেনাইজ এবং টোকেনাইজ_সাথ_অফসেট। একাধিক টোকেনাইজার রয়েছে, যার প্রত্যেকটি টোকেনাইজার উইথঅফসেট (যা টোকেনাইজার ক্লাসকে প্রসারিত করে) প্রয়োগ করে। এতে মূল স্ট্রিংয়ে বাইট অফসেট পাওয়ার একটি বিকল্প রয়েছে। এটি মূল স্ট্রিংয়ের বাইটগুলি জানতে সাহায্য করে যে টোকেনটি তৈরি করা হয়েছিল।

N-গ্রাম হল ক্রমিক শব্দ যখন n আকারের একটি স্লাইডিং উইন্ডো দেওয়া হয়। যখন টোকেন একত্রিত করা হয়, তিনটি হ্রাস প্রক্রিয়া সমর্থিত হয়। পাঠ্যের জন্য, হ্রাস।STRING_JOIN ব্যবহার করা যেতে পারে। এটি একে অপরের সাথে স্ট্রিং যুক্ত করে। ডিফল্ট বিভাজক অক্ষর হল স্থান, কিন্তু string_separater আর্গুমেন্ট দিয়ে পরিবর্তন করা যেতে পারে।

অন্যান্য হ্রাস পদ্ধতিগুলি সংখ্যাসূচক মানের সাথে ব্যবহার করা হয় এবং সেগুলি হল Reduction.SUM এবং Reduction.MEAN৷

উদাহরণ

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['Everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Here, n is 2, hence it is bigram")
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print("The bigrams are converted to a list")
print(bigrams.to_list())

আউটপুট

Whitespace tokenizer is being called
Here, n is 2, hence it is bigram
The bigrams are converted to a list
[[b'Everything not', b'not saved', b'saved will', b'will be', b'be lost.'], []]

ব্যাখ্যা

  • হোয়াইটস্পেস টোকেনাইজার বলা হয়।
  • 'n' এর মান 2 এ সেট করা হয়েছে, তাই এটি একটি বিগগ্রাম হিসাবে পরিচিত।
  • টোকেনগুলি একটি তালিকায় সংরক্ষণ করা হয় এবং একটি কনসোলে প্রদর্শিত হয়৷

  1. পাইথন ব্যবহার করে মডেলকে প্রশিক্ষণ দেওয়ার জন্য কীভাবে টেনসরফ্লো ব্যবহার করা যেতে পারে?

  2. পাইথনে নতুন কলব্যাক সহ একটি মডেলকে প্রশিক্ষণের জন্য কীভাবে কেরাস ব্যবহার করা যেতে পারে?

  3. পাইথন ব্যবহার করে দুটি ম্যাট্রিক্সকে গুন করার জন্য Tensorflow কিভাবে ব্যবহার করা যেতে পারে?

  4. পাইথন ব্যবহার করে প্রাক-প্রশিক্ষিত মডেলের সাথে কীভাবে কেরাস ব্যবহার করা যেতে পারে?