Document AI: חילוץ נתונים מובנים מסריקות

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1112

מאות שטרי מטען, חשבוניות וחוזים מגיעים מדי יום כסריקות. הזנה ידנית היא צוואר בקבוק, ושגיאות הן בלתי נמנעות. הפסדי זמן ותקציב גדלים. אנו פותרים זאת עם Document AI — חילוץ אוטומטי של נתונים מובנים. הגישה שלנו משיגה F1 של עד 96% בשדות מורכבים ומפחיתה את זמן העיבוד פי 10–20. בניגוד ל-OCR קלאסי שמפיק טקסט שטוח, Document AI מבין סמנטיקה ופריסה של אלמנטים חזותיים. המודל יודע ש-12 345.00 מימין ל-Total הוא הסכום הסופי, לא מספר אקראי. זהו מרכיב מפתח באוטומציה של זרימת עבודה במסמכים, שבה למידת מכונה מבטלת שגרה.

איכות החילוץ תלויה ישירות בהערות ובארכיטקטורת המודל. אנו משתמשים ב-LayoutLMv3 — מתקדם ביותר עבור מסמכים עם תבניות שרירותיות. להלן נפרט בעיות מרכזיות ופתרונותיהן.

כיצד Document AI מחלץ נתונים מובנים?

מחסנית: PyTorch, Hugging Face Transformers, LayoutLMv3, Tesseract ל-OCR. עבור כל סוג מסמך אנו מאמנים מודל נפרד עם תיוג ישויות BIO (NER).

from transformers import LayoutLMv3Processor, LayoutLMv3ForTokenClassification
from PIL import Image
import torch

class DocumentFieldExtractor:
    def __init__(self, model_path: str, labels: list[str]):
        self.processor = LayoutLMv3Processor.from_pretrained(model_path)
        self.model = LayoutLMv3ForTokenClassification.from_pretrained(
            model_path,
            num_labels=len(labels) * 2 + 1  # BIO tagging
        )
        self.labels = labels
        self.model.eval()

    @torch.no_grad()
    def extract(self, image_path: str) -> dict:
        image = Image.open(image_path).convert('RGB')
        encoding = self.processor(
            image,
            return_tensors='pt',
            truncation=True,
            padding='max_length',
            max_length=512
        )
        outputs = self.model(**encoding)
        predictions = outputs.logits.argmax(-1).squeeze().tolist()
        return self._decode_entities(encoding, predictions)

הערות נתונים נעשות ב-Label Studio עם תמיכה ב-Document AI — המסמן בוחר אזורים בסריקה ומקצה סוגי שדות. מינימום של 200–500 מסמכים מוערים לאיכות בסיסית.

כוונון עדין משתמש ב-Trainer הסטנדרטי מ-Hugging Face:

from transformers import TrainingArguments, Trainer
from datasets import load_dataset

training_args = TrainingArguments(
    output_dir='./invoice_extractor',
    num_train_epochs=20,
    per_device_train_batch_size=2,
    per_device_eval_batch_size=2,
    learning_rate=5e-5,
    warmup_steps=100,
    weight_decay=0.01,
    fp16=True,
    evaluation_strategy='epoch',
    save_strategy='best',
    metric_for_best_model='f1'
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
    eval_dataset=eval_dataset,
    compute_metrics=compute_ner_metrics
)

trainer.train()

אילו בעיות Document AI פותר?

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

מדוע LayoutLMv3 מנצח OCR קלאסי?

OCR קלאסי (Tesseract, Abbyy) מפיק רק טקסט וקואורדינטות. Document AI המבוסס על LayoutLMv3 מבין בנוסף סמנטיקה: המודל יודע שהמחרוזת "TIN 7701234567" היא מספר מס, לא מספר חשבון. כפי שמוצג בעבודה LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking, על מערך הנתונים CORD LayoutLMv3 משיג F1 של 95.5%, בעוד OCR+regex הוא בסביבות 70–80%. LayoutLMv3 מדויק פי 5–10 בשדות מורכבים, במיוחד תאריכים וסכומים. פריסת מערכת כזו בדרך כלל מחזירה את ההשקעה תוך 3–6 חודשים על ידי הפחתת עבודה ידנית, עם חיסכון תפעולי חודשי משמעותי. בנוסף, הפחתת שגיאות עיבוד מספקת יתרונות עלות נוספים.

מערך נתונים שדה F1 (LayoutLMv3)
FUNSD (טפסים) חילוץ ישויות 92.0%
CORD (קבלות) שדות עסקאות 95.5%
SROIE (חשבוניות) 4 שדות מפתח 96.6%
DocVQA (שאלות ותשובות על מסמכים) ANLS 83.5%

טעויות נפוצות בפריסת מחלץ חשבוניות

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

מה כלול?

  • מודל מותאם — LayoutLMv3 מכוונן לסוג המסמך שלך.
  • מיכל API — תמונת Docker עם REST API ודוגמאות בקשות.
  • תיעוד — תיאור מודל, הוראות אינטגרציה.
  • הכשרת עובדים — סמינר מקוון על הערות נתונים ושימוש במחלץ.
  • תמיכה — 3 חודשים של ניטור איכות ואימון מחדש במידת הצורך.

קבלו ייעוץ לפרויקט שלכם — נעריך את המשימה.

דרישות נתונים: סריקות בפורמטים PDF, JPG, PNG. רזולוציה של לפחות 150 DPI. באופן אידיאלי התבניות דומות, אך המודל מסתגל לשינויים עם מספיק דוגמאות (מ-200).

תהליך פריסה שלב אחר שלב

  1. איסוף נתונים והערות — אנו בוחרים 200–500 סריקות מהסוג שלך, מעירים שדות באמצעות Label Studio.
  2. כוונון עדין של המודל — אנו מכווננים את LayoutLMv3 להערות שלך, מבצעים אופטימיזציה של היפרפרמטרים.
  3. עיבוד לאחר — הוספת כללי אימות (פורמטים, סכומי ביקורת).
  4. אריזה ל-API — מודל במיכל Docker עם נקודות קצה REST.
  5. אינטגרציה ובדיקות — חיבור למערכת שלך, בדיקה על קבוצת אימות מופרדת.
  6. ניטור ותמיכה — מעקב אחר איכות, אימון מחדש במידת הצורך.

ציר זמן: סוג מסמך אחד עם נתונים מוערים לוקח 4–6 שבועות; עבור 3–5 סוגים — 8–12 שבועות; מחלץ אוניברסלי — עד 18 שבועות.

המומחיות והערבויות שלנו

אנחנו צוות של מהנדסי ML עם ניסיון של 7+ שנים ב-Computer Vision ו-NLP. השלמנו למעלה מ-30 פרויקטים של Document AI עבור בנקים, לוגיסטיקה וקמעונאות. יש לנו ניסיון מוסמך עם Hugging Face ו-NVIDIA.

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

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