অ্যাক্টিভিটি: নিয়ম বনাম উদাহরণ-ভিত্তিক আচরণ
- একই ইনপুটে নিয়মভিত্তিক ও উদাহরণ-ভিত্তিক আচরণ তুলনা করতে পারবেন
- দুই পদ্ধতির একটি করে ব্যর্থতার উদাহরণ তৈরি করতে পারবেন
- সিমুলেশনকে trained model না বলার কারণ ব্যাখ্যা করতে পারবেন
সমস্যাটা কী?
দোকানের অটো-রিপ্লাই নিয়ম: “মেসেজে ‘ফেরত’ থাকলে রিটার্ন নীতি পাঠাও”। গ্রাহক লিখলেন: “ফেরত চাই না, শুধু জানতে চাই অর্ডার কোথায়”—আর পেলেন রিটার্ন নীতি! উদাহরণ থেকে আচরণ নিলে কি এটা ঠিক হবে, নাকি অন্য ধরনের ভুল হবে?
শেখার লক্ষ্য
- একই ইনপুটে নিয়মভিত্তিক ও উদাহরণ-ভিত্তিক আচরণ তুলনা করতে পারবেন
- দুই পদ্ধতির একটি করে ব্যর্থতার উদাহরণ তৈরি করতে পারবেন
- সিমুলেশনকে trained model না বলার কারণ ব্যাখ্যা করতে পারবেন
পূর্বশর্ত
ব্যাখ্যা
আমরা দুটি পদ্ধতি পাশাপাশি চালাব:
- নিয়মভিত্তিক: প্রোগ্রামার একটি তালিকা লেখেন: শব্দ X থাকলে বিভাগ Y। প্রথম যে নিয়ম মেলে সেটাই উত্তর। স্বচ্ছ ও অনুমানযোগ্য, কিন্তু অপ্রত্যাশিত বাক্যে ভঙ্গুর।
- উদাহরণ-মিল (nearest example): কয়েকটি লেবেল-করা উদাহরণ রাখা হয়। নতুন মেসেজের সাথে প্রতিটি উদাহরণের কতগুলো শব্দ মেলে গোনা হয়; সবচেয়ে বেশি মেলা উদাহরণের লেবেল উত্তর। নতুন উদাহরণ যোগ করলেই আচরণ বদলায়—নিয়ম লিখতে হয় না।
উপমা — এবং কোথায় ভাঙে
উপমা: নিয়ম হলো দারোয়ানের হাতে একটি তালিকা: “লাল কার্ড থাকলে ঢুকতে দাও”। উদাহরণ-মিল হলো দারোয়ান যিনি আগের অতিথিদের মুখ মনে রেখে নতুন অতিথি কার মতো দেখতে তা বিচার করেন।
কোথায় ভাঙে: মানুষ দারোয়ান মুখের অর্থপূর্ণ বৈশিষ্ট্য দেখেন। আমাদের সিমুলেশন শুধু হুবহু একই শব্দ গোনে—“কোথায়” আর “কোথায়?” (প্রশ্নবোধক চিহ্নসহ) কেও আলাদা শব্দ ভাবে।
ধাপে ধাপে উদাহরণ
মেসেজ: ফেরত চাই না, অর্ডার কোথায়
- নিয়ম: প্রথম নিয়ম “ফেরত” → মেলে → বিভাগ = return। ভুল।
- উদাহরণ-মিল: শব্দগুলো: ফেরত, চাই, না, অর্ডার, কোথায়।
- উদাহরণ “অর্ডার কোথায়” (status): মিল = অর্ডার, কোথায় = ২।
- উদাহরণ “ফেরত চাই” (return): মিল = ফেরত, চাই = ২।
- টাই! কোডে প্রথম সর্বোচ্চ স্কোর রাখা হয়, তাই উত্তর নির্ভর করে উদাহরণের ক্রমের ওপর—এটিও একটি দুর্বলতা।
শিক্ষা: দুই পদ্ধতিই “না” শব্দের অর্থ ধরে না। অর্থ ধরতে আরও ভালো উপস্থাপনা (embedding, অধ্যায় ৮) ও শেখা মডেল লাগে।
অনুশীলন / অ্যাক্টিভিটি
নিচের কোড চালান। তারপর message বদলে অন্তত তিনটি মেসেজ পরীক্ষা করুন—একটি যেখানে নিয়ম জেতে, একটি যেখানে উদাহরণ-মিল জেতে, একটি যেখানে দুটোই ভুল করে।
সিমুলেশন — trained model নয়
// সিমুলেশন: নিয়মভিত্তিক বনাম উদাহরণ-মিল (trained model নয়)
const rules = [
{ word: "ফেরত", label: "return" },
{ word: "দাম", label: "price" },
];
const examples = [
{ text: "অর্ডার কোথায়", label: "status" },
{ text: "ডেলিভারি কবে আসবে", label: "status" },
{ text: "ফেরত চাই", label: "return" },
{ text: "দাম কত", label: "price" },
];
function byRules(msg) {
for (const r of rules) {
if (msg.includes(r.word)) return r.label;
}
return "unknown";
}
function words(s) {
return s.replace(/[?,!।]/g, " ").split(" ").filter(w => w.length > 0);
}
function byExamples(msg) {
const m = words(msg);
let best = "unknown";
let bestScore = 0;
for (const ex of examples) {
const score = words(ex.text).filter(w => m.includes(w)).length;
if (score > bestScore) {
bestScore = score;
best = ex.label;
}
}
return best + " (মিল=" + bestScore + ")";
}
const tests = [
"আমার অর্ডার কোথায়?",
"ফেরত চাই না, শুধু জানতে চাই ডেলিভারি কবে আসবে",
"এই শার্টের মূল্য কত",
];
for (const message of tests) {
console.log(message);
console.log(" নিয়ম:", byRules(message), "| উদাহরণ:", byExamples(message));
}লাইন ধরে বুঝি
rules: প্রতিটি নিয়ম একটি শব্দ ও একটি লেবেল।byRulesক্রমানুসারে দেখে, প্রথম মিলেই ফেরত দেয়।words: বিরামচিহ্ন সরিয়ে স্পেস দিয়ে ভাগ করে শব্দের অ্যারে বানায়।byExamples: প্রতিটি উদাহরণের শব্দের মধ্যে কতগুলো মেসেজে আছে গোনে (filter(...).length)। বেশি স্কোর হলে সেটিকে সেরা হিসেবে রাখে। কোনো মিল না থাকলে “unknown”।- শেষের লুপ প্রতিটি পরীক্ষার মেসেজে দুই পদ্ধতির ফল একসাথে দেখায়।
এখানে এটা কেন ব্যবহার করেছি?
দুই পদ্ধতিকে আলাদা ফাংশনে রাখায় একই ইনপুটে তাদের ভিন্ন ভুল সহজে দেখা যায়। স্কোর আউটপুটে দেখানো হয়েছে যাতে “কেন এই উত্তর” তা লুকানো না থাকে।
কোন বিষয়গুলো মনে রাখব?
- নিয়ম: স্বচ্ছ কিন্তু ভঙ্গুর
- উদাহরণ-মিল: নতুন উদাহরণে আচরণ বদলায়, কিন্তু শব্দ-মিল অর্থ বোঝে না
- সিমুলেশনকে trained model বলা যাবে না
এখনই কোনগুলো মুখস্থ করতে হবে না?
- JavaScript সিনট্যাক্সের প্রতিটি অংশ—অধ্যায় ২-এ শিখবেন
- এখানকার স্কোরিং সূত্র
নিজে পরিবর্তন করে দেখুন
examples-এ একটি নতুন উদাহরণ যোগ করুন যাতে “এই শার্টের মূল্য কত” সঠিকভাবে price পায়। নিয়মের তালিকা না বদলে উদাহরণ যোগ করেই আচরণ বদলানো গেল—এটিই “উদাহরণ থেকে আচরণ”-এর মূল ধারণা।
সাধারণ ভুল
- এই সিমুলেশনকে GPT-এর মতো মডেল ভাবা
- একটি মেসেজে ভালো ফল দেখে পদ্ধতিকে নির্ভরযোগ্য ধরা
- টাই হলে কী হয় তা না দেখা
সমাধান ও ব্যাখ্যা
তৃতীয় মেসেজে উদাহরণ-মিল সঠিক লেবেল দিলেও কারণটি দুর্বল: শুধু “কত” শব্দ মিলেছে। “ডেলিভারি কত দিনে আসবে” লিখলে “কত” price-এর দিকে আর “ডেলিভারি/আসবে” status-এর দিকে টানে—স্কোর দেখে কারণ বোঝা যায়। examples-এ { text: "মূল্য কত", label: "price" } যোগ করলে “মূল্য” ও “কত” মিলে স্কোর ২ হয়। নিয়মভিত্তিক পদ্ধতিতে একই কাজে নতুন নিয়ম লিখতে হতো।
জ্ঞান যাচাই
নিচের 3টি প্রশ্নের উত্তর দিয়ে “জমা দিন” চাপুন। স্কোর সার্ভারে যাচাই হয়; প্রতিটি উত্তরের পর কেন সঠিক বা ভুল তা দেখাবে। লগইন থাকলে ফল আপনার অগ্রগতিতে সংরক্ষিত হয়।
সংক্ষেপে মনে রাখুন
- একই ইনপুটে দুই পদ্ধতি ভিন্ন ভুল করে
- শব্দ-মিল অর্থ বোঝে না—embedding ও শেখা মডেল পরে আসবে
- সিমুলেশন সৎভাবে লেবেল করুন
পরবর্তী পাঠ
অধ্যায় ১ শেষ! এবার কোড লেখার ভিত্তি—JavaScript: Variables, Values ও Types
সূত্র ও যাচাই
জ্ঞান যাচাই
আপনার শেখার অগ্রগতি সংরক্ষণ করতে লগইন করুন।
এখানে প্রশ্ন করুন
আপনার শেখার অগ্রগতি সংরক্ষণ করতে লগইন করুন।