אימון מודל סיווג טקסט (BERT, RoBERTa, DeBERTa)

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

תחומי פיתוח AI

שאלות נפוצות

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

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

מדוע כיוונון עדין של BERT על הנתונים שלכם נתקע

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

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

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

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

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

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

איזו השפעה נותן מודל שאומן על הנתונים שלכם

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

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

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

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

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

גישות לכיוונון עדין של BERT: השוואת מצבים

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

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

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

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

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

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

תוצרי הפרויקט: משקלי המודל, תקנון התיוג

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

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

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

סיווג פניות תמיכה: מדדים לפני ואחרי

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

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

מודל בסיסי על BERT נתן macro-F1 של 0.61 על הסט המושהה — לניתוב ללא אדם זה מעט, ולכן הכיוונון העדין נעשה על מחלקות מאוזנות עם בקרת איכות נפרדת בנושאים נדירים.

מה שינו במהלך הפרויקט

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

מה הראו המדדים לאחר ההטמעה

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

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

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

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

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

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

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

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

ספקות טכניים: תיוג, היקף נתונים, איכות

היקף התיוג נקבע לא לפי מספר «קסום», אלא לפי מספר המחלקות, האיזון ביניהן ומגוון הניסוחים.

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

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

כמה דוגמאות צריך כדי בכלל להתחיל?

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

מה לעשות אם המתייגים סותרים זה את זה?

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

איך יודעים שהמודל עבר אימון יתר?

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

נדון במשימה: אילו נתונים יש ומה נדרש בפלט

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

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

עם מה אנחנו חוזרים לאחר הניתוח:

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

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