התשובה לבקשת עיבוד מכילה אובייקט Document
שכולל את כל מה שידוע על המסמך שעבר עיבוד, כולל כל המידע המובנה ש-Document AI הצליח לחלץ.
בדף הזה מוסבר הפריסה של אובייקט Document באמצעות מסמכים לדוגמה, ולאחר מכן ממופים היבטים של תוצאות ה-OCR לרכיבים הספציפיים של אובייקט Document בפורמט JSON.
בנוסף, האתר כולל ספריות לקוח, דוגמאות קוד ודוגמאות קוד של Document AI Toolbox SDK.
בדוגמאות הקוד האלה נעשה שימוש בעיבוד אונליין, אבל ניתוח האובייקט Document פועל באותו אופן גם בעיבוד באצווה.

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

זהו אובייקט המסמך המלא שמוחזר על ידי מעבד Enterprise Document OCR:
הפלט של ה-OCR תמיד נכלל גם בפלט של מעבד Document AI, כי המעבדים מריצים OCR. הוא משתמש בנתוני ה-OCR הקיימים, ולכן אפשר להזין נתוני JSON כאלה למעבדי Document AI באמצעות האפשרות 'מסמך מוטבע'.
image=None, # all our samples pass this var
mime_type="application/json",
inline_document=document_response # pass OCR output to CDE input - undocumented
אלה כמה מהשדות החשובים:
טקסט גולמי
השדה text מכיל את הטקסט שמזוהה על ידי Document AI.
הטקסט הזה לא מכיל מבנה פריסה מלבד רווחים, טאבים ומעברי שורה. זהו השדה היחיד שבו מאוחסן מידע טקסטואלי של מסמך, והוא משמש כמקור האמת של הטקסט במסמך. בשדות אחרים אפשר להפנות לחלקים בשדה הטקסט לפי מיקום (startIndex ו-endIndex).
{
text: "Sample Document\nHeading 1\nLorem ipsum dolor sit amet, ..."
}
גודל הדף ושפות
כל page באובייקט המסמך תואם לדף פיזי ממסמך הדוגמה. פלט ה-JSON לדוגמה מכיל דף אחד כי מדובר בתמונה אחת בפורמט PNG.
{
"pages:" [
{
"pageNumber": 1,
"dimension": {
"width": 679.0,
"height": 460.0,
"unit": "pixels"
},
}
]
}
- השדה
pages[].detectedLanguages[]מכיל את השפות שנמצאו בדף מסוים, יחד עם ציון רמת הביטחון.
{
"pages": [
{
"detectedLanguages": [
{
"confidence": 0.98009938,
"languageCode": "en"
},
{
"confidence": 0.01990064,
"languageCode": "und"
}
]
}
]
}
נתוני OCR
OCR ב-Document AI מזהה טקסט עם רמות שונות של פירוט או ארגון בדף, כמו בלוקים של טקסט, פסקאות, טוקנים וסמלים (רמת הסמל היא אופציונלית, אם המערכת מוגדרת להפקת נתונים ברמת הסמל). אלה כל החברים באובייקט הדף.
לכל רכיב יש layout תואם שמתאר את המיקום והטקסט שלו. אלמנטים חזותיים שאינם טקסט (כמו תיבות סימון) נמצאים גם הם ברמת הדף.
{
"pages": [
{
"paragraphs": [
{
"layout": {
"textAnchor": {
"textSegments": [
{
"endIndex": "16"
}
]
},
"confidence": 0.9939527,
"boundingPoly": {
"vertices": [ ... ],
"normalizedVertices": [ ... ]
},
"orientation": "PAGE_UP"
}
}
]
}
]
}
הטקסט הגולמי מופיע באובייקט textAnchor, שממופתח במחרוזת הטקסט הראשית באמצעות startIndex ו-endIndex.
במקרה של
boundingPoly, הפינה הימנית העליונה של הדף היא נקודת המוצא(0,0). ערכי X חיוביים הם מימין, וערכי Y חיוביים הם למטה.האובייקט
verticesמשתמש באותן קואורדינטות כמו התמונה המקורית, ואילו הערכים שלnormalizedVerticesהם בטווח[0,1]. יש מטריצת טרנספורמציה שמציינת את המדדים של תיקון העיוות ומאפיינים אחרים של הנורמליזציה של התמונה.
- כדי לשרטט את הצורה
boundingPoly, מציירים קטעי קו מקודקוד אחד לקודקוד הבא. לאחר מכן, סוגרים את הפוליגון על ידי שרטוט של קטע קו מהקודקוד האחרון חזרה לקודקוד הראשון. רכיב הכיוון בפריסה מציין אם הטקסט סובב ביחס לדף.
כדי לעזור לכם להמחיש את מבנה המסמך, בתמונות הבאות מצוירים מצולעים תוחמים עבור page.paragraphs, page.lines ו-