طاولة عمل الذكاء الاصطناعي للمستندات - التدريب

1. مقدمة

‫Document AI هو حلّ لفهم المستندات يستند إلى بيانات غير منظَّمة، مثل المستندات والرسائل الإلكترونية وما إلى ذلك، ويسهّل فهم البيانات وتحليلها واستخدامها.

باستخدام ميزة "التدريب الإضافي" من خلال Document AI Workbench، يمكنك تحقيق دقة أعلى في معالجة المستندات من خلال تقديم أمثلة إضافية مصنّفة لأنواع المستندات المتخصّصة وإنشاء إصدار جديد من النموذج.

في هذا الدرس التطبيقي، ستنشئ معالج Invoice Parser، وتضبط إعدادات المعالج لتدريبه بشكل إضافي، وتصنّف المستندات النموذجية، وتدرّب المعالج بشكل إضافي.

تتألف مجموعة بيانات المستندات المستخدَمة في هذا الدرس التطبيقي من فواتير تم إنشاؤها عشوائيًا لشركة خيالية لتصنيع الأنابيب.

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

يستند هذا الدرس التطبيقي حول الترميز إلى المحتوى المقدَّم في دروس تطبيقية أخرى حول Document AI.

ننصحك بإكمال Codelabs التالية قبل المتابعة.

ما ستتعلمه

  • اضبط إعدادات Uptraining لمعالج Invoice Parser.
  • تصنيف بيانات تدريب Document AI باستخدام أداة التعليق التوضيحي
  • تدريب إصدار جديد من النموذج
  • قيِّم دقة إصدار النموذج الجديد.

المتطلبات

  • مشروع Google Cloud
  • متصفّح، مثل Chrome أو Firefox

2. الإعداد

يفترض هذا الدرس العملي أنك أكملت خطوات إعداد Document AI المُدرَجة في الدرس العملي التمهيدي.

يُرجى إكمال الخطوات التالية قبل المتابعة:

3- إنشاء معالج

يجب أولاً إنشاء معالج Invoice Parser لاستخدامه في هذا المختبر.

  1. في وحدة التحكّم، انتقِل إلى صفحة نظرة عامة على Document AI.

docai-uptraining-codelab-01

  1. انقر على إنشاء معالج، وانتقِل للأسفل إلى متخصّص (أو اكتب "محلّل الفواتير" في شريط البحث) واختَر محلّل الفواتير.

docai-uptraining-codelab-02

  1. أدخِل الاسم codelab-invoice-uptraining (أو أي اسم آخر يمكنك تذكُّره) واختَر المنطقة الأقرب في القائمة.

docai-uptraining-codelab-03

  1. انقر على إنشاء لإنشاء المعالج. من المفترض أن تظهر لك بعد ذلك صفحة "نظرة عامة على جهة المعالجة".

docai-uptraining-codelab-04

4. إنشاء مجموعة بيانات

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

عليك إنشاء حزمة جديدة في Cloud Storage لتخزين مجموعة البيانات. ملاحظة: يجب ألا تكون هذه الحزمة هي الحزمة نفسها التي يتم فيها تخزين مستنداتك حاليًا.

  1. افتح Cloud Shell ونفِّذ الأوامر التالية لإنشاء حزمة. يمكنك بدلاً من ذلك إنشاء حزمة جديدة في Cloud Console. احفظ اسم الحزمة هذا لأنّك ستحتاج إليه لاحقًا.
export PROJECT_ID=$(gcloud config get-value project)

gsutil mb -p $PROJECT_ID "gs://${PROJECT_ID}-uptraining-codelab"
  1. انتقِل إلى علامة التبويب مجموعة البيانات، وانقر على إنشاء مجموعة بيانات.

docai-uptraining-codelab-05

  1. الصِق اسم الحزمة من الحزمة التي أنشأتها في الخطوة الأولى في الحقل مسار الوجهة. (لا تضمِّن gs://)

docai-uptraining-codelab-06

  1. انتظِر إلى أن يتم إنشاء مجموعة البيانات، ثمّ سيتم توجيهك إلى صفحة "إدارة مجموعات البيانات".

docai-uptraining-codelab-07

5- استيراد مستند اختبار

لنستورد الآن نموذجًا لملف PDF خاص بفاتورة إلى مجموعة البيانات.

  1. انقر على استيراد المستندات

docai-uptraining-codelab-08

  1. لدينا نموذج ملف PDF يمكنك استخدامه في هذا الدرس التطبيقي. انسخ الرابط التالي والصقه في المربّع مسار المصدر. اترك "تقسيم البيانات" على "غير محدّد" في الوقت الحالي. انقر على استيراد.
cloud-samples-data/documentai/codelabs/uptraining/pdfs

docai-uptraining-codelab-09

  1. انتظِر إلى حين استيراد المستند. استغرقت هذه العملية أقل من دقيقة واحدة في اختباراتي.

docai-uptraining-codelab-10

  1. عند اكتمال عملية الاستيراد، من المفترض أن يظهر المستند في واجهة مستخدم "إدارة مجموعات البيانات". انقر عليه للدخول إلى وحدة تحكّم التصنيف.

docai-uptraining-codelab-11

6. تصنيف مستند الاختبار

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

  1. من المفترض أن تكون الآن في وحدة تحكّم التصنيف، والتي ستظهر على النحو التالي.

docai-uptraining-codelab-12

  1. انقر على أداة "اختيار النص"، ثمّ ميِّز النص "McWilliam Piping International Piping Company" وأدخِل التصنيف supplier_name. يمكنك استخدام فلتر النص للبحث عن أسماء التصنيفات.

docai-uptraining-codelab-13

  1. ميِّز النص "14368 Pipeline Ave Chino, CA 91710" وعيِّن التصنيف supplier_address.

docai-uptraining-codelab-14

  1. ميِّز النص "10001" وعيِّن التصنيف invoice_id.

docai-uptraining-codelab-15

  1. ميِّز النص "2020-01-02" وعيِّن التصنيف due_date.

docai-uptraining-codelab-16

  1. انتقِل إلى أداة "المربّع المحيط". ميِّز النص "وصلات المفصل" (Knuckle Couplers) وأضِف التصنيف line_item/description.

docai-uptraining-codelab-17

  1. ميِّز النص "9" وعيِّن التصنيف line_item/quantity.

docai-uptraining-codelab-18

  1. ميِّز النص "74.43" وأضِف التصنيف line_item/unit_price.

docai-uptraining-codelab-19

  1. ميِّز النص "669.87" وعيِّن التصنيف line_item/amount.

docai-uptraining-codelab-20

  1. كرِّر الخطوات الأربع السابقة لبندَي الإعلان التاليَين. من المفترض أن يظهر على النحو التالي عند اكتماله.

docai-uptraining-codelab-21

  1. حدِّد النص "1,419.57" (بجانب "المجموع الفرعي") وعيِّن التصنيف net_amount.

docai-uptraining-codelab-22

  1. حدِّد النص "113.57" (بجانب "الضريبة") وعيِّن التصنيف total_tax_amount.

docai-uptraining-codelab-23

  1. ميِّز النص "1,533.14" (بجانب "الإجمالي") وعيِّن التصنيف total_amount.

docai-uptraining-codelab-24

  1. ميِّز أحد أحرف "$" وعيِّن التصنيف currency.

docai-uptraining-codelab-25

  1. يجب أن يبدو المستند المصنّف على هذا النحو عند اكتماله. يمكنك إجراء تعديلات على هذه التصنيفات من خلال النقر على مربّع الإحاطة في المستند أو اسم التصنيف/قيمته في القائمة الجانبية اليمنى. انقر على حفظ عند الانتهاء من إضافة التصنيفات.

docai-uptraining-codelab-26

  1. في ما يلي القائمة الكاملة بالتصنيفات والقيم

اسم التصنيف

Text

supplier_name

McWilliam Piping International Piping Company

supplier_address

14368 Pipeline Ave Chino, CA 91710

invoice_id

10001

due_date

2020-01-02

line_item/description

وصلات مفصلية

line_item/quantity

9

line_item/unit_price

74.43

line_item/amount

669.87

line_item/description

أنبوب PVC مقاس 12 بوصة

line_item/quantity

7

line_item/unit_price

15.90

line_item/amount

111.30

line_item/description

أنابيب نحاس

line_item/quantity

7

line_item/unit_price

91.20

line_item/amount

638.40

net_amount

1,419.57

total_tax_amount

113.57

total_amount

1,533.14

currency

$

7. تعيين مستند لمجموعة التدريب

من المفترض أن تكون قد عدت الآن إلى "وحدة تحكّم إدارة مجموعات البيانات". لاحظ أنّ عدد المستندات المصنّفة وغير المصنّفة قد تغيّر، بالإضافة إلى أعداد التصنيفات النشطة.

docai-uptraining-codelab-27

  1. علينا تصنيف هذا المستند ضمن مجموعة "التدريب" أو مجموعة "الاختبار". انقر على المستند.

docai-uptraining-codelab-28

  1. انقر على تعيين إلى مجموعة، ثم انقر على التدريب.

docai-uptraining-codelab-29

  1. لاحظ أنّ أرقام تقسيم البيانات قد تغيّرت.

docai-uptraining-codelab-30

8. استيراد البيانات المصنَّفة مسبقًا

يتطلّب تحسين أداء Document AI توفّر 10 مستندات على الأقل في كل من مجموعتَي التدريب والاختبار، بالإضافة إلى 10 مثيلات لكل تصنيف في كل مجموعة.

يُنصح بأن تتضمّن كل مجموعة 50 مستندًا على الأقل مع 50 مثالاً لكل تصنيف لتحقيق أفضل أداء. وبشكل عام، يؤدي توفّر المزيد من بيانات التدريب إلى زيادة الدقة.

سيستغرق تصنيف 100 مستند يدويًا وقتًا طويلاً، لذا لدينا بعض المستندات المصنَّفة مسبقًا التي يمكنك استيرادها لهذا الدرس التطبيقي.

يمكنك استيراد ملفات المستندات المصنَّفة مسبقًا بتنسيق Document.json. يمكن أن تكون هذه النتائج من خلال استدعاء معالج والتحقّق من الدقة باستخدام المشاركة البشرية (HITL).

  1. انقر على استيراد المستندات.

docai-uptraining-codelab-30

  1. انسخ مسار Cloud Storage التالي وألصقه، ثم خصِّصه لمجموعة التدريب.
cloud-samples-data/documentai/codelabs/uptraining/training
  1. انقر على إضافة حزمة أخرى. بعد ذلك، انسخ/الصِق مسار Cloud Storage التالي وعيّنه لمجموعة الاختبار.
cloud-samples-data/documentai/codelabs/uptraining/test

docai-uptraining-codelab-31

  1. انقر على استيراد وانتظِر إلى أن يتم استيراد المستندات. ستستغرق هذه العملية وقتًا أطول من المرة السابقة لأنّ هناك المزيد من المستندات التي يجب معالجتها. في اختباراتي، استغرقت هذه العملية حوالي 6 دقائق. يمكنك مغادرة هذه الصفحة والرجوع إليها لاحقًا.

docai-uptraining-codelab-32

  1. بعد اكتمال العملية، من المفترض أن تظهر المستندات في صفحة "إدارة مجموعات البيانات".

docai-uptraining-codelab-33

9- تعديل التصنيفات

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

  1. انقر على إدارة التصنيفات في أسفل يمين الصفحة.

docai-uptraining-codelab-33

  1. من المفترض أن تكون الآن في "وحدة تحكّم إدارة التصنيفات".

docai-uptraining-codelab-34

  1. استخدِم مربّعات الاختيار وزرَّي إيقاف/تفعيل لوضع علامة مفعَّل على التصنيفات التالية فقط.
    • currency
    • due_date
    • invoice_id
    • line_item/amount
    • line_item/description
    • line_item/quantity
    • line_item/unit_price
    • net_amount
    • supplier_address
    • supplier_name
    • total_amount
    • total_tax_amount
  2. يجب أن تبدو "وحدة التحكّم" على النحو التالي عند اكتمالها. انقر على حفظ عند الانتهاء.

docai-uptraining-codelab-35

  1. انقر على السهم المتّجه للخلف للرجوع إلى "وحدة تحكّم إدارة مجموعات البيانات". لاحظ أنّه تم وضع علامة "غير نشط" على التصنيفات التي تتضمّن 0 مثيل.

docai-uptraining-codelab-36

10. اختياري: تصنيف المستندات المستورَدة حديثًا تلقائيًا

عند استيراد مستندات غير مصنّفة إلى معالج يتضمّن إصدارًا حاليًا من المعالج تم نشره، يمكنك استخدام ميزة التصنيف التلقائي لتوفير الوقت في عملية التصنيف.

  1. في صفحة التدريب، انقر على استيراد المستندات.
  2. انسخ مسار التالي وألصِقه. يحتوي هذا الدليل على 5 ملفات PDF للفواتير بدون تصنيف. من القائمة المنسدلة تقسيم البيانات، اختَر التدريب.
    cloud-samples-data/documentai/Custom/Invoices/PDF_Unlabeled
    
  3. في قسم وضع التصنيفات التلقائي، ضَع علامة في مربّع الاختيار الاستيراد مع وضع التصنيفات التلقائي.
  4. اختَر إصدارًا حاليًا من أداة المعالجة لتصنيف المستندات.
  • مثلاً: pretrained-invoice-v1.3-2022-07-15
  1. انقر على استيراد وانتظِر إلى أن يتم استيراد المستندات. يمكنك مغادرة هذه الصفحة والرجوع إليها لاحقًا.
  • عند اكتمال العملية، ستظهر المستندات في صفحة التدريب ضمن قسم التصنيف التلقائي.
  1. لا يمكنك استخدام المستندات التي تم تصنيفها تلقائيًا للتدريب أو الاختبار بدون وضع علامة عليها للإشارة إلى أنّها مصنَّفة. انتقِل إلى قسم المستندات التي تمّت تسميتها تلقائيًا لعرض المستندات التي تمّت تسميتها تلقائيًا.
  2. اختَر المستند الأول للدخول إلى وحدة تحكّم التصنيف.
  3. تأكَّد من صحة التصنيفات والمربّعات المحيطة والقيم. ضع تصنيفًا لأي قيم تم حذفها.
  4. انقر على وضع علامة "تمت إضافة تصنيف" عند الانتهاء.
  5. كرِّر عملية التحقّق من التصنيف لكل مستند تم تصنيفه تلقائيًا، ثم ارجع إلى صفحة التدريب لاستخدام البيانات في التدريب.

11. تحسين النموذج

الآن، نحن جاهزون لبدء تدريب أداة تحليل الفواتير.

  1. انقر على تدريب إصدار جديد.

docai-uptraining-codelab-36

  1. أدخِل اسمًا للنسخة يمكنك تذكّره، مثل codelab-uptraining-test-1. الإصدار الأساسي هو إصدار النموذج الذي سيتم إنشاء هذا الإصدار الجديد منه. إذا كنت تستخدم معالجًا جديدًا، يجب أن يكون الخيار الوحيد المتاح هو Google Pretrained Next with Uptraining.

docai-uptraining-codelab-37

  1. (اختياري) يمكنك أيضًا النقر على عرض إحصاءات التصنيفات للاطّلاع على مقاييس حول التصنيفات في مجموعة البيانات.

docai-uptraining-codelab-38

  1. انقر على بدء التدريب لبدء عملية Uptraining. من المفترض أن تتم إعادة توجيهك إلى صفحة "إدارة مجموعات البيانات". يمكنك الاطّلاع على حالة التدريب على الجانب الأيسر. سيستغرق إكمال التدريب بضع ساعات. يمكنك مغادرة هذه الصفحة والرجوع إليها لاحقًا.

docai-uptraining-codelab-39

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

docai-uptraining-codelab-40

12. اختبار إصدار النموذج الجديد

بعد اكتمال مهمة التدريب (استغرقت حوالي ساعة واحدة في اختباراتي)، يمكنك الآن تجربة إصدار النموذج الجديد وبدء استخدامه للتوقعات.

  1. انتقِل إلى صفحة إدارة النُسخ. يمكنك هنا الاطّلاع على الحالة الحالية ومقياس F1.

docai-uptraining-codelab-41

  1. يجب تفعيل إصدار النموذج هذا قبل استخدامه. انقر على النقاط العمودية على الجانب الأيسر واختَر نشر الإصدار.

docai-uptraining-codelab-42

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

docai-uptraining-codelab-43

  1. بعد الانتهاء من عملية النشر، انتقِل إلى علامة التبويب تقييم. بعد ذلك، انقر على القائمة المنسدلة "الإصدار" (Version) واختَر الإصدار الذي أنشأناه حديثًا.

docai-uptraining-codelab-44

  1. في هذه الصفحة، يمكنك الاطّلاع على مقاييس التقييم، بما في ذلك مقياس دقة الاختبار ومقياس صحة النموذج والتذكّر للمستند الكامل بالإضافة إلى التصنيفات الفردية. يمكنك الاطّلاع على مزيد من المعلومات حول هذه المقاييس في مستندات AutoML.
  2. نزِّل ملف PDF المرتبط أدناه. هذا مستند نموذجي لم يتم تضمينه في مجموعة التدريب أو الاختبار.

  1. انقر على تحميل مستند اختباري واختَر ملف PDF.

docai-uptraining-codelab-45

  1. يجب أن تبدو الكيانات المستخرَجة على النحو التالي.

docai-uptraining-codelab-46

13. الخاتمة

تهانينا، لقد نجحت في استخدام Document AI لتدريب "محلّل الفواتير". يمكنك الآن استخدام هذه الأداة لتحليل الفواتير كما تفعل مع أي أداة معالجة متخصّصة.

يمكنك الرجوع إلى Specialized Processors Codelab لمراجعة كيفية التعامل مع استجابة المعالجة.

تنظيف

لتجنُّب تحمّل رسوم في حسابك على Google Cloud مقابل الموارد المستخدَمة في هذا البرنامج التعليمي، اتّبِع الخطوات التالية:

  • في Cloud Console، انتقِل إلى صفحة إدارة الموارد.
  • في قائمة المشاريع، اختَر مشروعك ثم انقر على "حذف".
  • في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على "إيقاف" لحذف المشروع.

المراجع

الترخيص

يخضع هذا العمل لترخيص المشاع الإبداعي مع نسب العمل إلى مؤلفه 2.0 Generic License.