GPT
L

layoutlm-invoices

קוד פתוח

impiraרישיון לא דווח2022-09-06

  • transformers
  • pytorch
  • safetensors
  • layoutlm
  • document-question-answering

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

  • 514טוקנים בהקשר
  • 978 MBמשקל הקבצים
  • 24,258הורדות בחודש
  • 229לייקים

מה זה

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

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

מתאים ל

  • שליפת כתובות מרובות שורות

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

  • מענה על שאלות מחשבוניות

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

  • עיבוד מקומי וזול

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

איפה זה נופל

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

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

שאלות
נפוצות

איך המודל הזה מתמודד עם חשבוניות בעברית?

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

האם הוא מסוגל לקרוא מסמך של עשרה עמודים בבת אחת?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("document-question-answering", model="impira/layoutlm-invoices")
print(pipe("שלום"))

הרישיון

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

הרישיון המלא בעמוד המודל ↗