איך בונים STT בסביבת ייצור: ארכיטקטורה, אופטימיזציה ומקרי בוחן

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

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

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

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

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

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

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

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

מה נותן קו זיהוי דיבור מהודר

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

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

מדד ללא התאמת קו לאחר התאמה
שיעור שגיאות בהקלטות אמיתיות 15–25% בשיחות דיבוריות עם רעש ומבטא 4–8% על אותו קורפוס, מונחים מהמילון של הלקוח מזוהים באופן יציב
זמן תגובה ההקלטה נצברת ומפוענחת במלואה לאחר ההעלאה הקטע הראשון מגיע בתוך שנייה, השאר — עם התקדמות הדיבור
בדיקה ידנית של תמלולים קריאה מלאה של כל ההקלטות השוואה סלקטיבית רק של קטעים עם ביטחון נמוך של המודל
עמידות בפני ניתוקים אובדן סשן, יש להתחיל את ההקלטה מחדש נקודות ביקורת והעלאה מחדש: הסשן ממשיך מהקטע האחרון המאושר

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

פיתוח STT: אפשרויות ארכיטקטורה ומגבלותיהן

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

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

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

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

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

סדר העבודות: מביקורת הקלטות ועד מסירת הקו

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

  1. ביקורת הקלטות. נוטלים מדגם מערוצים אמיתיים — שיחות, פגישות, הכתבה — ומתייגים בעיות: רעש, הדהוד, חפיפת דיבורים, קווים צרי-סרט, דיבור ספונטני, שיעור מונחים תחומיים. בפלט מתקבלת מפת תנאים והבנה אילו סוגי הקלטות בכלל ניתנים לאוטומציה.
  2. תכנית הקו. מקבעים את הזרימה: מקור, עיבוד מקדים (דיכוי רעש, זיהוי דיבור, הפרדת דוברים), זיהוי, עיבוד שלאחר (פיסוק, מספרים, מילון מונחים), פלט למערכת היעד. בנפרד מתארים נקודות כשל והתנהגות בעת אי-זמינות של צמתים חיצוניים.
  3. התאמה לתחום. אוספים מילונים של מונחים, ראשי תיבות ושמות, מתאימים מודל שפה ללקסיקון התחומי, בעת הצורך מבצעים אימון נוסף של החלק האקוסטי על קטעים מתויגים מהביקורת.
  4. בדיקה על מדגם מושהה. מאשרים איכות על קורפוס שלא השתתף בהתאמה, ובפילוח לפי תת-קבוצות: ערוץ תקשורת, רמת רעש, קצב דיבור, צפיפות מונחים. נתון ממוצע על כל הקורפוס מסתיר נפילות בקבוצות מסוימות — ובעבודה דווקא הן חשובות.
  5. קבלה לפי מדדים. קובעים ספים לפי תת-קבוצות, ולא אחוז כללי: היכן האוטומציה מחזירה תוצאה מיד, היכן נדרש מעבר שני או סימון "לבדיקת מפעיל".
  6. מסירת הקו והדרכת הצוות. מוסרים את התכנית, תקנון אימון מחדש בעת שינוי לקסיקון, לוח מדדים ונוהל טיפול באירועים, ומבצעים הדרכה למהנדסים ולמפעילים.

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

ערכת אספקה: תצורות, תכניות ותקנונים

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

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

מקרה בוחן: זיהוי שיחות במוקד שירות לפני ואחרי

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

מה שינו בקו

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

שיעור השגיאות בישויות מפתח ירד מ-28% ל-7%. שיעור התמלולים שהמפעיל מקבל ללא תיקונים עלה מ-59% ל-88%, וזמן עיבוד הפנייה הצטמצם מתשע דקות של מילוי ידני לדקה וחצי של בדיקה. יותר ממחצית הפניות מפוענחות אוטומטית ועוברות לדיווח ללא מעורבות אדם.

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

במה עיבוד זורם שונה מעיבוד צובר

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

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

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

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

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

הבחירה נקבעת לפי זמן התגובה המותר ושיעור התרחישים שבהם התשובה נדרשת ברגע הדיבור — כל השאר זול יותר ומדויק יותר להריץ כארכיון.

ספקות לגבי איכות, נתונים ועומס

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

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

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

הקלטות רועשות: קשר, משרד, רחוב — האיכות תיפול?

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

אסור להוציא נתונים מחוץ לקו — האם זה אפשרי?

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

אימון נוסף על המינוח שלך

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

עומס שיא

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

החלפת ספק — האם נישאר בני ערובה?

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

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

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

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

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

בסיום השיחה נשלח:

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

תחילת הפרויקט — לאחר תיאום התכנית והמדדים: מקבעים שלבים, נקודות בקרה ונוהל קבלה. בואו נדון במשימה — נחזור עם הערכה ותכנית עבודה.