כברירת מחדל, התאמת ישויות דורשת התאמה מדויקת לאחד מהערכים של הישות. השיטה הזו מתאימה לערכי ישויות ולמילים נרדפות שמורכבים ממילה אחת, אבל עלולה ליצור בעיה כשמדובר בערכים ובמילים נרדפות שמורכבים מכמה מילים. לדוגמה, נניח שיש ישות כדור שצריך להתאים לחלקים הבאים בביטוי של משתמש הקצה:
- "ball"
- "red ball"
- "ball red"
- "small ball"
- "ball small"
- "small red ball"
- "small ball red"
- "red small ball"
- "red ball small"
- "ball small red"
- "ball red small"
כדי שתהיה התאמה, בדרך כלל צריך להגדיר ערך של רשומה של ישות ומילים נרדפות לכל אחת מהפרמוטציות האלה. עם זאת, אם מפעילים התאמה משוערת, הסדר של המילים בערך או במילה נרדפת לא משנה. הדוגמה הבאה תפעיל התאמה לכל הדוגמאות שלמעלה:
- "ball"
- "red ball"
- "small ball"
- "small red ball"
איפה אפשר למצוא את הנתונים האלה
בדרך כלל, כשבונים סוכן, משתמשים במסוף Dialogflow ES (למשאבי עזרה, לפתיחת המסוף). ההוראות שבהמשך מתמקדות בשימוש במסוף. כדי לגשת לנתוני ישויות:
- עוברים אל מסוף Dialogflow ES.
- בוחרים נציג תמיכה.
- בתפריט הצדדי הימני, לוחצים על ישויות.
אם אתם בונים סוכן באמצעות ה-API ולא באמצעות המסוף, תוכלו לעיין בחומר העזר בנושא EntityTypes. שמות השדות ב-API דומים לשמות השדות במסוף. בהוראות שבהמשך מודגשים ההבדלים החשובים בין המסוף לבין ה-API.
יצירת ישות של התאמה משוערת
כדי ליצור ישות של התאמה משוערת:
- פותחים ישות קיימת או יוצרים ישות חדשה.
- מסמנים את האפשרות התאמה חלקית.
- מזינים לפחות רשומה אחת בטבלה.
- לוחצים על Save.
אם אתם משתמשים ב-API כדי ליצור או לעדכן ישויות, צריך להגדיר את השדה enable_fuzzy_extraction לערך true עבור EntityType.
מגבלות
ההגבלות הבאות חלות:
- אי אפשר להפעיל התאמה משוערת לישויות של ביטויים רגולריים. התכונות האלה בלעדיות.
- אין להפעיל התאמה משוערת לישויות שמשמשות להתאמה של ערכים מדויקים כמו מזהים, מספרי תעודת זהות וכו'.
התאמות חלקיות
כשמגדירים מילים נרדפות שמכילות כמה מילים, מערכת Dialogflow מנסה להתאים את הקלט של משתמש הקצה למילה הנרדפת הכי קרובה, שיכולה לכלול התאמות חלקיות. לדוגמה, אם מגדירים מילה נרדפת בתור "cold brew coffee" (קפה בחליטה קרה), והקלט של משתמש הקצה הוא "cold coffee" (קפה קר), הישות המשויכת תותאם אלא אם יש התאמה טובה יותר.
תיקון איות
אם קלט של משתמש קצה יכול להיחשב כאיות שגוי של מילה נרדפת לישות, יכול להיות שתהיה התאמה לישות המשויכת. לדוגמה, אם מגדירים מילה נרדפת כמו lumber (עץ), והקלט של משתמש הקצה הוא number (מספר), יכול להיות שהמערכת תתאים את הישות המשויכת.