GPT
T

table-transformer-detection

קוד פתוח

microsoftmit2022-10-14

  • transformers
  • pytorch
  • safetensors
  • table-transformer
  • object-detection

microsoft עומדים גם מאחורי Sho, ויש עליו סקירה כאן.

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

  • 29Mפרמטרים
  • 1,024טוקנים בהקשר
  • 220 MBמשקל הקבצים
  • 626,325הורדות בחודש

מה זה

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

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

מתאים ל

  • סינון עמודים בצנרת מסמכים

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

  • חיתוך טבלאות לעיבוד OCR

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

  • עיבוד מקומי ומאובטח

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל מחזיר לי קובץ אקסל או נתונים מהטבלה?

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

האם חובה להחזיק כרטיס מסך כדי להשתמש בו?

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("object-detection", model="microsoft/table-transformer-detection")
print(pipe("שלום"))

הקבצים

6 קבצים במאגר, 220 MB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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

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