استخراج المعلومات من الوثائق

مكتمل

نصيحة

راجع علامة التبويب النص والصور لمزيد من التفاصيل!

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

كيف يعمل Azure Content Understanding

يتبع Azure Content Understanding سير عمل استخراج قائم على النماذج حيث يتم استيعاب وتحليل وإعادة المحتوى غير المنظم كبيانات منظمة.

  1. استيعاب المحتوى: تقوم بتقديم المحتوى إلى Azure Content Understanding.

  2. التحليل المدعوم بالذكاء الاصطناعي: تستخدم الخدمة مزيجا من: التعرف البصري على الحروف (OCR)، التعرف على الكلام، فهم اللغة الطبيعية، ونماذج الذكاء الاصطناعي متعددة الوسائط لتحليل المحتوى.

  3. المخرجات المنظمة: تعيد الخدمة نتائج منظمة (على سبيل المثال، بصيغة JSON) تطابق نموذجك—مما يجعل تخزين البيانات أو البحث عنها أو دمجه سهلا في الأنظمة التالية.

‏‫ملاحظة‬

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

فهم المخططات

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

تتجاوز قدرات Azure Content Understanding تحليل المستندات استخراج النصوص البسيط المعتمد على التعرف الضوئي على الحرارة، لتشمل استخراج الحقول وقيمها المعتمدة على المخطط . النهج القائم على المخطط هو ما يميز فهم محتوى Azure عن خدمات التعديل الضوئي (OCR) أو خدمات النسخ الأساسية.

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

على سبيل المثال، افترض أنك تحدد مخططا يتضمن الحقول الشائعة الموجودة عادة في فاتورة، مثل:

  • اسم المورّد
  • رقم الفاتورة
  • تاريخ الفاتورة
  • اسم العميل
  • عنوان مخصص
  • العناصر - العناصر المطلوبة، كل منها يتضمن:
    • وصف الصنف
    • سعر الوحدة
    • الكمية المطلوبة
    • إجمالي أصناف البند
  • الإجمالي الفرعي للفاتورة
  • الضريبة
  • رسوم الشحن
  • إجمالي الفاتورة

لنفترض الآن أنك بحاجة إلى استخراج هذه المعلومات من الفاتورة التالية:

صورة فاتورة.

يمكن ل Azure Content Understanding تطبيق مخطط الفاتورة على فاتورتك وتحديد الحقول المقابلة، حتى لو كانت معنونة بأسماء مختلفة (أو غير موسومة على الإطلاق). ينتج عن التحليل الناتج نتيجة مثل هذه:

صورة فاتورة تم تحليلها مع تمييز الحقول المكتشفة.

كما يحدد المخطط بنية الحقل. المخططات تدعم حقول منظمة ومتداخلة، وليس فقط نصا مسطحا. على سبيل المثال:

  • Items هي مجموعة
  • كل عنصر يحتوي descriptionعلى ، unit price، quantity، و line total

تحديد الحقول المنظمة يسمح لفهم المحتوى في Azure بفهم العلاقات بين القيم، وهو أمر لا يمكن لتقنية OCR وحده القيام به.

في مثال الفاتورة، لكل حقل مكتشف، يمكنك استخراج القيم المتداخلة:

  • اسم المورد: Adventure Works Cycles
  • رقم الفاتورة: 1234
  • تاريخ الفاتورة: 03/07/2025
  • اسم العميل: جون سميث
  • عنوان مخصص: 123 River Street، مارشتاون، إنجلترا، GL1 234
  • العناصر:
    • العنصر 1:
      • وصف العنصر: 38 بوصة سباق الدراجة (أحمر)
      • سعر الوحدة: 1299.00
      • الكمية المطلوبة: 1
      • إجمالي عنصر السطر: 1299.00
    • العنصر 2:
      • وصف العنصر: خوذة ركوب الدراجات (أسود)
      • سعر الوحدة: 25.99
      • الكمية المطلوبة: 1
      • إجمالي عنصر السطر: 25.99
    • العنصر 3:
      • وصف العنصر: قميص ركوب الدراجات (L)
      • سعر الوحدة: 42.50
      • الكمية المطلوبة: 2
      • إجمالي عنصر السطر: 85.00
  • الإجمالي الفرعي للفاتورة: 1409.99
  • الضريبة: 140.99
  • رسوم الشحن: 35.00
  • إجمالي الفاتورة: 1585.98

يستخرج Azure Content Understanding المعنى المتوقع، وليس فقط التسميات. يتم تطبيق المخططات دلاليا، مما يقول:

  • يمكن استخراج الحقول حتى لو اختلفت التسميات
  • يمكن استخراج الحقول حتى لو كانت التسميات مفقودة

على سبيل المثال، رقم الفاتورة، أو الفاتورة #، أو رقم غير معنون يمكن أن يتوافق جميعها إذا InvoiceNumber قرر المحلل أنها تمثل نفس المفهوم.

فهم المحللات

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

يوفر Azure Content Understanding محللات جاهزة للسيناريوهات الشائعة ويدعم محللات مخصصة مصممة خصيصا لتلبية احتياجاتك. على مستوى عالي:

  1. تختار أو تنشئ محللا.
  2. يحتوي المحلل على مخطط يحدد الحقول والبنية.
  3. تقدم محتوى للتحليل
  4. الخدمة تطبق المخطط
  5. تحصل على نتائج JSON منظمة تطابق المخطط

استخدام فهم محتوى Azure في بوابة Foundry

‏‫ملاحظة‬

بوابة Foundry تحتوي على واجهة مستخدم كلاسيكية (UI) وواجهة مستخدم جديدة .

بعد إنشاء مورد Microsoft Foundry، يمكنك استخدام واجهة بوابة Foundry new لاختبار Azure فهم المحتوى. توفر بوابة Foundry أمثلة على المحتوى وتتيح لك رفع موادك الخاصة للتحليل.

يمكنك استخدام الواجهة البصرية لاختيار مستند المصدر واستخراج حقول المعلومات الافتراضية. على سبيل المثال، عندما تجرب Azure Content Understanding على صورة من مستند، تعيد الخدمة نص المستند ومعلومات تخطيط النص.

لقطة شاشة لبوابة Foundry الجديدة مع مستند تم تحليله باستخدام Azure Content Understanding.

يقوم محللو Azure Content Understanding بتحديد قيم النصوص في المستندات ومطابقتها لحقول محددة. على سبيل المثال، عند إعطاء فاتورة، تعيد الخدمة الحقول (مثل عنوان البائع) والبيانات في الحقول (مثل 123 شارع 456).

لقطة شاشة لبوابة Foundry الجديدة مع فاتورة تم تحليلها باستخدام Azure Content Understanding.

في بوابة Foundry، يمكنك أيضا عرض نتائج JSON للمعالجة.

لقطة شاشة لبوابة Foundry الجديدة مع نتيجة JSON لفاتورة تم تحليلها باستخدام Azure Content Understanding.

بناء تطبيق عميل باستخدام Azure Content Understanding

يمكنك استخدام واجهة برمجة تطبيقات Content Understanding لبناء تطبيق عميل خفيف الوزن يستخرج البيانات برمجيا.

‏‫ملاحظة‬

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

عند استخدام واجهة برمجة تطبيقات فهم المحتوى، يمكنك اختيار محلل جاهز أو إنشاء محلل مخصص. المحللات الجاهزة تشمل: prebuilt-invoice، prebuilt-imageSearch، prebuilt-audioSearch، و prebuilt-videoSearch. عندما تقدم محتوى للتحليل إلى المحلل، يكون التحليل غير متزامن، مما يعني أنك تحصل على النتيجة لاحقا عندما تكون جاهزة. نظرا لأن التحليل غير متزامن، تحتاج إلى استطلاع رابط Operation-Location (أو analyzerResults) حتى تنجح المهمة.

باستخدام مجموعة تطوير تطوير تطبيقات بايثون لفهم المحتوى من Azure

دعونا نلقي نظرة على عملية استخدام حزمة تطوير تطوير Python لتحليل فاتورة من عنوان URL.

  1. قم بتثبيت حزمة تطوير تطبيقات بايثون لمحتوى Azure Content Understanding.
python -m pip install azure-ai-contentunderstanding
  1. حدد نقطة نهاية موارد Foundry ومفتاح API أو معرف Microsoft Entra ID. عادة ما تكون نقطة النهاية كالتالي: https://<your-resource-name>.services.ai.azure.com/

  2. أنشئ وشغل كود تطبيق العميل. هذا analzyer_id هو معرف المحلل الجاهز. يمكنك العثور على قائمة بقيم معرف المحلل الجاهزة هنا.

import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.core.credentials import AzureKeyCredential

endpoint = os.environ["FOUNDRY_ENDPOINT"]
key = os.environ["FOUNDRY_KEY"]

client = ContentUnderstandingClient(endpoint=endpoint, credential=AzureKeyCredential(key))

# 1) start analysis with analyzer id + inputs
analyzer_id = "prebuilt-invoice"
inputs = [
    {"url": "https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf"}
]

# 2) wait for the Long Running Operation (LRO) to complete
poller = client.begin_analyze(analyzer_id=analyzer_id, inputs=inputs)  # starts LRO
result = poller.result()  # waits for completion (polling handled by SDK)

# 3) read structured fields + markdown
# The result typically includes extracted "fields" and "markdown" per input content item.
for content in result.contents:
    print(content.markdown)
    print(content.fields)

الناتج هو JSON الذي يظهر العلامة المستخرجة، والحقول، والبيانات في الحقول، ودرجة الثقة. على سبيل المثال:

{
	"status": "Succeeded",
	"result": {
		"analyzerId": "prebuilt-invoice",
		"apiVersion": "2025-05-01-preview",
		"contents": [
			{
				"markdown": "# INVOICE\n\nCONTOSO LTD.\n\nContoso Headquarters\n123 456th St\nNew York, NY, 10001\n\nINVOICE: INV-100\n\nINVOICE DATE: 11/15/2019\n\nDUE DATE: 12/15/2019\n\nCUSTOMER NAME: MICROSOFT CORPORATION\n",
				"fields": {
					"CustomerName": {
						"type": "string",
						"valueString": "MICROSOFT CORPORATION",
						"confidence": 0.95,
					},
					"InvoiceDate": {
						"type": "date",
						"valueDate": "2019-11-15",
						"confidence": 0.994,
					}
                }
            }
        ]
    }
}

بعد ذلك، تعلم كيفية استخدام محللات Azure Content Understanding لاستخراج البيانات المهيكلة من الصوت والفيديو.