בניית מודלים של שיחות

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

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

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

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

הגדרת בקשות משתמשים חוקיות

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

יצירה של כוונות משתמש

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

איור 1. דוגמה לכוונת המשתמש

כדי ליצור Intent של משתמש:

  1. בכרטיסייה פיתוח, לוחצים על כוונות משתמש > ⊕ (Intent חדש), מציינים שם ומקישים על Enter כדי ליצור את הכוונה.
  2. לוחצים על ה-Intent החדש שנוצר בתפריט הימני. עורך Intent מופיעה.
  3. מוסיפים ל-Intent ביטויי אימון. צריך להוסיף כמה שיותר ביטויי אימון כדי לאמן את Assistant NLU.
  4. אופציונלי: מוסיפים הערות לביטויים של אימון כדי להנחות את Assistant NLU לנתח ומחלצים פרמטרים מוקלדים מקלט של משתמשים שתואם לסוג שצוין:
    1. מזינים שם לפרמטר בשדה הוספת פרמטר חדש.
    2. בוחרים את סוג המערכת מהתפריט הנפתח או יוצרים סוג בהתאמה אישית.
    3. צריך לציין אם הפרמטר הוא רשימה. כך הפרמטר יכול לאסוף מכמה ערכים מאותו הסוג.
    4. בקטע הוספת ביטויי אימון, מדגישים את הטקסט שרוצים להוסיף. להחיל את הסוג עליו. הפקודה הזו מנחה את Assistant NLU לטפל של הטקסט כפרמטר. אם המשתמשים אומרים משהו שתואם לסוג, ה-NLU מחלץ את הערך הזה כפרמטר.

יצירת Intents של המערכת

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

  1. בכרטיסייה פיתוח, לוחצים על כוונות מערכת. קבוצה של כוונות מערכת זמין, כמו NO_MATCH, NO_INPUT ו-CANCEL.
  2. לכל Intent של מערכת יש handlers משלו, ואפשר להתאים אותם אישית כל סוג של הכוונה במערכת. לדוגמה, אובייקטים מסוג Intent של מערכת מאפשרים לכם להפעיל אירועי webhook ושליחת הנחיות סטטיות כשהאירוע מתרחש.

יצירת סוגים בהתאמה אישית

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

איור 2. דוגמה לסוג מותאם אישית

כדי ליצור סוג בהתאמה אישית:

  1. בכרטיסייה פיתוח, לוחצים על סוגים > ⊕ (סוג חדש).
  2. בקטע אילו סוגי ערכים יש בשדה הזה, בוחרים איך לספק ערכי סוג סוג support?:

    • מילים ומילים נרדפות מאפשרות למפות כמה ערכים למפתח אחד, שנקראים רשומה. הסוג יכול להכיל רשומה אחת או יותר. אם לבחור באפשרות הזו, ניתן גם להפעיל את הגדרות NLU הבאות:
      • הפעלת התאמה חלקית – ההגדרה הזו מאפשרת ערכים שכוללים יותר ממילה אחת כדי לבצע התאמה, גם כשהמילים נאמרות בסדר שונה.
      • אישור ערכים לא ידועים – כשלא ניתן לציין את כל הערכים האפשריים, הוא יקבל מילים או ביטויים לא ידועים על סמך הקלט שמסביב נתונים של אימון Intent, כמו פריטים שאפשר להוסיף למכולת חדשה.
    • ביטויים רגולריים מאפשרים לסוג לא להתאים בתבניות של ביטויים רגולריים על סמך תקן RE2 של Google.
    • טקסט חופשי מאפשר לסוג להתאים לכל מה שהמשתמש אומר.
  3. מציינים ערכי סוגים בקטע הוספת ערכים. אם בחרת באפשרות פריסה גמישה text, הסוג שלכם תואם לכל טקסט, כך שאין צורך להזין ערכים.

פיתוח לוגיקה של פעולות ותגובות

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

איור 3. דוגמה לסצנה בהתאמה אישית

יצירת סצנה

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

כדי ליצור סצנה:

  1. בכרטיסייה פיתוח, לוחצים על סצנות > ⊕ (סצנה חדשה), מציינים שם ומקישים על Enter כדי ליצור סצנה.
  2. לוחצים על הסצנה החדשה שנוצרה בתפריט הימני. הכלי לעריכת סצנות מופיעה.

הגדרה של הגדרה חד-פעמית

כשסצנה הופכת לפעילה בפעם הראשונה, אפשר לבצע משימות חד-פעמיות בכניסה. שלב ה-On Enter תקף פעם אחת בלבד, והוא שלב שלא פועל בתוך לולאת הביצוע של סצנה.

  1. בתוך סצנה, לוחצים על השלב בכניסה כדי לציין את הפונקציונליות שלה. בשלב הזה אפשר לציין את הפונקציונליות הבאה:

    • קריאה ל-webhook – הקפצת תגובה לפעולה מאתר אחר (webhook). הצגת ה-webhooks מידע נוסף על webhooks.
    • שליחת הנחיות – מציינים הנחיות סטטיות למשתמשים כדי שהם ידעו איך להמשיך את השיחה. למסמכי התיעוד של ההנחיות אפשר לקרוא מידע נוסף על ציון הנחיות.
    איור 4. דוגמה לסצנה שנמצאת בשלב הכניסה

בדיקת התנאים

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

  1. בתוך סצנה, לוחצים על הסמל + בשלב תנאי. עורך התנאים מופיע משמאל. אפשר לציין את הדברים הבאים הפונקציונליות בשלב הזה:

    • Condition - ציון הצהרה המותנית בפועל שתופעל על ידי השבתת הלוגיקה הבסיסית מתוך. למידע על תחביר, אפשר לעיין במסמכי העזרה בנושא תנאים מידע.
    • קריאה ל-webhook – הקפצת תגובה לפעולה מאתר אחר (webhook). הצגת ה-webhooks מידע נוסף על webhooks.
    • שליחת הנחיות – מציינת הנחיות סטטיות שיישלחו למשתמש, כדי חשוב לדעת איך להמשיך את השיחה. להנחיות מסמכים למידע נוסף על הגדרת הנחיות.
    • Transition – מציין את הסצנה שאליה רוצים לעבור כשהתנאי המותנה. היא נכונה.
איור 5. דוגמה לשלב התנאים בסצנה

הגדרת מילוי של יחידות קיבולת (Slot)

יחידות קיבולת (Slot) מאפשרות לחלץ פרמטרים מוקלדים מערכי קלט של משתמשים.

בכלי לעריכת סצנות, לוחצים על הסמל + בשלב מילוי המשבצות. כלי העריכה של המשבצת יופיע בצד שמאל. אפשר לציין את הדברים הבאים המאפיינים של משבצת:

  • שם המשבצת: מציין את השם של המשבצת. אם רוצים לנצל את של מיפוי הערכים של מיקומי המודעות, צריך להשתמש באותו שם כמו פרמטר ה-Intent התואם.
  • סוג החריץ: מציין את הסוג של החריץ בכל מערכת או סוג מותאם אישית.
  • המשבצת הזאת נדרשת: מסמנים את המשבצת הזאת לפי הצורך. אם מופעל, יחידת חריץ לא יושלם עד שהמשבצת הזו תתמלא.
  • הקצאה של ערך ברירת מחדל למיקום הזה: מציין ערך ברירת מחדל למיקום. שנקרא מפרמטר הסשן שצוין.
  • התאמה אישית של כתיבה חוזרת של ערך מיקום מודעה: מציין פרמטר סשן שיישמר את הערך של יחידת הקיבולת לאחר שהושלמה.
  • אימות חריץ: הפעלת webhook כשמשבצת מסוימת מלאה. ההגדרה הזו תחול על כל מיקומי המודעות.
  • קריאה ל-webhook (מופעלת כשיש צורך במשבצת): מפעילה webhook. מידע נוסף זמין במסמכי התיעוד בנושא webhooks. webhooks.
  • שליחת הנחיות (מופעלת כשנדרשת חריץ): מציינת הנחיות סטטיות לשלוח למשתמש, כדי שהוא ידע איך להמשיך בשיחה. צפייה במסמכי התיעוד של ההנחיות לקבלת מידע נוסף על ציון הנחיות.

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

כדי להגדיר משבצת, צריך לספק מאפיינים באובייקט JSON מילוי הזמנה (מתייחס לפרמטר סשן) או בעורך JSON המוטבע. אפשר למצוא את המאפיינים הזמינים לכל סוג של מיקום מודעה מאמרי עזרה על JSON של Actions Builder. לדוגמה, actions.type.DeliveryAddressValue סוג המיקום תואם לתוכן העזר של DeliveryAddressValue משבצת זמן אחת.

איור 6. דוגמה להגדרות מילוי של משבצות בסצנה

מיפוי של ערכי מיקום גיאוגרפי

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

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

קלט של עיבוד

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

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

    • כוונה – מציינת את הכוונה שאתם רוצים להתאים בסצנה הזו.
    • קריאה ל-webhook – הקפצת תגובה לפעולה מאתר אחר (webhook). הצגת ה-webhooks מידע נוסף על האופן שבו מטפלים בבקשות webhook.
    • שליחת הנחיות – מציינים הנחיות סטטיות למשתמשים, כדי שהם ידעו איך מגיבים. במסמכי התיעוד בנושא הנחיות אפשר לקרוא מידע נוסף על להגדיר הנחיות.
    • מעבר (אם רלוונטי) – מציין את הסצנה שאליה צריך לעבור ל-Intent שצוין יש התאמה.
איור 7. דוגמה ל-Intent של המשתמש בסצנה
איור 8. דוגמה ל-Intent במערכת של סצנה