أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | خدمات الويب الأمازون

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | خدمات الويب الأمازون

فهم الأمازون هي خدمة معالجة اللغة الطبيعية (NLP) التي توفر واجهات برمجة التطبيقات (APIs) المُدربة مسبقًا والمخصصة لاستخلاص الأفكار من البيانات النصية. يمكن لعملاء Amazon Comprehend تدريب نماذج التعرف على الكيانات المسماة (NER) المخصصة لاستخراج الكيانات محل الاهتمام، مثل الموقع واسم الشخص والتاريخ، التي تنفرد بها أعمالهم.

لتدريب نموذج مخصص، عليك أولاً إعداد بيانات التدريب عن طريق إضافة تعليقات توضيحية يدويًا للكيانات في المستندات. ويمكن القيام بذلك مع فهم أداة التعليقات التوضيحية للمستندات شبه المنظمة، مما يخلق الحقيقة الأمازون SageMaker الأرض وظيفة باستخدام قالب مخصص، مما يسمح للمعلقين برسم مربعات محيطة حول الكيانات مباشرةً على مستندات PDF. ومع ذلك، بالنسبة للشركات التي لديها بيانات كيانات جدولية موجودة في أنظمة تخطيط موارد المؤسسات (ERP) مثل SAP، يمكن أن تكون التعليقات التوضيحية اليدوية متكررة وتستغرق وقتًا طويلاً.

لتقليل الجهد المبذول في إعداد بيانات التدريب، قمنا ببناء أداة وضع العلامات المسبقة باستخدام وظائف خطوة AWS يقوم تلقائيًا بإضافة تعليقات توضيحية مسبقًا للمستندات باستخدام بيانات الكيان الجدولي الموجودة. يؤدي هذا إلى تقليل العمل اليدوي المطلوب بشكل كبير لتدريب نماذج دقيقة للتعرف على الكيانات المخصصة في Amazon Comprehend.

في هذا المنشور، نوجهك عبر خطوات إعداد أداة وضع العلامات المسبقة ونعرض أمثلة حول كيفية إضافة التعليقات التوضيحية تلقائيًا إلى المستندات من موقع عام بيانات عينة من كشوفات الحساب البنكي بصيغة PDF. الكود الكامل متاح على جيثب ريبو.

حل نظرة عامة

في هذا القسم، نناقش مدخلات ومخرجات أداة وضع العلامات المسبقة ونقدم نظرة عامة على بنية الحل.

مدخلات ومخرجات

كمدخل، تأخذ أداة وضع العلامات المسبقة مستندات PDF التي تحتوي على نص ليتم التعليق عليها. بالنسبة للعرض التوضيحي، نستخدم كشوفات بنكية محاكاة مثل المثال التالي.

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

تأخذ الأداة أيضًا ملف بيان يقوم بتعيين مستندات PDF مع الكيانات التي نريد استخراجها من هذه المستندات. تتكون الكيانات من شيئين: expected_text للاستخراج من المستند (على سبيل المثال، AnyCompany Bank) وما يقابلها entity_type (فمثلا، bank_name). سنوضح لاحقًا في هذه المقالة كيفية إنشاء ملف البيان هذا من مستند CSV مثل المثال التالي.

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

تستخدم أداة وضع العلامات المسبقة ملف البيان لتعليق المستندات تلقائيًا بالكيانات المقابلة لها. يمكننا بعد ذلك استخدام هذه التعليقات التوضيحية مباشرةً لتدريب نموذج Amazon Comprehend.

وبدلاً من ذلك، يمكنك إنشاء مهمة تصنيف SageMaker Ground Truth للمراجعة والتحرير البشريين، كما هو موضح في لقطة الشاشة التالية.

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

عند اكتمال المراجعة، يمكنك استخدام البيانات المشروحة لتدريب نموذج أداة التعرف على الكيانات المخصصة في Amazon Comprehend.

معمار

تتكون أداة وضع العلامات المسبقة من عدة AWS لامدا وظائف منسقة بواسطة آلة حالة Step Functions. يحتوي على نسختين تستخدمان تقنيات مختلفة لإنشاء التعليقات التوضيحية المسبقة.

التقنية الأولى هي مطابقة غامضة. يتطلب هذا ملف بيان مسبق يحتوي على الكيانات المتوقعة. تستخدم الأداة خوارزمية المطابقة الغامضة لإنشاء تعليقات توضيحية مسبقة من خلال مقارنة تشابه النص.

تبحث المطابقة الغامضة عن سلاسل في المستند مشابهة (ولكنها ليست بالضرورة متطابقة) للكيانات المتوقعة المدرجة في ملف البيان المسبق. يقوم أولاً بحساب درجات تشابه النص بين النص والكلمات المتوقعة في المستند، ثم يطابق جميع الأزواج فوق الحد. لذلك، حتى لو لم تكن هناك تطابقات تامة، يمكن للمطابقة الغامضة العثور على متغيرات مثل الاختصارات والأخطاء الإملائية. يتيح ذلك للأداة تسمية المستندات مسبقًا دون الحاجة إلى ظهور الكيانات حرفيًا. على سبيل المثال، إذا 'AnyCompany Bank' تم إدراجه ككيان متوقع، وستقوم ميزة Fuzzy Matching بالتعليق على تكرارات 'Any Companys Bank'. وهذا يوفر مرونة أكبر من مطابقة السلسلة الصارمة ويمكّن أداة التسمية المسبقة من تسمية المزيد من الكيانات تلقائيًا.

يوضح الرسم البياني التالي بنية جهاز الحالة Step Functions.

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

التقنية الثانية تتطلب أ نموذج أداة التعرف على الكيانات الذي تم تدريبه مسبقًا في Amazon Comprehend. تقوم الأداة بإنشاء تعليقات توضيحية مسبقة باستخدام نموذج Amazon Comprehend، باتباع سير العمل الموضح في الرسم التخطيطي التالي.

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

ويوضح الرسم البياني التالي البنية الكاملة.

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

في الأقسام التالية، نستعرض خطوات تنفيذ الحل.

نشر أداة وضع العلامات المسبقة

انسخ المستودع إلى جهازك المحلي:

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

تم إنشاء هذا المستودع أعلى أداة التعليقات التوضيحية لفهم المستندات شبه المنظمة ويوسع وظائفه من خلال تمكينك من بدء مهمة وضع العلامات على SageMaker Ground Truth مع التعليقات التوضيحية المسبقة المعروضة بالفعل على واجهة مستخدم SageMaker Ground Truth.

تتضمن أداة وضع العلامات المسبقة كلاً من موارد أداة التعليق التوضيحي لفهم المستندات شبه المنظمة بالإضافة إلى بعض الموارد الخاصة بأداة وضع العلامات المسبقة. يمكنك نشر الحل باستخدام نموذج تطبيق AWS Serverless (AWS SAM)، وهو إطار عمل مفتوح المصدر يمكنك استخدامه لتحديد كود البنية التحتية للتطبيقات بدون خادم.

إذا كنت قد قمت مسبقًا بنشر أداة التعليقات التوضيحية لفهم المستندات شبه المنظمة، فارجع إلى قسم الأسئلة الشائعة في Pre_labeling_tool/README.md للحصول على إرشادات حول كيفية نشر الموارد الخاصة بأداة التصنيف المسبق فقط.

إذا لم تقم بنشر الأداة من قبل وبدأت من جديد، فقم بما يلي لنشر الحل بأكمله.

قم بتغيير الدليل الحالي إلى مجلد أداة التعليقات التوضيحية:

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

بناء الحل ونشره:

make ready-and-deploy-guided

قم بإنشاء ملف البيان المسبق

قبل أن تتمكن من استخدام أداة التصنيف المسبق، يتعين عليك إعداد بياناتك. المدخلات الرئيسية هي مستندات PDF وملف البيان المسبق. يحتوي ملف البيان المسبق على موقع كل مستند PDF ضمنه 'pdf' وموقع ملف JSON مع الكيانات المتوقع تصنيفها ضمنها 'expected_entities'.

دفتر مذكرات generator_premanifest_file.ipynb يوضح كيفية إنشاء هذا الملف. في العرض التوضيحي، يعرض ملف البيان المسبق الكود التالي:

[ { '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 مدرج في ملف البيان المسبق (تحت expected_entities) يحتوي على قائمة من القواميس، واحد لكل كيان متوقع. تحتوي القواميس على المفاتيح التالية:

  • "نصوص_متوقعة" – قائمة بالسلاسل النصية المحتملة المطابقة للكيان.
  • "نوع_الكيان" – نوع الكيان المقابل.
  • "ignore_list" (اختياري) – قائمة الكلمات التي يجب تجاهلها في المباراة. يجب استخدام هذه المعلمات لمنع المطابقة الغامضة من مطابقة مجموعات معينة من الكلمات التي تعلم أنها خاطئة. قد يكون هذا مفيدًا إذا كنت تريد تجاهل بعض الأرقام أو عناوين البريد الإلكتروني عند النظر إلى الأسماء.

على سبيل المثال، 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': [] }, ...
]

قم بتشغيل أداة وضع العلامات المسبقة

باستخدام ملف البيان المسبق الذي قمت بإنشائه في الخطوة السابقة، ابدأ في تشغيل أداة التسمية المسبقة. لمزيد من التفاصيل، راجع دفتر الملاحظات start_step_functions.ipynb.

لبدء تشغيل أداة وضع العلامات المسبقة، قم بتوفير event مع المفاتيح التالية:

  • بريمانفيست – يقوم بتعيين كل مستند PDF إلى موقعه expected_entities ملف. يجب أن يحتوي هذا على خدمة تخزين أمازون البسيطة (أمازون S3) دلو (تحت bucket) والمفتاح (تحت key) من الملف.
  • بادئة – يستخدم في إنشاء execution_id، الذي يقوم بتسمية المجلد S3 لتخزين المخرجات واسم مهمة تسمية SageMaker Ground Truth.
  • الكيان_أنواع - يتم عرضه في واجهة المستخدم لتسمية التعليقات التوضيحية. يجب أن تتضمن جميع أنواع الكيانات في ملفات الكيانات المتوقعة.
  • اسم_فريق_العمل (اختياري) - يُستخدم لإنشاء مهمة وضع العلامات لـ SageMaker Ground Truth. وهو يتوافق مع القوى العاملة الخاصة للاستخدام. إذا لم يتم توفيره، فسيتم إنشاء ملف البيان فقط بدلاً من مهمة تسمية SageMaker Ground Truth. يمكنك استخدام ملف البيان لإنشاء مهمة تسمية SageMaker Ground Truth لاحقًا. لاحظ أنه حتى كتابة هذه السطور، لا يمكنك توفير قوة عمل خارجية عند إنشاء مهمة التسمية من دفتر الملاحظات. ومع ذلك، يمكنك استنساخ الوظيفة التي تم إنشاؤها وتعيينها إلى قوة عاملة خارجية على وحدة تحكم SageMaker Ground Truth.
  • فهم_المعلمات (اختياري) - معلمات للتدريب المباشر على نموذج أداة التعرف على الكيانات المخصصة في Amazon Comprehend. إذا تم حذفها، سيتم تخطي هذه الخطوة.

لبدء تشغيل آلة الحالة، قم بتشغيل كود بايثون التالي:

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 | أمازون ويب سيرفيسز 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

وفي الختام

توفر أداة وضع العلامات المسبقة طريقة قوية للشركات لاستخدام البيانات الجدولية الموجودة لتسريع عملية تدريب نماذج التعرف على الكيانات المخصصة في Amazon Comprehend. من خلال التعليق التوضيحي المسبق تلقائيًا على مستندات PDF، فإنه يقلل بشكل كبير من الجهد اليدوي المطلوب في عملية وضع العلامات.

تحتوي الأداة على نسختين: المطابقة الغامضة والقائمة على Amazon Comprehend، مما يوفر المرونة في كيفية إنشاء التعليقات التوضيحية الأولية. بعد تصنيف المستندات مسبقًا، يمكنك مراجعتها بسرعة في مهمة تصنيف SageMaker Ground Truth أو حتى تخطي المراجعة وتدريب نموذج Amazon Comprehend المخصص مباشرةً.

تمكنك أداة التسمية المسبقة من فتح قيمة بيانات كيانك التاريخية بسرعة واستخدامها في إنشاء نماذج مخصصة مخصصة لمجالك المحدد. من خلال تسريع الجزء الأكثر كثافة في العمل من العملية، فإنه يجعل التعرف على الكيانات المخصصة باستخدام Amazon Comprehend أكثر سهولة من أي وقت مضى.

لمزيد من المعلومات حول كيفية تسمية مستندات PDF باستخدام مهمة تسمية SageMaker Ground Truth، راجع شرح توضيحي مخصص للمستند لاستخراج الكيانات المسماة في المستندات باستخدام Amazon Comprehend و استخدم Amazon SageMaker Ground Truth لتسمية البيانات.


عن المؤلفين

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.أوسكار شناك هو عالم تطبيقي في مركز ابتكار الذكاء الاصطناعي التوليدي. إنه متحمس للغوص في العلوم وراء التعلم الآلي لجعله في متناول العملاء. خارج العمل، يستمتع أوسكار بركوب الدراجات ومواكبة الاتجاهات في نظرية المعلومات.

أتمتة وضع العلامات المسبقة لملفات PDF لبرنامج Amazon Comprehend | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.رومان بيسومبيس هو مهندس التعلم العميق في مركز ابتكار الذكاء الاصطناعي التوليدي. وهو شغوف ببناء بنيات مبتكرة لمعالجة مشاكل أعمال العملاء من خلال التعلم الآلي.

الطابع الزمني:

اكثر من التعلم الآلي من AWS