GPT
L

layoutlm-document-qa

קוד פתוח

impiramit2022-08-07

  • transformers
  • pytorch
  • tf
  • safetensors
  • layoutlm

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

  • 128Mפרמטרים
  • 514טוקנים בהקשר
  • 1.4 GBמשקל הקבצים
  • 306,218הורדות בחודש

מה זה

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

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

מתאים ל

  • חילוץ נתונים מחשבוניות

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

  • קריאת דוחות כספיים

    איתור שורות רווח או נתוני מכירות מתוך טבלאות ומסמכים חשבונאיים סרוקים.

  • אוטומציה לטפסים באנגלית

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

איפה זה נופל

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

שאלות
נפוצות

האם הוא יודע לקרוא חשבוניות בעברית?

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

למה צריך להתקין pytesseract בנוסף למודל?

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

איך מריצים

ההרצה פשוטה מאוד ועוברת דרך ה־pipeline של transformers ישירות בפייתון, אבל היא תלויה בהתקנה של pytesseract ו־PIL לצד PyTorch, כי העיבוד דורש חילוץ טקסט וקואורדינטות מהתמונה בזמן אמת.

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

from transformers import pipeline

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

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש

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