מהו עיבוד מסמכים?
עיבוד מסמכים הוא תהליך של אוטומציה של חילוץ נתונים מובנים ממסמכים. זה יכול להיות עבור כל מסמך, למשל חשבונית, קורות חיים, תעודות זהות וכו'. החלק המאתגר כאן הוא לא רק ה-OCR. ישנן אפשרויות רבות זמינות בחוץ בעלויות נמוכות שיכולות לחלץ טקסט ולתת לך את המיקום. האתגר האמיתי הוא לתייג קטעי טקסט אלו בצורה מדויקת ואוטומטית.
ההשפעה העסקית של עיבוד מסמכים
מספר תעשיות מסתמכות רבות על עיבוד מסמכים לצורך הפעילות היומיומית שלהן. ארגונים פיננסיים צריכים גישה להגשות SEC, הגשות ביטוח, חברת מסחר אלקטרוני או שרשרת אספקה עשויה להזדקק לגישה לחשבוניות שנמצאות בשימוש, הרשימה עוד ארוכה. הדיוק של המידע הזה חשוב לא פחות מהזמן שנחסך, ולכן אנחנו תמיד ממליצים להשתמש בשיטות למידה עמוקה מתקדמות שמכלילות יותר, ומדויקות יותר.
לפי דוח זה של PwC, [קישור] אפילו הכמות הבסיסית ביותר של חילוץ נתונים מובנים יכולה לעזור לחסוך 30-50% מזמן העובדים המושקעים בהעתקה ידנית והדבקה של נתונים מקובצי PDF לגיליונות אלקטרוניים של Excel. מודלים כמו LayoutLM הם בהחלט לא בסיסיים, הם נבנו כסוכנים אינטליגנטיים ביותר המסוגלים לחלץ נתונים מדויקים בקנה מידה, על פני מקרי שימוש שונים. אפילו עם רבים מהלקוחות שלנו, הורדנו את הזמן הנדרש לחילוץ נתונים באופן ידני מ-20 דקות למסמך לפחות מ-10 שניות. זהו שינוי עצום, המאפשר לעובדים להיות פרודוקטיביים יותר, ולתפוקה גבוהה יותר בסך הכל.
אז היכן ניתן ליישם AI בדומה ל-LayoutLM? ב- Nanonets, השתמשנו בטכנולוגיה כזו עבור
ומקרי שימוש רבים אחרים.
למה LayoutLM?
כיצד מודל למידה עמוקה מבין אם קטע טקסט נתון הוא תיאור פריט בחשבונית, או מספר החשבונית? במילים פשוטות, איך מודל לומד כיצד להקצות תוויות בצורה נכונה?
שיטה אחת היא להשתמש בהטמעות טקסט ממודל שפה מאסיבי כמו BERT או GPT-3 ולהריץ אותו דרך מסווג - למרות שזה לא מאוד יעיל. יש הרבה מידע שאי אפשר לאמוד רק באמצעות טקסט. לחלופין, אפשר לעשות שימוש במידע מבוסס תמונה. זה הושג על ידי שימוש במודלים של R-CNN ו-R-CNN מהירים יותר. עם זאת, זה עדיין לא מנצל במלואו את המידע הזמין במסמכים. גישה נוספת בה נעשה שימוש הייתה עם Graph Convolutional Neural Networks, אשר שילבה מידע מיקום וטקסטואלי כאחד, אך לא לקחה בחשבון מידע על תמונה.
אז איך נשתמש בכל שלושת מימדי המידע, כלומר גם הטקסט, התמונה והמיקום של הטקסט הנתון? זה המקום שבו נכנסים לתמונה מודלים כמו LayoutLM. למרות היותם תחום מחקר פעיל במשך שנים רבות קודם לכן, LayoutLM היה אחד המודלים הראשונים שהשיגו הצלחה בשילוב החלקים ליצירת מודל יחיד המבצע תיוג באמצעות מידע מיקום, מידע מבוסס טקסט, וגם מידע על תמונה.
הדרכה של LayoutLM
מאמר זה מניח שאתה מבין מהו מודל שפה. אם לא, אל תדאג, כתבנו מאמר על זה גם כן! אם תרצו ללמוד עוד על מה הם דגמי שנאים ומהי תשומת לב, כאן הוא מאמר מדהים של ג'יי אלמר.
בהנחה שהוצאנו את הדברים האלה מהדרך, בואו נתחיל עם המדריך. אנו נשתמש בנייר LayoutLM המקורי בתור ההתייחסות העיקרית.
חילוץ טקסט OCR
הדבר הראשון שאנו עושים עם מסמך הוא לחלץ את המידע המבוסס על טקסט מהמסמך, ולמצוא את המיקומים שלהם. לפי מיקום, אנו מתייחסים למשהו שנקרא 'תיבה תוחמת'. תיבה תוחמת היא מלבן המקיף את פיסת הטקסט בעמוד.
ברוב המקרים, ההנחה היא שלתיבה התוחמת יש מוצא בפינה השמאלית העליונה, ושציר ה-x החיובי מופנה מהמקור לכיוון ימין העמוד, וציר ה-y החיובי מכוון מהמקור אל החלק התחתון של העמוד, כאשר פיקסל אחד נחשב ליחידת המידה.
הטמעות שפה ומיקום
לאחר מכן, אנו עושים שימוש בחמש שכבות הטבעה שונות. האחת, היא לקודד את המידע הקשור לשפה - כלומר הטמעות טקסט.
ארבעת האחרים שמורים להטמעות מיקום. בהנחה שאנו יודעים את הערכים של xmin, ymin, xmax ו-ymax, נוכל לקבוע את כל התיבה התוחמת (אם אתה לא יכול לדמיין את זה, הנה קישור בשבילך). הקואורדינטות הללו מועברות דרך שכבות ההטמעה שלהן כדי לקודד מידע למיקום.
חמש ההטבעות - אחת לטקסט וארבע לקואורדינטות - מתווספות לאחר מכן כדי ליצור את הערך הסופי של ההטמעה שמועברת דרך LayoutLM. הפלט מכונה הטמעת LayoutLM.
הטבעות תמונה
אוקיי, אז הצלחנו למצוא את המידע הקשור לטקסט ולמיקום על ידי שילוב ההטמעות שלהם והעברתו דרך מודל שפה. עכשיו איך אנחנו עוברים את התהליך של שילוב מידע הקשור לתמונה בו?
בזמן שהטקסט והפריסה מקודדים, במקביל, אנו משתמשים ב- Faster R-CNN כדי לחלץ את אזורי הטקסט הקשורים למסמך. Faster R-CNN הוא מודל תמונה המשמש לזיהוי אובייקטים. במקרה שלנו, אנו משתמשים בו כדי לזהות פיסות טקסט שונות (בהנחה שכל ביטוי הוא אובייקט) ולאחר מכן מעבירים את התמונות המפולחות דרך שכבה מחוברת לחלוטין כדי לסייע ביצירת הטבעות גם עבור התמונות.
הטמעות LayoutLM כמו גם הטבעות התמונה משולבות ליצירת הטבעה סופית, שבה ניתן להשתמש לאחר מכן לביצוע עיבוד במורד הזרם.
Layout LM לפני אימון
כל האמור לעיל הגיוני רק אם נבין את השיטה שבה הוכשרה LayoutLM. אחרי הכל, לא משנה איזה סוג של קשרים ניצור ברשת עצבית, עד ואם היא לא מאומנת עם מטרת הלמידה הנכונה, זה לא ממש חכם. מחברי LayoutLM רצו להמשיך בשיטה דומה לזו ששימשה להכשרה מוקדמת של BERT.
מודל שפה חזותי מסכה (MVLM)
על מנת לעזור למודל ללמוד איזה טקסט יכול היה להיות במיקום מסוים, המחברים הסתירו באקראי כמה אסימונים של טקסט תוך שמירה על מידע והטבעות הקשורות למיקום. זה אפשר ל-LayoutLM ללכת מעבר למודלים פשוטים של Masked Language, ועזר לשייך גם הטמעות טקסט עם אופנים הקשורים למיקום.
סיווג מסמכים רב-תוויות (MDC)
שימוש בכל המידע במסמך כדי לסווג אותו לקטגוריות עוזר למודל להבין איזה מידע רלוונטי לסוג מסוים של מסמכים. עם זאת, המחברים מציינים כי עבור מערכי נתונים גדולים יותר, ייתכן שנתונים על מחלקות מסמכים לא יהיו זמינים בקלות. לפיכך, הם סיפקו בסיס לתוצאות הן אימון MVLM בלבד והן אימון MVLM + MDC.
כוונון עדין של LayoutLM עבור משימות במורד הזרם
ישנן מספר משימות במורד הזרם שניתן לבצע עם LayoutLM. אנו נדון באלה שהמחברים התחייבו.
הבנת טופס
משימה זו כוללת קישור של סוג תווית לפיסת טקסט נתונה. באמצעות זה, אנו יכולים לחלץ נתונים מובנים מכל סוג של מסמך. בהינתן הפלט הסופי, כלומר הטמעות LayouLM + הטבעות תמונה, הם מועברים דרך שכבה מחוברת לחלוטין ואז מועברים דרך softmax כדי לחזות הסתברויות מחלקות עבור תווית של קטע טקסט נתון.
הבנת קבלה
במשימה זו, מספר משבצות מידע נותרו ריקות בקבלות, והמודל היה צריך למקם נכון פיסות טקסט על המשבצות שלהן.
סיווג תמונה של מסמך
מידע מהטקסט והתמונה של המסמך משולבים כדי לעזור להבין את המעמד של המסמך פשוט על ידי העברתו דרך שכבת softmax.
Huggingface LayoutLM
אחת הסיבות העיקריות לכך ש-LayoutLM נידונה כל כך היא בגלל שהמודל היה בקוד פתוח לפני זמן מה. זה זמין ב-Huging Face, כך שהשימוש ב-LayoutLM קל משמעותית כעת.
לפני שנצלול לפרטים של איך אתה יכול לכוונן את LayoutLM לצרכים שלך, יש כמה דברים שצריך לקחת בחשבון.
התקנת ספריות
כדי להפעיל את LayoutLM, תזדקק לספריית השנאים מ- Hugging Face, אשר בתורה תלויה בספריית PyTorch. כדי להתקין אותם (אם עדיין לא הותקנו), הפעל את הפקודות הבאות
על תיבות תוחמות
כדי ליצור סכימת הטמעה אחידה ללא קשר לגודל התמונה, קואורדינטות התיבה התוחמת מנורמלות בקנה מידה של 1000
תְצוּרָה
באמצעות המחלקה transformers.LayoutLMConfig, אתה יכול להגדיר את גודל המודל כך שיתאים בצורה הטובה ביותר לדרישות שלך, מכיוון שדגמים אלה הם בדרך כלל כבדים וצריכים לא מעט כוח מחשוב. הגדרת אותו לדגם קטן יותר עשויה לעזור לך להפעיל אותו באופן מקומי. אתה יכול למד עוד על הכיתה כאן.
LayoutLM עבור סיווג מסמכים (קישור)
אם תרצו לבצע סיווג מסמכים, תזדקקו ל-class transformers.LayoutLMForSequenceClassification. הרצף כאן הוא רצף הטקסט מהמסמך שחילצתם. הנה דגימת קוד קטנה מבית Hugging Face.co שתסביר כיצד להשתמש בו
LayoutLM עבור תיוג טקסט (קישור)
כדי לבצע תיוג סמנטי, כלומר להקצות תוויות לחלקי טקסט שונים במסמך, תזדקק ל-class transformers.LayoutLMForTokenClassification. ייתכן שתמצא פרטים נוספים על כנ"ל כאן.הנה דגימת קוד קטנה בשבילך כדי לראות איך זה יכול לעבוד בשבילך
כמה נקודות לשים לב לגבי חיבוק פנים LayoutLM
- נכון לעכשיו, מודל Hugging Face LayoutLM עושה שימוש בספריית הקוד הפתוח של Tesseract לחילוץ טקסט, שאינו מדויק במיוחד. אולי כדאי לשקול להשתמש בכלי OCR אחר בתשלום כמו AWS Textract או Google Cloud Vision
- המודל הקיים מספק רק את מודל השפה, כלומר הטמעות LayoutLM, ולא את השכבות הסופיות המשלבות תכונות חזותיות. LayoutLMv2 (נדון בסעיף הבא) משתמש בספריית Detectron כדי לאפשר הטמעת תכונות חזותיות גם כן.
- הסיווג של התוויות מתרחש ברמת מילים, ולכן זה באמת תלוי במנוע חילוץ טקסט OCR להבטיח שכל המילים בשדה נמצאות ברצף רציף, או ששדה אחד עשוי להיות חזוי כשתיים.
פריסה LMv2
LayoutLM הגיעה כמהפכה באופן שבו נתונים חולקו ממסמכים. עם זאת, בכל הנוגע למחקר למידה עמוקה, המודלים רק משתפרים יותר ויותר עם הזמן. LayoutLM הוחלפה באופן דומה על ידי LayoutLMv2, שם הכותבים ביצעו כמה שינויים משמעותיים באופן ההכשרה של המודל.
כולל הטבעות מרחביות 1-D והטבעות אסימון חזותי
LayoutLMv2 כלל מידע לגבי מיקום יחסי 1-D, כמו גם מידע כללי הקשור לתמונה. הסיבה שזה חשוב היא בגלל יעדי האימון החדשים, עליהם נדון כעת
יעדי הכשרה חדשים
LayoutLMv2 כלל כמה יעדי אימון שהשתנו. אלה הם כדלקמן:
- דוגמנות שפה חזותית במסכה: זה אותו דבר כמו ב-LayoutLM
- יישור תמונת טקסט: טקסט כוסה באופן אקראי מהתמונה, בעוד שאסימוני הטקסט סופקו לדגם. עבור כל אסימון, המודל היה צריך ללמוד אם הטקסט הנתון מכוסה או לא. באמצעות זה, המודל הצליח לשלב מידע מאופנים חזותיים וטקסטואליים כאחד
- התאמת תמונה של טקסט: המודל מתבקש לבדוק אם התמונה הנתונה מתאימה לטקסט הנתון. דוגמאות שליליות מוזנות כתמונות כוזבות, או שלא מסופקות הטמעות תמונה כלל. זה נעשה כדי להבטיח שהמודל לומד יותר על האופן שבו הטקסט והתמונות קשורים.
באמצעות השיטות וההטמעות החדשות הללו, המודל הצליח להשיג ציוני F1 גבוהים יותר כמעט בכל מערכי הנתונים של הבדיקה כ-LayoutLM.
- אודות
- גישה
- חֶשְׁבּוֹן
- מדויק
- הושג
- לרוחב
- פעיל
- מתקדם
- סוכנים
- AI
- תעשיות
- כְּבָר
- למרות
- כמות
- אחר
- גישה
- AREA
- סביב
- מאמר
- מחברים
- זמין
- AWS
- בסיס
- להיות
- הטוב ביותר
- קצת
- אריזה מקורית
- כרטיסים
- מקרים
- לאתגר
- מיון
- ענן
- קוד
- משולב
- חברה
- לחשב
- תְצוּרָה
- חיבורי
- התחשבות
- עלויות
- יכול
- לקוחות
- נתונים
- יְוֹם
- למרות
- איתור
- DID
- אחר
- מסמכים
- מטה
- מסחר אלקטרוני
- אפקטיבי
- מה שמאפשר
- להקים
- Excel
- פָּנִים
- מהר יותר
- מאפיין
- תכונות
- הפד
- כספי
- ראשון
- הבא
- ליצור
- GitHub
- לעזור
- עוזר
- כאן
- איך
- איך
- HTTPS
- תמונה
- פְּגִיעָה
- חשוב
- לשפר
- כלול
- תעשיות
- מידע
- ביטוח
- אינטליגנטי
- IT
- תיוג
- תוויות
- שפה
- גדול יותר
- לִלמוֹד
- למידה
- רמה
- סִפְרִיָה
- קשר
- רשימה
- באופן מקומי
- מיקום
- מקומות
- באופן ידני
- מסיבי
- תואם
- דבר
- מודל
- מודלים
- רוב
- רשת
- רשתות
- לפתוח
- קוד פתוח
- תפעול
- אפשרויות
- להזמין
- ארגונים
- אחר
- נפרע
- מאמר
- לְחַבֵּר
- כּוֹחַ
- תהליך
- מספק
- PWC
- סיבות
- להמליץ
- לדווח
- נדרש
- דרישות
- מחקר
- תוצאות
- קורות חיים
- הפעלה
- סולם
- תכנית
- ה-SEC
- תחושה
- סט
- הצבה
- משמרת
- משמעותי
- דומה
- פָּשׁוּט
- מידה
- קטן
- חכם
- So
- משהו
- החל
- הצלחה
- לספק
- שרשרת אספקה
- משימות
- טכנולוגיה
- מבחן
- דרך
- זמן
- אסימון
- מטבעות
- חלק עליון
- הדרכה
- להבין
- להשתמש
- לנצל
- ערך
- מה
- אם
- מילים
- תיק עבודות
- עובדים
- שנים