قم بتقسيم حزم المستندات متعددة الأشكال بذكاء باستخدام Amazon Textract و Amazon Comprehend

عقدة المصدر: 1372716

لا تزال العديد من المؤسسات التي تغطي أحجامًا مختلفة وقطاعات الصناعة تعتمد على كميات كبيرة من المستندات لتشغيل عملياتها اليومية. لحل هذا التحدي التجاري ، يستخدم العملاء خدمات معالجة المستندات الذكية من AWS مثل أمازون تيكستراك و فهم الأمازون للمساعدة في الاستخراج وأتمتة العمليات. قبل أن تتمكن من استخراج النص وأزواج القيمة الرئيسية والجداول والكيانات ، يجب أن تكون قادرًا على تقسيم مستندات PDF متعددة الصفحات التي تحتوي غالبًا على أنواع نماذج غير متجانسة. على سبيل المثال ، في معالجة الرهن العقاري ، قد يحتاج الوسيط أو فرد معالجة القروض إلى تقسيم حزمة قرض PDF موحدة ، تحتوي على طلب الرهن العقاري (نموذج Fannie Mae 1003) و W2s والتحقق من الدخل ونماذج ضريبية 1040 والمزيد.

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

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

حل نظرة عامة

في هذا المنشور ، نستخدم مجموعة من نماذج طلبات الرهن العقاري الشائعة لتوضيح كيف يمكنك استخدام Amazon Textract و Amazon Comprehend لإنشاء مُقسِّم مستندات ذكي يكون أكثر قوة من الأساليب السابقة. عند معالجة المستندات لطلبات الرهن العقاري ، يقوم المقترض بإرسال ملف PDF متعدد الصفحات يتكون من أنواع مستندات غير متجانسة ذات أطوال صفحات مختلفة ؛ لاستخراج المعلومات ، يجب على المستخدم (على سبيل المثال ، بنك) تفصيل ملف PDF هذا.

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

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

يستخدم هذا الحل خدمات AWS التالية:

المتطلبات الأساسية المسبقة

تحتاج إلى إكمال المتطلبات الأساسية التالية لإنشاء هذا الحل ونشره:

  1. تثبيت بايثون 3.8.x.
  2. تثبيت جي كيو.
  3. تثبيت AWS SAM CLI.
  4. تثبيت عامل في حوض السفن.
  5. تأكد أن لديك نقطة مثبتة.
  6. تثبيت وتكوين ال واجهة سطر الأوامر AWS (AWS CLI).
  7. ضبط بيانات اعتماد AWS الخاصة بك.

الحل مصمم للعمل على النحو الأمثل في us-east-1 و us-west-2 المناطق للاستفادة من الحصص الافتراضية الأعلى لـ Amazon Textract. لأحمال العمل الإقليمية المحددة ، يرجى الرجوع إلى نقاط النهاية والحصص في Amazon Textract. تأكد من استخدام منطقة واحدة للحل بأكمله.

استنساخ الريبو

للبدء ، استنساخ المستودع عن طريق تشغيل الأمر التالي ؛ ثم ننتقل إلى دليل العمل:

git clone https://github.com/aws-samples/aws-document-classifier-and-splitter.git
cd aws-document-classifier-and-splitter

سير عمل الحل

يتكون الحل من ثلاثة مهام سير عمل:

  • Workflow1_endpointbuilder - يأخذ مستندات التدريب ويبني نقطة نهاية تصنيف مخصصة على Amazon Comprehend.
  • Workflow2_docsplitter - بمثابة خدمة تقسيم المستندات ، حيث يتم تقسيم المستندات حسب الفئة. يستخدم نقطة نهاية التصنيف التي تم إنشاؤها في workflow1.
  • سير العمل - مخصص للعملاء في الصناعات شديدة التنظيم ولا يمكنهم الاحتفاظ بالبيانات في Amazon S3. يحتوي سير العمل هذا على إصدارات محلية من workflow1 و workflow2.

دعنا نلقي نظرة عميقة على كل سير عمل وكيف يعمل.

سير العمل 1: إنشاء مصنف Amazon Comprehend من مستندات PDF أو JPG أو PNG

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

للاطلاق workflow1، فأنت بحاجة إلى Amazon S3 URI للمجلد الذي يحتوي على ملفات مجموعة بيانات التدريب (يمكن أن تكون هذه الصور أو ملفات PDF من صفحة واحدة أو ملفات PDF متعددة الصفحات). يجب أن تكون بنية المجلد كما يلي:

root dataset directory
---- class directory
-------- files

بدلاً من ذلك ، يمكن أن تحتوي البنية على أدلة فرعية متداخلة إضافية:

root dataset directory
---- class directory
-------- nested subdirectories
------------ files

تصبح أسماء الدلائل الفرعية للفئة (مستوى الدليل الثاني) أسماء الفئات المستخدمة في نموذج التصنيف المخصص لخدمة Amazon Comprehend. على سبيل المثال ، في بنية الملف التالية ، فئة form123.pdf is tax_forms:

training_dataset
---- tax_forms
-------- page_1
------------ form123.pdf

لبدء سير العمل ، أكمل الخطوات التالية:

  1. قم بتحميل مجموعة البيانات إلى حاوية S3 التي تمتلكها.

التوصية هي أن يكون لديك أكثر من 50 عينة لكل فصل تريد التصنيف عليه. تُظهر لقطة الشاشة التالية مثالاً لهيكل فئة المستند هذا.

  1. بناء sam-app عن طريق تشغيل الأوامر التالية (قم بتعديل الأوامر المتوفرة حسب الحاجة):
cd workflow1_endpointbuilder/sam-app
sam build
sam deploy --guided
Stack Name [sam-app]: endpointbuilder
AWS Region []: us-east-1
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy
Confirm changes before deploy [y/N]: n
#SAM needs permission to be able to create roles to connect to the resources in your template
Allow SAM CLI IAM role creation [Y/n]: y
Save arguments to configuration file [Y/n]: n Looking for resources needed for deployment:
Creating the required resources...
Successfully created!
Managed S3 bucket: {your_bucket}
#Managed repositories will be deleted when their functions are removed from the template and deployed
Create managed ECR repositories for all functions? [Y/n]: y

ناتج البناء هو ARN لجهاز حالة Step Functions.

  1. عند اكتمال الإنشاء ، انتقل إلى ملف آلات الدولة صفحة على وحدة التحكم في وظائف الخطوة.
  2. اختر آلة الحالة التي أنشأتها.
  3. اختار ابدأ التنفيذ.
  4. أدخل معلمات الإدخال المطلوبة التالية:
{
“folder_uri”: “s3://{your dataset}”
}

  1. اختار ابدأ التنفيذ.

يبدأ جهاز الحالة سير العمل. قد يستغرق هذا عدة ساعات حسب حجم مجموعة البيانات. تُظهر لقطة الشاشة التالية آلة الحالة قيد التقدم.

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

يمكنك الانتقال إلى وحدة التحكم Amazon Comprehend للاطلاع على نقطة النهاية المنتشرة.

لقد قمت الآن ببناء المصنف المخصص الخاص بك باستخدام المستندات الخاصة بك. هذا يمثل نهاية workflow1.

سير العمل 2: بناء نقطة نهاية

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

للاطلاق workflow2، نحن نبني sam-app. قم بتعديل الأوامر المتوفرة حسب الحاجة:

cd workflow2_docsplitter/sam-app
sam-app % sam build
Build Succeeded sam-app % sam deploy --guided
Configuring SAM deploy
=========================================
Stack Name [sam-app]: docsplitter
AWS Region []: us-east-1
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy
Confirm changes before deploy [y/N]: n
#SAM needs permission to be able to create roles to connect to the resources in your template
Allow SAM CLI IAM role creation [Y/n]: y
Save arguments to configuration file [Y/n]: n Looking for resources needed for deployment:
Managed S3 bucket: {bucket_name}
#Managed repositories will be deleted when their functions are removed from the template and deployed
Create managed ECR repositories for all functions? [Y/n]: y

بعد إنشاء المكدس ، تتلقى Load Balancer DNS على ملف النواتج علامة التبويب CloudFormation المكدس. يمكنك البدء في تقديم طلبات إلى نقطة النهاية هذه.

طلب عينة متاح في workflow2_docsplitter/sample_request_folder/sample_s3_request.py ملف. تأخذ واجهة برمجة التطبيقات (API) ثلاثة معلمات: اسم حاوية S3 ، ووثيقة Amazon S3 URI ، ونقطة نهاية تصنيف Amazon Comprehend ARN. يدعم Workflow2 إدخال PDF فقط.

بالنسبة للاختبار الذي أجريناه ، نستخدم مستند رهن مؤلف من 11 صفحة مع خمسة أنواع مختلفة من المستندات.

استجابة واجهة برمجة التطبيقات هي Amazon S3 URI لملف .zip مع جميع المستندات المنقسمة. يمكنك أيضًا العثور على هذا الملف في الحاوية التي قدمتها في استدعاء API الخاص بك.

قم بتنزيل الكائن وراجع المستندات المقسمة بناءً على الفصل الدراسي.

هذا يمثل نهاية workflow2. لقد أظهرنا الآن كيف يمكننا استخدام نقطة نهاية تصنيف Amazon Comprehend المخصصة لتصنيف المستندات وتقسيمها.

سير العمل 3: تجزئة المستند المحلي

يتبع سير العمل الثالث غرضًا مشابهًا لـ workflow1 و workflow2 لإنشاء نقطة نهاية Amazon Comprehend ؛ ومع ذلك ، تتم جميع عمليات المعالجة باستخدام جهازك المحلي لإنشاء ملف CSV متوافق مع Amazon Comprehend. تم إنشاء سير العمل هذا للعملاء في الصناعات شديدة التنظيم حيث قد لا تكون مستندات PDF المستمرة على Amazon S3 ممكنة. مخطط البنية التالي هو تمثيل مرئي لسير عمل منشئ نقطة النهاية المحلي.

يوضح الرسم التخطيطي التالي بنية مقسم المستندات المحلية.

كل كود الحل متاح في workflow3_local/local_endpointbuilder.py ملف لإنشاء نقطة نهاية تصنيف Amazon Comprehend وملفات workflow3_local/local_docsplitter.py لإرسال المستندات للتقسيم.

وفي الختام

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

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


حول المؤلف

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

راج باتاك مهندس حلول ومستشار تقني لعملاء Fortune 50 ومتوسطي الحجم FSI (البنوك والتأمين وأسواق رأس المال) في جميع أنحاء كندا والولايات المتحدة. راج متخصص في التعلم الآلي مع تطبيقات في استخراج المستندات وتحويل مركز الاتصال ورؤية الكمبيوتر.

المصدر: https://aws.amazon.com/blogs/machine-learning/intelligently-split-multi-form-document-packages-with-amazon-textract-and-amazon-comprehend/

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

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