কথোপকথনের মডেল তৈরি করুন

একটি কথোপকথন মডেল সংজ্ঞায়িত করে যে ব্যবহারকারীরা আপনার অ্যাকশনগুলিকে কী বলতে পারে এবং কীভাবে আপনার অ্যাকশনগুলি ব্যবহারকারীদের প্রতিক্রিয়া জানায়৷ আপনার কথোপকথনের মডেলের প্রধান বিল্ডিং ব্লকগুলি হল উদ্দেশ্য , প্রকার , দৃশ্য এবং প্রম্পট । আপনার একটি অ্যাকশন চালু করার পরে, Google অ্যাসিস্ট্যান্ট ব্যবহারকারীকে সেই অ্যাকশনের কাছে হস্তান্তর করে এবং অ্যাকশন আপনার কথোপকথনের মডেলের উপর ভিত্তি করে ব্যবহারকারীর সাথে একটি কথোপকথন শুরু করে, যার মধ্যে রয়েছে:

  • বৈধ ব্যবহারকারীর অনুরোধ - ব্যবহারকারীরা আপনার অ্যাকশনগুলিতে কী বলতে পারে তা নির্ধারণ করতে, আপনি অ্যাসিস্ট্যান্ট NLU-কে বৃদ্ধি করে এমন উদ্দেশ্যগুলির একটি সংগ্রহ তৈরি করেন, যাতে এটি আপনার অ্যাকশনগুলির জন্য নির্দিষ্ট অনুরোধগুলি বুঝতে পারে। প্রতিটি অভিপ্রায় প্রশিক্ষণ বাক্যাংশগুলিকে সংজ্ঞায়িত করে যা বর্ণনা করে যে ব্যবহারকারীরা সেই অভিপ্রায়ের সাথে মেলে কী বলতে পারে৷ সহকারী NLU অনুরূপ বাক্যাংশগুলি অন্তর্ভুক্ত করার জন্য এই প্রশিক্ষণ বাক্যাংশগুলিকে প্রসারিত করে এবং সেই বাক্যাংশগুলির একত্রিতকরণ অভিপ্রায়ের ভাষা মডেলে পরিণত হয়।

  • অ্যাকশন লজিক এবং রেসপন্স - দৃশ্যগুলি প্রসেস ইনটেন্ট, প্রয়োজনীয় লজিক চালায় এবং ব্যবহারকারীর কাছে ফিরে যাওয়ার জন্য প্রম্পট তৈরি করে।

চিত্র 1. একটি কথোপকথনের মডেলে উদ্দেশ্য, প্রকার, দৃশ্য এবং প্রম্পট থাকে যা আপনার ব্যবহারকারীর অভিজ্ঞতাকে সংজ্ঞায়িত করে। আহ্বানের জন্য যোগ্য অভিপ্রায়গুলিও আপনার কথোপকথনের সাথে মিলে যাওয়ার জন্য বৈধ।

বৈধ ব্যবহারকারী অনুরোধ সংজ্ঞায়িত করুন

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

ব্যবহারকারীর উদ্দেশ্য তৈরি করুন

ব্যবহারকারীর অভিপ্রায় আপনাকে আপনার নিজস্ব প্রশিক্ষণ বাক্যাংশগুলিকে সংজ্ঞায়িত করতে দেয় যা ব্যবহারকারীরা আপনার অ্যাকশনগুলিতে কী বলতে পারে তা নির্ধারণ করে। সহকারী NLU এই বাক্যাংশগুলি ব্যবহার করে আপনার ব্যবহারকারীরা কী বলে তা বোঝার জন্য নিজেকে প্রশিক্ষণ দিতে। ব্যবহারকারীরা যখন ব্যবহারকারীর অভিপ্রায়ের ভাষার মডেলের সাথে মেলে এমন কিছু বলে, তখন সহকারী অভিপ্রায়ের সাথে মেলে এবং আপনার অ্যাকশনকে অবহিত করে, যাতে আপনি যুক্তি প্রয়োগ করতে পারেন এবং ব্যবহারকারীদের প্রতিক্রিয়া জানাতে পারেন।

চিত্র 1 . ব্যবহারকারীর অভিপ্রায়ের উদাহরণ

একটি ব্যবহারকারীর অভিপ্রায় তৈরি করতে:

  1. বিকাশ ট্যাবে, ব্যবহারকারীর উদ্দেশ্য > ⊕ (নতুন অভিপ্রায়) ক্লিক করুন, একটি নাম নির্দিষ্ট করুন এবং অভিপ্রায় তৈরি করতে এন্টার টিপুন।
  2. বাম মেনুতে নতুন তৈরি অভিপ্রায় ক্লিক করুন। অভিপ্রায় সম্পাদক উপস্থিত হয়.
  3. অভিপ্রায় প্রশিক্ষণ বাক্যাংশ যোগ করুন. সহকারী NLU-কে প্রশিক্ষণ দিতে আপনার যতটা সম্ভব প্রশিক্ষণ বাক্যাংশ যোগ করা উচিত।
  4. ঐচ্ছিক : সহকারী NLU-কে নির্দেশ দেওয়ার জন্য প্রশিক্ষণ বাক্যাংশ টীকা করুন ব্যবহারকারীর ইনপুট থেকে টাইপ করা প্যারামিটারগুলিকে পার্স করতে এবং বের করতে যা একটি নির্দিষ্ট প্রকারের সাথে মেলে:
    1. নতুন প্যারামিটার যোগ করুন ক্ষেত্রে প্যারামিটারের জন্য একটি নাম লিখুন।
    2. ড্রপ ডাউন মেনু থেকে একটি সিস্টেম টাইপ নির্বাচন করুন বা একটি কাস্টম টাইপ তৈরি করুন
    3. প্যারামিটার একটি তালিকা হলে নির্দিষ্ট করুন। এটি প্যারামিটারটিকে একই ধরণের একাধিক মান সংগ্রহ করতে দেয়।
    4. প্রশিক্ষণ বাক্যাংশ যোগ করুন বিভাগে, আপনি যে টাইপটি প্রয়োগ করতে চান তা হাইলাইট করুন। এটি সহকারী NLU কে হাইলাইট করা পাঠ্যটিকে একটি প্যারামিটার হিসাবে বিবেচনা করতে বলে৷ ব্যবহারকারীরা যদি এমন কিছু বলে যা টাইপের সাথে মেলে, NLU সেই মানটিকে প্যারামিটার হিসাবে বের করে।

সিস্টেমের উদ্দেশ্য তৈরি করুন

সিস্টেম ইন্টেন্টগুলি আপনাকে সাধারণ ইভেন্টগুলির জন্য পূর্ব-নির্ধারিত ভাষা মডেলগুলির সাথে ইন্টেন্টগুলির সুবিধা নিতে দেয় যেমন ব্যবহারকারীরা আপনার অ্যাকশনটি ছেড়ে দিতে চান বা যখন ব্যবহারকারীর ইনপুট সময় শেষ হয়ে যায়। সিস্টেমের উদ্দেশ্য তৈরি করতে:

  1. বিকাশ ট্যাবে, সিস্টেম ইন্টেন্টে ক্লিক করুন। সিস্টেম ইন্টেন্টের একটি সেট উপলব্ধ, যেমন NO_MATCH , NO_INPUT , এবং CANCEL
  2. প্রতিটি সিস্টেমের অভিপ্রায়ে তাদের নিজস্ব হ্যান্ডলার থাকে, যা আপনি প্রতিটি ধরণের সিস্টেমের উদ্দেশ্যে কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ, সিস্টেম ইন্টেন্ট আপনাকে ওয়েবহুক ইভেন্ট ট্রিগার করতে দেয় এবং ইভেন্টটি ঘটলে স্ট্যাটিক প্রম্পট পাঠাতে দেয়।

কাস্টম প্রকার তৈরি করুন

কাস্টম প্রকারগুলি আপনাকে NLU-কে প্রশিক্ষণ দেওয়ার জন্য আপনার নিজস্ব টাইপ স্পেসিফিকেশন তৈরি করতে দেয় যাতে মানগুলির একটি সেট বোঝা যায় যা একটি একক কীতে ম্যাপ করা উচিত।

চিত্র ২ . একটি কাস্টম ধরনের উদাহরণ

একটি কাস্টম টাইপ তৈরি করতে:

  1. বিকাশ ট্যাবে, প্রকার > ⊕ (নতুন প্রকার) এ ক্লিক করুন।
  2. এই টাইপ সমর্থনের সাথে কি ধরনের মানগুলি টাইপ মানগুলি কীভাবে প্রদান করবেন তা নির্বাচন করুন? অধ্যায়:

    • শব্দ এবং প্রতিশব্দ আপনাকে একটি একক কীতে একাধিক মান ম্যাপ করতে দেয়, যাকে একটি এন্ট্রি বলা হয়। আপনার টাইপ এক বা একাধিক এন্ট্রি থাকতে পারে. আপনি যদি এই বিকল্পটি বেছে নেন, তাহলে আপনি নিম্নলিখিত NLU সেটিংসও সক্ষম করতে পারেন:
      • অস্পষ্ট ম্যাচিং সক্ষম করুন - এটি একাধিক শব্দের সাথে এন্ট্রিগুলিকে মিল করার অনুমতি দেয়, এমনকি যখন শব্দগুলি একটি ভিন্ন ক্রমে বলা হয়।
      • অজানা মান গ্রহণ করুন - আপনি যখন সমস্ত সম্ভাব্য মান নির্দিষ্ট করতে পারবেন না, তখন এটি আশেপাশের ইনপুট এবং অভিপ্রায় প্রশিক্ষণ ডেটার উপর ভিত্তি করে অজানা শব্দ বা বাক্যাংশ গ্রহণ করবে, যেমন আইটেমগুলি যেগুলি একটি মুদির তালিকায় যোগ করা যেতে পারে৷
    • রেগুলার এক্সপ্রেশন টাইপটিকে Google এর RE2 স্ট্যান্ডার্ডের উপর ভিত্তি করে রেগুলার এক্সপ্রেশন প্যাটার্নের সাথে মেলাতে দেয়।
    • বিনামূল্যের ফর্ম টেক্সট টাইপকে ব্যবহারকারী যা বলে তা মেলে।
  3. এন্ট্রি যোগ করুন বিভাগে টাইপ মান নির্দিষ্ট করুন। আপনি যদি ফ্রি ফর্ম টেক্সট বেছে নেন, আপনার টাইপ যেকোনো টেক্সটের সাথে মেলে, তাই আপনাকে কোনো এন্ট্রি দিতে হবে না।

অ্যাকশন লজিক এবং প্রতিক্রিয়া তৈরি করুন

সহকারী NLU ব্যবহারকারীর অনুরোধগুলিকে উদ্দেশ্যের সাথে মেলে, যাতে আপনার অ্যাকশন সেগুলি দৃশ্যে প্রক্রিয়া করতে পারে। দৃশ্যগুলি শক্তিশালী লজিক নির্বাহক যা আপনাকে কথোপকথনের সময় ইভেন্টগুলি প্রক্রিয়া করতে দেয়।

চিত্র 3 । একটি কাস্টম দৃশ্যের উদাহরণ

একটি দৃশ্য তৈরি করুন

নিম্নলিখিত বিভাগগুলি বর্ণনা করে যে কীভাবে দৃশ্য তৈরি করা যায় এবং প্রতিটি দৃশ্যের জীবনচক্র পর্যায়ের জন্য কার্যকারিতা সংজ্ঞায়িত করা যায়।

একটি দৃশ্য তৈরি করতে:

  1. ডেভেলপ ট্যাবে, দৃশ্য > ⊕ (নতুন দৃশ্য) এ ক্লিক করুন, একটি নাম উল্লেখ করুন এবং একটি দৃশ্য তৈরি করতে এন্টার টিপুন।
  2. বাম মেনুতে নতুন তৈরি দৃশ্যে ক্লিক করুন। দৃশ্য সম্পাদক উপস্থিত হয়.

এককালীন সেটআপ সংজ্ঞায়িত করুন

যখন একটি দৃশ্য প্রথম সক্রিয় হয়, আপনি অন এন্টার স্টেজে এককালীন কাজগুলি সম্পাদন করতে পারেন। অন ​​এন্টার স্টেজ শুধুমাত্র একবারই এক্সিকিউট করে এবং এটিই একমাত্র স্টেজ যা দৃশ্যের এক্সিকিউশন লুপের ভিতরে চলে না।

  1. একটি দৃশ্যের মধ্যে, এর কার্যকারিতা নির্দিষ্ট করতে অন এন্টার স্টেজে ক্লিক করুন। আপনি এই পর্যায়ে নিম্নলিখিত কার্যকারিতা নির্দিষ্ট করতে পারেন:

    • আপনার ওয়েবহুক কল করুন - একটি ওয়েবহুক ট্রিগার করে। ওয়েবহুক সম্পর্কে আরও তথ্যের জন্য ওয়েবহুক ডকুমেন্টেশন দেখুন।
    • প্রম্পট পাঠান - ব্যবহারকারীকে স্ট্যাটিক প্রম্পট নির্দিষ্ট করুন যাতে তারা কথোপকথন চালিয়ে যেতে জানে। প্রম্পট নির্দিষ্ট করার বিষয়ে আরও তথ্যের জন্য প্রম্পট ডকুমেন্টেশন দেখুন।
    চিত্র 4 । এন্টার স্টেজে একটি দৃশ্যের উদাহরণ

শর্ত চেক করুন

দৃশ্য সম্পাদনের প্রবাহ নিয়ন্ত্রণ করতে শর্তাবলী আপনাকে স্লট ফিলিং, সেশন স্টোরেজ, ইউজার স্টোরেজ এবং হোম স্টোরেজ প্যারামিটার চেক করতে দেয়।

  1. একটি দৃশ্যের মধ্যে, শর্ত পর্যায়ের জন্য + আইকনে ক্লিক করুন। কন্ডিশন এডিটর ডানদিকে দেখা যাচ্ছে। আপনি এই পর্যায়ে নিম্নলিখিত কার্যকারিতা নির্দিষ্ট করতে পারেন:

    • শর্ত - বেস লজিক অফ করার জন্য প্রকৃত শর্তসাপেক্ষ বিবৃতি নির্দিষ্ট করুন। সিনট্যাক্স তথ্যের জন্য শর্ত ডকুমেন্টেশন দেখুন.
    • আপনার ওয়েবহুক কল করুন - একটি ওয়েবহুক ট্রিগার করে। ওয়েবহুক সম্পর্কে আরও তথ্যের জন্য ওয়েবহুক ডকুমেন্টেশন দেখুন।
    • প্রম্পট পাঠান - ব্যবহারকারীকে পাঠানোর জন্য স্ট্যাটিক প্রম্পট নির্দিষ্ট করে, যাতে তারা কথোপকথন চালিয়ে যেতে জানে। প্রম্পট নির্দিষ্ট করার বিষয়ে আরও তথ্যের জন্য প্রম্পট ডকুমেন্টেশন দেখুন।
    • ট্রানজিশন - শর্তসাপেক্ষ বিবৃতি সত্য হলে স্থানান্তরের দৃশ্য নির্দিষ্ট করে।
চিত্র 5 । একটি দৃশ্যের অবস্থার পর্যায়ের উদাহরণ

স্লট ভরাট সংজ্ঞায়িত করুন

স্লট আপনাকে ব্যবহারকারীর ইনপুট থেকে টাইপ করা প্যারামিটার বের করতে দেয়।

দৃশ্য সম্পাদকে, স্লট ফিলিং স্টেজের জন্য + আইকনে ক্লিক করুন। স্লটের জন্য সম্পাদক ডানদিকে প্রদর্শিত হবে। আপনি একটি স্লটের নিম্নলিখিত বৈশিষ্ট্যগুলি নির্দিষ্ট করতে পারেন:

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

নির্দিষ্ট স্লট প্রকারের জন্য (যেমন লেনদেন বা ব্যবহারকারীর ব্যস্ততার সাথে সম্পর্কিত), একটি অতিরিক্ত বিভাগ উপস্থিত হয় যেখানে আপনি স্লট কনফিগার করতে পারেন। স্লট কনফিগারেশন আপনার প্রদান করা বৈশিষ্ট্যের উপর ভিত্তি করে ব্যবহারকারীদের জন্য কথোপকথন অভিজ্ঞতা পরিবর্তন করতে পারে।

একটি স্লট কনফিগার করতে, একটি JSON অবজেক্টের বৈশিষ্ট্যগুলি আপনার পূরণে (একটি সেশন প্যারামিটার হিসাবে উল্লেখ করা হয়েছে) বা ইনলাইন JSON সম্পাদকে প্রদান করুন। আপনি অ্যাকশন বিল্ডার JSON রেফারেন্সে প্রতিটি স্লট প্রকারের জন্য উপলব্ধ বৈশিষ্ট্যগুলি খুঁজে পেতে পারেন৷ উদাহরণস্বরূপ, actions.type.DeliveryAddressValue স্লটের ধরন DeliveryAddressValue স্লটের জন্য রেফারেন্স বিষয়বস্তুর সাথে মিলে যায়।

চিত্র 6 । একটি দৃশ্যের স্লট ফিলিং সেটিংসের উদাহরণ

স্লট মান ম্যাপিং

অনেক ক্ষেত্রে, পূর্ববর্তী অভিপ্রায়ের মিলের মধ্যে প্যারামিটার অন্তর্ভুক্ত থাকতে পারে যা আংশিক বা সম্পূর্ণভাবে একটি সংশ্লিষ্ট দৃশ্যের স্লট মান পূরণ করে। এই ক্ষেত্রে, ইন্টেন্ট প্যারামিটার দ্বারা ভরা সমস্ত স্লট দৃশ্যের স্লট ফিলিংয়ে ম্যাপ করে যদি স্লটের নামটি উদ্দেশ্য প্যারামিটার নামের সাথে মিলে যায়।

উদাহরণস্বরূপ, যদি একজন ব্যবহারকারী "আমি একটি বড় ভ্যানিলা কফি অর্ডার করতে চাই" বলে একটি পানীয় অর্ডার করার অভিপ্রায়ের সাথে মেলে, তাহলে সেই দৃশ্যে একই স্লট সংজ্ঞায়িত করলে আকার, গন্ধ এবং পানীয়ের প্রকারের জন্য বিদ্যমান স্লটগুলি সংশ্লিষ্ট দৃশ্যে ভরা বলে বিবেচিত হয়৷

ইনপুট প্রক্রিয়া করুন

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

  1. একটি দৃশ্যের মধ্যে, ব্যবহারকারীর অভিপ্রায় হ্যান্ডলিং বা সিস্টেম অভিপ্রায় হ্যান্ডলিং পর্যায়ের জন্য + আইকনে ক্লিক করুন। উদ্দেশ্য হ্যান্ডলারের জন্য সম্পাদক ডানদিকে প্রদর্শিত হবে। আপনি উদ্দেশ্য হ্যান্ডলারের নিম্নলিখিত কার্যকারিতা নির্দিষ্ট করতে পারেন:

    • অভিপ্রায় - আপনি এই দৃশ্যের মধ্যে যে অভিপ্রায়টি মেলাতে চান তা নির্দিষ্ট করে৷
    • আপনার ওয়েবহুক কল করুন - একটি ওয়েবহুক ট্রিগার করে। আপনি কীভাবে একটি ওয়েবহুক অনুরোধ পরিচালনা করতে পারেন সে সম্পর্কে আরও তথ্যের জন্য ওয়েবহুক ডকুমেন্টেশন দেখুন।
    • প্রম্পট পাঠান - ব্যবহারকারীকে স্ট্যাটিক প্রম্পট নির্দিষ্ট করুন, যাতে তারা কীভাবে প্রতিক্রিয়া জানাতে হয় তা জানে৷ প্রম্পট নির্দিষ্ট করার বিষয়ে আরও তথ্যের জন্য প্রম্পট ডকুমেন্টেশন দেখুন।
    • স্থানান্তর (যদি প্রযোজ্য হয়) - নির্দিষ্ট অভিপ্রায় মেলে যখন স্থানান্তর করতে দৃশ্যটি নির্দিষ্ট করে৷
চিত্র 7 । একটি দৃশ্যের ব্যবহারকারীর অভিপ্রায় হ্যান্ডলারের উদাহরণ
চিত্র 8 . একটি দৃশ্যের সিস্টেম ইন্টেন্ট হ্যান্ডলারের উদাহরণ