סוגים מאפשרים להגדיר את מנוע ה-NLU (הבנת שפה טבעית) של Assistant לחילוץ נתונים מובְנים מקלט של משתמשים. אפשר להשתמש בסוגים הבאים:
בכוונות, אפשר להוסיף הערות לביטויי אימון עם סוגים שונים כדי ליצור מכונות משבצות. כשמשתמשים אומרים משהו שמתאים למשבצת משבצת, המנוע של NLU מחלץ אותו כפרמטר מוקלד, כך שאפשר לעבד אותו בסצנה.
בשלב מילוי יחידות הקיבולת (Slot) בסצנה, אפשר לציין מספר יחידות קיבולת (Slot) שרוצים שהמשתמש יספק לפני שיוכל לעבור מהסצנה או לצאת ממנה.
בשלב הconditions של סצנה, אפשר לבסס לוגיקה אם לפרמטר יש ערך ספציפי שמוגדר בסוג.
סוגים בהתאמה אישית
סוגים מותאמים אישית מאפשרים לכם ליצור מפרט סוג משלכם כדי להודיע ל-NLU להקצות קבוצת ערכים למפתח יחיד. אפשר לציין סוגים במגוון דרכים:
- מילים ומילים נרדפות מאפשרות למפות ערכים מרובים למפתח יחיד, שנקרא ערך. הסוג יכול להכיל רשומה אחת או כמה רשומות. אם תבחרו באפשרות הזו, תוכלו להפעיל גם את ההגדרות הבאות של ה-NLU:
- הפעלת התאמה מטושטשת – התכונה הזו מאפשרת להתאים ערכים שכוללים ��ותר ממילה אחת, גם אם המילים מוקראות בסדר שונה.
- אישור ערכים לא ידועים – אם אי אפשר לציין את כל הערכים האפשריים, מעבד השפה יוכל לקבל מילים או ביטויים לא ידועים על סמך נתוני האימון של הקלט ואובייקטים ברקע, כמו פריטים שעשויים להוסיף לרשימת מכולת.
- באמצעות ביטויים רגולריים הסוג יכול להתאים ערכים באמצעות דפוסי ביטויים רגולריים על סמך תקן RE2 של Google.
- טקסט חופשי מאפשר לסוג להתאים לכל מה שהמשתמש אומר. הוספת הערות ל-Intent מהסוג הזה מאפשרת לכם לצרוך את כל הקלט כפרמטר שאתם יכולים להוסיף ל-NLU שלכם.
סוגי מערכות
סוגי המערכות מאפשרים להוסיף הערות ולחלץ נתונים מוכרים מקלט של משתמשים באמצעות נתוני אימון וערכים שסופקו על ידי המערכת. סוגי המערכות הבאים נתמכים:
תיאור | התיאור |
---|---|
actions.type.DateTime |
מכילה תאריך, שעה ואזור זמן על סמך הגדרות המכשיר של המשתמש. זמין למילוי משבצות זמן ולהוספת הערות על ביטוי לאימון. |
actions.type.Date |
מכיל תאריך בלבד. זמין למילוי יחידות קיבולת בלבד. |
actions.type.Time |
כולל זמן בלבד. זמין למילוי יחידות קיבולת בלבד. |
actions.type.Number |
הסוג Number תואם למספרים סידוריים ולמספרים קרדינליים. |
שימוש ב-DateTime
, ב-Date
וב-Time
אופן הפעולה של הסוגים האלה משתנה בהתאם לסוג הקהל ולקלט של המשתמש שתואם לסוג.
שימוש עם Intents
הוספת הערות לביטויי אימון באובייקטים מסוג Intent תומכת רק בסוג DateTime
. קלט
המשתמש לא צריך להתאים לערך DateTime
מלא. לדוגמה, אם משתמש מספק רק את השנה, פרמטר ההפעלה עשוי להיראות כך:
"date_time": {
"year": 2019
}
שימוש במילוי של יחידות קיבולת (Slot)
מילוי יחידת הקיבולת (Slot) תומך ב-DateTime
, ב-Date
וב-Time
.
- אם סוג יחידת הקיבולת (Slot) הוא
DateTime
, Assistant מציגה למשתמש בקשה עד שמזינים ערך מלא. - אם סוג יחידת הקיבולת (Slot) הוא
Date
, Assistant מציגה למשתמש בקשה עד שיסופק ערך לתאריך. כשהוא נאסף, הפרמטר שמתקבל הואDateTime
מלא, והזמן מוגדר ל-00:00. - אם סוג יחידת הקיבולת (Slot) הוא
Time
, Assistant תציג למשתמש בקשה עד שיסופק ערך זמן. אחרי האיסוף, הפרמטר שמתקבל הוא אובייקטDateTime
מלא עם התאריך שמוגדר כתאריך הנוכחי.
לדוגמה, נניח שמשתמש בלוס אנג'לס אמר, "Hey Google, create a reminder for בינואר 2024 at 20:00". כשמחלצים את הערך DateTime
כחלק מתהליך מילוי של יחידת קיבולת (Slot), הפרמטר המלא עשוי להיראות כך:
"date_time": {
"day": 15,
"hours": 20,
"minutes": 0,
"month": 1,
"nanos": 0,
"seconds": 0,
"time_zone": {
"id": "America/Los_Angeles"
},
"year": 2024
}
שימוש בשילוב עם תנאים
אפשר להשתמש בתנאים רק במספרים ובמחרוזות, ולכן שימוש בפרמטר DateTime
ברמה העליונה יוביל לתוצאה False עבור התנאי. לדוגמה:
$session.params.my_dateTime.day > 5
הוא תנאי חוקי, כי הערךday
הוא מספר ויש תמיכה.$session.params.my_dateTime > "01-01-2010"
הוא תנאי לא חוקי, כי האובייקט 'DateTime' ברמה העליונה אינו מספר או מחרוזת.
שינויים של סוג זמן הריצה
אפשר לבטל סוגי זמן ריצה כדי ליצור ולשנות באופן דינמי סוגים של מילוי הבקשה. התכונה הזו מאפשרת להוסיף למפרט של סוג מסוים או להחליף אותו בזמן הריצה. לדוגמה, אתם יכולים לבדוק מקור נתונים של קצה עורפי כדי לטעון פריטי תפריט יומיים לסוג מסוים של מילוי הבקשה.
למידע נוסף על יצירת שינויים מברירת המחדל של סוג ה-build, קראו את המדריך בנושא webhook.