אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | שירותי האינטרנט של אמזון

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | שירותי האינטרנט של אמזון

אמזון להתבונן הוא שירות עיבוד שפה טבעית (NLP) המספק APIs מותאמים ומותאמים מראש כדי להפיק תובנות מנתונים טקסטואליים. לקוחות Amazon Comprehend יכולים להכשיר מודלים מותאמים אישית של זיהוי ישויות (NER) כדי לחלץ ישויות של עניין, כגון מיקום, שם אדם ותאריך, הייחודיים לעסק שלהם.

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

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

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

סקירת פתרונות

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

תשומות ותפוקות

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

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הכלי גם לוקח קובץ מניפסט שממפה מסמכי PDF עם הישויות שאנו רוצים לחלץ ממסמכים אלו. ישויות מורכבות משני דברים: ה expected_text לחלץ מהמסמך (לדוגמה, AnyCompany Bank) והמתאים entity_type (לדוגמה, bank_name). בהמשך פוסט זה, אנו מראים כיצד לבנות את קובץ המניפסט הזה ממסמך CSV כמו הדוגמה הבאה.

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

לחלופין, אתה יכול ליצור משימת תיוג של SageMaker Ground Truth לסקירה ועריכה אנושית, כפי שמוצג בצילום המסך הבא.

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

אדריכלות

כלי התיוג מראש מורכב ממספר רב של AWS למבדה פונקציות מתוזמרות על ידי מכונת מצב Step Functions. יש לו שתי גרסאות המשתמשות בטכניקות שונות כדי ליצור הערות מראש.

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

התאמה מטושטשת מחפשת מחרוזות במסמך הדומות (אך לא בהכרח זהות) לישויות הצפויות המפורטות בקובץ ה-pre-manifest. תחילה הוא מחשב את ציוני הדמיון בטקסט בין הטקסט הצפוי למילים במסמך, ואז הוא מתאים לכל הזוגות שמעל סף. לכן, גם אם אין התאמות מדויקות, התאמה מטושטשת יכולה למצוא גרסאות כמו קיצורים ושגיאות איות. זה מאפשר לכלי לתייג מראש מסמכים מבלי לדרוש מהישויות להופיע מילה במילה. לדוגמה, אם 'AnyCompany Bank' רשום כישות צפויה, Fuzzy Matching יביא הערות על מופעים של 'Any Companys Bank'. זה מספק יותר גמישות מהתאמת מחרוזות קפדנית ומאפשר לכלי התיוג המקדים לתייג אוטומטית יותר ישויות.

התרשים הבא ממחיש את הארכיטקטורה של מכונת המצבים של Step Functions.

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

התרשים הבא ממחיש את הארכיטקטורה המלאה.

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בסעיפים הבאים, נעבור על השלבים ליישום הפתרון.

פרוס את כלי התיוג מראש

שכבו את המאגר למחשב המקומי שלכם:

git clone https://github.com/aws-samples/amazon-comprehend-automated-pdf-prelabeling-tool.git

מאגר זה נבנה על גבי ה-Comrehend Semi-Structured Documents Annotation Tool ומרחיב את הפונקציונליות שלו בכך שהוא מאפשר לך להתחיל עבודת תיוג SageMaker Ground Truth עם הערות מוקדמות שכבר מוצגות בממשק המשתמש של SageMaker Ground Truth.

כלי התיוג המקדים כולל גם את המשאבים של Comprehend Semi-Structured Documents Annotation Tool וגם כמה משאבים ספציפיים לכלי התיוג הקדם. אתה יכול לפרוס את הפתרון עם מודל יישום ללא שרת AWS (AWS SAM), מסגרת קוד פתוח שבה אתה יכול להשתמש כדי להגדיר קוד תשתית יישומים ללא שרת.

אם פרסתם בעבר את כלי הערת המסמכים המובנים למחצה, עיין בסעיף השאלות הנפוצות ב- Pre_labeling_tool/README.md לקבלת הוראות כיצד לפרוס רק את המשאבים הספציפיים לכלי התיוג מראש.

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

שנה את הספרייה הנוכחית לתיקיית כלי ההערות:

cd amazon-comprehend-semi-structured-documents-annotation-tools

בנה ופריסה את הפתרון:

make ready-and-deploy-guided

צור את קובץ ה-pre-manifest

לפני שתוכל להשתמש בכלי התיוג מראש, עליך להכין את הנתונים שלך. התשומות העיקריות הן מסמכי PDF וקובץ טרום מניפסט. קובץ ה-pre-manifest מכיל את המיקום של כל מסמך PDF מתחתיו 'pdf' והמיקום של קובץ JSON עם ישויות צפויות לתיוג תחתיו 'expected_entities'.

המחברת gener_premanifest_file.ipynb מראה כיצד ליצור קובץ זה. בהדגמה, קובץ ה-pre-manifest מציג את הקוד הבא:

[ { 'pdf': 's3://<bucket>/data_aws_idp_workshop_data/bank_stmt_0.pdf', 'expected_entities': 's3://<bucket>/prelabeling-inputs/expected-entities/example-demo/fuzzymatching_version/file_bank_stmt_0.json' }, ...
]

כל קובץ JSON רשום בקובץ ה-pre-manifest (תחת expected_entities) מכיל רשימה של מילונים, אחד עבור כל ישות צפויה. למילונים יש את המפתחות הבאים:

  • 'טקסטים_צפויים' – רשימה של מחרוזות טקסט אפשריות התואמות לישות.
  • 'סוג_ישות' – סוג הישות המתאים.
  • 'תעלם_רשימה' (אופציונלי) – רשימת המילים שיש להתעלם מהן במשחק. יש להשתמש בפרמטרים אלה כדי למנוע מהתאמה מטושטשת להתאים שילובים ספציפיים של מילים שאתה יודע שהן שגויות. זה יכול להיות שימושי אם ברצונך להתעלם ממספרים או כתובות דוא"ל מסוימות כאשר אתה מסתכל על שמות.

לדוגמה, expected_entities של ה-PDF שהוצג בעבר נראה כך:

[ { 'expected_texts': ['AnyCompany Bank'], 'entity_type': 'bank_name', 'ignore_list': [] }, { 'expected_texts': ['JANE DOE'], 'entity_type': 'customer_name', 'ignore_list': ['JANE.DOE@example_mail.com'] }, { 'expected_texts': ['003884257406'], 'entity_type': 'checking_number', 'ignore_list': [] }, ...
]

הפעל את כלי התיוג מראש

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

כדי להפעיל את כלי התיוג מראש, ספק event עם המקשים הבאים:

  • Premanifest - ממפה כל מסמך PDF אליו expected_entities קוֹבֶץ. זה צריך להכיל את שירות אחסון פשוט של אמזון (Amazon S3) דלי (מתחת bucket) והמפתח (תחת key) של הקובץ.
  • קידומת – משמש ליצירת ה execution_id, אשר שמה לתיקיית S3 עבור אחסון פלט ואת שם עבודת התיוג של SageMaker Ground Truth.
  • סוגי_ישות - מוצג בממשק המשתמש כדי שמערים יכולים לתייג. אלה צריכים לכלול את כל סוגי הישויות בקבצי הישויות הצפויות.
  • work_team_name (אופציונלי) - משמש ליצירת משימת התיוג של SageMaker Ground Truth. זה מתאים לכוח העבודה הפרטי לשימוש. אם הוא לא מסופק, רק קובץ מניפסט ייווצר במקום עבודת תיוג של SageMaker Ground Truth. אתה יכול להשתמש בקובץ המניפסט כדי ליצור משימת תיוג של SageMaker Ground Truth בהמשך. שימו לב שנכון לכתיבת שורות אלו, אינכם יכולים לספק כוח עבודה חיצוני בעת יצירת עבודת התיוג מהמחברת. עם זאת, אתה יכול לשכפל את העבודה שנוצרה ולהקצות אותה לכוח עבודה חיצוני בקונסולת SageMaker Ground Truth.
  • comprehend_parameters (אופציונלי) - פרמטרים לאימון ישיר של מודל מזהה ישויות מותאם אישית של Amazon Comprehend. אם מושמט, שלב זה ידלג.

כדי להפעיל את מכונת המצב, הפעל את קוד Python הבא:

import boto3
stepfunctions_client = boto3.client('stepfunctions')

response = stepfunctions_client.start_execution(
stateMachineArn=fuzzymatching_prelabeling_step_functions_arn,
input=json.dumps(<event-dict>)
)

זה יתחיל ריצה של מכונת המדינה. אתה יכול לעקוב אחר התקדמות מכונת המצב במסוף Step Functions. התרשים הבא ממחיש את זרימת העבודה של מכונת המצב.

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כאשר מכונת המצב הושלמה, בצע את הפעולות הבאות:

  • בדוק את הפלטים הבאים השמורים ב- prelabeling/ התיקיה של comprehend-semi-structured-docs דלי S3:
    • קבצי הערות בודדים עבור כל עמוד של המסמכים (אחד בעמוד לכל מסמך) ב temp_individual_manifests/
    • מניפסט עבור עבודת התיוג של SageMaker Ground Truth ב consolidated_manifest/consolidated_manifest.manifest
    • מניפסט שניתן להשתמש בו כדי להכשיר מודל מותאם אישית של Amazon Comprehend consolidated_manifest/consolidated_manifest_comprehend.manifest
  • בקונסולת SageMaker, פתח את עבודת התיוג של SageMaker Ground Truth שנוצרה כדי לסקור את ההערות
  • בדוק ובדוק את הדגם המותאם אישית של Amazon Comprehend שעבר הכשרה

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

לנקות את

כדי להימנע מחיובים נוספים, מחק את המשאבים שיצרת ומחק את המחסנית שפרסת באמצעות הפקודה הבאה:

make delete

סיכום

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

לכלי יש שתי גרסאות: התאמה מטושטשת ומבוססת Amazon Comprehend, מה שנותן גמישות כיצד ליצור את ההערות הראשוניות. לאחר שמסמכים מתויגים מראש, אתה יכול לסקור אותם במהירות בעבודת תיוג של SageMaker Ground Truth או אפילו לדלג על הסקירה ולהכשיר ישירות מודל מותאם אישית של Amazon Comprehend.

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

למידע נוסף על אופן תיוג מסמכי PDF באמצעות עבודת תיוג של SageMaker Ground Truth, ראה הערת מסמך מותאמת אישית לחילוץ ישויות עם שם במסמכים באמצעות Amazon Comprehend ו השתמש ב-Amazon SageMaker Ground Truth כדי לתייג נתונים.


על המחברים

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אוסקר שנאק הוא מדען יישומי במרכז החדשנות של AI Generative. הוא נלהב לצלול לתוך המדע שמאחורי למידת מכונה כדי להפוך אותה לנגישה ללקוחות. מחוץ לעבודה, אוסקר נהנה לרכוב על אופניים ולהתעדכן בטרנדים בתורת המידע.

אוטומציה של תיוג PDF מראש עבור Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.רומיין בסומבס הוא אדריכל למידה עמוקה במרכז החדשנות של AI Generative. הוא נלהב מבניית ארכיטקטורות חדשניות כדי לטפל בבעיות העסקיות של לקוחות עם למידת מכונה.

בול זמן:

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