কম্পিউটার টিউটোরিয়াল

পাইথন ব্যবহার করে TensorFlow-এর মাধ্যমে ইলিয়াড ডেটাসেটের টোকেনাইজড শব্দ থেকে ভোকাবুলারি কীভাবে তৈরি করা যায়?

TensorFlow হল Google দ্বারা প্রদত্ত একটি মেশিন লার্নিং ফ্রেমওয়ার্ক। এটি একটি ওপেন-সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে মিলিত होकर অ্যালগরিদম, ডিপ লার্নিং অ্যাপ্লিকেশন, এবং আরও অনেক কিছু বাস্তবায়ন করতে ব্যবহৃত হয়। এটি গবেষণা এবং প্রোডাকশন উদ্দেশ্যে ব্যবহৃত হয়। জটিল গাণিতিক অপারেশন দ্রুত সম্পাদন করতে সহায়তা করার জন্য এতে অপ্টিমাইজেশন কৌশল রয়েছে। এর কারণ হল এটি NumPy এবং বহু-মাত্রিক অ্যারে ব্যবহার করে। এই বহু-মাত্রিক অ্যারেগুলিকে 'টেনসর' নামেও জানা যায়। ফ্রেমওয়ার্কটি গভীর নিউরাল নেটওয়ার্কের সাথে কাজ করা সাপোর্ট করে।

টেনসর সম্পর্কে

টেনসর হল TensorFlow-এ ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি একটি ফ্লো ডায়াগ্রামে প্রান্তাগুলিকে সংযুক্ত করতে সাহায্য করে। এই ফ্লো ডায়াগ্রামটিকে 'ডেটা ফ্লো গ্রাফ' নামে ডাকা হয়। টেনসরها অন্য কিছু নয়, বরং বহু-মাত্রিক অ্যারে বা একটি তালিকা।

ইলিয়াড ডেটাসেট সম্পর্কে

আমরা ইলিয়াড ডেটাসেট ব্যবহার করব, যাতে উইলিয়াম কাওপার, এডوارد (ডারবির আর্ল) এবং স্যামুয়েল বटलারের তিনটি অনুবাদের কাজের টেক্সট ডেটা রয়েছে। মডেলটি একটি একক টেক্সট লাইন দেওয়া হলে অনুবাদকারীকে সনাক্ত করার জন্য প্রশিক্ষিত হয়। ব্যবহৃত টেক্সট ফাইলগুলি প্রি-প্রসেস করা হয়েছে। এতে ডকুমেন্ট হেডার এবং ফুটার, লাইন নম্বর এবং অধ্যায়ের শিরোনাম সরানো অন্তর্ভুক্ত।

Google Colaboratory ব্যবহার

নিচের কোড চালানোর জন্য আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারের মাধ্যমে পাইথন কোড চালাতে সাহায্য করে এবং শূন্য কনফিগারেশন এবং GPU-তে (গ্রাফিক্যাল প্রসেসিং ইউনিট) বিনামূল্যে অ্যাক্সেস প্রদান করে। Colaboratory Jupyter Notebook-এর উপরে তৈরি করা হয়েছে।

উদাহরণ

নিচে কোড স্নিপেট দেওয়া হল:

print("Build a vocabulary using the tokens")
tokenized_ds = configure_dataset(tokenized_ds)
vocab_dict = collections.defaultdict(lambda: 0)
for toks in tokenized_ds.as_numpy_iterator():
    for tok in toks:
        vocab_dict[tok] += 1
print("Sort the vocabulary")
vocab = sorted(vocab_dict.items(), key=lambda x: x[1], reverse=True)
vocab = [token for token, count in vocab]
vocab = vocab[:VOCAB_SIZE]
vocab_size = len(vocab)
print("The vocabulary size is : ", vocab_size)
print("First six vocabulary entries are :", vocab[:6])

কোড ক্রেডিট - https://www.tensorflow.org/tutorials/load_data/text

আউটপুট

Build a vocabulary using the tokens
Sort the vocabulary
The vocabulary size is : 10000
First six vocabulary entries are : [b',', b'the', b'and', b'"', b'of', b'.']

পরবর্তীতে, আপনি টোকেনগুলিকে ফ্রিকোয়েন্সি অনুযায়ী সর্ট করে এবং শীর্ষ VOCAB_SIZE টোকেন ধরে একটি ভোকাবুলারি তৈরি করবেন।

ব্যাখ্যা

  • টোকেনগুলিকে তাদের ফ্রিকোয়েন্সি অনুযায়ী সর্ট করার পরে একটি ভোকাবুলারি তৈরি করা হয়।

  • কনসোলে কিছু ভোকাবুলারি এন্ট্রি প্রদর্শিত হয়।

  1. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে ডেটা ভিজুয়ালাইজ (visualize) করতে ব্যবহৃত হয়?

  2. টেনসরফ্লোতে ফ্লাওয়ার ডেটাসেট ভিজ্যুয়ালাইজ করা

  3. পাইথন ব্যবহার করে TensorFlow-এর মাধ্যমে এক-মাত্রিক কনভোল্যুশনাল নেটওয়ার্ক কীভাবে তৈরি করা যায়?

  4. Python-এ Keras সিকোয়েনশিয়াল মডেল ব্যবহার করে ফিচার এক্সট্রাকশন