تدريب نموذج مخصص باستخدام أداة «تسمية العينة»

ينطبق هذا المحتوى على:Document Intelligence v2.1 checkmarkv2.1.

تلميح

في هذه المقالة، يمكنك استخدام Document Intelligence REST API مع أداة تسمية العينة لتدريب نموذج مخصص مع البيانات المسماة يدويا.

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

تحتاج إلى الموارد التالية لإكمال هذا المشروع:

  • اشتراك Azure - إنشاء اشتراك مجانًا
  • بمجرد حصولك على اشتراك Azure، قم بإنشاء مورد Document Intelligence في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. بعد انتشاره، حدد "Go to resource".
    • تحتاج إلى المفتاح ونقطة النهاية من المورد الذي تقوم بإنشائه لتوصيل التطبيق الخاص بك بواجهة برمجة تطبيقات Document Intelligence. يمكنك لصق المفتاح ونقطة النهاية في التعليمات البرمجية لاحقا في التشغيل السريع.
    • يمكنك استخدام مستوى التسعير الحر (F0) لتجربة الخدمة، والترقية لاحقًا إلى مستوى مدفوع للإنتاج.
  • مجموعة من ستة نماذج على الأقل من النوع نفسه. يمكنك استخدام هذه البيانات لتدريب النموذج واختبار نموذج. يمكنك استخدام عينة مجموعة بيانات (تنزيل واستخراج sample_data.zip) لهذا التشغيل السريع. قم بتحميل ملفات التدريب إلى جذر حاوية تخزين blob في حساب Azure Storage ذي مستوى الأداء القياسي.

إنشاء مورد تحليل معلومات المستند

انتقل إلى مدخل Microsoft Azure وأنشئ موردا جديدا ل Document Intelligence . في جزء إنشاء، قم بتوفير المعلومات التالية:

تفاصيل المشروع ‏‏الوصف
الاشتراك حدد اشتراك Azure الذي تم منحه حق الوصول.
مجموعة الموارد مجموعة موارد Azure التي تحتوي على المورد الخاص بك. يمكنك إنشاء مجموعة جديدة أو إضافتها إلى مجموعة موجودة مسبقًا.
المنطقة موقع مورد خدمات Azure الذكاء الاصطناعي. قد تقدم مواقع مختلفة زمن الانتقال، ولكن ليس لها تأثير على توفر وقت التشغيل الخاص بالمورد.
الاسم اسم وصفي للمورد الخاص بك. نوصي باستخدام اسم وصفي، على سبيل المثال MyNameFormRecognizer.
مستوى الأسعار تعتمد تكلفة المورد على مستوى التسعير الذي تختاره واستخدامك. لمزيد من المعلومات، راجع تفاصيل تسعير واجهة برمجة التطبيقات.
مراجعة + إنشاء حدد الزر "Review + create" لنشر المورد الخاص بك على مدخل Microsoft Azure.

قم باسترداد المفتاح ونقطة النهاية

عند انتهاء توزيع مورد Document Intelligence، ابحث عنه وحدده من قائمة All resources في المدخل. سيتم تحديد موقعها في صفحة مفتاح المورد ونقطة النهاية، ضمن إدارة الموارد. احفظ كلاً من هذه إلى موقع مؤقت قبل المضي قدمًا.

عليك تجربة ذلك

جرب أداة تسمية نموذج تحليل معلومات المستند عبر الإنترنت:

تحتاج إلى اشتراك Azure (إنشاء واحد مجانا) ونقطة نهاية مورد Document Intelligence ومفتاح لتجربة خدمة Document Intelligence.

إعداد أداة «تسمية العينة»

إشعار

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

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

تلميح

تتوفر أداة «تسمية نموذج التعرف البصري على الحروف» (OCR) أيضًا كمشروع مصدر مفتوح على GitHub. إن الأداة هي تطبيق ويب لـ TypeScript تم إنشاؤه باستخدام React + Redux. لمعرفة المزيد أو المساهمة، راجع مستودع أداة «تسمية نموذج التعرف البصري على الحروف». لتجربة الأداة عبر الإنترنت، انتقل إلى موقع ويب أداة تسمية نموذج تحليل معلومات المستند.

  1. أولاً، قم بتثبيت Docker على كمبيوتر مُضيف. يوضح لك هذا الدليل كيفية استخدام الكمبيوتر المحلي كمضيف. إذا كنت ترغب في استخدام خدمة استضافة Docker على Azure، فراجع الدليل الإرشادي لكيفية نشر أداة «تسمية العينة».

    يجب أن يستوفي جهاز الكمبيوتر المضيف بمتطلبات الأجهزة التالية:

    الحاوية الحد الأدنى مستحسن
    أداة وضع العلامات على العينة 2 ذاكرة أساسية بسعة 4 غيغابايت 4 ذاكرة أساسية بسعة 8 غيغابايت

    قم بتثبيت Docker على جهازك باتباع الإرشادات المناسبة لنظام التشغيل الخاص بك:

  2. احصل على حاوية أداة «تسمية العينة» باستخدام الأمر docker pull.

     docker pull mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-2.1
    
  3. أنت الآن جاهز لتشغيل الحاوية باستخدام docker run.

     docker run -it -p 3000:80 mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-2.1 eula=accept
    

    يجعل هذا الأمر أداة تسمية العينة متاحة من خلال مستعرض ويب. انتقل إلى http://localhost:3000.

إشعار

يمكنك أيضا تسمية المستندات وتدريب النماذج باستخدام Document Intelligence REST API. للتدريب والتحليل باستخدام واجهة برمجة تطبيقات REST، راجع التدريب باستخدام التسميات باستخدام واجهة برمجة تطبيقات REST و Python.

إعداد بيانات الإدخال

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

تكوين مشاركة الموارد عبر المجال (CORS)

قم بتمكين CORS على حساب التخزين الخاص بك. حدد حساب التخزين الخاص بك في مدخل Microsoft Azure ثم اختر علامة التبويب CORS في الجزء الأيمن. في السطر السفلي، قم بتعبئة القيم التالية. حدد حفظ في الأعلى.

  • الأصول المسموح بها = *
  • الأساليب المسموح بها = [حدد الكل]
  • الرؤوس المسموح بها = *
  • الرؤوس المكشوفة = *
  • الحد الأقصى للعمر = 200

CORS setup in the Azure portal

الاتصال بأداة «تسمية العينة»

تتصل أداة تسمية العينة بمصدر (النماذج الأصلية التي تم تحميلها) وهدف (تسميات تم إنشاؤها وبيانات إخراج).

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

لإنشاء اتصال جديد، حدّد أيقونة «الاتصالات الجديدة» (التوصيل)، في شريط التنقل الأيمن.

قم بتعبئة الحقول بالقيم التالية:

  • اسم العرض - اسم عرض الاتصال.

  • الوصف - وصف المشروع الخاص بك.

  • SAS URL - عنوان URL لتوقيع الوصول المشترك (SAS) لحاوية Azure Blob Storage. لاسترداد عنوان URL الخاص بـ SAS لبيانات تدريب النموذج المخصص، انتقل إلى مورد التخزين في مدخل Microsoft Azure وحدد علامة التبويب Storage Explorer. انتقل إلى الحاوية الخاصة بك، وانقر بزر الماوس الأيمن، وحدد Get shared access signature. من المهم الحصول على SAS لحاويتك، وليس لحساب التخزين نفسه. تأكد من اختيار الأذونات Read وWrite وDelete وList، ثم انقر فوق Create. ثم انسخ القيمة الموجودة في قسم URL إلى موقع مؤقت. يجب أن يكون بالشكل: https://<storage account>.blob.core.windows.net/<container name>?<SAS value>.

    SAS URL retrieval

Connection settings of Sample Labeling tool.

إنشاء مشروع جديد

في أداة «تسمية العينة»، تُخزِّن المشاريع التكوينات والإعدادات الخاصة بك. أنشئ مشروعًا جديدًا وقم بتعبئة الحقول بالقيم التالية:

  • Display Name - اسم عرض المشروع
  • رمز مميز للأمان - يمكن أن تتضمن بعض إعدادات المشروع قيمًا حساسة، مثل المفاتيح أو البيانات السرية الأخرى المشتركة. ينشئ كل مشروع رمز أمان مميز يمكن استخدامه لتشفير/فك تشفير إعدادات المشروع الحساسة. يمكنك العثور على رموز الأمان في تطبيق الإعدادات عن طريق تحديد رمز الترس في الجزء السفلي من شريط التنقل الأيسر.
  • اتصال المصدر - اتصال Azure Blob Storage الذي قمت بإنشائه في الخطوة السابقة الذي ترغب في استخدامه في هذا المشروع.
  • مسار المجلد - اختياري - إذا كانت نماذج المصدر موجودة في مجلدٍ على حاوية blob، فحدّد اسم المجلد هنا
  • Uri لخدمة تحليل معلومات المستند - عنوان URL لنقطة نهاية تحليل معلومات المستند.
  • المفتاح - مفتاح تحليل معلومات المستند.
  • الوصف - اختياري - وصف المشروع

New project page on Sample Labeling tool.

تسمية النماذج

عند إنشاء أو فتح مشروع، يتم فتح إطار محرر العلامة الرئيسي. يتكون محرر العلامة من ثلاثة أجزاء:

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

تحديد النص والجداول

حدد Run Layout on unvisited documents في الجزء الأيسر للحصول على معلومات تخطيط النص والجدول لكل مستند. ترسم أداة التسمية مربعات إحاطة حول كل عنصر نصي.

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

Table visualization in Sample Labeling tool.

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

تطبيق التسميات على النص

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

  1. أولاً، استخدم جزء محرر العلامات لإنشاء علامة جديدة تريد تحديدها.
    1. حدد + لإنشاء علامة جديدة.
    2. أدخل اسم العلامة.
    3. اضغط على «إدخال» لحفظ العلامة.
  2. في المحرر الرئيسي، حدّد كلمات من عناصر النص المميزة أو منطقة قد رسمت فيها.
  3. حدّد العلامة التي تريد تطبيقها، أو اضغط على مفتاح لوحة المفاتيح المُطابق. يتم تعيين مفاتيح الأرقام كمفاتيح اختصار لأول 10 علامات. يمكنك إعادة ترتيب العلامات باستخدام رموز السهم لأعلى ولأسفل في جزء محرر العلامة.
  4. اتبع هذه الخطوات لتسمية خمسة نماذج على الأقل.

    تلميح

    ضع النصائح التالية في الاعتبار عند تسمية نماذجك:

    • يمكنك تطبيق علامة واحدة فقط على كل عنصر نص محدد.
    • يمكن تطبيق كل علامة مرة واحدة فقط لكل صفحة. إذا ظهرت قيمة عدة مرات في نفس النموذج، فقم بإنشاء علامات مختلفة لكل مثيل. على سبيل المثال: "الفاتورة # 1" ، "الفاتورة # 2" وهلم جرًا.
    • لا يمكن أن تمتد العلامات عبر الصفحات.
    • قيم التسمية كما تظهر في النموذج، لا تحاول تقسيم قيمة إلى قسمين مع علامتين مختلفتين. على سبيل المثال، يجب تسمية حقل عنوان بعلامة واحدة حتى إذا كان يمتد عبر أسطر متعددة.
    • لا تقم بتضمين المفاتيح في الحقول ذات العلامات⁧—⁩القيم فقط.
    • يجب الكشف عن بيانات الجدول تلقائيًا وستكون متاحة في ملف JSON للإخراج النهائي. ومع ذلك، إذا فشل النموذج في الكشف عن جميع بيانات الجدول، يمكنك وضع العلامات يدويًا على هذه الحقول أيضًا. ضع علامة على كل خلية في الجدول بتسمية مختلفة. إذا كانت النماذج تحتوي على جداول بها أعداد مختلفة من الصفوف، فتأكد من وضع علامة على نموذج واحد على الأقل يحتوي على أكبر جدول ممكن.
    • استخدم الأزرار الموجودة على يمين + للبحث عن العلامات وإعادة تسميتها وإعادة ترتيبها وحذفها.
    • لحذف علامة مطبقة دون حذف العلامة نفسها، حدد المستطيل المعلم في طريقة عرض المستند، واضغط على مفتاح الحذف.

Main editor window of Sample Labeling tool.

تحديد أنواع القيمة للعلامات

يمكنك إعداد نوع البيانات المتوقع لكل علامة. افتح قائمة مختصرة إلى يسار العلامة وحدّد نوعًا من القائمة. تسمح هذه الميزة لخوارزمية الكشف بإجراء افتراضات تحسن دقة الكشف عن النص. كما يضمن إرجاع القيم المكتشفة بتنسيق موحد في إخراج JSON النهائي. يتم حفظ معلومات نوع القيمة في ملف fields.json في المسار نفسه لملفات التسمية.

Value type selection with Sample Labeling tool

إن أنواع القيم والاختلافات التالية مدعومة حاليًا:

  • string

    • افتراضي، no-whitespaces وalphanumeric
  • number

    • الافتراضي، currency
    • مُنسّق كقيمة الفاصلة المتحركة.
    • مثال: 1234.98 على المستند منسق إلى 1234.98 على الإخراج
  • date

    • الافتراضي، dmy، mdy، ymd
  • time

  • integer

    • مُنسق كقيمة العدد الصحيح.
    • مثال: 1234.98 على المستند منسق إلى 123498 على الإخراج.
  • selectionMark

إشعار

راجع هذه القواعد لتنسيق التاريخ:

يجب عليك تحديد تنسيق (dmy، mdy، ymd) كي يعمل تنسيق التاريخ.

يمكن استخدام الأحرف التالية كمحددات تاريخ: , - / . \. لا يمكن استخدام المسافة البيضاء كمُحدّد. على سبيل المثال:

  • 01,01,2020
  • 01-01-2020
  • 01/01/2020

يمكن كتابة اليوم والشهر كل على أنه رقم واحد أو رقمين، وبإمكان السنة أن تكون عبارة عن رقمين أو أربعة أرقام:

  • 1-1-2020
  • 1-01-20

إذا تضمن سلسلة التاريخ ثمانية أرقام، يكون المحدد اختياريًا:

  • 01012020
  • 01 01 2020

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

  • 01/يناير/2020
  • 01يناير2020
  • 01 يناير 2020

جداول التسميات (الإصدار 2.1 فقط)

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

Configuring a table tag.

بمجرد تعريف علامة الجدول، ضع علامة على قيم الخلية.

Labeling a table.

تدريب نموذج مخصص

اختر رمز التدريب في الجزء الأيسر لفتح صفحة التدريب. ثم حدد الزر Train لبدء تدريب النموذج. بمجرد اكتمال عملية التدريب، سترى المعلومات التالية:

  • معرف النموذج - معرف النموذج الذي تم إنشاؤه وتدريبه. يعمل كل استدعاء للتدريب على إنشاء نموذج جديد مع المعرف الخاص به. انسخ هذه السلسلة إلى موقع آمن؛ تحتاج إليها إذا كنت تريد إجراء استدعاءات التنبؤ من خلال واجهة برمجة تطبيقات REST أو دليل مكتبة العميل.
  • متوسط الدقة - متوسط دقة النموذج. يمكنك تحسين دقة النموذج عن طريق إضافة مزيد من النماذج وتسميتها، وإعادة التدريب لإنشاء نموذج جديد. نوصي بالبدء في تسمية خمسة نماذج وإضافة مزيد من النماذج حسب الحاجة إليها.
  • قائمة العلامات، والدقة المقدرة لكل علامة.

Training view.

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

تلميح

يمكنك أيضًا تشغيل عملية التدريب باستخدام «استدعاء واجهة برمجة تطبيقات» REST. لمعرفة كيفية القيام بذلك، راجع التدريب على التسميات باستخدام Python.

تكوين نماذج مُدربة

باستخدام Model Compose، يمكنك إنشاء ما يصل إلى 200 نموذج إلى معرف نموذج واحد. عند استدعاء تحليل باستخدام ، modelIDيصنف Document Intelligence النموذج الذي أرسلته، واختر أفضل نموذج مطابق، ثم إرجاع النتائج لهذا النموذج. تكون هذه العملية مفيدة عندما تنتمي النماذج الواردة إلى أحد القوالب المتعددة.

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

Model compose UX view.

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

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

Screenshot of analyze-a-custom-form window

تلميح

يمكنك أيضًا تشغيل «تحليل واجهة برمجة التطبيقات» مع استدعاء REST. لمعرفة كيفية القيام بذلك، راجع التدريب على التسميات باستخدام Python.

تحسين النتائج

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

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

حفظ المشروع واستئنافه لاحقًا

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

الحصول على بيانات اعتماد المشروع

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

استعادة بيانات اعتماد المشروع

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

استئناف المشروع

وأخيرًا، انتقل إلى الصفحة الرئيسية (أيقونة المنزل) وحدّد Open Cloud Project. ثم حدّد اتصال تخزين blob، وحدّد ملف المشروع .fott الخاص بك. يقوم التطبيق بتحميل كافة إعدادات المشروع لأنه يحتوي على رمز الأمان المميز.

الخطوات التالية

في هذا التشغيل السريع، تعلمت كيفية استخدام أداة تسمية نموذج ذكاء المستند لتدريب نموذج باستخدام البيانات المسماة يدويا. إذا كنت ترغب في إنشاء الأداة المساعدة الخاصة بك لتسمية بيانات التدريب، فاستخدم «واجهات برمجة تطبيقات» REST التي تتعامل مع تدريب البيانات المسماة.