معالجة المستندات بذكاء مع خدمات AWS AI: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

معالجة المستندات بذكاء مع خدمات AWS AI: الجزء 2

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

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

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

حل نظرة عامة

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

معالجة المستندات بذكاء مع خدمات AWS AI: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

نحن نستخدم أيضا الأمازون فهم الطبية كجزء من هذا الحل ، وهو عبارة عن خدمة لاستخراج المعلومات من النص الطبي غير المنظم بدقة وسرعة وتحديد العلاقات بين المعلومات الصحية المستخرجة ، والربط مع الأنطولوجيا الطبية مثل ICD-10-CM و RxNorm و SNOMED CT.

Amazon A2I هي خدمة تعلُّم آلي (ML) تسهِّل إنشاء مهام سير العمل المطلوبة للمراجعة البشرية. تجلب Amazon A2I المراجعة البشرية لجميع المطورين ، وتزيل الرفع الثقيل غير المتمايز المرتبط ببناء أنظمة المراجعة البشرية أو إدارة أعداد كبيرة من المراجعين البشريين سواء كانت تعمل على AWS أم لا. يتكامل Amazon A2I مع أمازون تيكستراك و فهم الأمازون لتزويدك بالقدرة على تقديم خطوات المراجعة البشرية ضمن سير عمل IDP الخاص بك.

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

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

مرحلة الاستخراج

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

التعرف على الكيان المسمى

التعرف على الكيانات المسماة (NER) هي مهمة فرعية لمعالجة اللغة الطبيعية (NLP) تتضمن غربلة البيانات النصية لتحديد العبارات الاسمية ، وتسمى الكيانات المسماة ، وتصنيف كل منها بعلامة ، مثل العلامة التجارية ، والتاريخ ، والحدث ، والموقع ، والمؤسسات أو شخص أو كمية أو لقب. على سبيل المثال ، في العبارة "اشتركت مؤخرًا في Amazon Prime" ، يعتبر Amazon Prime هو الكيان المحدد ويمكن تصنيفه كعلامة تجارية.

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

التعرف على الكيان المحدد مع Amazon Comprehend

للحصول على الكيانات من المستند النصي ، نسمي comprehend.detect_entities() الطريقة وتكوين رمز اللغة والنص كمعلمات إدخال:

def get_entities(text):
    try:
        #detect entities
        entities = comprehend.detect_entities(LanguageCode="en", Text=text)  
        df = pd.DataFrame(entities["Entities"], columns = ['Text', 'Type'])
        display(HTML(df.to_html(index=False)))
    except Exception as e:
        print(e)

نحن ندير get_entities() على مستند البنك والحصول على قائمة الكيانات في النتائج.

استجابة من طريقة get_entities من Comprehend.

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

تدريب نموذج التعرف على الكيانات المخصص من Amazon Comprehend

لاكتشاف الكيانات المحددة التي نهتم بها من كشف الحساب المصرفي للعميل ، نقوم بتدريب أداة التعرف على الكيانات المخصصة مع كيانين مخصصين: SAVINGS_AC و CHECKING_AC.

ثم نقوم بتدريب نموذج التعرف على الكيانات المخصصة. يمكننا اختيار إحدى طريقتين لتقديم البيانات إلى Amazon Comprehend: التعليقات التوضيحية أو قوائم الكيانات.

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

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

تُظهر لقطة الشاشة التالية مثالاً على قائمة الكيانات الخاصة بنا.

لقطة من قائمة الكيانات.

قم بإنشاء نقطة نهاية في الوقت الحقيقي مخصصة لـ Amazon Comprehend

بعد ذلك ، نقوم بإنشاء نقطة نهاية في الوقت الحقيقي لأداة التعرف على الكيانات المخصصة باستخدام النموذج الذي قمنا بتدريبه. نحن نستخدم ال إنشاء نقطة النهاية API عبر ملف comprehend.create_endpoint() طريقة لإنشاء نقطة نهاية في الوقت الفعلي:

#create comprehend endpoint
model_arn = entity_recognizer_arn
ep_name = 'idp-er-endpoint'

try:
    endpoint_response = comprehend.create_endpoint(
        EndpointName=ep_name,
        ModelArn=model_arn,
        DesiredInferenceUnits=1,    
        DataAccessRoleArn=role
    )
    ER_ENDPOINT_ARN=endpoint_response['EndpointArn']
    print(f'Endpoint created with ARN: {ER_ENDPOINT_ARN}')
    %store ER_ENDPOINT_ARN
except Exception as error:
    if error.response['Error']['Code'] == 'ResourceInUseException':
        print(f'An endpoint with the name "{ep_name}" already exists.')
        ER_ENDPOINT_ARN = f'arn:aws:comprehend:{region}:{account_id}:entity-recognizer-endpoint/{ep_name}'
        print(f'The classifier endpoint ARN is: "{ER_ENDPOINT_ARN}"')
        %store ER_ENDPOINT_ARN
    else:
        print(error)

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

مرحلة الإثراء

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

مرحلة إثراء الوثيقة.

كما ترى في المثال التالي ، فإن أرقام الحسابات الجارية والتوفير مخفية في كشف الحساب البنكي الآن.

نموذج كشف حساب بنكي منقح.

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

الاستخراج باستخدام استعلامات Amazon Textract

عند معالجة مستند باستخدام Amazon Textract ، يمكنك إضافة ميزة الاستعلامات الجديدة إلى تحليلك لتحديد المعلومات التي تحتاجها. يتضمن هذا تمرير سؤال NLP ، مثل "ما هو رقم الضمان الاجتماعي للعميل؟" إلى Amazon Textract. يعثر Amazon Textract على المعلومات الموجودة في المستند لهذا السؤال ويعيدها في بنية استجابة منفصلة عن بقية معلومات المستند. يمكن معالجة الاستعلامات بمفردها أو بالاشتراك مع أي طلبات أخرى FeatureType، مثل Tables or Forms.

الاستعلامات القائمة على الاستخراج باستخدام Amazon Textract.

باستخدام استعلامات Amazon Textract ، يمكنك استخراج المعلومات بدقة عالية بغض النظر عن كيفية تخطيط البيانات في بنية المستند ، مثل النماذج والجداول ومربعات الاختيار ، أو وضعها داخل أقسام متداخلة في المستند.

لإثبات ميزة الاستعلامات ، نقوم باستخراج معلومات قيمة مثل الاسم الأول والأخير للمريض والشركة المصنعة للجرعات وما إلى ذلك من مستندات مثل بطاقة التطعيم COVID-19.

عينة من بطاقة التطعيم.

نستخدم textract.analyze_document() وظيفة وتحديد FeatureType as QUERIES وكذلك إضافة الاستعلامات في شكل أسئلة لغة طبيعية في QueriesConfig.

تم اختصار الكود التالي لأغراض التبسيط. للحصول على الكود الكامل ، راجع GitHub عينة من الرموز For analyze_document().

response = None
with open(image_filename, 'rb') as document:
    imageBytes = bytearray(document.read())

# Call Textract
response = textract.analyze_document(
    Document={'Bytes': imageBytes},
    FeatureTypes=["QUERIES"],
    QueriesConfig={
            "Queries": [{
                "Text": "What is the date for the 1st dose covid-19?",
                "Alias": "COVID_VACCINATION_FIRST_DOSE_DATE"
            },
# code trimmed down for simplification
#..
]
}) 

بالنسبة لميزة الاستعلامات ، فإن ملف textract.analyze_document() تقوم الدالة بإخراج جميع كلمات وخطوط التعرف الضوئي على الحروف والمعلومات الهندسية ودرجات الثقة في استجابة JSON. ومع ذلك ، يمكننا فقط طباعة المعلومات التي طلبنا عنها.

Document هي وظيفة مجمعة تُستخدم للمساعدة في تحليل استجابة JSON من واجهة برمجة التطبيقات. يوفر تجريدًا عالي المستوى ويجعل إخراج API متكررًا ويسهل الحصول على المعلومات منه. لمزيد من المعلومات ، راجع محلل استجابة النص و نصوص مستودعات جيثب. بعد معالجة الاستجابة ، نحصل على المعلومات التالية كما هو موضح في لقطة الشاشة.

import trp.trp2 as t2
from tabulate import tabulate

d = t2.TDocumentSchema().load(response)
page = d.pages[0]

query_answers = d.get_query_answers(page=page)

print(tabulate(query_answers, tablefmt="github"))

الرد من استخراج الاستفسارات.

مرحلة المراجعة والتحقق

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

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

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

مرحلة المراجعة البشرية والتحقق.

لمزيد من المعلومات حول كيفية إنشاء سير عمل Amazon A2I ، اتبع التعليمات من التحضير للوحدة 4 الخطوة في نهاية 03-idp-document-enrichment.ipynb في منطقتنا جيثب ريبو.

تنظيف

لمنع تكبد رسوم مستقبلية لحساب AWS الخاص بك ، احذف الموارد التي قدمناها في إعداد المستودع بالانتقال إلى قسم التنظيف في الريبو الخاص بنا.

وفي الختام

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

لمزيد من المعلومات حول نماذج التعليمات البرمجية الكاملة في هذا المنشور ، يرجى الرجوع إلى جيثب ريبو.

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


عن المؤلفين

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

معالجة المستندات بذكاء مع خدمات AWS AI: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.سونالي ساهو يقود فريق مهندس حلول الذكاء الاصطناعي / ML في معالجة المستندات الذكية في Amazon Web Services. إنها شغوفة بالتكنولوجيا وتتمتع بالعمل مع العملاء لحل المشكلات المعقدة باستخدام الابتكار. مجالات تركيزها الأساسية هي الذكاء الاصطناعي والتعلم الآلي لمعالجة المستندات بذكاء.

معالجة المستندات بذكاء مع خدمات AWS AI: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.أنجان بيسواس هو مهندس حلول متخصص في الذكاء الاصطناعي / التعلم الآلي. يعمل أنجان مع عملاء المؤسسات وهو متحمس لتطوير ونشر وشرح الذكاء الاصطناعي / التعلم الآلي وتحليلات البيانات وحلول البيانات الضخمة. يتمتع Anjan بأكثر من 14 عامًا من الخبرة في العمل مع سلسلة التوريد العالمية ، والتصنيع ، ومؤسسات البيع بالتجزئة ، وهو يساعد العملاء بنشاط على البدء والتوسع في AWS.

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

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

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