כוונות

אובייקטים מסוג Intent מייצגים משימה ש-Assistant צריכה לבצע את הפעולה שלכם, כמו קלט כלשהו מהמשתמשים שצריך לעבד או אירוע מערכת שצריך לטפל בו. אתם משתמשים ב-Intents כדי ליצור את המודלים להפעלה ולשיחות. כשהאירועים האלה מתרחשים, זמן הריצה של Assistant מתאים אותו ל-Intent המתאים ושולח את הכוונה לפעולה שלכם כדי לעבד אותה. יש שני סוגים עיקריים של כוונות, שמתוארים ברשימה הבאה:

  • בעזרת כוונות המשתמשים תוכלו להרחיב את היכולת של Assistant להבין בקשות של משתמשים ספציפיות למותג ולשירותים שלכם. את ביטויי האימון בהתאמה אישית מגדירים בתוך Intent, וכתוצאה מכך יוצרים את מודל השפה של ה-Intent. מודל השפה הזה משפר את ה-NLU של Assistant, ומגביר את היכולת שלו להבין עוד יותר.

  • לאובייקטים מסוג Intent של המערכת יש נתוני אימון או אותות קלט אחרים שאינם בשיחות שהוגדרו על ידי Assistant. כלומר אין צורך להגדיר ביטויי אימון לכוונות האלה. Assistant מתאימה את הכוונות האלה בצורה סטנדרטית, במהלך אירועי מערכת ידועים כמו הפעלה ראשית או כשהמשתמשים לא מספקים קלט.

איור 1. תרחיש נפוץ של התאמת כוונת רכישה. משתמש אומר משהו שתואם לכוונה גלובלית. הסצנה המתאימה מופעלת, ובסופו של דבר צורכת יותר קלט של משתמשים. יש התאמה של כוונה אחרת, שעוברת לסצנה אחרת ומפעילה אותה.

כוונות המשתמש

כשיוצרים פעולות, יוצרים כוונות משתמש שמכילות ביטויי אימון, ומרחיבות את היכולת של Assistant להבין עוד יותר. Assistant משתמשת במשפטי האימון שלכם כדי להרחיב את ה-NLU כשהיא מקצה בקשות משתמשים לפעולות שלכם.

במקרים כאלה, Assistant מתווכת את התקשורת בין המשתמש לפעולות שלכם, וממפה את קלט המשתמשים ל-Intent עם מודל שפה תואם. לאחר מכן תקבלו מ-Assistant עדכון לפעולות לגבי כוונה שנמצאה לה התאמה, כך שתוכלו לעבד אותה בסצנה.

כשיוצרים אובייקטים של Intent, צריך לציין את הרכיבים הבאים:

  • סיווג Intent גלובלי מגדיר אם זמן הריצה של Assistant יכול להתאים לכוונת המשתמש שצוינה בזמן ההפעלה וגם במהלך שיחה. כברירת מחדל, Assistant יכולה להתאים את הכוונות של המשתמשים רק במהלך שיחה. רק אובייקטים מסוג Intent שמסמנים כגלובליים מתאימים להפעלה של קישור עומק.

  • ביטויי אימון הם דוגמאות לדברים שמשתמש יכול לומר כדי להתאים לכוונה. המנגנון של Assistant להבנת שפה טבעית (NLU) מרחיב באופן טבעי את ביטויי האימון האלה, כך שיכללו ביטויים דומים נוספים. כשמספקים קבוצה גדולה של דוגמאות באיכות גבוהה, משפרים את האיכות של Intent ואת רמת הדיוק של ההתאמה.

  • פרמטרים הם נתונים מוקלדים שרוצים לחלץ מקלט של משתמשים. כדי ליצור פרמטר, צריך להוסיף הערות לביטויי אימון עם types כדי להודיע למנוע ה-NLU על כך שרוצים לשלוף חלקים מקלט המשתמש. אפשר להשתמש בסוגי מערכות או ליצור סוגים מותאמים אישית לפרמטרים.

כשהמנוע של NLU מזהה התאמת פרמטר בקלט של משתמש, הוא מחלץ את הערך כפרמטר מוקלד, כדי שתוכלו ליצור איתו לוגיקה בסצנה. אם לפרמטר של Intent יש שם זהה לשם של משבצת סצנה, זמן הריצה של Assistant ממלא באופן אוטומטי את מיקום הסצנה בערך מפרמטר Intent. מידע נוסף זמין במסמכי התיעוד בנושא מיפוי ערכי משבצת.

פרמטרים של Intent תומכים גם בהתאמות "חלקיות". לדוגמה, אם מציינים סוג של DateTime והמשתמש מספק רק תאריך, ה-NLU עדיין יחלץ את הערך החלקי כפרמטר.

ייתכן שתרצו להשתמש ב-NLU משלכם כדי לטפל בכל קלט של משתמשים בפעולה מסוימת. לדוגמה, יכול להיות שתרצו שפעולה מסוימת תגיב לכל התרחישים של אי-התאמה במהלך שיחה. כדי להבטיח שכל קלט של המשתמשים יעובד, כדאי ליצור Intent באמצעות סוג הטקסט בפריסה גמישה. עם זאת, רצוי להימנע משימוש באובייקטים בהתאמה אישית עם כוונת רכישה כדי לבטל באופן גלובלי את התנהגות ברירת המחדל של חוסר התאמה, מכיוון שהדבר עלול להשפיע לרעה על היכולת של המשתמשים לעבור בין הפעולות.

כשיוצרים אובייקט Intent בהתאמה אישית במסוף Actions, הכלי Actions Builder מציע מנגנוני Intent של המערכת שעשויים למלא את אותו תפקיד כמו כוונת המשתמש. בקטע הבא יש מידע נוסף על הכוונות של המערכת.

כוונות המערכת

Assistant מתאימה אובייקטים מסוג Intent של המערכת על סמך אירועי מערכת רגילים. יכול להיות שלאירועים האלה יהיה מודל שפה שהוגדר על ידי המערכת, כמו משתמשים שאומרים "pause" כדי להשהות את נגן המדיה, או שלא משויך למודל שפה כלשהו, למשל משתמשים שלא מספקים קלט בכלל. מכיוון שהכוונות האלה מסופקות על ידי Assistant, לא צריך לדאוג לגבי ההתאמה שלהן, אלא רק איך לטפל בכוונות כשמתבצעת התאמה ביניהן.

אובייקטים מסוג Intent של המערכת גם מחליפים את הצורך ליצור אובייקטים מסוג Intent של משתמשים לפעולות שנדרשות לעיתים קרובות, כמו YES ו-NO. אובייקטים מסוג Intent של המערכת מאומנים בכל הלוקאלים, וכך מאפשרים לכם להטמיע בקלות רבה יותר חוויה עקבית למשתמשים בכמה שפות. אפשר גם להגדיר אובייקטים מסוג Intent של המערכת כאובייקטים גלובליים מסוג Intent.

גרסאות ה-Intent של המערכת מתעדכנות. אתם יכולים להשתמש בגרסה ספציפית של Intent מערכת, כל עוד הגרסה הזו נתמכת על ידי Assistant. אם בפעולה נעשה שימוש בגרסה לא נתמכת של Intent מערכת, הכוונה של המערכת מתעדכנת באופן אוטומטי לגרסה נתמכת.

רשימת כוונות

כוונת רכישה התיאור
actions.intent.MAIN כל פרויקט פעולות חייב להכיל את ההפעלה הראשית שמוגדרת כברירת מחדל, שמשויכת לשם המוצג. משתמשים אומרים משפטים כמו "Ok Google, talk to <display name>" כדי להפעיל את הפעולה.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

הכוונות האלה מותאמות כאשר המשתמש אומר משהו שלא ניתן להתאים לכוונה בפעולה. אפשר להגדיר בקשות ספציפיות והודעת יציאה ב-Intent הסופי.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

מתבצעת התאמה לאובייקטים האלה של Intent כאשר אין קלט מהמשתמש לאחר 8 שניות. אפשר להגדיר בקשות נפרדות לכל Intent והודעת יציאה ב-Intent הסופי.

actions.intent.CANCEL כוונה זו מתאימה למשתמש כשהוא רוצה לצאת מהפעולות שלך במהלך שיחה, כמו משתמש שאומר, "אני רוצה לצאת".
actions.intent.MEDIA_STATUS_FINISHED יש התאמה ל-Intent הזה, והוא נשלח לפעולה כשמשתמש משלים את ההפעלה של המדיה או מדלג לקטע המדיה הבא.
actions.intent.MEDIA_STATUS_PAUSED יש התאמה לכוונה הזו, והיא נשלחת לפעולה כשמשתמש משהה את הפעלת המדיה בתגובה למדיה.
actions.intent.MEDIA_STATUS_STOPPED יש התאמה לכוונה הזו, והיא נשלחת לפעולה כשמשתמש מפסיק את הפעלת המדיה מתגובה מדיה או יוצא ממנה.
actions.intent.MEDIA_STATUS_FAILED יש התאמה לכוונה הזו, והיא נשלחת לפעולה כאשר נגן של תגובה למדיה לא פועל.
actions.intent.YES

מתבצעת התאמה לכוונה הזו כשהמשתמש משיב על הפעולה שלך בחיוב.

actions.intent.NO

מתבצעת התאמה לכוונה הזו כשמשתמש מגיב באופן שלילי לפעולה שלך.

actions.intent.REPEAT

הכוונה הזו מתאימה כשמשתמש מבקש מהפעולה לחזור על התגובה האחרונה. Assistant מטפלת בבקשות חוזרות באופן אוטומטי אם הכוונה של המערכת לא מופעלת אצל הנציג. הפעלת ה-Intent הזה של המערכת תאפשר לך לשנות את אופן הטיפול בבקשות חוזרות וגם את התשובות.

actions.intent.PLAY_GAME הכוונה הזו מתאימה כשמשתמש מבקש לשחק במשחק. Intent זה מאפשר להביע הסכמה להפעלה מרומזת (הפעלה בלי להשתמש בשם המוצג) שמסופקת על ידי Actions on Google.

הוספת תמיכה בשפות אחרות

אובייקטים מסוימים של Intent מערכת, כמו YES, NO ו-NO_MATCH, נתמכים באנגלית בלבד.כדי להוסיף תמיכה בשפות אחרות, צריך ליצור אובייקטים מסוג Intent של משתמשים שתואמים לכוונות המערכת האלה. עליכם לטפל ב-Intents החדשים בקוד שלכם באותו אופן שבו אתם משתמשים בכוונות המערכת שהטמעתם.

לדוגמה, נניח שאתם מפתחים פעולה חדשה והטמעתם את הכוונה של המערכת YES. Intent המערכת YES נתמך רק באנגלית, אבל אתם רוצים גם שהאפליקציה תתמוך באינטראקציות בגרמנית וביפנית. כדי לתמוך בשפות הנוספות, צריך ליצור אובייקט Intent שכולל ביטויי אימון לגרמנית וליפנית, ולאחר מכן להטמיע את אופן הטיפול שבו השתמשתם ב-Intent המערכת של YES.

מידע נוסף על יצירת כוונות משתמשים.

מידע נוסף על התאמה לשוק המקומי של כוונות המשתמשים.

תוצאה ללא התאמה

כשתגובת המשתמש לא תואמת לאחת מהכוונות שלכם, Assistant מנסה לטפל בקלט. ההתנהגות הזו מאפשרת למשתמשים לשנות פעולות באמצע שיחה. לדוגמה, משתמש שואל "אילו סרטים מוצגים השבוע?", ואז משנה את ההקשר במהלך השיחה: "מה מזג האוויר מחר?" בדוגמה הזו, "What is the weather tomorrow? " הוא לא תשובה תקינה לשיחה שמופעלת על ידי ההנחיה הראשונית, Assistant מנסה באופן אוטומטי לטפל בהתאמה ולהעביר את המשתמש לשיחה מתאימה.

אם Assistant לא מצליחה למצוא פעולה מתאימה שתואמת לקלט של המשתמש, המשתמש ממשיך בהקשר של הפעולה.

Assistant עלולה להפריע לפעולה כדי להגיב לתרחיש חוקי ללא התאמה, ולכן אין להשתמש בכוונת המערכת של NO_MATCH כדי למלא שאילתות של משתמשים. יש להשתמש ב-Intent NO_MATCH רק כדי להפנות את המשתמש אליו.