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

Python-এ টেক্সট ডেটা ডাইমেনশনাল ভেক্টরে কীভাবে এম্বেড করা যায়?


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

Keras ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System) প্রকল্পের গবেষণার অংশ হিসেবে বিকশিত হয়েছিল। Keras একটি গভীর শিক্ষার API, যা পাইথনে লেখা হয়েছে। এটি একটি উচ্চ-স্তরের API যার একটি উৎপাদনশীল ইন্টারফেস রয়েছে যা মেশিন লার্নিং সমস্যা সমাধান করতে সাহায্য করে। এটি TensorFlow ফ্রেমওয়ার্কের উপরে চলে। এটি দ্রুত পরীক্ষা-নিরীক্ষা করতে সাহায্য করার জন্য তৈরি করা হয়েছিল। এটি মেশিন লার্নিং সমাধান বিকাশ এবং ক্যাপসুলেট করার জন্য প্রয়োজনীয় বিমূর্তি এবং বিল্ডিং ব্লক প্রদান করে।

Keras ইতিমধ্যেই TensorFlow প্যাকেজের ভিতরে রয়েছে। নিচের কোড লাইন ব্যবহার করে এটিকে অ্যাক্সেস করা যায়:

import tensorflow
from tensorflow import keras

Keras ফাংশনাল API সিকোয়েনশিয়াল API-র তুলনায় আরও নমনীয় মডেল তৈরি করতে সাহায্য করে। ফাংশনাল API নন-লিনিয়ার টপোলজি वाले মডেল, শেয়ার করা লেয়ার, এবং একাধিক ইনপুট-আউটপুট নিয়ে কাজ করতে পারে। একটি গভীর শিক্ষার মডেল সাধারণত একটি ডায়RECTেড এসাইক্লিক গ্রাফ (DAG) যাতে একাধিক লেয়ার থাকে। ফাংশনাল API লেয়ার গ্রাফ তৈরি করতে সাহায্য করে।

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

উদাহরণ

print("অনন্য ইস্যু ট্যাগের সংখ্যা")
num_tags = 12
print("টেক্সট ডেটা প্রিপ্রসেসিংয়ের সময় ভোকাবুলারি আকার")
num_words = 10000
print("প্রেডিকশনের জন্য ক্লাসের সংখ্যা")
num_classes = 4
title_input = keras.Input(
    shape=(None,), name="title"
)
print("ভেরিয়েবল লেন্থ ইন্ট সিকোয়েন্স")
body_input = keras.Input(shape=(None,), name="body")
tags_input = keras.Input(
    shape=(num_tags,), name="tags"
)
print("টাইটেলের প্রতিটি শব্দকে ৬৪-মাত্রিক ভেক্টরে এম্বেড করা হচ্ছে")
title_features = layers.Embedding(num_words, 64)(title_input)
print("প্রতিটি শব্দকে ৬৪-মাত্রিক ভেক্টরে এম্বেড করা হচ্ছে")
body_features = layers.Embedding(num_words, 64)(body_input)
print("এম্বেড করা শব্দের সিকোয়েন্সকে একক ১২৮-মাত্রিক ভেক্টরে রিডিউস করা হচ্ছে")
title_features = layers.LSTM(128)(title_features)
print("এম্বেড করা শব্দের সিকোয়েন্সকে একক ১৩২-মাত্রিক ভেক্টরে রিডিউস করা হচ্ছে")
body_features = layers.LSTM(32)(body_features)
print("উপলব্ধ ফিচারগুলো কনক্যাটেনেট করে একটি একক ভেক্টরে মার্জ করা হচ্ছে")
x = layers.concatenate([title_features, body_features, tags_input])
print("ফিচার প্রেডিক্ট করতে লজিস্টিক রিগ্রেশন ব্যবহার করা হচ্ছে")
priority_pred = layers.Dense(1, name="priority")(x)
department_pred = layers.Dense(num_classes, name="class")(x)
print("প্রায়োরিটি এবং ক্লাস প্রেডিক্ট করার মডেল ইনস্ট্যানশিয়েট করা হচ্ছে")
model = keras.Model(
    inputs=[title_input, body_input, tags_input],
    outputs=[priority_pred, department_pred],
)

কোড ক্রেডিট - https://www.tensorflow.org/guide/keras/functional

আউটপুট

অনন্য ইস্যু ট্যাগের সংখ্যা
টেক্সট ডেটা প্রিপ্রসেসিংয়ের সময় ভোকাবুলারি আকার
প্রেডিকশনের জন্য ক্লাসের সংখ্যা
ভেরিয়েবল লেন্থ ইন্ট সিকোয়েন্স
টাইটেলের প্রতিটি শব্দকে ৬৪-মাত্রিক ভেক্টরে এম্বেড করা হচ্ছে
প্রতিটি শব্দকে ৬৪-মাত্রিক ভেক্টরে এম্বেড করা হচ্ছে
এম্বেড করা শব্দের সিকোয়েন্সকে একক ১২৮-মাত্রিক ভেক্টরে রিডিউস করা হচ্ছে
এম্বেড করা শব্দের সিকোয়েন্সকে একক ১৩২-মাত্রিক ভেক্টরে রিডিউস করা হচ্ছে
উপলব্ধ ফিচারগুলো কনক্যাটেনেট করে একটি একক ভেক্টরে মার্জ করা হচ্ছে
ফিচার প্রেডিক্ট করতে লজিস্টিক রিগ্রেশন ব্যবহার করা হচ্ছে
প্রায়োরিটি এবং ক্লাস প্রেডিক্ট করার মডেল ইনস্ট্যানশিয়েট করা হচ্ছে

ব্যাখ্যা

  • ফাংশনাল API একাধিক ইনপুট এবং আউটপুট নিয়ে কাজ করতে পারে।

  • এটি সিকোয়েনশিয়াল API-তে সম্ভব নয়।


  1. পাইথনে Seaborn দিয়ে লিনিয়ার রিলেশনশিপ ভিজ্যুয়ালাইজ করার পদ্ধতি

  2. পাইথনে factorplot ফাংশন দিয়ে ভায়োলিন প্লট ভিজ্যুয়ালাইজ করার পদ্ধতি

  3. পাইথনে Seaborn লাইব্রেরি দিয়ে ডেটা ভিজ্যুয়াল রিপ্রেজেন্টেশনের পদ্ধতি

  4. পাইথনে নন-লিনিয়ার ডেটাকে মডেলে ফিট করার পদ্ধতি