פעולות בשיחה (Dialogflow)

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

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

בשיחה הלוך ושוב עם Google Assistant, משתמש שואל אם מתקיימת שיחת ועידה ומקבל תשובה.
איור 1. דוגמה לפעולות בשיחה

תרחישים לדוגמה

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

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

איך פעולות השיחה פועלות

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

במהלך שיחה, Assistant הופכת את הקלט של המשתמש לדיבור לטקסט, ונוצרות לבקשות JSON לעיבוד שפה טבעית (NLP). הבקשות האלה נשלחות למה שנקרא מילוי הזמנות של השיחה.

במסגרת מילוי הבקשה של השיחה, המערכת מנתחת את השאילתה של המשתמש לנתונים מובְנים, מעבדת את הנתונים האלה ומחזירה ל-Assistant תגובת webhook JSON. אחרי זה Assistant מעבדת את התשובה שלכם ומציגה אותה למשתמש.

אפשר לייצג את מילוי הבקשה לשיחה באמצעות קלט של בקשת JSON ופלט של תגובת JSON של תגובה לפעולה מאתר אחר (webhook).
איור 2. מילוי הזמנות של שיחות הוא מערכת JSON בתוך JSON מחוץ ל-JSON

יצירת שירות משלכם לעיבוד שפה טבעית (NLP) יכולה להיות מאתגרת, לכן אנחנו מציעים את Dialogflow כדרך לטפל בו. למפתחים שלא יכולים להשתמש ב-Dialogflow, אנחנו גם מספקים את Actions SDK כאפשרות גיבוי עם נתיב פיתוח נפרד שקשור לנושא.

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

מערכת Actions on Google מנתחת את הביטוי של המשתמש ושולחת בקשה אל
            Dialogflow. Dialogflow הוא שירות שתואם ל-Intent ומחלץ פרמטרים כדי לשלוח אותם למילוי הבקשה ב-Dialogflow. לאחר מכן, מילוי הבקשה ישלח תגובה חזרה ל-Actions on Google, ואז התגובה תוצג על גבי פלטפורמת Assistant.
איור 3. הבנת מילוי השיחה כשמשתמשים ב-Dialogflow

בניית פעולות שיחה

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

בפרויקט Actions, אתם צריכים לספק מטא-נתונים לפרסום הפרויקט ולציין שיטה למילוי הזמנות של השיחות. מפתחים שמשתמשים ב-Dialogflow משייכים את הנציג שלהם ב-Dialogflow לפרויקט, ואז יוצרים את מילוי ההזמנות דרך Dialogflow. למפתחים שמשתמשים ב-Actions SDK, פיתוח מילוי הזמנות של שיחה כולל תכנות ופריסה בפורמט של תגובה לפעולה מאתר אחר (webhook).

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

מילוי הזמנות באמצעות Dialogflow

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

  1. מנתח כל בקשה נכנסת מ-Assistant על סמך ביטויי האימון שאתם מספקים והקשר השיחה.
  2. מתאים כל בקשה ל-Intent של Dialogflow (שנקרא גם אירוע).
  3. משלים פרמטרים לישויות Dialogflow.

לאחר מכן, הנציג ב-Dialogflow יכול להפעיל את מילוי הבקשה בעצמו (שנפרס כ-webhook) כדי לבצע לוגיקה כלשהי, כמו קריאה ל-API ל-REST או לשירות אחר לקצה העורפי שיוצר תשובה לחזרה ל-Assistant. התגובה לפעולה מאתר אחר (webhook) נקראת גם 'מילוי הזמנה ב-Dialogflow', והיא מבוססת על פורמט webhook ל-Dialogflow.

Dialogflow מקבל ביטוי של משתמש להתאמה של Intent ומספק פרמטרים שחולצו למילוי הבקשה ב-Dialogflow. מילוי הבקשה
            מחזיר תשובה למשתמש.
איור 4. נציג של Dialogflow מנתח שאילתת משתמש בנתונים מובְנים לצורך מילוי הזמנה ב-Dialogflow

כדי למלא את הבקשה בשיחה, כשמשתמשים ב-Dialogflow צריך בעיקר לפתח תגובה לפעולה מאתר אחר (webhook) למילוי הזמנות ב-Dialogflow. במסמכי התיעוד של Actions on Google מופיעים משאבים שיעזרו לכם לעצב, לבנות ולבדוק את ה-webhook למילוי בקשות ב-Dialogflow. עיקר המשאבים האלה כוללים את ספריית הלקוח של Node.js ואת ספריית הלקוח של Java.

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

למידע כללי יותר על השילוב עם Dialogflow, אפשר לקרוא על השילוב של Actions on Google במסמכי התיעוד של Dialogflow.

מילוי הזמנות באמצעות Actions SDK

כדי למלא הזמנות של שיחות באמצעות Actions SDK צריך בעיקר ליצור ולפרוס חבילת Action (פעולה). חבילות פעולה נוצרות בפורמט ActionPackage ומשתמשות בפורמט של תגובה לפעולה מאתר אחר (webhook). חבילת פעולות מכילה את כל הפעולות בפרויקט פעולות נתון.

Assistant מספקת שאילתות של משתמשים למילוי הזמנות באמצעות Actions on Google Intents. לכל Intent, ה-webhook של מילוי הבקשה צריך לנתח את הכוונה, לעבד אותה ולהחזיר תגובת JSON ל-Assistant עבור המשתמש.

תשובות

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

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

השלבים הבאים

פועלים לפי ההוראות ב-Codelab בנושא בניית פעולות ל-Google Assistant (רמה 1) כדי לקבל הוראות מפורטות להתחלת הפעולה הראשונה בשיחה.

לאחר מכן תוכלו להמשיך למדריכים שלנו שיעזרו לכם ליצור חוויית משתמש משלכם באמצעות Dialogflow או באמצעות Actions SDK. תוכלו גם לעיין במשאבים הנוספים הבאים ליצירת פעולות שיחה: