১. শুরু করার আগে
এনটিটি হলো ডায়ালগফ্লো-এর একটি কৌশল, যা স্বাভাবিক ভাষার ইনপুট থেকে দরকারি ডেটা শনাক্ত ও বের করে আনার জন্য ব্যবহৃত হয়। ইন্টেন্ট আপনার এজেন্টকে কোনো নির্দিষ্ট ব্যবহারকারীর ইনপুটের পেছনের উদ্দেশ্য বুঝতে সাহায্য করে, অন্যদিকে এনটিটি ব্যবহার করা হয় ব্যবহারকারীদের উল্লেখ করা তথ্যের নির্দিষ্ট অংশগুলো খুঁজে বের করার জন্য—রাস্তার ঠিকানা থেকে শুরু করে পণ্যের নাম এবং এককসহ পরিমাণ পর্যন্ত যেকোনো কিছুই এর অন্তর্ভুক্ত হতে পারে। ব্যবহারকারীর অনুরোধ থেকে আপনি যে কোনো গুরুত্বপূর্ণ ডেটা পেতে চান, তার একটি সংশ্লিষ্ট এনটিটি থাকবে।
নিম্নোক্ত তালিকাটিতে তিন ধরনের সত্তা ব্যাখ্যা করা হয়েছে:
- ডায়ালগফ্লো-এর সাথে আসা সিস্টেম এনটিটিগুলো এজেন্টদের কোনো অতিরিক্ত কনফিগারেশন ছাড়াই বিভিন্ন ধারণা সম্পর্কে তথ্য আহরণ করতে দেয়। উদাহরণস্বরূপ, স্বাভাবিক ভাষার ইনপুট থেকে তারিখ, সময় এবং অবস্থান বের করার জন্য সিস্টেম এনটিটিগুলো উপলব্ধ রয়েছে।
- ডেভেলপার এনটিটি, যা আপনি সংজ্ঞায়িত করেন, সিস্টেম এনটিটির আওতার বাইরের ধারণাগুলো সম্পর্কেও তথ্য আহরণ করে। উদাহরণস্বরূপ, একটি ব্র্যান্ড তার স্বতন্ত্র পণ্যের নামগুলো শনাক্ত করার জন্য একটি ডেভেলপার এনটিটি তৈরি করতে পারে।
- সেশন এনটিটি, যা আপনিও নির্ধারণ করেন, শুধুমাত্র একটি নির্দিষ্ট কথোপকথনের ক্ষেত্রেই প্রযোজ্য হয়। উদাহরণস্বরূপ, কোনো নির্দিষ্ট ব্যবহারকারী বুকিং করার সময় যে সময়-সংবেদনশীল বিকল্পগুলো পান, তা বোঝানোর জন্য আপনি একটি সেশন এনটিটি তৈরি করতে পারেন।
পূর্বশর্ত
এগিয়ে যাওয়ার আগে, আপনাকে নিম্নলিখিত কোডল্যাবগুলি সম্পূর্ণ করতে হবে:
- Dialogflow দিয়ে একটি অ্যাপয়েন্টমেন্ট শিডিউল তৈরি করুন
- অ্যাকশনস অন গুগল-এর সাথে একটি ডায়ালগফ্লো চ্যাটবট সংযুক্ত করুন
আপনাকে Dialogflow-এর মৌলিক ধারণা এবং গঠন সম্পর্কেও বুঝতে হবে, যা আপনি 'Build a chatbot with Dialogflow' পাথওয়েতে থাকা নিম্নলিখিত ভিডিওগুলো থেকে জেনে নিতে পারেন:
আপনি যা শিখবেন
- Dialogflow-এ সিস্টেম এনটিটি কীভাবে তৈরি এবং ব্যবহার করবেন
- Dialogflow-তে ডেভেলপার এনটিটি কীভাবে তৈরি এবং ব্যবহার করবেন
- এজেন্টকে কীভাবে পরীক্ষা করবেন
আপনি যা তৈরি করবেন
- পূর্বনির্মিত একটি Dialogflow এজেন্টের উন্নত সংস্করণ
- ডায়ালগফ্লোতে ডেভেলপার সত্তা
- ডায়ালগফ্লোতে সিস্টেম সত্তা
আপনার যা যা লাগবে
- Dialogflow কনসোলে লগ ইন করার জন্য একটি ওয়েব ব্রাউজার এবং ইমেল ঠিকানা।
২. Dialogflow-এ সিস্টেম এনটিটি কীভাবে সক্রিয় এবং ব্যবহার করবেন
- Dialogflow কনসোলে যান।
- আপনার পূর্বে তৈরি করা অ্যাপয়েন্টমেন্ট শিডিউলার এজেন্টটি নির্বাচন করুন।

- ক্লিক ইনটেন্ট ।

- ইন্টেন্ট সেটিংস খুলতে শিডিউল অ্যাপয়েন্টমেন্টস-এ ক্লিক করুন।
আপনি "আগামীকাল বিকাল ৪টার জন্য একটি অ্যাপয়েন্টমেন্ট সেট করুন"-এর মতো প্রশিক্ষণমূলক বাক্য লক্ষ্য করবেন, যেখানে তারিখ এবং সময় স্বয়ংক্রিয়ভাবে @sys.date এবং @sys.time হিসাবে নিষ্কাশিত হয়। Dialogflow কীভাবে স্বয়ংক্রিয়ভাবে সিস্টেম এনটিটিগুলো নিষ্কাশন করে তা দেখতে নির্দ্বিধায় আরও প্রশিক্ষণমূলক বাক্য যোগ করুন।

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

- সত্তা তৈরি করুন -এ ক্লিক করুন।

- এনটিটি নেম (Entity name) হিসেবে 'AppointmentType' লিখুন, তারপর নিচের ছবিতে দেখানো অনুযায়ী কয়েকটি প্রতিশব্দসহ দুটি রেফারেন্স ভ্যালু (reference values) হিসেবে 'Vehicle registration' এবং 'Driver license' যোগ করুন। সেভ (Save ) বাটনে ক্লিক করুন।

আপনি এনটিটি টাইপ হিসেবে আরও পরিষেবা সহ আরও সারি যোগ করতে পারেন।
- সংরক্ষণ করুন- এ ক্লিক করুন।
নতুন তৈরি ডেভেলপার সত্তাকে অন্তর্ভুক্ত করার জন্য অভিপ্রায় সম্পাদনা করুন।
- ক্লিকের অভিপ্রায় ।
- schedule appointment intent-এ "আগামীকাল বিকাল ৩টার জন্য ড্রাইভিং লাইসেন্সের জন্য একটি অ্যাপয়েন্টমেন্ট সেট করুন" লিখুন।
আপনি বিকেল ৩টায় এবং আগামীকাল ডেভেলপার ও সিস্টেম সত্তা হিসেবে ড্রাইভিং লাইসেন্সের স্বয়ংক্রিয় স্বীকৃতি দেখতে পাবেন।

- নিম্নলিখিত প্রশিক্ষণ বাক্যাংশগুলি লিখুন:
- সোমবার লাইসেন্স নবায়নের অ্যাপয়েন্টমেন্ট
- লাইসেন্সের জন্য সোমবার দুপুর ২টায় একটি অ্যাপয়েন্টমেন্ট ঠিক করুন।
- সোমবারের জন্য যানবাহন নিবন্ধনের অ্যাপয়েন্টমেন্ট

- আপনাকে সময় এবং তারিখের মতো AppointmentType-কে একটি আবশ্যক ফিল্ড করতে হবে। এটি করার জন্য, Actions and Parameters- এ যান, তারপর AppointmentType সারিতে থাকা চেকবক্সটি সিলেক্ট করুন।

- একটি প্রম্পট যোগ করুন, যেমন "আপনি কী ধরনের পরিষেবা পেতে চাইছেন? ডিএমভি ড্রাইভার লাইসেন্স এবং যানবাহন নিবন্ধন পরিষেবা প্রদান করে।" যদি ব্যবহারকারী অ্যাপয়েন্টমেন্টের ধরন উল্লেখ না করেন, তাহলে প্রম্পটটি ব্যবহৃত হবে।
- সংরক্ষণ করুন- এ ক্লিক করুন।
৪. আপনার চ্যাটবট পরীক্ষা করুন
আপনি অ্যাকশন সিমুলেটরে আপনার চ্যাটবট পরীক্ষা করতে পারেন, অথবা পূর্বে শেখা ওয়েব বা গুগল হোম ইন্টিগ্রেশন ব্যবহার করতে পারেন।
টেস্ট কেস ১
এই ক্ষেত্রে, ব্যবহারকারী তিনটি তথ্য ছাড়াই শুধু একটি অ্যাপয়েন্টমেন্ট সেট করতে চান, তাই Dialogflow আপনার সেট করা স্লট-ফিলিং প্রম্পট ব্যবহার করে তারিখ, সময় এবং অ্যাপয়েন্টমেন্টের ধরন জানতে চায়।
- ব্যবহারকারী: "একটি অ্যাপয়েন্টমেন্ট ঠিক করুন।"
- চ্যাটবট: "কোন তারিখ?"
- ব্যবহারকারী: "২৩শে মে।"
- চ্যাটবট: "আপনি কখন আসতে চান?"
- ব্যবহারকারী: "সকাল ১০টা"
- চ্যাটবট: "আপনি কী ধরনের পরিষেবা পেতে চাইছেন? ডিএমভি ড্রাইভিং লাইসেন্স এবং যানবাহন নিবন্ধনের পরিষেবা প্রদান করে।"
- ব্যবহারকারী: "লাইসেন্স।"
- চ্যাটবট: "২০১৯-০৫-২৩ তারিখে সকাল ১০:০০:০০ টায় আপনার যানবাহন নিবন্ধনের অ্যাপয়েন্টমেন্টটি সম্পন্ন হলো। তখন দেখা হবে!"
টেস্ট কেস ২
এই ক্ষেত্রে, ব্যবহারকারী অসম্পূর্ণ তথ্য দিয়ে একটি অ্যাপয়েন্টমেন্ট ঠিক করতে চান, তাই Dialogflow আপনার সেট করা স্লট-ফিলিং প্রম্পটগুলো ব্যবহার করে তারিখ, সময় এবং অ্যাপয়েন্টমেন্টের ধরন জানতে চায়।
- ব্যবহারকারী: "আগামীকাল বিকাল ৪টার জন্য একটি অ্যাপয়েন্টমেন্ট প্রয়োজন।"
- চ্যাটবট: "আপনি কী ধরনের পরিষেবা পেতে চাইছেন? ডিএমভি ড্রাইভিং লাইসেন্স এবং যানবাহন নিবন্ধনের পরিষেবা প্রদান করে।"
- ব্যবহারকারী: "লাইসেন্স।"
- চ্যাটবট: "২০১৯-০৪-২৪ তারিখে ১৬:০০:০০-এ আপনার ড্রাইভিং লাইসেন্সের অ্যাপয়েন্টমেন্টটি নির্ধারিত হয়ে গেছে। তখন দেখা হবে!"
টেস্ট কেস ৩
এক্ষেত্রে, ব্যবহারকারী সমস্ত তথ্য প্রদান করেন। ডায়ালগফ্লো সেই তথ্য প্রক্রিয়াকরণ করে এবং অ্যাপয়েন্টমেন্ট নিশ্চিতকরণসহ একটি প্রতিক্রিয়া জানায়।
- ব্যবহারকারী: "আগামীকাল দুপুর ২টায় গাড়ি নিবন্ধনের জন্য একটি অ্যাপয়েন্টমেন্ট ঠিক করুন।"
- চ্যাটবট: "২০১৯-০৪-২৪ তারিখে দুপুর ২:০০:০০ টায় আপনার যানবাহন নিবন্ধনের অ্যাপয়েন্টমেন্টটি সম্পন্ন হলো। তখন দেখা হবে!"
৫. পরিষ্কার করুন
যদি আপনি অন্যান্য Dialogflow কোডল্যাবগুলো সম্পন্ন করার পরিকল্পনা করেন, তাহলে আপাতত এই অংশটি এড়িয়ে যান এবং পরে আবার ফিরে আসতে পারেন।
Dialogflow এজেন্টটি মুছে ফেলুন
- ক্লিক করুন
আপনার বর্তমান এজেন্টের পাশে।

- জেনারেল ট্যাবে, একদম নিচে স্ক্রোল করুন এবং ‘ডিলিট দিস এজেন্ট’ এ ক্লিক করুন।
- ডায়ালগ বক্সে Delete টাইপ করুন এবং Delete-এ ক্লিক করুন।
৬. অভিনন্দন
আপনি ডেভেলপার এনটিটি ব্যবহার করে কাস্টম ইনপুট গ্রহণ করতে পারে এমন একটি চ্যাটবট তৈরি করেছেন। আপনি এখন একজন চ্যাটবট ডেভেলপার!
আরও জানুন
আরও জানতে নিম্নলিখিত উৎসগুলো দেখুন:
- পরিপূর্ণতা বুঝুন: ক্যালেন্ডারের সাথে ডায়ালগফ্লো কীভাবে একীভূত করবেন
- Dialogflow গিটহাব পেজে কোডের নমুনা রয়েছে।