כך הצלחנו למנוע טעויות בתלוש השכר באמצעות למידת מכונה

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

לטכנולוגיית ML יש מגבלות, אך מלאכת האופטימיזציה נמשכת כל הזמן (צילום: dreamstime)

מאת עופר הרמן, Co-Founder and CTO

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

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

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

לאחר מכן הספקים מחזירים אלינו את השורה התחתונה ואת כל רכיבי השכר המעובדים. רבים מהנתונים מגיעים בכל מיני פורמטים של קבצים – word ,pdf ,text ו-excel – בתבניות שונות שמשתנות בין סוגי המידע והטפסים ולעתים גם כ-unstructured text – מידע שמגיע ללא תבנית ידועה מראש.

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

שלב ראשון: דפוסים ומחרוזות

בשלב הראשון בחרנו לטפל בקבצים ובתבניות (templates) הספציפיות בשיטה של חיפוש מחרוזות (parsers). לצורך כך נקטנו שתי גישות: האחת – איתור הדאטה לפי המיקום שלו בקבצים. למשל, שורה 3 טור B באקסל. השנייה – חיפוש תיבות טקסט לפי דפוסים (patterns). למשל, קטע הטקסט שמופיע לאחר התיבה id:. לשם כך השתמשנו במערכת גמישה מבחינת הקונפיגורציה, כזו שתוכל לתמוך גם בספקים חדשים ובתבניות חדשות.

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

שלב שני: אלגוריתם לזיהוי ישויות

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

אז איך בכל זאת עבדה שיטת ה-Entity Recognition? מיפינו את סוגי הדאטה וסרקנו את הקבצים שהתקבלו בחיפוש שמות הישויות המוכרות לנו במערכת. לאחר מכן נתנו ציון (score) לסבירות שצירוף כלשהו של ישויות יכול להוות זיהוי של לקוח יחיד. מרגע שהושג ציון מינימלי, ניתן לשייך את הטקסט ברמת ודאות מספקת. היתרון של האלגוריתם הזה טמון בעובדה שהוא מנוטרל מהשפעות של שפה או פורמטים, ויותר מכך: ברגע שהוא פתר בעיה מסוג מסוים (למשל: J כקיצור של John) – הוא יידע לפתור את השאר (M ל-Malcolm).

התוצאה: חיפוש ה-Entity Recognition התברר כאפקטיבי במיוחד, וב-90% מהמקרים הוא מאפשר בדיקה אוטומטית (Automatic Audit) של שמות ישויות ועובדים לצורך שיוך מדויק של נתוני השכר. אלו אחוזי הצלחה גבוהים במיוחד שבהחלט עונים על דרישת הסקיילביליות ומאפשרים לנו לטפל בתבניות חדשות בצורה אוטומטית. עשרת האחוזים הנותרים, בהם לא הושגה רמת מובהקות מספקת, מטופלים ידנית. זאת נקודה חשובה: היכולת לזהות מה המערכת עדיין לא יודעת היא קריטית בפני עצמה.

שלב שלישי: למידת מכונה לקלסיפיקציה

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

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

התוצאה: השימוש ב-Machine Learning לסיווג הקובץ, תוך התייחסות לרכיבי הטקסט עצמו, התברר כאפקטיבי ומצליח לסווג יותר מ-90% מהקבצים.

מגבלות ה-ML, ומה הלאה?

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

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

הכתבה בחסות Papaya Global

פאפאיה גלובל הינה חברת סטארט אפ ישראלית המפתחת פלטפורמת SaaS לניהול גלובלי של עובדים, שכר, תשלומים והטבות, ומספקת שירות ביותר מ־140 מדינות לעובדים ישירים, פרילנסרים ועובדים המועסקים דרך צד שלישי. לפאפאיה מעל 500 לקוחות גלובליים, ביניהם שמות מוכרים כמו מיקרוסופט, טיוטה, WIX וצ’ק מארקס. החברה מעסיקה מעל 250 עובדים ברחבי העולם כאשר עיקר הפיתוח נעשה במטה שלה בישראל הממוקם בהרצליה. לפאפאיה יש כיום מספר משרות טכנולוגיות פתוחות, אנו מזמינים אתכם להצטרף לאתגר ולעבוד עם הטכנולוגיות המתקדמות ביותר ולהנות מתנאים מעולים!

כתב אורח

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

הגב

1 תגובה על "כך הצלחנו למנוע טעויות בתלוש השכר באמצעות למידת מכונה"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
גרגמל
Guest

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

wpDiscuz

תגיות לכתבה: