کنشهای مکالمه با اجازه دادن به توسعهدهندگان برای ایجاد تجربیات یا مکالمات سفارشی برای کاربران در دستیار، عملکرد Google Assistant را گسترش میدهد. در یک مکالمه، کنش مکالمه شما درخواستهای دستیار را بررسی میکند و پاسخها را با اجزای صوتی و تصویری برمیگرداند. کنشهای مکالمه همچنین میتوانند قبل از بازگرداندن پاسخ، به سرویسهای خارجی متصل شوند تا منطق مکالمه یا کسبوکار اضافه شود.
به عنوان مثال، کاربران میتوانند هنگام جستجوی اطلاعات، دریافت توصیه شخصی یا انجام تراکنشهای مربوط به پرداختهای دیجیتال، کنش مکالمه شما را برای دریافت پاسخ از سرویس انجام خارجی شما فراخوانی کنند.
موارد استفاده کنید
کنشهای مکالمه برای موارد استفاده ساده که تجربه دیگری را تکمیل میکنند بهترین کار را دارند. اقدامات مکالمه خوب اغلب در این دسته بندی های کلی قرار می گیرند:
- چیزهایی که مردم به راحتی می توانند پاسخ دهند. اقداماتی که میتوان با ورودی آشنا مانند زمان یا تاریخ انجام داد، مانند رزرو پرواز.
- اقدامات سریع، اما قانع کننده مفید. اینها معمولاً برای زمان بسیار کمی که صرف میکنند، فوراً به کاربران سود میرسانند، مانند یافتن زمان بازی بعدی تیم ورزشی مورد علاقهشان.
- اقداماتی که ذاتاً برای صدا مناسبتر هستند. اینها معمولاً کارهایی هستند که میخواهید بدون هندزفری انجام دهید، مانند دریافت مربی در حین یوگا یا ورزش سبک.
اقدامات مکالمه چگونه کار می کند
برخلاف برنامههای سنتی موبایل و دسکتاپ، که از پارادایمهای کامپیوتر محور استفاده میکنند، کاربران با Actions for the Assistant از طریق مکالمهای با صدای طبیعی و پشت سر هم تعامل دارند. کنشهای مکالمه با فراخوانی کاربر شروع میشوند و تا زمانی ادامه مییابند که کاربر خروج را انتخاب کند (با استفاده از عبارات از پیش تعیینشده) یا کنش مکالمه شما پایان مکالمه را نشان دهد.
در طول مکالمه، ورودیهای کاربر توسط دستیار از گفتار به متن تبدیل میشوند و به درخواستهای JSON برای پردازش زبان طبیعی تبدیل میشوند. این درخواستها به چیزی که به عنوان انجام مکالمه شما شناخته میشود ارسال میشود.
انجام مکالمه شما درخواست کاربر را به دادههای ساختاریافته تجزیه میکند، آن دادهها را پردازش میکند و یک پاسخ JSON وب هوک را به دستیار برمیگرداند. سپس دستیار پاسخ شما را پردازش کرده و به کاربر ارائه می دهد.
ایجاد سرویس پردازش زبان طبیعی خود می تواند چالش برانگیز باشد، بنابراین ما Dialogflow را به عنوان راهی برای مدیریت آن برای شما ارائه می دهیم. برای توسعهدهندگانی که نمیتوانند از Dialogflow استفاده کنند، Actions SDK را بهعنوان یک گزینه پشتیبان با یک مسیر توسعه جداگانه اما مرتبط ارائه میکنیم.
هنگامی که یک نماینده را در Dialogflow راهاندازی میکنید، انجام مکالمه شما با ویژگیهای Dialogflow، از جمله توانایی استفاده از Dialogflow تکمیل میشود. این رویکرد به شما امکان میدهد تا انجام مکالمه را از سرویسهای دیگری که ممکن است برای ارائه نتایج دلخواه به کاربران نیاز داشته باشید، جدا کنید.
ایجاد یک اقدام مکالمه
بیشتر ساختن کنش مکالمه شما، طراحی مکالمه و ایجاد تکمیل مکالمه شماست. مکالمه را به عنوان رابط کاربری برای کنش مکالمه خود در نظر بگیرید. باید به این فکر کنید که کاربران چگونه پروژه Actions شما را فراخوانی میکنند، چیزهای معتبری که میتوانند در یک مکالمه بگویند، و پروژه Actions شما چگونه به آنها پاسخ میدهد.
در پروژه Actions خود، متادیتا را برای انتشار پروژه ارائه می دهید و روشی برای انجام مکالمه مشخص می کنید. توسعه دهندگانی که از Dialogflow استفاده می کنند، عامل Dialogflow خود را با پروژه مرتبط می کنند، سپس از طریق Dialogflow انجام می دهند. برای توسعهدهندگانی که از Actions SDK استفاده میکنند، ایجاد مکالمه شامل کدنویسی و استقرار در قالب webhook مکالمه است.
هنگام طراحی مکالمه خود، توصیه می کنیم از فرآیندها و اصول طراحی خود استفاده کنید. رابط های مکالمه هنوز یک فناوری نسبتاً جدید هستند و یادگیری در مورد بهترین روش ها می تواند در زمان شما در آینده صرفه جویی کند.
انجام با استفاده از Dialogflow
هنگام ادغام با یک عامل Dialogflow، عامل NLU را برای درخواست های کاربر در کنش مکالمه شما مدیریت می کند. نماینده Dialogflow شما در این مرحله کارهای زیر را برای شما انجام می دهد:
- هر درخواست دریافتی از دستیار را بر اساس عبارات آموزشی که ارائه میدهید و زمینه مکالمه تجزیه میکند.
- هر درخواست را با یک هدف Dialogflow (همچنین به عنوان یک رویداد شناخته می شود) مطابقت می دهد.
- پارامترها را در موجودیت های Dialogflow استخراج می کند.
سپس عامل Dialogflow شما میتواند برای انجام برخی منطقها مانند فراخوانی REST API یا سرویسهای پشتیبان دیگری که پاسخی برای بازگشت به دستیار ایجاد میکند، اجرای خود را فراخوانی کند (که بهعنوان یک وب هوک مستقر شده است). این وبکهوک به عنوان تکمیل Dialogflow شما نیز شناخته میشود و از قالب Dialogflow webhook استفاده میکند.
ایجاد تکمیل مکالمه هنگام استفاده از Dialogflow در درجه اول شامل توسعه وب هوک تکمیل Dialogflow شما است. در اسناد Actions on Google، منابعی را پیدا خواهید کرد که به شما در طراحی، ساخت و آزمایش وبکهک اجرای Dialogflow کمک می کند. مهمتر از همه، این منابع شامل کتابخانه مشتری Node.js و کتابخانه مشتری جاوا است.
همانطور که با Dialogflow ساخت می کنید، از کنسول Dialogflow برای ایجاد اهداف، موجودیت ها و عبارات آموزشی Dialogflow استفاده می کنید.
برای اطلاعات کلی بیشتر درباره Dialogflow، میتوانید در مورد ادغام Actions on Google در اسناد Dialogflow مطالعه کنید.
انجام با استفاده از Actions SDK
ایجاد تکمیل مکالمه با Actions SDK در درجه اول شامل ایجاد و استقرار بسته Action شما است. بسته های اکشن در قالب ActionPackage
ایجاد می شوند و از فرمت گفتگوی webhook استفاده می کنند. یک بسته اکشن شامل تمام کنشها برای یک پروژه Actions معین است.
«دستیار» با استفاده از «Actions on Google intents» سؤالات کاربر را برای انجام مکالمه شما ارائه میکند. برای هر هدف، وب هوک تحقق شما باید هدف را تجزیه و تحلیل کند، آن را پردازش کند و پاسخ JSON را برای کاربر به دستیار برگرداند.
پاسخ
وقتی یک Action for the Assistant میسازید، مکالمات خود را برای سطوح مختلف طراحی میکنید، مانند مکالمه محوری برای بلندگوهای فعالشده با صدا یا مکالمه تصویری روی سطحی که دستیار از آن پشتیبانی میکند. این رویکرد به کاربران اجازه میدهد کارها را به سرعت از طریق صدا یا بصری انجام دهند.
در حین ایجاد رضایت، میتوانید از میان انواع پاسخهای جذاب برای دستیار انتخاب کنید تا به کاربران ارائه شود. اینها از حباب های چت حاوی متن ساده گرفته تا پاسخ های رسانه ای، چرخ فلک ها و حتی HTML با استفاده از بوم تعاملی را شامل می شود .
مراحل بعدی
برای شروع به ساختن اولین اقدام مکالمه خود، برای دستورالعمل های گام به گام دقیق ، Build Actions برای دستیار Google (سطح 1) را دنبال کنید.
سپس، میتوانید به راهنماهای ما برای ایجاد مکالمه خود با Dialogflow یا با Actions SDK ادامه دهید. همچنین میتوانید این منابع اضافی را برای ایجاد کنشهای مکالمه کاوش کنید:
- اقدامات در مخزن Google GitHub : نمونه کد و کتابخانه ها.
- r/GoogleAssistantDev : انجمن رسمی Reddit برای توسعه دهندگانی که با Google Assistant کار می کنند.