স্বয়ংক্রিয়ভাবে প্রশ্নের উত্তর দেওয়ার জন্য সমাধানকারী প্রযুক্তি

শিক্ষার্থীদের শত-শত পরীক্ষার সিলেবাসের হাজার-হাজার ধারণার উপর প্রশ্ন প্র্যাক্টিস করতে অনুমোদন করা একটি EdTech প্ল্যাটফর্ম হিসাবে, Embibe ব্যাখ্যা ও ধাপে ধাপে সমাধান নির্দেশিকাগুলির মাধ্যমে প্রশ্নগুলিকে সমৃদ্ধ করতে বিনিয়োগ করেছে যাতে শিক্ষার্থীদের নির্দিষ্ট সমস্যাগুলি কীভাবে সমাধান করতে হয় তা বুঝতে সহায়তা করা যায়। এটি একটি মানবচালিত প্রক্রিয়া যেখানে মানব বিষয়বস্তু বিশেষজ্ঞরা প্রশ্নগুলির  সমাধান করে।

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

সমস্যা বিবৃতি

গণিতের একটি পাঠ্য প্রশ্ন দেওয়া রয়েছে, সমাধানকারী কোড ব্যবহার করে এটির সমাধান করো এবং একটি ধাপে ধাপে সমাধান প্রদান করো। প্রশ্নটি শিক্ষার্থীর জিজ্ঞাসা করা যেকোনও প্রশ্ন হতে পারে এবং এটি কোনও নির্দিষ্ট ফরম্যাটে  না থাকলেও চলবে। আমরা এটি সমাধান করার চেষ্টা করি এবং সমাধানের ধাপগুলি প্রদান করি।

দৃষ্টিভঙ্গি

পুরো প্রক্রিয়াটি কেমন দেখাচ্ছে তা এখানে দেওয়া রয়েছে:

উদাহরণস্বরূপ,

 এখানে 6th CBSE থেকে একটি প্রশ্ন দেওয়া হয়েছেঃ

 “সংখ্যায় লেখো – দুই লক্ষ পঞ্চাশ হাজার নয়শত ছত্রিশ”

“অতএব, প্রথম ধাপে আমরা সমাধানকারী কোড নির্ধারণের চেষ্টা করবো যা ব্যবহার করে এই প্রশ্নের সমাধান করা যাবে, এটি হল  “convert_text_to_number”। পরবর্তী ধাপে, আমরা নির্ধারিত সমাধানকারীর জন্য এটিকে মূল্যায়ন করার উদ্দেশ্যে আর্গুমেন্ট নিয়ে আসবো। অতএব, এই ক্ষেত্রে সমাধানকারীর কাছে ইনপুট আর্গুমেন্ট হবে  “দুই লক্ষ পঞ্চাশ হাজার নয়শত ছত্রিশ”। অতএব, আমরা সম্পূর্ণ সমাধানকারীটি পাইঃ

convert_text_to_number(দুই লক্ষ পঞ্চাশ হাজার নয়শত ছত্রিশ)। 

তারপর নিম্নলিখিত উত্তর ও ধাপে ধাপে সমাধান পাওয়ার জন্য আর্গুমেন্টটির সাথে সমাধানকারীর  মূল্যায়ন করবো, যা দেখতে এইরূপ হয়ে থাকেঃ

এসো আরেকটি উদাহরণমূলক প্রশ্ন দিয়ে বিস্তারিত দেখে নিই:

“মিসেস সোনি 7 1/2 লিটার দুধ কিনেছিলেন। এই দুধের মধ্যে থেকে, 5 3/4 লিটার পান করা হয়েছে। তার কাছে কতখানি দুধ অবশিষ্ট আছে?”

এটি “subtract_fractions_mixed_type(7 1/2, 5 3/4)” সমাধানকারী কোড ব্যবহার করে সমাধান করা যেতে পারে।

আমরা এইরূপ সমাধানের ধাপ পাবো।

সমাধান

আমরা এই সমাধানটিকে দুই ধাপে ভাগ করতে পারি। 

1. সমাধানকারী কোড নির্ধারণ 

2. আর্গুমেন্ট এক্সট্রাকশন

সমাধানকারী কোড নির্ধারণে, আমরা সমাধানকারী কোডগুলি নির্ধারণ করার চেষ্টা করি যেগুলি ব্যবহার করে প্রদত্ত গাণিতিক সমস্যার সমাধান করা যেতে পারে। উদাহরণস্বরূপ, উপরের উদাহরণটিতে, “subtract_fractions_mixed_type” ছিল সঠিক সমাধানকারী যেটি ব্যবহার করে সমস্যাটির সমাধান করা  যেতে পারে। আমরা একটি ডিপ লার্নিং seq2seq জেনারেটিভ মডেল ব্যবহার করতে পারি যেমন T5 [1] যা সমাধানকারী কোড তৈরি করতে পারে যেটি সমস্যার সমাধান করবে। দ্বিতীয় ধাপে যাওয়ার আগে, আমাদের প্রতিটি সমাধানকারী কোডের জন্য আর্গুমেন্ট সহ 1টি নমুনা সমাধানকারী নিতে হবে। উদাহরণস্বরূপ, “subtract_fractions_mixed_type”-এর জন্য একটি নমুনা সমাধানকারী, “subtract_fractions_mixed_type (1 2/3, 4 5/6)” এর মতো হতে পারে। আমরা শীঘ্রই এটি  কীভাবে কার্যকর হবে তা অন্বেষণ করবো।

একবার আমরা একটি নির্ধারিত সমাধানকারী কোড যা একটি প্রদত্ত সমস্যার সমাধান করতে ব্যবহার করা যেতে পারে,সেটি পেয়ে গেলে, আমাদের প্রশ্ন থেকে আর্গুমেন্টটি নিতে হবে। এর জন্যও, আমরা  seq2seq জেনারেটিভ মডেল যেমন T5 [1] ব্যবহার করতে পারি। নলেজ গ্রাফগুলিতে থাকা শব্দার্থিক সম্পর্কগুলি ব্যবহার করার উদ্দেশ্যে [3][4] নলেজ ইনফিউশন আর্কিটেকচারের মাধ্যমে এই ধরনের ল্যাঙ্গুয়েজ মডেলগুলিকে আরও প্রসারিত করা হয়। আমরা নির্ধারিত সমাধানকারীটির জন্য সমস্যার বিবৃতি ও নমুনা সমাধানকারী প্রদান করতে পারি। এবং আমরা T5 [1] মডেলের প্রশ্ন থেকে প্রকৃত  আর্গুমেন্ট সহ সমাধানকারী কোডটি পাবো। সুতরাং শেষপর্যন্ত আমাদের কাছে আর্গুমেন্ট সহ সমাধানকারী কোড থাকবে, উপরের উদাহরণ থেকে যা হল “subtract_fractions_mixed_type(7 1/2, 5 3/4)”। আমরা প্রশ্ন থেকে আর্গুমেন্টগুলি বের করতে অন্যান্য তুলনামূলকভাবে সহজ পদ্ধতিগুলিও ব্যবহার করতে পারি। যেমন, যদি আমাদের কাছে প্রতিটি সমাধানকারীর জন্য ডেটা টাইপ ও আর্গুমেন্টগুলির নমুনা থাকে, যা এইক্ষেত্রে আমাদের কাছে আছে, তাহলে আমরা প্রশ্ন থেকে অনুরূপ নম্বর পাওয়ার চেষ্টা করতে পারি।

এইভাবে আমরা সমাধানকারী কোড নির্ধারণ করে থাকি এবং প্রশ্নটি থেকে সমাধানকারী যুক্তিটি বের করি। একবার আমরা উভয়ই পেয়ে গেলে, সঠিক উত্তর ও ধাপে ধাপে সমাধান পেতে আমাদের শুধুমাত্র  সমাধান কোডের মূল্যায়ন করতে হবে।