ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה ב- Amazon Textract

טקסטורה באמזון הוא שירות למידת מכונה (ML) המחלץ אוטומטית טקסט, כתב יד ונתונים מכל מסמך או תמונה. Amazon Textract מציעה כעת את הגמישות לציין את הנתונים שאתה צריך לחלץ ממסמכים באמצעות תכונת השאילתות החדשה ב-Analyze Document API. אינך צריך לדעת את מבנה הנתונים במסמך (טבלה, טופס, שדה מרומז, נתונים מקוננים) או לדאוג לגבי וריאציות בין גרסאות ופורמטים של מסמכים.

בפוסט זה נדון בנושאים הבאים:

  • סיפורי הצלחה מלקוחות AWS והיתרונות של תכונת השאילתות החדשה
  • כיצד ה-API של Analyze Document Queries עוזר לחלץ מידע ממסמכים
  • הדרכה על קונסולת Amazon Textract
  • דוגמאות קוד לשימוש ב-Analyze Document Queries API
  • כיצד לעבד את התגובה עם ספריית הנתח של Amazon Textract

היתרונות של תכונת השאילתות החדשה

פתרונות OCR מסורתיים מתקשים לחלץ נתונים בצורה מדויקת מרוב המסמכים המובנים למחצה והלא מובנים בגלל שינויים משמעותיים באופן שבו הנתונים מונחים על פני מספר גרסאות ופורמטים של מסמכים אלה. עליך ליישם קוד עיבוד מותאם אישית או לסקור באופן ידני את המידע שחולץ ממסמכים אלה. באמצעות תכונת השאילתות, תוכל לציין את המידע הדרוש לך בצורה של שאלות בשפה טבעית (לדוגמה, "מהו שם הלקוח") ולקבל את המידע המדויק ("ג'ון דו") כחלק מתגובת ה-API. התכונה משתמשת בשילוב של מודלים חזותיים, מרחביים ושפה כדי לחלץ את המידע שאתה מחפש בדיוק גבוה. תכונת השאילתות מאומנת מראש על מגוון גדול של מסמכים מובנים למחצה ולא מובנים. כמה דוגמאות כוללות תלושי משכורת, דפי בנק, W-2, טפסי בקשה להלוואה, שטרות משכנתא וכרטיסי חיסון וביטוח.

"Amazon Textract מאפשרת לנו להפוך את צרכי עיבוד המסמכים לאוטומטיים של הלקוחות שלנו. עם תכונת השאילתות, נוכל לחלץ נתונים ממגוון מסמכים עם גמישות ודיוק גדולים עוד יותר," אמר רוברט יאנסן, מנכ"ל ב-TekStream Solutions. 'אנו רואים בכך ניצחון גדול בפרודוקטיביות עבור הלקוחות העסקיים שלנו, שיוכלו להשתמש ביכולת ה-Queries כחלק מפתרון ה-IDP שלנו כדי להוציא במהירות מידע מפתח מהמסמכים שלהם."

"Amazon Textract מאפשרת לנו לחלץ טקסט כמו גם אלמנטים מובנים כמו טפסים וטבלאות מתמונות עם דיוק גבוה. Amazon Textract Queries סייעה לנו לשפר באופן דרסטי את איכות חילוץ המידע מכמה מסמכים קריטיים לעסקים כגון דפי בטיחות או מפרטי חומרים" אמר תורסטן וורנקה, מנהל | ראש מחלקת PC Analytics, יועצי ניהול קמלוט. 'מערכת השאילתות בשפה הטבעית מציעה גמישות ודיוק גדולים, מה שהפחית את העומס שלאחר העיבוד שלנו ואיפשר לנו להוסיף מסמכים חדשים לכלי חילוץ הנתונים שלנו מהר יותר."

כיצד ה-API של Analyze Document Queries עוזר לחלץ מידע ממסמכים

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

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

ה-API החדש של Analyze Document Queries ב-Amazon Textract יכול להתמודד עם שאלות כתובות בשפה טבעית כמו "מהי שיעור הריבית?" ולבצע ניתוח AI ו-ML רב עוצמה על המסמך כדי להבין את המידע הרצוי ולחלץ אותו מהמסמך ללא כל עיבוד אחר. התכונה 'שאילתות' אינה דורשת הדרכה במודל מותאם אישית או הגדרה של תבניות או תצורות. אתה יכול להתחיל במהירות על ידי העלאת המסמכים שלך וציון שאלות על מסמכים אלה דרך קונסולת Amazon Textract, ממשק שורת הפקודה של AWS (AWS CLI), או AWS SDK.

בסעיפים הבאים של פוסט זה, אנו עוברים על דוגמאות מפורטות כיצד להשתמש בפונקציונליות החדשה הזו במקרים של שימוש בעומס עבודה נפוצים וכיצד להשתמש ב-Analyze Document Queries API כדי להוסיף זריזות לתהליך הדיגיטלי של עומס העבודה שלך.

השתמש בתכונת השאילתות בקונסולת Amazon Textract

לפני שנתחיל עם ה-API ודוגמאות הקוד, בואו נסקור את קונסולת Amazon Textract. התמונה הבאה מציגה דוגמה לכרטיס חיסון על שאילתות לשונית עבור ה-API של Analyze Document בקונסולת Amazon Textract. לאחר העלאת המסמך לקונסולת Amazon Textract, בחר שאילתות ב הגדר את המסמך סָעִיף. לאחר מכן תוכל להוסיף שאילתות בצורה של שאלות בשפה טבעית. לאחר שתוסיף את כל השאילתות שלך, בחר החל תצורה. התשובות לשאלות נמצאות ב- שאילתות TAB.

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

דוגמאות קוד

בסעיף זה, אנו מסבירים כיצד להפעיל את ה-API של Analyze Document עם הפרמטר Queries כדי לקבל תשובות לשאלות בשפה טבעית על המסמך. מסמך הקלט הוא בפורמט מערך בתים או ממוקם ב- שירות אחסון פשוט של אמזון דלי (Amazon S3). אתה מעביר בתים של תמונה לפעולת Amazon Textract API באמצעות המאפיין Bytes. לדוגמה, אתה יכול להשתמש ב- Bytes מאפיין להעביר מסמך שנטען ממערכת קבצים מקומית. בתים של תמונה שעברו באמצעות ה Bytes המאפיין חייב להיות מקודד base64. ייתכן שהקוד שלך לא יצטרך לקודד בתים של קובץ מסמכים אם אתה משתמש ב-AWS SDK כדי לקרוא לפעולות Amazon Textract API. לחלופין, אתה יכול להעביר תמונות המאוחסנות בדלי S3 לפעולת ה-API של Amazon Textract באמצעות S3Object תכונה. מסמכים המאוחסנים בדלי S3 אינם צריכים להיות מקודדים base64.

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

תלוש משכורת

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

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

אנו משתמשים בקוד Python לדוגמה הבא:

import boto3
import json #create a Textract Client
textract = boto3.client('textract') image_filename = "paystub.jpg" response = None
with open(image_filename, 'rb') as document: imageBytes = bytearray(document.read()) # Call Textract AnalyzeDocument by passing a document from local disk
response = textract.analyze_document( Document={'Bytes': imageBytes}, FeatureTypes=["QUERIES"], QueriesConfig={ "Queries": [{ "Text": "What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS" }, { "Text": "What is the current gross pay?", "Alias": "PAYSTUB_CURRENT_GROSS" }] })

הקוד הבא הוא פקודת AWS CLI לדוגמה:

aws textract analyze-document —document '{"S3Object":{"Bucket":"your-s3-bucket","Name":"paystub.jpg"}}' —feature-types '["QUERIES"]' —queries-config '{"Queries":[{"Text":"What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS"}]}' 

בואו ננתח את התגובה שנקבל עבור שתי השאילתות שהעברנו ל-Analyze Document API בדוגמה הקודמת. התגובה הבאה נחתכה כדי להציג רק את החלקים הרלוונטיים:

{ "BlockType":"QUERY", "Id":"cbbba2fa-45be-452b-895b-adda98053153", #id of first QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT ] } ], "Query":{ "Text":"What is the year to date gross pay", #First Query "Alias":"PAYSTUB_YTD_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":87.0, "Text":"23,526.80", #Answer to the first Query "Geometry":{...}, "Id":"f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT }, { "BlockType":"QUERY", "Id":"4e2a17f0-154f-4847-954c-7c2bf2670c52", #id of second QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "350ab92c-4128-4aab-a78a-f1c6f6718959"#id of second QUERY_RESULT ] } ], "Query":{ "Text":"What is the current gross pay?", #Second Query "Alias":"PAYSTUB_CURRENT_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":95.0, "Text":"$ 452.43", #Answer to the Second Query "Geometry":{...}, "Id":"350ab92c-4128-4aab-a78a-f1c6f6718959" #id of second QUERY_RESULT }

בתגובה יש א BlockType of QUERY שמראה את השאלה שנשאלה וא Relationships קטע שיש לו את המזהה של הבלוק שיש לו את התשובה. התשובה נמצאת ב- BlockType of QUERY_RESULT. הכינוי שמועבר כקלט ל-Analyze Document API מוחזר כחלק מהתגובה וניתן להשתמש בו כדי לתייג את התשובה.

אנו משתמשים מנתח תגובה של Amazon Textract לחלץ רק את השאלות, את הכינוי ואת התשובות המתאימות לשאלות הללו:

import trp.trp2 as t2 d = t2.TDocumentSchema().load(response)
page = d.pages[0] # get_query_answers returns a list of [query, alias, answer]
query_answers = d.get_query_answers(page=page)
for x in query_answers: print(f"{image_filename},{x[1]},{x[2]}") from tabulate import tabulate
print(tabulate(query_answers, tablefmt="github"))

הקוד הקודם מחזיר את התוצאות הבאות:

|------------------------------------|-----------------------|-----------|
| What is the current gross pay? | PAYSTUB_CURRENT_GROSS | $ 452.43 |
| What is the year to date gross pay | PAYSTUB_YTD_GROSS | 23,526.80 |

שאלות נוספות ואת הקוד המלא ניתן למצוא במחברת ב- GitHub ריפו.

שטר משכנתא

ממשק ה-API של Analyze Document Queries עובד היטב גם עם שטרות משכנתא כמו הבאים.

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

התהליך לקריאה ל-API ותוצאות התהליך זהה לדוגמא הקודמת. אתה יכול למצוא את דוגמא הקוד המלאה ב- GitHub ריפו.

הקוד הבא מציג את התגובות לדוגמה שהתקבלו באמצעות ה-API:

|------------------------------------------------------------|----------------------------------|---------------|
| When is this document dated? | MORTGAGE_NOTE_DOCUMENT_DATE | March 4, 2022 |
| What is the note date? | MORTGAGE_NOTE_DATE | March 4, 2022 |
| When is the Maturity date the borrower has to pay in full? | MORTGAGE_NOTE_MATURITY_DATE | April, 2032 |
| What is the note city and state? | MORTGAGE_NOTE_CITY_STATE | Anytown, ZZ |
| what is the yearly interest rate? | MORTGAGE_NOTE_YEARLY_INTEREST | 4.150% |
| Who is the lender? | MORTGAGE_NOTE_LENDER | AnyCompany |
| When does payments begin? | MORTGAGE_NOTE_BEGIN_PAYMENTS | April, 2022 |
| What is the beginning date of payment? | MORTGAGE_NOTE_BEGIN_DATE_PAYMENT | April, 2022 |
| What is the initial monthly payments? | MORTGAGE_NOTE_MONTHLY_PAYMENTS | $ 2500 |
| What is the interest rate? | MORTGAGE_NOTE_INTEREST_RATE | 4.150% |
| What is the principal amount borrower has to pay? | MORTGAGE_NOTE_PRINCIPAL_PAYMENT | $ 500,000 |

כרטיס חיסון

תכונת Amazon Textract Queries עובדת היטב גם כדי לחלץ מידע מכרטיסי חיסון או כרטיסים הדומים לו, כמו בדוגמה הבאה.

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

התהליך להתקשר ל-API ולנתח את התוצאות זהה לתהליך המשמש עבור תלוש תשלום. לאחר שנעבד את התגובה, נקבל את המידע הבא:

|------------------------------------------------------------|--------------------------------------|--------------|
| What is the patients first name | PATIENT_FIRST_NAME | Major |
| What is the patients last name | PATIENT_LAST_NAME | Mary |
| Which clinic site was the 1st dose COVID-19 administrated? | VACCINATION_FIRST_DOSE_CLINIC_SITE | XYZ |
| Who is the manufacturer for 1st dose of COVID-19? | VACCINATION_FIRST_DOSE_MANUFACTURER | Pfizer |
| What is the date for the 2nd dose covid-19? | VACCINATION_SECOND_DOSE_DATE | 2/8/2021 |
| What is the patient number | PATIENT_NUMBER | 012345abcd67 |
| Who is the manufacturer for 2nd dose of COVID-19? | VACCINATION_SECOND_DOSE_MANUFACTURER | Pfizer |
| Which clinic site was the 2nd dose covid-19 administrated? | VACCINATION_SECOND_DOSE_CLINIC_SITE | CVS |
| What is the lot number for 2nd dose covid-19? | VACCINATION_SECOND_DOSE_LOT_NUMBER | BB5678 |
| What is the date for the 1st dose covid-19? | VACCINATION_FIRST_DOSE_DATE | 1/18/21 |
| What is the lot number for 1st dose covid-19? | VACCINATION_FIRST_DOSE_LOT_NUMBER | AA1234 |
| What is the MI? | MIDDLE_INITIAL | M |

את הקוד המלא ניתן למצוא במחברת ב- GitHub ריפו.

כרטיס ביטוח

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

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

התהליך לקריאה ל-API ולתוצאות התהליך זהה לזה שהוצג קודם לכן. דוגמא הקוד המלאה זמינה במחברת ב- GitHub ריפו.

להלן התגובות לדוגמה שהתקבלו באמצעות ה-API:

|-------------------------------------|-----------------------------------|---------------|
| What is the insured name? | INSURANCE_CARD_NAME | Jacob Michael |
| What is the level of benefits? | INSURANCE_CARD_LEVEL_BENEFITS | SILVER |
| What is medical insurance provider? | INSURANCE_CARD_PROVIDER | Anthem |
| What is the OOP max? | INSURANCE_CARD_OOP_MAX | $6000/$12000 |
| What is the effective date? | INSURANCE_CARD_EFFECTIVE_DATE | 11/02/2021 |
| What is the office visit copay? | INSURANCE_CARD_OFFICE_VISIT_COPAY | $55/0% |
| What is the specialist visit copay? | INSURANCE_CARD_SPEC_VISIT_COPAY | $65/0% |
| What is the member id? | INSURANCE_CARD_MEMBER_ID | XZ 9147589652 |
| What is the plan type? | INSURANCE_CARD_PLAN_TYPE | Pathway X-EPO |
| What is the coinsurance amount? | INSURANCE_CARD_COINSURANCE | 30% |

שיטות עבודה מומלצות ליצירת שאילתות

בעת יצירת השאילתות שלך, שקול את השיטות המומלצות הבאות:

  • באופן כללי, שאל שאלה בשפה טבעית שמתחילה ב"מה יש", "איפה נמצא" או "מי נמצא". היוצא מן הכלל הוא כאשר אתה מנסה לחלץ צמדי מפתח-ערך סטנדרטיים, ובמקרה זה תוכל להעביר את שם המפתח כשאילתה.
  • הימנע משאלות לא מנוסחות או שגויות מבחינה דקדוקית, מכיוון שאלו עלולות לגרום לתשובות בלתי צפויות. לדוגמה, שאילתה שגויה היא "מתי?" ואילו שאילתה מעוצבת היטב היא "מתי ניתנה מנת החיסון הראשונה?"
  • במידת האפשר, השתמש במילים מהמסמך כדי לבנות את השאילתה. למרות שתכונת השאילתות מנסה לבצע התאמת ראשי תיבות ומילים נרדפות עבור כמה מונחים נפוצים בתעשייה כגון "SSN", "מזהה מס" ו"מספר תעודת זהות", שימוש בשפה ישירות מהמסמך משפר את התוצאות. לדוגמה, אם המסמך אומר "התקדמות עבודה", נסה להימנע משימוש בגרסאות כמו "התקדמות הפרויקט", "התקדמות התוכנית" או "סטטוס עבודה".
  • בנו שאילתה המכילה מילים הן מכותרת השורה והן מכותרת העמודה. לדוגמה, בדוגמה של כרטיס החיסון הקודם, כדי לדעת את תאריך החיסון השני, תוכל למסגר את השאילתה כ"איזה תאריך ניתנה המנה השנייה?"
  • תשובות ארוכות מגדילות את זמן האחזור של התגובה ועלולות להוביל לפסקי זמן. נסו לשאול שאלות המגיבות בתשובות של פחות מ-100 מילים.
  • העברת רק את שם המפתח כשהשאלה פועלת כאשר מנסים לחלץ צמדי מפתח-ערך סטנדרטיים מטופס. אנו ממליצים לנסח שאלות מלאות עבור כל מקרי השימוש האחרים בחילוץ.
  • תהיה כמה שיותר ספציפי. לדוגמה:
    • כאשר המסמך מכיל חלקים מרובים (כגון "לווה" ו"לווה משותף") ובשני החלקים יש שדה בשם "SSN", שאל "מהו ה-SSN ללווה?" ו"מהו ה-SSN עבור שותף לווה?"
    • כאשר למסמך יש שדות מרובים הקשורים לתאריך, היו ספציפיים בשפת השאילתה ושאלו "מהו התאריך שבו המסמך נחתם?" או "מהו תאריך הלידה של הבקשה?" הימנע מלשאול שאלות לא ברורות כמו "מה התאריך?"
  • אם אתה יודע את פריסת המסמך מראש, תן רמזים למיקום כדי לשפר את דיוק התוצאות. לדוגמה, שאל "מהו התאריך למעלה?" או "מה התאריך משמאל?" או "מה התאריך בתחתית?"

למידע נוסף על תכונת השאילתות, עיין ב-Textrakt תיעוד.

סיכום

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

לקבלת מידע נוסף, ראה ניתוח מסמכים , או בדוק את קונסולת Amazon Textract ונסה את התכונה הזו.


על הכותבים

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אודאי נאריאנן הוא Sr. Solutions Architect ב-AWS. הוא נהנה לעזור ללקוחות למצוא פתרונות חדשניים לאתגרים עסקיים מורכבים. תחומי הליבה שלו הם ניתוח נתונים, מערכות ביג דאטה ולמידת מכונה. בזמנו הפנוי הוא נהנה לשחק ספורט, לצפות בתוכניות טלוויזיה ולטייל.

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.רפאל קאיקסטה הוא Sr. Solutions Architect ב-AWS המבוסס בקליפורניה. יש לו למעלה מ-10 שנות ניסיון בפיתוח ארכיטקטורות לענן. תחומי הליבה שלו הם ללא שרתים, קונטיינרים ולמידת מכונה. בזמנו הפנוי הוא נהנה לקרוא ספרים בדיוניים ולטייל בעולם.

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי. נבנת נאיר הוא מנהל מוצר בכיר, טכני בצוות Amazon Textract. הוא מתמקד בבניית שירותים מבוססי למידת מכונה עבור לקוחות AWS.

ציין וחלץ מידע ממסמכים באמצעות תכונת השאילתות החדשה באמזון Textract PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.מרטין שייד הוא בכיר ML Product SA עם צוות Amazon Textract. יש לו למעלה מ-20 שנות ניסיון עם טכנולוגיות הקשורות לאינטרנט, הנדסה ופתרונות ארכיטקטורה. הוא הצטרף ל-AWS ב-2014, תחילה הדריך כמה מלקוחות ה-AWS הגדולים ביותר לשימוש היעיל והניתן להרחבה בשירותי AWS, ולאחר מכן התמקד ב-AI/ML עם התמקדות בראייה ממוחשבת. נכון לעכשיו, הוא אובססיבי לחילוץ מידע ממסמכים.

בול זמן:

עוד מ למידת מכונות AWS