ذكاء البيانات التوليدية

أنشئ مسارًا لمعالجة الإيصالات والفواتير باستخدام Amazon Texttract | خدمات الويب الأمازون

التاريخ:

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

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

حل نظرة عامة

يوضح الرسم التخطيطي التالي مراحل سير عمل معالجة الاستلام والفواتير. يبدأ الأمر بمرحلة التقاط المستندات لجمع وتخزين الفواتير والإيصالات الممسوحة ضوئيًا بشكل آمن. المرحلة التالية هي مرحلة الاستخراج، حيث تقوم بتمرير الفواتير والإيصالات المجمعة إلى Amazon Textract AnalyzeExpense واجهة برمجة التطبيقات (API) لاستخراج العلاقات المالية بين النصوص مثل اسم البائع وتاريخ استلام الفاتورة وتاريخ الطلب والمبلغ المستحق والمبلغ المدفوع وما إلى ذلك. في المرحلة التالية، يمكنك استخدام قواعد النفقات المحددة مسبقًا لتحديد ما إذا كان يجب عليك الموافقة على الإيصال أو رفضه تلقائيًا. تنتقل المستندات المعتمدة والمرفوضة إلى المجلدات الخاصة بها داخل الملف خدمة تخزين أمازون البسيطة دلو (أمازون S3). للحصول على المستندات المعتمدة، يمكنك البحث في جميع الحقول والقيم المستخرجة باستخدام خدمة Amazon OpenSearch. يمكنك تصور البيانات التعريفية المفهرسة باستخدام لوحات معلومات OpenSearch. يتم أيضًا إعداد المستندات المعتمدة ليتم نقلها إلى نظام Amazon S3 الذكي للتدرج للاحتفاظ والأرشفة على المدى الطويل باستخدام سياسات دورة حياة S3.

هندسة الحلول

تأخذك الأقسام التالية خلال عملية إنشاء الحل.

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

لنشر هذا الحل، يجب أن يكون لديك ما يلي:

  • حساب AWS.
  • An سحابة AWS 9 بيئة. AWS Cloud9 عبارة عن بيئة تطوير متكاملة قائمة على السحابة (IDE) تتيح لك كتابة التعليمات البرمجية وتشغيلها وتصحيح أخطاءها باستخدام متصفح فقط. يتضمن محرر التعليمات البرمجية ومصحح الأخطاء والمحطة الطرفية.

لإنشاء بيئة AWS Cloud9، قم بتوفير الاسم والوصف. احتفظ بكل شيء آخر كإعداد افتراضي. اختر رابط IDE على وحدة تحكم AWS Cloud9 للانتقال إلى IDE. أنت الآن جاهز لاستخدام بيئة AWS Cloud9.

انشر الحل

لإعداد الحل، يمكنك استخدام مجموعة تطوير سحابة AWS (AWS CDK) لنشر تكوين سحابة AWS كومة.

  1. في محطة AWS Cloud9 IDE الخاصة بك، انسخ ملف مستودع جيثب وتثبيت التبعيات. قم بتشغيل الأوامر التالية لنشر InvoiceProcessor كومة:
git clone https://github.com/aws-samples/amazon-textract-invoice-processor.git
pip install -r requirements.txt
cdk bootstrap
cdk deploy

يستغرق النشر حوالي 25 دقيقة باستخدام إعدادات التكوين الافتراضية من GitHub repo. تتوفر أيضًا معلومات الإخراج الإضافية على وحدة تحكم AWS CloudFormation.

  1. بعد اكتمال نشر AWS CDK، أنشئ قواعد التحقق من صحة النفقات في ملف الأمازون DynamoDB طاولة. يمكنك استخدام نفس محطة AWS Cloud9 لتشغيل الأوامر التالية:
aws dynamodb execute-statement --statement "INSERT INTO "$(aws cloudformation list-exports --query 'Exports[?Name==`InvoiceProcessorWorkflow-RulesTableName`].Value' --output text)" VALUE {'ruleId': 1, 'type': 'regex', 'field': 'INVOICE_RECEIPT_ID', 'check': '(?i)[0-9]{3}[a-z]{3}[0-9]{3}$', 'errorTxt': 'Receipt number is not valid. It is of the format: 123ABC456'}"
aws dynamodb execute-statement --statement "INSERT INTO "$(aws cloudformation list-exports --query 'Exports[?Name==`InvoiceProcessorWorkflow-RulesTableName`].Value' --output text)" VALUE {'ruleId': 2, 'type': 'regex', 'field': 'PO_NUMBER', 'check': '(?i)[a-z0-9]+$', 'errorTxt': 'PO number is not present'}"

  1. في دلو S3 الذي يبدأ بـ invoiceprocessorworkflow-invoiceprocessorbucketf1-*، قم بإنشاء مجلد التحميلات.

In أمازون كوجنيتو، يجب أن يكون لديك بالفعل تجمع مستخدمين موجود يسمى OpenSearchResourcesCognitoUserPool*. نستخدم تجمع المستخدمين هذا لإنشاء مستخدم جديد.

  1. في وحدة تحكم Amazon Cognito، انتقل إلى مجمع المستخدمين OpenSearchResourcesCognitoUserPool*.
  2. قم بإنشاء مستخدم Amazon Cognito جديد.
  3. قم بتوفير اسم مستخدم وكلمة مرور من اختيارك وقم بتدوينهما لاستخدامهما لاحقًا.
  4. قم بتحميل المستندات Random_invoice1 و Random_invoice2 إلى S3 uploads المجلد لبدء سير العمل.

الآن دعونا نتعمق في كل خطوة من خطوات معالجة المستندات.

التقاط الوثيقة

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

تحميل نماذج الفواتير

استخلاص

المرحلة التالية هي مرحلة الاستخراج، حيث تقوم بتمرير الفواتير والإيصالات المجمعة إلى Amazon Textract AnalyzeExpense واجهة برمجة التطبيقات (API) لاستخراج العلاقات المالية بين النصوص مثل اسم البائع، وتاريخ استلام الفاتورة، وتاريخ الطلب، والمبلغ المستحق/المدفوع، وما إلى ذلك.

تحليل المصاريف هي واجهة برمجة تطبيقات مخصصة لمعالجة مستندات الفواتير والإيصالات. وهي متاحة كواجهة برمجة تطبيقات متزامنة أو غير متزامنة. تسمح لك واجهة برمجة التطبيقات المتزامنة بإرسال الصور بتنسيق بايت، وتسمح لك واجهة برمجة التطبيقات غير المتزامنة بإرسال ملفات بتنسيقات JPG وPNG وTIFF وPDF. ال AnalyzeExpense تتكون استجابة API من ثلاثة أقسام متميزة:

  • حقول الملخص - يتضمن هذا القسم كلاً من المفاتيح المقيسة والمفاتيح المذكورة صراحةً بالإضافة إلى قيمها. AnalyzeExpense يقوم بتطبيع مفاتيح المعلومات المتعلقة بجهة الاتصال مثل اسم البائع وعنوان البائع، والمفاتيح المتعلقة بمعرف الضريبة مثل معرف دافع الضرائب، والمفاتيح المتعلقة بالدفع مثل المبلغ المستحق والخصم، والمفاتيح العامة مثل معرف الفاتورة، وتاريخ التسليم، و رقم حساب. تستمر المفاتيح التي لم تتم تطبيعها في الظهور في حقول الملخص كأزواج قيمة المفتاح. للحصول على قائمة كاملة بحقول النفقات المدعومة، راجع تحليل الفواتير والإيصالات.
  • البنود - يتضمن هذا القسم مفاتيح عناصر السطر المقيسة مثل وصف العنصر وسعر الوحدة والكمية ورمز المنتج.
  • كتلة التعرف الضوئي على الحروف – تحتوي الكتلة على النص الخام المستخرج من صفحة الفاتورة. يمكن استخدام مستخلص النص الأولي للمعالجة اللاحقة وتحديد المعلومات التي لم يتم تغطيتها كجزء من حقول الملخص والعناصر.

يستخدم هذا المنشور ملف يبني Amazon Textract IDP CDK (مكونات AWS CDK لتحديد البنية التحتية لسير عمل المعالجة الذكية للمستندات (IDP)، والتي تتيح لك إنشاء مسارات عمل IDP قابلة للتخصيص خاصة بحالة الاستخدام. التركيبات والعينات عبارة عن مجموعة من المكونات لتمكين تعريف عمليات IDP على AWS ونشرها على GitHub جيثب:. المفاهيم الرئيسية المستخدمة هي بنيات AWS CDK، الفعلية مكدسات AWS CDKو وظائف خطوة AWS.

يوضح الشكل التالي سير عمل Step Functions.

سير عمل وظيفة الخطوة

يتضمن سير عمل الاستخراج الخطوات التالية:

  • معالج الفاتورة-مقرر - أ AWS لامدا وظيفة تتحقق مما إذا كان تنسيق مستند الإدخال مدعومًا بواسطة Amazon Textract. لمزيد من التفاصيل حول التنسيقات المدعومة، راجع وثائق الإدخال.
  • DocumentSplitter - وظيفة Lambda التي تنشئ أجزاء مكونة من 2,500 صفحة (كحد أقصى) من المستندات ويمكنها معالجة مستندات كبيرة متعددة الصفحات.
  • دولة الخريطة - دالة Lambda التي تعالج كل قطعة بالتوازي.
  • TexttractAsync - تستدعي هذه المهمة Amazon Textract باستخدام واجهة برمجة التطبيقات غير المتزامنة التالية أفضل الممارسات مع خدمة إعلام أمازون البسيطة إشعارات واستخدامات (Amazon SNS). OutputConfig لتخزين مخرجات Amazon Texttract JSON في حاوية S3 التي قمت بإنشائها مسبقًا. وتتكون من وظيفتين من وظائف Lambda: إحداهما لإرسال المستند للمعالجة والأخرى يتم تشغيلها عند إشعار SNS.
  • TexttractAsyncToJSON2 - بسبب ال TextractAsync المهمة يمكن أن تنتج ملفات إخراج مرقّمة متعددة، و TextractAsyncToJSON2 تجمعهم العملية في ملف JSON واحد.

نناقش تفاصيل الخطوات الثلاث التالية في الأقسام التالية.

التحقق والموافقة

بالنسبة لمرحلة التحقق، SetMetaData تتحقق وظيفة Lambda مما إذا كان الملف الذي تم تحميله يمثل نفقة صالحة وفقًا للقواعد التي تم تكوينها مسبقًا في جدول DynamoDB. بالنسبة لهذا المنشور، يمكنك استخدام القواعد النموذجية التالية:

  • يتم التحقق بنجاح إذا INVOICE_RECEIPT_ID موجود ويطابق التعبير العادي (?i)[0-9]{3}[a-z]{3}[0-9]{3}$ و if PO_NUMBER موجود ويطابق التعبير العادي (?i)[a-z0-9]+$
  • التحقق غير ناجح إذا كان أي منهما PO_NUMBER or INVOICE_RECEIPT_ID غير صحيحة أو مفقودة في المستند.

بعد معالجة الملفات، تقوم وظيفة التحقق من النفقات بنقل ملفات الإدخال إلى أي منهما approved or declined المجلدات في نفس مجموعة S3.

إخراج S3

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

الفهرس الذكي والبحث

مع OpenSearchPushInvoke مع وظيفة Lambda، يتم دفع بيانات تعريف النفقات المستخرجة إلى فهرس خدمة OpenSearch وتكون متاحة للبحث.

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

بعد إنشاء فهرس خدمة OpenSearch، يمكنك البحث عن الكلمات الرئيسية من النص المستخرج عبر لوحات معلومات OpenSearch.

البحث عن وثيقة OpenSearch

الأرشفة والتدقيق والتحليلات

لإدارة دورة حياة الفواتير والإيصالات وأرشفتها، يمكنك تكوين قواعد دورة حياة S3 لنقل كائنات S3 من فئات التخزين القياسية إلى فئات التخزين الذكية. تقوم خدمة S3 Intelligent-Tiering بمراقبة أنماط الوصول وتنقل الكائنات تلقائيًا إلى طبقة الوصول غير المتكرر عندما لا يتم الوصول إليها لمدة 30 يومًا متتالية. بعد 90 يومًا من عدم الوصول، يتم نقل الكائنات إلى طبقة الوصول الفوري للأرشفة دون التأثير على الأداء أو الحمل التشغيلي.

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

قم بتسجيل الدخول إلى لوحات معلومات OpenSearch وانتقل إلى إدارة المكدس, الكائنات المحفوظة، ثم اختر استيراد. اختر الفواتير.ndjson ملف من المستودع المستنسخ واختر استيراد. يؤدي هذا إلى ملء الفهارس مسبقًا وإنشاء التصور.

استيراد البحث المفتوح

قم بتحديث الصفحة وانتقل إلى الصفحة الرئيسية, لوحة المعلوماتوفتح الفواتير. يمكنك الآن تحديد عوامل التصفية وتطبيقها وتوسيع النافذة الزمنية لاستكشاف الفواتير السابقة.

لوحة تحكم البحث المفتوح

تنظيف

عند الانتهاء من تقييم Amazon Textract لمعالجة الإيصالات والفواتير، نوصي بتنظيف أي موارد قد تكون قمت بإنشائها. أكمل الخطوات التالية:

  1. احذف كافة المحتويات من مجموعة S3 invoiceprocessorworkflow-invoiceprocessorbucketf1-*.
  2. في AWS Cloud9، قم بتشغيل الأوامر التالية لحذف موارد Amazon Cognito ومجموعات CloudFormation:
cognito_user_pool=$(aws cloudformation list-exports --query 'Exports[?Name==`InvoiceProcessorWorkflow-CognitoUserPoolId`].Value' --output text)
echo $cognito_user_pool
cdk destroy
aws cognito-idp delete-user-pool --user-pool-id $cognito_user_pool

  1. احذف بيئة AWS Cloud9 التي قمت بإنشائها من وحدة تحكم AWS Cloud9.

وفي الختام

في هذا المنشور، قدمنا ​​نظرة عامة حول كيفية إنشاء مسار لأتمتة الفواتير باستخدام Amazon Textract لاستخراج البيانات وإنشاء سير عمل للتحقق والأرشفة والبحث. لقد قدمنا ​​نماذج التعليمات البرمجية حول كيفية استخدام AnalyzeExpense API لاستخراج الحقول الهامة من الفاتورة.

للبدء، قم بتسجيل الدخول إلى وحدة تحكم Amazon Texttract لتجربة هذه الميزة. لمعرفة المزيد حول إمكانيات Amazon Texttract، راجع دليل مطور Amazon Textract or موارد Textract. لمعرفة المزيد حول IDP، راجع IDP مع خدمات AWS AI جزء 1 و جزء 2 المشاركات.


حول المؤلف

سوسانت برادهان هو مهندس الحلول الأول في Amazon Web Services، حيث يساعد عملاء المؤسسات. تشمل اهتماماته وخبراته الحاويات والتكنولوجيا بدون خادم وDevOps. في أوقات فراغه، يستمتع سوشانت بقضاء الوقت في الهواء الطلق مع عائلته.

شبين ميكايراج هو مدير منتج كبير مع فريق AWS Textract. إنه يركز على بناء منتجات قائمة على الذكاء الاصطناعي / التعلم الآلي لعملاء AWS.

سوبراكاش دوتا مهندس حلول في Amazon Web Services. وهو يركز على استراتيجية التحول الرقمي ، وتحديث التطبيقات والترحيل ، وتحليلات البيانات ، والتعلم الآلي. إنه جزء من مجتمع AI / ML في AWS ويقوم بتصميم حلول معالجة المستندات الذكية.

ماران شاندراسيكاران هو مهندس حلول أول في Amazon Web Services ، ويعمل مع عملاء مؤسستنا. خارج العمل ، يحب السفر وركوب دراجته النارية في Texas Hill Country.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة