הסבר על ישויות ב-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. מוסיפים הנחיה, כמו "אילו שירותים אתה מחפש? ה-DMV מציע שירותים של רישיון נהיגה ורישום רכב". אם המשתמש לא יציין סוג פגישה, המערכת תשתמש בהנחיה.
  2. לוחצים על שמירה.

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

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

מקרה בדיקה 1

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

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

מקרה בדיקה 2

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

  1. משתמש: "Need an appointment for 4 PM tomorrow" (אני רוצה לקבוע פגישה למחר בשעה 16:00).
  2. צ'אטבוט: "אילו שירותים מעניינים אותך? ה-DMV מציע שירותים של רישיון נהיגה ורישום רכב".
  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. מזל טוב

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

מידע נוסף

כדי לקבל מידע נוסף, אפשר לעיין במקורות המידע הבאים: