کنشهای مکالمه به شما امکان میدهد دستیار Google را با رابطهای مکالمه خود گسترش دهید که به کاربران امکان دسترسی به محصولات و خدمات شما را میدهد. اقدامات از موتور قدرتمند درک زبان طبیعی (NLU) Assistant برای پردازش و درک ورودی زبان طبیعی و انجام وظایف بر اساس آن ورودی استفاده می کند.
بررسی اجمالی
یک کنش مکالمه یک شی ساده است که یک نقطه ورود (به عنوان فراخوان) در یک مکالمه تعریف می کند:
- یک فراخوان مشخص میکند که کاربران چگونه به «دستیار» میگویند که میخواهند یک مکالمه را با یکی از «کنشهای» شما شروع کنند. فراخوانی یک Action با یک هدف واحد تعریف میشود که وقتی کاربران درخواست Action را میکنند مطابقت مییابد.
- یک مکالمه نحوه تعامل کاربران با یک Action را پس از فراخوانی تعریف میکند. شما مکالمات را با هدف ها ، انواع ، صحنه ها و درخواست ها می سازید.
- علاوه بر این، Actions شما میتواند کار اضافی را به انجام محول کند، که سرویسهای وب هستند که از طریق webhooks با Actions شما ارتباط برقرار میکنند. این به شما امکان می دهد اعتبار سنجی داده ها را انجام دهید، با سایر خدمات وب تماس بگیرید، منطق تجاری را انجام دهید و موارد دیگر.
شما یک یا چند اکشن را بر اساس موارد استفاده که برای کاربرانتان مهم است، در یک ظرف منطقی به نام پروژه اکشن با هم ترکیب میکنید. پروژه Actions شما شامل کل مدل فراخوانی شما (مجموعه همه فراخوانهای شما) است که به کاربران اجازه میدهد از مکانهای منطقی در مدل مکالمه شما شروع کنند (همه چیزهایی که کاربران میتوانند بگویند و همه راههای ممکن که شما به کاربران پاسخ میدهید).
فراخوانی
Invocation با نام نمایشی مرتبط است که نشاندهنده یک نام تجاری، نام یا شخصیت است که به کاربران اجازه میدهد از Assistant بخواهند تا Actions شما را فراخوانی کند. کاربران می توانند از این نام نمایشی به تنهایی (به نام فراخوان اصلی) یا در ترکیب با عبارات پیوندی اختیاری و عمیق برای فراخوانی اقدامات شما استفاده کنند.
به عنوان مثال، کاربران می توانند عبارات زیر را برای فراخوانی سه اقدام جداگانه در یک پروژه با نام نمایشی "Facts about Google" بیان کنند:
- "Ok Google، با حقایق در مورد Google صحبت کنید"
- "Ok Google, با Facts about Google صحبت کنید تا حقایق شرکت را دریافت کنید"
- "Ok Google, با Facts about Google صحبت کنید تا حقایق تاریخ را دریافت کنید"
اولین فراخوانی در مثال فراخوان اصلی است. این فراخوانی با هدف سیستم خاصی به نام actions.intent.MAIN
مرتبط است. فراخوان دوم و سوم، فراخوانی های پیوند عمیق هستند که به شما امکان می دهند عبارات دیگری را مشخص کنید که به کاربران امکان می دهد عملکرد خاصی را درخواست کنند. این فراخوان ها با اهداف کاربر مطابقت دارد که شما به عنوان جهانی تعیین کرده اید. هر فراخوانی در این مثال یک نقطه ورود به یک مکالمه را ارائه میکند و با یک Action مطابقت دارد.
شکل 2 یک جریان فراخوانی اصلی معمولی را توصیف می کند:
- هنگامی که کاربران یک اقدام را درخواست می کنند، معمولاً آن را با نام نمایشی شما از Assistant درخواست می کنند.
- دستیار درخواست کاربر را با هدف مربوطه مطابق با درخواست مطابقت می دهد. در این مورد،
actions.intent.MAIN
خواهد بود. - Action از مطابقت قصد مطلع می شود و با درخواست مربوطه برای شروع مکالمه با کاربر پاسخ می دهد.
گفتگو
مکالمه نحوه تعامل کاربران با یک Action را پس از فراخوانی تعریف میکند. شما این تعاملات را با تعریف ورودی معتبر کاربر برای مکالمه خود، منطق پردازش آن ورودی، و درخواست های مربوطه برای پاسخ دادن به کاربر ایجاد می کنید. شکل و توضیح زیر به شما نشان میدهد که چگونه یک نوبت مکالمه معمولی با اجزای سطح پایین یک مکالمه کار میکند: مقاصد ، انواع ، صحنهها و درخواستها .
شکل 3 یک چرخش مکالمه معمولی را شرح می دهد:
- وقتی کاربران چیزی می گویند، Assistant NLU ورودی را با یک هدف مناسب مطابقت می دهد. یک intent در صورتی مطابقت داده می شود که مدل زبان برای آن intent بتواند دقیقاً یا دقیقاً با ورودی کاربر مطابقت داشته باشد. شما مدل زبان را با مشخص کردن عبارات آموزشی ، یا نمونه هایی از چیزهایی که کاربران ممکن است بخواهند بگویند، تعریف می کنید. Assistant این عبارات آموزشی را می گیرد و آنها را برای ایجاد مدل زبان قصد توسعه می دهد.
- هنگامی که Assistant NLU با یک intent مطابقت دارد، می تواند پارامترهای مورد نیاز شما را از ورودی استخراج کند. این پارامترها دارای انواع مرتبط با آنها هستند، مانند تاریخ یا شماره. شما قسمت های خاصی از عبارات آموزشی یک intent را حاشیه نویسی می کنید تا مشخص کنید چه پارامترهایی را می خواهید استخراج کنید.
- سپس یک صحنه ، هدف منطبق را پردازش می کند. میتوانید صحنهها را بهعنوان مجریان منطق یک Action، انجام کارهای سنگین و اجرای منطق لازم برای پیشبرد مکالمه در نظر بگیرید. صحنهها در یک حلقه اجرا میشوند و یک چرخه اجرایی انعطافپذیر ارائه میدهند که به شما امکان میدهد کارهایی مانند اعتبارسنجی پارامترهای هدف، انجام پر کردن اسلات، ارسال درخواستها به کاربر و موارد دیگر را انجام دهید.
- هنگامی که اجرای یک صحنه تمام می شود، معمولاً یک درخواست برای ادامه گفتگو به کاربران ارسال می کند یا در صورت لزوم می تواند مکالمه را پایان دهد.
تحقق
در حین فراخوانی یا مکالمه، Action شما میتواند وب هوکی را راهاندازی کند که به یک سرویس تکمیل برای انجام برخی کارها اطلاع میدهد.
شکل 4 توضیح می دهد که چگونه می توانید از تکمیل برای ایجاد اعلان ها استفاده کنید، یک روش معمول برای استفاده از انجام:
- در نقاط خاصی از اجرای Action شما، میتواند وب هوکی را راهاندازی کند که درخواستی را با یک بار JSON به یک کنترلکننده وبهوک ثبتشده (سرویس انجام شما) ارسال میکند.
- انجام شما درخواست را پردازش می کند، مانند فراخوانی یک REST API برای انجام برخی جستجوی داده ها یا اعتبارسنجی برخی از داده ها از بار JSON. یک روش بسیار متداول برای استفاده از تکمیل، ایجاد یک درخواست پویا در زمان اجرا است تا مکالمات شما بیشتر برای کاربر فعلی تنظیم شود.
- انجام شما پاسخی را به Action شما برمیگرداند که حاوی بار JSON است. می تواند از داده های بارگیری برای ادامه اجرای خود استفاده کند و به کاربر پاسخ دهد.