חלק מהישויות צריכות להתאים לתבניות ולא למונחים ספציפיים. לדוגמה, מספרי תעודות זהות, מספרי רישיונות, מספרי לוחות רישוי וכו'. בעזרת ישות regexp, אפשר לספק ביטויים רגולריים להתאמה.
ביטויים רגולריים מורכבים
כל ישות של ביטוי רגולרי מתאימה לתבנית אחת, אבל אפשר לספק כמה ביטויים רגולריים אם כולם מייצגים וריאציות של תבנית אחת.
במהלך אימון הסוכן, כל הביטויים הרגולריים של ישות אחת משולבים עם אופרטור החלופה (|) כדי ליצור ביטוי רגולרי מורכב אחד.
לדוגמה, אם מספקים את הביטויים הרגולריים הבאים למספר טלפון:
^[2-9]\d{2}-\d{3}-\d{4}$^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
הביטוי הרגולרי המורכב הופך להיות:
^[2-9]\d{2}-\d{3}-\d{4}$|^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
הסדר של הביטויים הרגולריים חשוב. כל אחד מהביטויים הרגולריים בביטוי הרגולרי המורכב מעובד לפי הסדר. החיפוש נפסק ברגע שנמצאת התאמה תקפה. לדוגמה, אם משתמש הקצה יגיד "סיאטל":
-
Sea|Seattleתואם ל-Sea -
Seattle|Seaתואם ל-"Seattle"
טיפול מיוחד בזיהוי דיבור
אם הסוכן שלכם משתמש בזיהוי דיבור (שנקרא גם קלט אודיו, המרת דיבור לטקסט או STT), הביטויים הרגולריים שלכם יצטרכו טיפול מיוחד כשמבצעים התאמה של אותיות ומספרים. המשפט שנאמר על ידי משתמש הקצה עובר קודם עיבוד על ידי מזהה הדיבור לפני שהמערכת מתאימה לו ישויות. כשדיבור מכיל סדרה של אותיות או מספרים, יכול להיות שהמערכת לזיהוי דיבור תוסיף רווחים בין התווים. בנוסף, יכול להיות שהמערכת תפרש ספרות בצורה מילולית. לדוגמה, יכול להיות שהמשפט "המזהה שלי הוא 123" שנאמר על ידי משתמש קצה יזוהה כאחד מהמשפטים הבאים:
- "My ID is 123" (המזהה שלי הוא 123)
- "My ID is 1 2 3" (המזהה שלי הוא 1 2 3)
- "My ID is one two three" (המזהה שלי הוא אחת שתיים שלוש)
כדי להתאים מספרים בני שלוש ספרות, אפשר להשתמש בביטויים הרגולריים הבאים:
\d{3}\d \d \d
(zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine)
יצירת ישות של ביטוי רגולרי
המסוף
- פותחים את מסוף Dialogflow CX.
- בוחרים את הפרויקט ב-GCP.
- בוחרים את הסוכן.
- לוחצים על הכרטיסייה ניהול.
- לוחצים על סוגי ישויות.
- לוחצים על יצירה.
- מסמנים את האפשרות Regexp entities (ישויות של ביטויים רגולריים).
- משלימים את השדות הנותרים.
- לוחצים על Save.
API
מגדירים את השדה EntityType.kind לערך KIND_REGEXP.
בוחרים פרוטוקול וגרסה להפניה EntityType:
| פרוטוקול | V3 | V3beta1 |
|---|---|---|
| REST | EntityType resource | EntityType resource |
| RPC | ממשק EntityType | ממשק EntityType |
| C++ | EntityTypesClient | לא זמין |
| C# | EntityTypesClient | לא זמין |
| המשך | EntityTypesClient | לא זמין |
| Java | EntityTypesClient | EntityTypesClient |
| Node.js | EntityTypesClient | EntityTypesClient |
| PHP | לא זמין | לא זמין |
| Python | EntityTypesClient | EntityTypesClient |
| Ruby | לא זמין | לא זמין |
מגבלות
ההגבלות הבאות חלות:
- אי אפשר להפעיל התאמה משוערת לישויות של ביטויי Regular. התכונות האלה בלעדיות.
- כל סוכן יכול להכיל עד 50 ישויות של ביטויים רגולריים.
- הביטוי הרגולרי המורכב של ישות יכול להיות באורך של עד 2,000 תווים.