مقاصد

Intent ها وظیفه ای را نشان می دهند که Assistant به Action شما نیاز دارد تا انجام دهد، مانند برخی از ورودی های کاربر که نیاز به پردازش دارد یا یک رویداد سیستمی که شما باید آن را مدیریت کنید. شما از intent ها برای کمک به ساخت مدل های فراخوانی و مکالمه خود استفاده می کنید. هنگامی که این رویدادها رخ می دهند، زمان اجرا Assistant آن را با هدف مربوطه مطابقت می دهد و هدف را به Action شما برای پردازش ارسال می کند. دو نوع اصلی از intent وجود دارد که در لیست زیر توضیح داده شده است:

  • اهداف کاربر به شما امکان می‌دهد توانایی دستیار را برای درک درخواست‌های کاربر که مختص برند و خدمات شما هستند گسترش دهید. شما عبارات آموزشی سفارشی را در یک intent تعریف می کنید، که به نوبه خود مدل زبان یک intent را ایجاد می کند. آن مدل زبان Assistant NLU را تقویت می‌کند و توانایی آن را برای درک بیشتر افزایش می‌دهد.

  • مقاصد سیستم دارای داده های آموزشی یا سایر سیگنال های ورودی غیرمکالمه ای هستند که توسط Assistant تعریف شده اند. این بدان معناست که شما نیازی به تعریف عبارات آموزشی برای این مقاصد ندارید. Assistant این مقاصد را به روشی استاندارد مطابقت می دهد، در طول رویدادهای شناخته شده سیستم مانند فراخوانی اصلی یا زمانی که کاربران هیچ ورودی ارائه نمی دهند.

شکل 1. سناریوی تطبیق قصد مشترک. کاربر چیزی می گوید که با یک هدف جهانی مطابقت دارد. صحنه مربوطه فعال می شود و در نهایت ورودی کاربر بیشتری را مصرف می کند. هدف دیگری مطابقت داده می شود که به صحنه دیگری منتقل می شود و آن را فعال می کند.

اهداف کاربر

وقتی Actions را می‌سازید، اهداف کاربر را ایجاد می‌کنید که حاوی عبارات آموزشی است، که توانایی دستیار را برای درک بیشتر افزایش می‌دهد. Assistant از عبارات آموزشی شما برای تقویت NLU خود استفاده می کند زمانی که درخواست های کاربر را به Actions شما واگذار می کند.

هنگامی که این اتفاق می‌افتد، Assistant ارتباط بین کاربر و Actions شما را کارگزاری می‌کند و ورودی کاربر را به قصدی که دارای یک مدل زبان منطبق است نگاشت می‌کند. سپس Assistant به Actions شما از هدف منطبق اطلاع می دهد، بنابراین می توانید آن را در یک صحنه پردازش کنید.

هنگام ساختن اهداف کاربر، عناصر زیر را مشخص می کنید:

  • تعیین هدف جهانی مشخص می کند که آیا زمان اجرای دستیار می تواند با هدف مشخص شده کاربر در زمان فراخوانی و همچنین در طول مکالمه مطابقت داشته باشد یا خیر. به‌طور پیش‌فرض، «دستیار» می‌تواند تنها در طول مکالمه با هدف کاربر مطابقت داشته باشد. فقط اهدافی که به‌عنوان جهانی علامت‌گذاری می‌کنید برای فراخوانی پیوند عمیق واجد شرایط هستند.

  • عبارات آموزشی نمونه هایی از آنچه کاربر ممکن است بگوید تا با هدف مطابقت داشته باشد. موتور Assistant NLU (درک زبان طبیعی) به طور طبیعی این عبارات آموزشی را گسترش می دهد تا عبارات مشابه دیگر را نیز شامل شود. ارائه مجموعه بزرگی از نمونه‌های با کیفیت بالا، کیفیت هدف و دقت تطابق را افزایش می‌دهد.

  • پارامترها داده های تایپ شده ای هستند که می خواهید از ورودی کاربر استخراج کنید. برای ایجاد یک پارامتر، عبارات آموزشی را با انواع حاشیه‌نویسی می‌کنید تا به موتور NLU اطلاع دهید که می‌خواهید بخش‌هایی از ورودی کاربر استخراج شود. می توانید از انواع سیستم استفاده کنید یا انواع سفارشی خود را برای پارامترها ایجاد کنید.

وقتی موتور NLU یک تطابق پارامتر را در ورودی کاربر تشخیص می‌دهد، مقدار را به عنوان یک پارامتر تایپ شده استخراج می‌کند، بنابراین می‌توانید منطق را با آن در یک صحنه انجام دهید. اگر پارامتر intent هم نام یک اسلات صحنه باشد، Assistant runtime به طور خودکار شکاف صحنه را با مقدار پارامتر intent پر می کند. برای اطلاعات بیشتر به اسناد نگاشت ارزش اسلات مراجعه کنید.

پارامترهای Intent نیز از منطبقات "جزئی" پشتیبانی می کنند. به عنوان مثال، اگر یک نوع DateTime را مشخص کنید و کاربر فقط یک تاریخ ارائه دهد، NLU همچنان مقدار جزئی را به عنوان یک پارامتر استخراج می کند.

ممکن است بخواهید از NLU خود برای مدیریت تمام ورودی های کاربر برای یک Action استفاده کنید. به عنوان مثال، ممکن است بخواهید که Action شما در طول یک مکالمه به همه سناریوهای بدون تطابق پاسخ دهد. برای اطمینان از اینکه تمام ورودی های کاربر را می گیرید، یک intent با نوع متن فرم رایگان ایجاد کنید. با این حال، باید از استفاده از مقاصد سفارشی برای نادیده گرفتن رفتار پیش‌فرض بدون تطابق دستیار اجتناب کنید، زیرا ممکن است بر توانایی کاربران برای جابه‌جایی بین Actions تأثیر منفی بگذارد.

وقتی یک هدف سفارشی در کنسول Actions ایجاد می‌کنید، Actions Builder اهداف سیستمی را پیشنهاد می‌کند که ممکن است همان نقشی را داشته باشند که قصد کاربر شما را داشته باشد. برای اطلاعات بیشتر در مورد اهداف سیستم، به بخش زیر مراجعه کنید.

مقاصد سیستم

دستیار اهداف سیستم را بر اساس رویدادهای استاندارد سیستم مطابقت می دهد. این رویدادها ممکن است یک مدل زبانی تعریف‌شده توسط سیستم داشته باشند، مانند کاربرانی که می‌گویند «مکث» برای توقف پخش‌کننده رسانه، یا ممکن است مدل زبانی نداشته باشند مانند اینکه کاربران اصلاً ورودی ارائه نمی‌دهند. از آنجایی که این هدف‌ها توسط Assistant ارائه می‌شوند، لازم نیست نگران نحوه تطبیق آن‌ها باشید، بلکه فقط باید نگران نحوه مدیریت آن‌ها در هنگام مطابقت باشید.

مقاصد سیستم همچنین جایگزین نیاز به ایجاد مقاصد کاربر برای اقداماتی که اغلب مورد نیاز است، مانند YES و NO می شود. مقاصد سیستم برای همه زبان‌ها آموزش داده می‌شود و به شما امکان می‌دهد تا به راحتی یک تجربه ثابت را برای کاربران خود در چندین زبان پیاده‌سازی کنید. مقاصد سیستم همچنین می تواند به عنوان مقاصد جهانی تنظیم شود.

مقاصد سیستم نسخه شده است. تا زمانی که آن نسخه توسط Assistant پشتیبانی می‌شود، می‌توانید از نسخه خاصی از سیستم هدف استفاده کنید. اگر یک Action از یک نسخه پشتیبانی نشده از یک هدف سیستم استفاده کند، آن هدف سیستم به طور خودکار به نسخه پشتیبانی شده به روز می شود.

فهرست مقاصد

قصد شرح
actions.intent.MAIN هر پروژه Actions باید حاوی این فراخوانی اصلی پیش‌فرض باشد که با نام نمایشی شما مرتبط است. کاربران عباراتی مانند "Ok Google, talk to <display name>" را برای فراخوانی Action می گویند.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

این مقاصد زمانی مطابقت داده می‌شوند که کاربر چیزی می‌گوید که نمی‌تواند با هدفی در Action شما مطابقت داشته باشد. می‌توانید درخواست‌های فردی و پیام خروج را در هدف نهایی تنظیم کنید.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

این مقاصد زمانی مطابقت دارند که پس از 8 ثانیه هیچ ورودی از طرف کاربر وجود نداشته باشد. می‌توانید برای هر هدف بازپرداخت‌های جداگانه و در هدف نهایی یک پیام خروج تنظیم کنید.

actions.intent.CANCEL این هدف زمانی مطابقت دارد که کاربر بخواهد از Actions شما در حین مکالمه خارج شود، مثلاً کاربر بگوید «می‌خواهم ترک کنم».
actions.intent.MEDIA_STATUS_FINISHED زمانی که کاربر پخش رسانه را کامل می‌کند یا به قطعه بعدی رسانه می‌پرد، این هدف مطابقت داده می‌شود و به Action شما ارسال می‌شود.
actions.intent.MEDIA_STATUS_PAUSED هنگامی که کاربر پخش رسانه را در یک پاسخ رسانه ای متوقف می کند، این هدف مطابقت دارد و به Action شما ارسال می شود.
actions.intent.MEDIA_STATUS_STOPPED هنگامی که کاربر پخش رسانه را از یک پاسخ رسانه ای متوقف می کند یا از آن خارج می شود، این هدف مطابقت دارد و به Action شما ارسال می شود.
actions.intent.MEDIA_STATUS_FAILED هنگامی که پخش کننده پاسخ رسانه ای پخش نمی شود، این هدف مطابقت دارد و به Action شما ارسال می شود.
actions.intent.YES

زمانی که کاربر به Action شما پاسخ مثبت بدهد، این هدف مطابقت دارد.

actions.intent.NO

این هدف زمانی مطابقت دارد که کاربر به Action شما پاسخ منفی بدهد.

actions.intent.REPEAT

این هدف زمانی مطابقت دارد که کاربر از Action بخواهد آخرین پاسخ را تکرار کند. اگر هدف سیستم در عامل فعال نباشد ، درخواست‌های تکرار به‌طور خودکار توسط دستیار رسیدگی می‌شود. فعال کردن این هدف سیستم به شما امکان می‌دهد نحوه رسیدگی به درخواست‌های تکراری و همچنین پاسخ‌ها را تغییر دهید.

actions.intent.PLAY_GAME این هدف زمانی مطابقت داده می شود که کاربر درخواست انجام یک بازی را می دهد. این هدف به شما امکان می‌دهد در یک فراخوان ضمنی (دعوت بدون استفاده از نام نمایشی خود) که توسط Actions on Google ارائه می‌شود، شرکت کنید.

پشتیبانی از زبان های دیگر را اضافه کنید

مقاصد خاص سیستم، مانند YES ، NO ، و NO_MATCH ، فقط به زبان انگلیسی پشتیبانی می شوند. برای افزودن پشتیبانی از زبان‌های دیگر، باید مقاصد کاربر را ایجاد کنید که با اهداف سیستم مطابقت داشته باشد. مقاصد جدید شما باید در کد شما همانند اهداف سیستمی که پیاده‌سازی کرده‌اید، استفاده شود.

به عنوان مثال، فرض کنید در حال توسعه یک اقدام جدید هستید و قصد سیستم YES را اجرا کرده اید. هدف سیستم YES فقط به زبان انگلیسی پشتیبانی می‌شود، اما می‌خواهید برنامه شما از تعاملات به زبان آلمانی و ژاپنی نیز پشتیبانی کند. برای پشتیبانی از زبان‌های اضافی، یک intent ایجاد می‌کنید که شامل عبارات آموزشی برای آلمانی و ژاپنی است، و سپس مدیریتی را که برای سیستم YES استفاده کرده‌اید، پیاده‌سازی می‌کنید.

درباره ایجاد اهداف کاربر بیشتر بیاموزید.

درباره بومی سازی اهداف کاربر خود بیشتر بیاموزید.

بازده بدون مسابقه

وقتی پاسخ کاربر با یکی از مقاصد شما مطابقت ندارد، دستیار تلاش می‌کند تا ورودی را مدیریت کند. این رفتار باعث می‌شود تا کاربران در وسط مکالمه، اقدام‌ها را تغییر دهند. به عنوان مثال، کاربر می پرسد "این هفته چه فیلم هایی پخش می شود؟" و سپس متن را در میانه مکالمه تغییر می دهد: "آب و هوا فردا چیست؟" در این مثال، به دلیل "آب و هوا فردا چیست؟" پاسخ معتبری به مکالمه ای نیست که با درخواست اولیه راه اندازی شده است، دستیار به طور خودکار تلاش می کند تا مطابقت را مدیریت کند و کاربر را به یک مکالمه مناسب منتقل کند.

اگر «دستیار» نتواند اقدام مناسبی را پیدا کند که با ورودی کاربر مطابقت داشته باشد، کاربر در چارچوب Action شما ادامه می‌دهد.

از آنجایی که Assistant ممکن است Action شما را برای پاسخ به یک سناریوی معتبر بدون تطابق قطع کند، از قصد سیستم NO_MATCH برای پاسخگویی به درخواست‌های کاربر استفاده نکنید. شما فقط باید از قصد NO_MATCH برای درخواست مجدد کاربر استفاده کنید.