অভিপ্রায়

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

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

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

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

ব্যবহারকারীর অভিপ্রায়

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

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

ব্যবহারকারীর উদ্দেশ্য তৈরি করার সময়, আপনি নিম্নলিখিত উপাদানগুলি নির্দিষ্ট করুন:

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

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

  • প্যারামিটারগুলি হল টাইপ করা ডেটা যা আপনি ব্যবহারকারীর ইনপুট থেকে বের করতে চান। একটি প্যারামিটার তৈরি করতে, আপনি NLU ইঞ্জিনকে অবহিত করার জন্য প্রকার সহ প্রশিক্ষণ বাক্যাংশগুলিকে টীকা করেন যে আপনি ব্যবহারকারীর ইনপুটের অংশগুলি বের করতে চান। আপনি সিস্টেমের প্রকারগুলি ব্যবহার করতে পারেন বা প্যারামিটারগুলির জন্য আপনার নিজস্ব কাস্টম প্রকারগুলি তৈরি করতে পারেন৷

যখন NLU ইঞ্জিন ব্যবহারকারীর ইনপুটে একটি প্যারামিটার মিল সনাক্ত করে, তখন এটি একটি টাইপ করা প্যারামিটার হিসাবে মানটি বের করে, যাতে আপনি একটি দৃশ্যে এটির সাথে যুক্তি চালাতে পারেন। যদি একটি ইন্টেন্ট প্যারামিটারের একটি দৃশ্য স্লটের মতো একই নাম থাকে, তাহলে সহকারী রানটাইম স্বয়ংক্রিয়ভাবে দৃশ্যের স্লটটিকে উদ্দেশ্য প্যারামিটারের মান দিয়ে পূরণ করে। আরও তথ্যের জন্য স্লট মান ম্যাপিং ডকুমেন্টেশন দেখুন।

ইন্টেন্ট প্যারামিটারগুলি "আংশিক" মিলগুলিকেও সমর্থন করে। উদাহরণস্বরূপ, যদি আপনি DateTime একটি প্রকার নির্দিষ্ট করেন এবং ব্যবহারকারী শুধুমাত্র একটি তারিখ প্রদান করে, NLU এখনও একটি প্যারামিটার হিসাবে আংশিক মান বের করে।

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

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

সিস্টেমের উদ্দেশ্য

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

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

সিস্টেম ইন্টেন্ট সংস্করণ করা হয়. আপনি একটি সিস্টেমের অভিপ্রায়ের একটি নির্দিষ্ট সংস্করণ ব্যবহার করতে পারেন যতক্ষণ পর্যন্ত সেই সংস্করণটি সহায়ক দ্বারা সমর্থিত হয়। যদি একটি অ্যাকশন একটি সিস্টেমের অভিপ্রায়ের একটি অসমর্থিত সংস্করণ ব্যবহার করে, সেই সিস্টেমের অভিপ্রায়টি স্বয়ংক্রিয়ভাবে একটি সমর্থিত সংস্করণে আপডেট হয়।

অভিপ্রায়ের তালিকা

অভিপ্রায় বর্ণনা
actions.intent.MAIN প্রতিটি অ্যাকশন প্রজেক্টে অবশ্যই এই ডিফল্ট প্রধান আমন্ত্রণ থাকতে হবে, যা আপনার প্রদর্শন নামের সাথে সংযুক্ত। ব্যবহারকারীরা অ্যাকশনটি শুরু করতে "Ok Google, <display name>"-এর সাথে কথা বলুন।

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

এই অভিপ্রায়গুলি মিলে যায় যখন ব্যবহারকারী এমন কিছু বলে যা আপনার অ্যাকশনে একটি অভিপ্রায়ের সাথে মেলে না। আপনি চূড়ান্ত অভিপ্রায়ে পৃথক রিপ্রম্পট এবং একটি প্রস্থান বার্তা সেট করতে পারেন।

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

8 সেকেন্ড পরে ব্যবহারকারীর কাছ থেকে কোনো ইনপুট না থাকলে এই অভিপ্রায়গুলি মিলে যায়৷ আপনি প্রতিটি অভিপ্রায়ের জন্য পৃথক রিপ্রম্পট এবং চূড়ান্ত অভিপ্রায়ে একটি প্রস্থান বার্তা সেট করতে পারেন।

actions.intent.CANCEL কথোপকথনের সময় ব্যবহারকারী যখন আপনার অ্যাকশন থেকে প্রস্থান করতে চায় তখন এই অভিপ্রায়টি মিলে যায়, যেমন একজন ব্যবহারকারী বলছেন, "আমি প্রস্থান করতে চাই।"
actions.intent.MEDIA_STATUS_FINISHED এই অভিপ্রায়টি মিলে যায় এবং আপনার অ্যাকশনে পাঠানো হয় যখন কোনো ব্যবহারকারী মিডিয়া প্লেব্যাক সম্পূর্ণ করে বা মিডিয়ার পরবর্তী অংশে চলে যায়।
actions.intent.MEDIA_STATUS_PAUSED এই অভিপ্রায়টি মিলে যায় এবং আপনার অ্যাকশনে পাঠানো হয় যখন কোনো ব্যবহারকারী মিডিয়া প্রতিক্রিয়ায় মিডিয়া প্লেব্যাকে বিরতি দেয়।
actions.intent.MEDIA_STATUS_STOPPED এই অভিপ্রায় মিলে যায় এবং আপনার অ্যাকশনে পাঠানো হয় যখন কোনো ব্যবহারকারী মিডিয়া প্রতিক্রিয়া থেকে মিডিয়া প্লেব্যাক বন্ধ করে বা প্রস্থান করে।
actions.intent.MEDIA_STATUS_FAILED যখন মিডিয়া প্রতিক্রিয়ার প্লেয়ার খেলতে ব্যর্থ হয় তখন এই অভিপ্রায়টি মিলে যায় এবং আপনার অ্যাকশনে পাঠানো হয়।
actions.intent.YES

এই অভিপ্রায়টি মেলে যখন একজন ব্যবহারকারী আপনার অ্যাকশনের জন্য একটি ইতিবাচক প্রতিক্রিয়া প্রদান করে।

actions.intent.NO

এই অভিপ্রায় মিলে যায় যখন কোনো ব্যবহারকারী আপনার অ্যাকশনে নেতিবাচক প্রতিক্রিয়া প্রদান করে।

actions.intent.REPEAT

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

actions.intent.PLAY_GAME এই অভিপ্রায়টি মিলে যায় যখন একজন ব্যবহারকারী একটি গেম খেলতে বলে। এই অভিপ্রায় আপনাকে অ্যাকশনস অন Google দ্বারা প্রদত্ত একটি অন্তর্নিহিত আহ্বান (আপনার প্রদর্শনের নাম ব্যবহার না করে আমন্ত্রণ) বেছে নিতে দেয়।

অন্যান্য ভাষার জন্য সমর্থন যোগ করুন

YES , NO এবং NO_MATCH এর মতো কিছু সিস্টেমের উদ্দেশ্য শুধুমাত্র ইংরেজিতে সমর্থিত। অন্যান্য ভাষার জন্য সমর্থন যোগ করতে, আপনাকে অবশ্যই ব্যবহারকারীর অভিপ্রায় তৈরি করতে হবে যা সেই সিস্টেমের উদ্দেশ্যগুলির সাথে মেলে। আপনার নতুন অভিপ্রায়গুলি আপনার কোডে একইভাবে পরিচালনা করা আবশ্যক যেভাবে আপনি প্রয়োগ করেছেন সিস্টেমের অভিপ্রায়গুলি।

উদাহরণস্বরূপ, ধরে নিন আপনি একটি নতুন ক্রিয়া বিকাশ করছেন এবং YES সিস্টেম অভিপ্রায় বাস্তবায়ন করেছেন। YES সিস্টেমের অভিপ্রায় শুধুমাত্র ইংরেজিতে সমর্থিত, তবে আপনি চান যে আপনার অ্যাপটি জার্মান এবং জাপানি ভাষায় ইন্টারঅ্যাকশন সমর্থন করুক। অতিরিক্ত ভাষা সমর্থন করার জন্য, আপনি একটি অভিপ্রায় তৈরি করুন যাতে জার্মান এবং জাপানিদের জন্য প্রশিক্ষণ বাক্যাংশ অন্তর্ভুক্ত থাকে এবং তারপরে আপনি যে হ্যান্ডলিংটি YES সিস্টেমের অভিপ্রায়ের জন্য ব্যবহার করেছেন তা বাস্তবায়ন করুন৷

ব্যবহারকারীর অভিপ্রায় তৈরি সম্পর্কে আরও জানুন।

আপনার ব্যবহারকারীর অভিপ্রায় স্থানীয়করণ সম্পর্কে আরও জানুন।

কোন ম্যাচ ফলন

যখন কোনও ব্যবহারকারীর প্রতিক্রিয়া আপনার উদ্দেশ্যগুলির একটির সাথে মেলে না, তখন সহকারী ইনপুট পরিচালনা করার চেষ্টা করে। এই আচরণ ব্যবহারকারীদের কথোপকথনের মাঝখানে অ্যাকশন পরিবর্তন করতে সহায়তা করে। উদাহরণস্বরূপ, একজন ব্যবহারকারী জিজ্ঞাসা করেন, "এই সপ্তাহে কোন ফিল্ম চলছে?" এবং তারপর কথোপকথনের মাঝখানে প্রসঙ্গ পরিবর্তন করে: "আগামীকাল আবহাওয়া কেমন?" এই উদাহরণে, কারণ "আগামীকাল আবহাওয়া কি?" প্রাথমিক প্রম্পট দ্বারা ট্রিগার হওয়া কথোপকথনের একটি বৈধ প্রতিক্রিয়া নয়, সহকারী স্বয়ংক্রিয়ভাবে ম্যাচটি পরিচালনা করার চেষ্টা করে এবং ব্যবহারকারীকে একটি উপযুক্ত কথোপকথনে নিয়ে যায়।

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

যেহেতু সহকারী একটি বৈধ নো-ম্যাচ পরিস্থিতিতে প্রতিক্রিয়া জানাতে আপনার অ্যাকশনে বাধা দিতে পারে, তাই ব্যবহারকারীর প্রশ্নগুলি পূরণ করতে NO_MATCH সিস্টেমের উদ্দেশ্য ব্যবহার করবেন না। ব্যবহারকারীকে পুনরায় অনুরোধ করার জন্য আপনার শুধুমাত্র NO_MATCH উদ্দেশ্য ব্যবহার করা উচিত।