פרופיילינג נתונים ב-AI: הערכת איכות וסמנטיקה מהירה

מחסן ההזמנות מתכסה בכפילויות ובחוסרים, והמודל بعد מכן לומד מרעש. אנו מבצעים פרופיילינג נתונים כמסלול מלא: מאתרים אנומליות, מתייגים את משמעות השדות ומספקים דוח איכות מובן. ההערכה אורכת ימים ולא שבועות, ומקצרת את ההכנה להרצת המודל בכ-60%.

תחומי פיתוח AI

שאלות נפוצות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מצבי ניתוח: השוואת גישות ומגבלות

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

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

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

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

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

כיצד מתבצעת הטמעה: שלבי העבודה ההנדסית

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

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

מה מועבר לידיים: קונפיגורציות, סכימות, תקנונים

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

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

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

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

מקרה בוחן: הערכת איכות מחסן הזמנות

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

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

מה מצא הפרופילינג

  • ב-17% מההזמנות סכום הפריטים לא תאם את הסה"כ — מפערים זעירים ועד כמה אחוזים.
  • 6% ממספרי ההזמנות חזרו על עצמם: חלקם כפילויות אמיתיות לאחר העברת היסטוריה, חלקם הזמנות שונות מישויות משפטיות שונות.
  • תאריכים היו בארבעה פורמטים, אזורי זמן לא הותאמו, לכן הזמנות "נדדו" בין ימים.
  • ל-23% מהרשומות לא היה מזהה לקוח — לא ניתן לקשר אותן לכרטיס הקונה.
  • ב-4% מהשורות הופיעו כמויות שליליות — החזרות שנרשמו כמכירות.

מה השתנה

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

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

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

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

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

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

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

ספקות טכניים: שאלות ותשובות

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

סימון אוטומטי טועה — כיצד אתם שולטים בזה?

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

האם הנתונים נשארים בתוך ההיקף שלנו?

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

האם הרצה חוזרת תיתן את אותה תוצאה?

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

האם פרופילינג לא ישנה את הנתונים עצמם?

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

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

נדון במשימה: כיצד להפעיל פרופילינג

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

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

מה להכין לדיון במשימה:

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

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