הסבר על ישויות ב-Dialogflow

1. לפני שמתחילים

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

ברשימה הבאה מוסבר על שלושת סוגי הישויות:

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

דרישות מוקדמות

לפני שממשיכים, צריך להשלים את ה-codelabs הבאים:

  1. יצירת לוח זמנים לפגישות באמצעות Dialogflow
  2. שילוב של צ'אטבוט של Dialogflow עם Actions on Google

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

מה תלמדו

  • איך יוצרים ישויות מערכת ב-Dialogflow ואיך משתמשים בהן
  • איך יוצרים ישויות של מפתחים ב-Dialogflow ואיך משתמשים בהן
  • איך בודקים את הסוכן

מה תפַתחו

  • גרסה משופרת של נציג שכבר נוצר ב-Dialogflow
  • ישויות של מפתחים ב-Dialogflow
  • ישויות מערכת ב-Dialogflow

הדרישות

  • דפדפן אינטרנט וכתובת אימייל כדי להיכנס למסוף Dialogflow

2. איך להפעיל ישויות מערכת ב-Dialogflow ולהשתמש בהן

  1. עוברים אל מסוף Dialogflow.
  2. בוחרים את סוכן AppointmentScheduler שיצרתם קודם.

ecedc445a9578e3b.png

  1. לוחצים על Intents (כוונות).

37ee739b69fa1ae7.png

  1. לוחצים על תזמון פגישות כדי לפתוח את הגדרות הכוונה.

תוכלו לראות ביטויים לאימון כמו "Set an appointment for 4 PM tomorrow" (קביעת פגישה למחר בשעה 16:00), שבהם Date (תאריך) ו-Time (שעה) מחולצים אוטומטית כ-‎@sys.date ו-‎@sys.time. אתם יכולים להוסיף עוד ביטויי אימון כדי לראות איך Dialogflow מחלץ אוטומטית את ישויות המערכת.

7dcdad1372191f90.png

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

3. איך מפעילים ישויות למפתחים ב-Dialogflow ומשתמשים בהן

יצירת ישויות של מפתחים

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

  1. לוחצים על ישויות.

4d8924f1d4edc0d1.png

  1. לוחצים על יצירת ישות.

b77e94e5e47adbc7.png

  1. מזינים AppointmentType בתור שם הישות, ואז מוסיפים את שני ערכי ההפניה Vehicle registration (רישום רכב) ו-Driver license (רישיון נהיגה) עם כמה מילים נרדפות, כמו שרואים בתמונה הבאה. לוחצים על שמירה.

51562b4327dbaf1.png

אפשר להוסיף עוד שורות עם עוד שירותים כסוגי ישויות.

  1. לוחצים על שמירה.

עריכת הכוונה כדי להתאים אותה לישות המפתחים החדשה שנוצרה

  1. לוחצים על כוונה.
  2. מזינים את הטקסט 'קביעת פגישה בנושא רישיון נהיגה לשעה 15:00 מחר' בכוונת קביעת הפגישה.

תוכלו לראות את הזיהוי האוטומטי של רישיון נהיגה, בשעה 15:00 ומחר כסוגי ישויות של מפתחים ומערכות.

5fb91b31806f06f.png

  1. מזינים את משפטי האימון הבאים:
  2. פגישה לחידוש הרישיון ביום שני
  3. קבע פגישה בנושא רישיון לשעה 14:00 ביום שני
  4. קבעתי תור לרישום רכב ליום שני

5addff06908c61f8.png

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

c43e72c5c1a43f5c.png

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

4. בדיקת הצ'אטבוט

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

מקרה בדיקה 1

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

  1. משתמש: "קבע פגישה".
  2. צ'אט בוט: "What date?" (באיזה תאריך?)
  3. משתמש: "23 במאי".
  4. צ'אטבוט: "באיזו שעה תרצה להגיע?"
  5. משתמש: "10:00"
  6. צ'אטבוט: "אילו שירותים אתה מחפש? במשרד הרישוי מוצעים שירותים של רישיון נהיגה ורישום רכב".
  7. משתמש: 'רישיון'.
  8. צ'אטבוט: "הכול מוכן לפגישה שלך בנושא רישום רכב בתאריך 2019-05-23 בשעה 10:00:00. נתראה שם!"

מקרה בדיקה 2

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

  1. משתמש: "Need an appointment for 4 PM tomorrow" (אני רוצה לקבוע פגישה למחר בשעה 16:00).
  2. צ'אטבוט: "אילו שירותים אתה מחפש? במשרד הרישוי מוצעים שירותים של רישיון נהיגה ורישום רכב".
  3. משתמש: 'רישיון'.
  4. צ'אטבוט: "הכול מוכן לפגישה שלך בנוגע לרישיון הנהיגה בתאריך 2019-04-24 בשעה 16:00:00. נתראה שם!"

מקרה בדיקה 3

במקרה כזה, המשתמש מספק את כל המידע. ‫Dialogflow מעבד את המידע ומספק תשובה עם אישור לפגישה.

  1. משתמש: "Set an appointment for vehicle registration at 2 PM tomorrow".
  2. צ'אטבוט: "הכול מוכן לפגישה שלך בנושא רישום רכב בתאריך 24 באפריל 2019 בשעה 14:00:00. נתראה שם!"

5. הסרת המשאבים

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

מחיקת סוכן Dialogflow

  • לוחצים על הסמל fe9c61cc27fb9f2e.png לצד הנציג הקיים.

520c1c6bb9f46ea6.png

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

6. מזל טוב

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

מידע נוסף

כדאי לעיין במקורות המידע הבאים: