התאמת הדיבור

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

התאמה אוטומטית של הדיבור

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

הפעלה או השבתה של התאמה אוטומטית של הדיבור

כדי להפעיל או להשבית את ההתאמה האוטומטית של הדיבור:

המסוף

  1. פותחים את מסוף Dialogflow CX.
  2. בוחרים את הפרויקט ב-GCP.
  3. בוחרים את הסוכן.
  4. לוחצים על הגדרות הסוכן.
  5. לוחצים על הכרטיסייה דיבור ו-IVR.
  6. מפעילים או משביתים את האפשרות הפעלה של התאמה אוטומטית של הדיבור.
  7. לוחצים על Save.

API

אפשר לעיין בשיטות get ו-patch/update של הסוג Agent.

בוחרים פרוטוקול וגרסה להפניה לסוכן:

פרוטוקול V3 V3beta1
REST משאב של נציג משאב של נציג
RPC ממשק לנציגים ממשק לנציגים
C++‎ AgentsClient לא זמין
C#‎ AgentsClient לא זמין
המשך AgentsClient לא זמין
Java AgentsClient AgentsClient
Node.js AgentsClient AgentsClient
PHP לא זמין לא זמין
Python AgentsClient AgentsClient
Ruby לא זמין לא זמין

עיצוב סוכנים לשיפור זיהוי הדיבור

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

ביטויים לאימון

  • אם מגדירים ביטויי אימון עם ביטוי כמו "stuffy nose", ביטוי דומה של משתמש הקצה מזוהה באופן מהימן כ-"stuffy nose" ולא כ-"stuff he knows".
  • אם יש לכם פרמטר חובה שמכריח את Dialogflow להציג הנחיות למילוי טופס, התכונה 'התאמה אוטומטית של דיבור' תעדיף מאוד את הישות שממלאים.

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

ישויות מערכת

אם מגדירים משפט אימון שמשתמש ב@sys.number ישות מערכת , והמשתמש אומר "I want two", יכול להיות שהמערכת תזהה את זה בתור "to",‏ "too",‏ "2" או "two".

כשההתאמה האוטומטית של הדיבור מופעלת, מערכת Dialogflow משתמשת בישות @sys.number כרמז במהלך זיהוי הדיבור, ויש סיכוי גבוה יותר שהפרמטר יחולץ כ-2.

ישויות מותאמות אישית

  • אם מגדירים ישות בהתאמה אישית לשמות של מוצרים או שירותים שהחברה מציעה, ויש מונחים כאלה בביטוי של משתמש הקצה, יש סיכוי גבוה יותר שהם יזוהו. אם משתמשים בביטוי לאימון "I love Dialogflow" (אני אוהב/ת את Dialogflow), שבו המילה Dialogflow מסומנת כיישות @product, המערכת תדע להתאים את עצמה לדיבור באופן אוטומטי כדי להעדיף את הביטויים "I love Dialogflow",‏ "I love Cloud Speech" וכל שאר הערכים ביישות @product.

  • חשוב במיוחד להגדיר מילים נרדפות ברורות לישויות כשמשתמשים ב-Dialogflow כדי לזהות דיבור. נניח שיש לכם שני ערכים של ישות @product:‏ Dialogflow ו-Dataflow. מילים נרדפות ל-Dialogflow יכולות להיות: Dialogflow, dialogue flow, dialogue builder, Speaktoit, speak to it, API.ai, API dot AI. אלה מילים נרדפות טובות כי הן כוללות את הווריאציות הנפוצות ביותר. אין צורך להוסיף את המילים "the dialogue flow builder" כי המילים "dialogue flow" כבר כוללות את זה.

  • יכול להיות שיהיה קשה להבין כוונות של משתמשים שאומרים מספרים עוקבים אבל שונים. לדוגמה, יכול להיות שהמשפט "אני רוצה שני מארזים של 16" יתפרש כ-2 מארזים של 16 או כ-216 מארזים. התאמה של הדיבור יכולה לעזור להבחין בין המקרים האלה אם מגדירים ישויות עם ערכים שמאויתים:
    • מגדירים יישות quantity עם רשומות:
      zero
      one
      ...
      twenty
    • מגדירים ישות product או size עם ערכים:
      sixteen pack
      two ounce
      ...
      five liter
    • רק מילים נרדפות של ישויות משמשות להתאמת הדיבור, כך שאפשר להגדיר ישות עם ערך הפניה 1 ומילה נרדפת אחת one כדי לפשט את לוגיקת הביצוע.

ישויות Regexp

ישויות של ביטויים רגולריים יכולות להפעיל התאמה אוטומטית של דיבור לרצפים אלפאנומריים ולרצפים של ספרות כמו "ABC123" או "12345" אם הן מוגדרות ונבדקות בצורה נכונה.

כדי לזהות את הרצפים האלה באמצעות קול, צריך להטמיע את כל ארבע הדרישות הבאות:

1. דרישת קבלה של ביטוי רגולרי

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

ביישות של הביטוי הרגולרי, לפחות ערך אחד צריך לעמוד בכל הכללים הבאים:

  • צריך להתאים לתווים אלפאנומריים, לדוגמה: \d, \w, [a-zA-Z0-9]
  • לא יכולים להיות רווחים לבנים   או \s, אבל מותרים \s* ו-\s?
  • לא יכולות להיות בו קבוצות ללכידה או קבוצות שלא ללכידה ()
  • לא מנסה להתאים תווים מיוחדים או סימני פיסוק כמו: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |

הערך הזה יכול להכיל קבוצות של תווים [] וגם כמתחי כימות של חזרה כמו *, ‏ ?, ‏ +, ‏ {3,5}.

דוגמאות

2. דרישה להגדרת פרמטר

מסמנים את ישות ה-regexp כפרמטר חובה בטופס, כדי שאפשר יהיה לאסוף אותה במהלך מילוי הטופס. ההגדרה הזו מאפשרת להתאמה אוטומטית של הדיבור להטות את התוצאות לטובת זיהוי רצף, במקום לנסות לזהות כוונה ורצף בו-זמנית. אחרת, יכול להיות שהשאלה "איפה החבילה שלי עבור ABC123" תזוהה בטעות כ "איפה החבילה שלי 4ABC123".

3. דרישה להוספת הערות לביטויי אימון

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

4. דרישה לבדיקה

איך בודקים התאמה לדיבור

דוגמאות

לדוגמה, ישות של ביטוי רגולרי עם רשומה אחת ([a-zA-Z0-9]\s?){5,9} לא תפעיל את הכלי לזיהוי רצף דיבור כי היא מכילה קבוצה לחילוץ. כדי לפתור את הבעיה, פשוט מוסיפים עוד רשומה ל-[a-zA-Z0-9]{5,9}. עכשיו תוכלו ליהנות מהיתרונות של הכלי לזיהוי רצפים כשמבצעים התאמה ל-ABC123, אבל ה-NLU עדיין יתאים קלט כמו ABC 123 בזכות הכלל המקורי שמאפשר רווחים.

בדוגמאות הבאות לביטויים רגולריים, הביטויים מותאמים לרצפים אלפאנומריים:

^[A-Za-z0-9]{1,10}$
WAC\d+
215[2-8]{3}[A-Z]+
[a-zA-Z]\s?[a-zA-Z]\s?[0-9]\s?[0-9]\s?[0-9]\s?[a-zA-Z]\s?[a-zA-Z]

בדוגמאות הבאות של ביטויים רגולריים, הביטויים מותאמים לרצפים של ספרות:

\d{2,8}
^[0-9]+$
2[0-9]{7}
[2-9]\d{2}[0-8]{3}\d{4}
פתרון עקיף ל-Regexp

התמיכה המובנית של 'התאמה אוטומטית של דיבור' בישויות של ביטויים רגולריים משתנה בהתאם לשפה. כאן מפורטות השפות הנתמכות ב-$OOV_CLASS_ALPHANUMERIC_SEQUENCE וב-$OOV_CLASS_DIGIT_SEQUENCE.

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

  • הגדרת ישות digit שמכילה 10 רשומות של ישויות (עם מילים נרדפות):
    0, 0
    1, 1
    ...
    9, 9
  • הגדרת ישות letter שמכילה 26 רשומות של ישויות (עם מילים נרדפות):
    A, A
    B, B
    ...
    Z, Z
  • הגדרת יישות employee-id שמכילה רשומה אחת של יישות (ללא מילים נרדפות):
    @letter @letter @letter @digit @digit @digit
  • משתמשים ב-@employee-id כפרמטר בביטוי לאימון.

התאמה ידנית של הדיבור

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

ההגדרות של התאמת הדיבור ברמת התהליך וברמת הדף הן היררכיות, כלומר דף יורש את ההגדרות של התאמת הדיבור מרמת התהליך כברירת מחדל, וההגדרה המפורטת יותר ברמת הדף תמיד מחליפה את ההגדרה ברמת התהליך אם יש לדף הגדרה מותאמת אישית.

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

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

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

הפעלה או השבתה של התאמה ידנית של הדיבור

כדי להפעיל או להשבית התאמה ידנית של הדיבור ברמת התהליך או הדף:

הגדרות של תהליך

  1. פותחים את מסוף Dialogflow CX.
  2. בוחרים את הפרויקט ב-GCP.
  3. מעבירים את העכבר מעל התהליך בקטע תהליכים.
  4. לוחצים על לחצן האפשרויות .
  5. בתפריט הנפתח, בוחרים באפשרות הגדרות פיד.
  6. מסמנים את תיבת הסימון הפעלת התאמה ידנית של הדיבור או מבטלים את הסימון שלה.
  7. עריכה, הוספה או מחיקה של קבוצות ביטויים בטבלת קבוצות הביטויים
  8. לוחצים על Save.

הגדרות הדף

  1. פותחים את מסוף Dialogflow CX.
  2. בוחרים את הפרויקט ב-GCP.
  3. מעבירים את העכבר מעל הדף בקטע דפים.
  4. לוחצים על לחצן האפשרויות .
  5. בתפריט הנפתח, בוחרים באפשרות הגדרות הדף.
  6. האפשרות שימוש ברמת התהליך נבחרת כברירת מחדל, וכשבוחרים בה, הביטויים להתאמה ברמת התהליך ישמשו שוב בדף הזה. אפשר לבחור באפשרות התאמה אישית כדי להגדיר ביטויים שונים להתאמה מההגדרות ברמת הזרימה. גם אם השבתתם את ההתאמה הידנית של הדיבור ברמת הזרימה, עדיין תוכלו להפעיל ולהגדיר התאמה ידנית של הדיבור בדף מסוים בזרימה באמצעות האפשרות התאמה אישית.
  7. עריכה, הוספה או מחיקה של קבוצת ביטויים בטבלה של קבוצות ביטויים להתאמה
  8. לוחצים על Save.

הגדרה ידנית של קבוצת ביטויים לשיפור זיהוי הדיבור

1. מילים וביטויים

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

דוגמה לתיקון שגיאה בזיהוי

דוגמה לשימוש בהתאמת דיבור כדי לתקן בעיות בזיהוי: נניח שאתם מעצבים סוכן למסחר בטלפונים, והמשתמש יכול לומר משהו שכולל את הביטויים "sell phones" או "cell phone" אחרי שהסוכן שואל את השאלה הראשונה שלו "what do you need help with?". אז איך אפשר להשתמש בהתאמת דיבור כדי לשפר את דיוק הזיהוי של שתי המילים?

אם כוללים את שני הביטויים בהגדרות ההתאמה, יכול להיות שהמרת הדיבור לטקסט עדיין תתבלבל כי הם נשמעים דומים. אם תספקו רק אחד משני המשפטים, יכול להיות שהמרת הדיבור לטקסט תזהה לא נכון את אחד המשפטים כמשפט השני. כדי לשפר את הדיוק של זיהוי הדיבור בשתי האפשרויות, צריך לספק ל-Speech-to-Text יותר רמזים להקשר כדי להבחין בין המקרים שבהם צריך לשמוע "sell phones" לבין המקרים שבהם צריך לשמוע "cell phone". לדוגמה, יכול להיות שתשימו לב שאנשים משתמשים בביטוי "מכירת טלפונים" כחלק מביטויים כמו "איך מוכרים טלפונים", "רוצה למכור טלפונים" או "האם אתם מוכרים טלפונים", בעוד שהביטוי "טלפון סלולרי" מופיע כחלק מביטויים כמו "רכישת טלפון סלולרי", "חשבון טלפון סלולרי" ו "שירות טלפון סלולרי". אם תספקו למודל את הביטויים המדויקים יותר האלה במקום הביטויים המקוריים הקצרים 'טלפון סלולרי' ו'למכור טלפונים', המודל של Speech-to-Text ילמד שהביטוי 'למכור טלפון' כצירוף פועל צפוי יותר להופיע אחרי מילים כמו 'איך', 'רוצה' ו'האם', בעוד שהביטוי 'טלפון סלולרי' כצירוף שם עצם צפוי יותר להופיע אחרי מילים כמו 'לרכוש' או להיות מלווה במילים כמו 'חשבון' או 'שירות'. לכן, ככלל, כשמגדירים ביטויים מותאמים, בדרך כלל עדיף לספק ביטויים מדויקים יותר כמו 'איך מוכרים טלפונים' או 'האם אתם מוכרים טלפונים' מאשר לכלול רק את הביטוי 'מכירת טלפון'.

2. טוקנים של כיתות דיבור

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

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

ישויות מערכת טוקנים של כיתות דיבור
@sys.date $MONTH $DAY $YEAR
@sys.date-time $MONTH $DAY $YEAR
@sys.date-period $MONTH $DAY $YEAR
@sys.time $TIME
@sys.time-period $TIME
@sys.age $OPERAND
@sys.number $OPERAND
@sys.number-integer $OPERAND
@sys.cardinal $OPERAND
@sys.ordinal $OPERAND
@sys.percentage $OPERAND
@sys.duration $OPERAND
@sys.currency-name $MONEY
@sys.unit-currency $MONEY
@sys.phone-number $FULLPHONENUM
@sys.zip-code $POSTALCODE או $OOV_CLASS_POSTALCODE
@sys.address $ADDRESSNUM $STREET $POSTALCODE
@sys.street-address $ADDRESSNUM $STREET $POSTALCODE
@sys.temperature $OOV_CLASS_TEMPERATURE
@sys.number-sequence $OOV_CLASS_DIGIT_SEQUENCE
@sys.flight-number $OOV_CLASS_ALPHANUMERIC_SEQUENCE

3. ערך הגברה

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

ההגדרה 'הגברת החשיפה' מוסיפה הטיה נוספת כשמגדירים ערכים שגדולים מ-0 ולא גדולים מ-20. אם הערך של boost הוא 0 או שהוא ריק, אפקט ההטיה שמוגדר כברירת מחדל עוזר לזהות את הביטוי כולו ואת החלקים הרציפים בתוך הביטוי. לדוגמה, הביטוי are you open to sell phones (האם העסק פתוח למכירת טלפונים) עוזר לזהות את הביטוי הזה וגם ביטויים דומים כמו I sell phones (אני מוכר טלפונים) ו-Hi are you open (היי, האם העסק פתוח).

כשמחילים חיזוק חיובי, אפקט ההטיה חזק יותר, אבל הוא חל רק על הביטוי המדויק. לדוגמה, אם תגדירו את הביטוי sell phones (מכירת טלפונים) כביטוי מחוזק, המערכת תזהה את השאלה can you sell phones (האם אפשר למכור טלפונים), אבל לא את השאלה do you sell any phones (האם אתה מוכר טלפונים).

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

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

מידע נוסף על כוונון מדויק של ערך ההגברה של ביטויים זמין במסמך בנושא הגברה ב-Cloud Speech.

מתי כדאי להשתמש בהתאמה אוטומטית או ידנית של דיבור

באופן כללי, אם אתם לא בטוחים אם התאמת הדיבור תשפר את איכות זיהוי הדיבור של הסוכן שלכם (אין לכם בראש דפוסים ברורים של שגיאות בתמלול), מומלץ לנסות קודם התאמת דיבור אוטומטית לפני שמשתמשים בהתאמת דיבור ידנית. כדי לקבל החלטות מדויקות יותר, כדאי להביא בחשבון את הגורמים הבאים כדי להחליט בין התאמה אוטומטית של דיבור לבין התאמה ידנית של דיבור:

1. מילוי טופס

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

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

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

עם זאת, אם בדף או בתהליך יש מספר גדול של נתיבי כוונות (במקרה של דף, צריך גם לקחת בחשבון את מספר הנתיבים ברמת התהליך), או אם לאחת מהכוונות יש ביטויי אימון ארוכים מדי או קצרים מדי ולא חשובים (לדוגמה, משפט שלם או מילה אחת עם הברה אחת או שתיים בלבד), סביר מאוד שהמודל להתאמת דיבור לא יפעל היטב עם הביטויים האלה. קודם כדאי לנסות להשבית את התאמת הדיבור בדפים הפתוחים עם מורכבות גבוהה, על ידי הפעלה של התאמת דיבור ידנית עם קבוצות ביטויים ריקות (ביטול התאמה ריקה). אחרי כן, צריך להעריך אם יש ביטויים מיוחדים וחד-משמעיים שעדיין צריך לספק ל-Speech-to-Text כדי לשפר את איכות הזיהוי.

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

בדיקה של התאמת הדיבור

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

מגבלות

ההגבלות הבאות חלות:

  • התאמת הדיבור לא זמינה לכל מודלי הדיבור ולכל שילובי השפות. כדי לבדוק אם התכונה 'התאמת מודל' זמינה לשילוב של מודל הדיבור והשפה שלכם, אפשר לעיין בדף התמיכה בשפות של Cloud Speech.
  • בשלב הזה, התאמה ידנית של דיבור לא תומכת בסיווגים מותאמים אישית או בדקדוק ABNF. כדי להשתמש בתכונות ההתאמה האלה, אפשר להפעיל את התכונה 'התאמה אוטומטית של הדיבור' או להשתמש בבקשה לזיהוי כוונת המשתמש בזמן ריצה.

  • אותו ערך הגברה עשוי להניב תוצאות שונות במודלים שונים של דיבור ובשפות שונות, לכן כדאי להיזהר כשמגדירים אותם באופן ידני לסוכנים שמשתמשים בכמה שפות או בכמה מודלים של דיבור. בשלב הזה, התאמה ידנית של דיבור חלה על כל השפות בסוכן, ולכן בסוכנים רב-לשוניים צריך להשתמש רק בביטויים שלא תלויים בשפה, או לפצל כל שפה לסוכן נפרד. התנהגות הטיה שמוגדרת כברירת מחדל (לא מספקת דחיפה או מספקת דחיפה של 0) בדרך כלל פועלת בצורה סבירה בכל השפות והמודלים, ולכן לא צריך להגדיר ערכי דחיפה ספציפיים לשפה, אלא אם נדרשת הטיה חזקה יותר לתרחיש השימוש בזיהוי. במדריך הזה של Cloud Speech-to-Text אפשר לקרוא מידע נוסף על כוונון עדין של ערך ההגברה.

  • קשה לזהות רצפים ארוכים של תווים. מספר התווים שמתועדים בכל תור קשור ישירות לאיכות האודיו של הקלט. אם פעלתם לפי כל ההנחיות לגבי ישויות של ביטויים רגולריים, ניסיתם להשתמש בטוקנים רלוונטיים של סיווג דיבור בהגדרות של התאמה ידנית של דיבור, ועדיין לא הצלחתם לתעד את כל הרצף בתור אחד, כדאי לנסות כמה חלופות שיאפשרו לנהל שיחה:
    • כשבודקים את הרצף מול מסד נתונים, כדאי להצליב אותו עם פרמטרים אחרים שנאספו, כמו תאריכים, שמות או מספרי טלפון, כדי לאפשר התאמות חלקיות. לדוגמה, במקום לבקש מהמשתמש רק את מספר ההזמנה, כדאי לבקש גם את מספר הטלפון שלו. מעכשיו, כש-webhook שולח שאילתה למסד הנתונים כדי לברר את סטטוס ההזמנה, הוא יכול להסתמך קודם על מספר הטלפון, ואז להחזיר את ההזמנה שהכי מתאימה לחשבון הזה. לדוגמה, יכול להיות ש-Dialogflow ישמע לא נכון את האותיות "ABC" ויחשוב ששמע "AVC", אבל עדיין יחזיר למשתמש את סטטוס ההזמנה הנכון.
    • אם הרצפים ארוכים במיוחד, כדאי לתכנן תהליך שמעודד את משתמשי הקצה להשהות באמצע כדי שהבוט יוכל לאשר את הפעולות תוך כדי.