ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تتعرف مهارة التعرف البصري على الحروف (OCR) على النص المطبوع والمكتوب بخط اليد في ملفات الصور. هذه المقالة هي الوثائق المرجعية لمهارة التعرف البصري على الحروف. راجع استخراج النص من الصور للحصول على إرشادات الاستخدام.
تستخدم مهارة التعرف البصري على الحروف نماذج التعلم الآلي التي توفرها Azure الذكاء الاصطناعي Vision API v3.2 في خدمات Azure الذكاء الاصطناعي. تعين مهارة التعرف البصري على الحروف إلى الوظائف التالية:
بالنسبة للغات المدرجة ضمن دعم لغة Azure الذكاء الاصطناعي Vision، يتم استخدام واجهة برمجة تطبيقات القراءة .
بالنسبة إلى السيريلية اليونانية والصربية، يتم استخدام OCR القديم في الإصدار 3.2 API.
تستخرج مهارة التعرف البصري على الحروف النص من ملفات الصور والصور المضمنة. تتضمن تنسيقات الملفات المدعومة ما يلي:
- . JPEG
- .JPG
- .PNG
- .BMP
- . TIFF
مصادر البيانات المدعومة ل OCR وتحليل الصور هي الكائنات الثنائية كبيرة الحجم في Azure Blob Storage وAzure Data Lake Storage (ADLS) Gen2، ومحتوى الصورة في OneLake. يمكن أن تكون الصور ملفات مستقلة أو صور مضمنة في ملف PDF أو ملفات أخرى.
إشعار
ترتبط هذه المهارة بخدمات Azure الذكاء الاصطناعي وتتطلب موردا قابلا للفوترة للمعاملات التي تتجاوز 20 مستندا لكل مفهرس يوميا. يتم فرض رسوم على تنفيذ المهارات المضمنة بالسعر القياسي لخدمات Azure الذكاء الاصطناعي الحالية.
بالإضافة إلى ذلك، استخراج الصور قابل للفوترة بواسطة Azure الذكاء الاصطناعي Search.
معلمات المهارة
المعلمات حساسة لحالة الأحرف.
اسم المعلمة | وصف |
---|---|
detectOrientation |
الكشف عن اتجاه الصورة. القيم الصالحة هي true أو false . تنطبق هذه المعلمة فقط إذا تم استخدام واجهة برمجة تطبيقات OCR القديمة الإصدار 3.2 . |
defaultLanguageCode |
رمز اللغة لنص الإدخال. تتضمن اللغات المدعومة جميع اللغات المتوفرة بشكل عام في Azure الذكاء الاصطناعي Vision. يمكنك أيضا تحديد unk (غير معروف). إذا كانت التعليمات البرمجية للغة غير محددة أو خالية، يتم تعيين اللغة إلى اللغة الإنجليزية. إذا تم تعيين اللغة بشكل صريح إلى unk ، يتم الكشف التلقائي عن جميع اللغات التي تم العثور عليها وإرجاعها. |
lineEnding |
القيمة المراد استخدامها كفاصل أسطر. القيم المحتملة: "مسافة"، "منطقة النقل"، "LineFeed". الإعداد الافتراضي هو "مسافة". |
في الإصدارات السابقة، كانت هناك معلمة تسمى "textExtractionAlgorithm" لتحديد استخراج النص "المطبوع" أو "المكتوب بخط اليد". تم إهمال هذه المعلمة لأن خوارزمية واجهة برمجة تطبيقات Read الحالية تستخرج كلا النوعين من النصوص في وقت واحد. إذا كانت مهارتك تتضمن هذه المعلمة، فلن تحتاج إلى إزالتها، ولكن لن يتم استخدامها أثناء تنفيذ المهارة.
إدخالات المهارات
اسم الإدخال | وصف |
---|---|
image |
نوع معقد. يعمل حاليا فقط مع حقل "/document/normalized_images"، الذي ينتجه مفهرس Azure blob عند imageAction تعيينه إلى قيمة أخرى غير none . |
إخراجات المهارات
اسم الإخراج | وصف |
---|---|
text |
نص عادي مستخرج من الصورة. |
layoutText |
النوع المعقد الذي يصف النص المستخرج والموقع الذي تم العثور على النص فيه. |
إذا قمت باستدعاء التعرف البصري على الحروف (OCR) على الصور المضمنة في ملفات PDF أو ملفات التطبيقات الأخرى، فسيكون إخراج التعرف البصري على الحروف موجودا في أسفل الصفحة، بعد أي نص تم استخراجه ومعالجته.
تعريف العينة
{
"skills": [
{
"description": "Extracts text (plain and structured) from image.",
"@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": null,
"detectOrientation": true,
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "text",
"targetName": "myText"
},
{
"name": "layoutText",
"targetName": "myLayoutText"
}
]
}
]
}
نموذج إخراج النص والتخطيطText
{
"text": "Hello World. -John",
"layoutText":
{
"language" : "en",
"text" : "Hello World. -John",
"lines" : [
{
"boundingBox":
[ {"x":10, "y":10}, {"x":50, "y":10}, {"x":50, "y":30},{"x":10, "y":30}],
"text":"Hello World."
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"-John"
}
],
"words": [
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"Hello"
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"World."
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"-John"
}
]
}
}
نموذج: دمج النص المستخرج من الصور المضمنة مع محتوى المستند
تكسير المستند، الخطوة الأولى في تنفيذ مجموعة المهارات، يفصل محتوى النص والصورة. من حالات الاستخدام الشائعة لدمج النص دمج التمثيل النصي للصور (نص من مهارة التعرف البصري على الحروف أو التسمية التوضيحية للصورة) في حقل محتوى المستند. هذا للسيناريوهات التي يكون فيها المستند المصدر مستند PDF أو Word يجمع النص مع الصور المضمنة.
تنشئ مجموعة المهارات المثال التالي حقل merged_text . يحتوي هذا الحقل على المحتوى النصي للمستند والنص OCRed من كل صورة من الصور المضمنة في هذا المستند.
بناء جملة نص الطلب
{
"description": "Extract text from images and merge with content text to produce merged_text",
"skills":
[
{
"description": "Extract text (plain and structured) from image.",
"@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": "en",
"detectOrientation": true,
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "text"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.MergeSkill",
"description": "Create merged_text, which includes all the textual representation of each image inserted at the right location in the content field.",
"context": "/document",
"insertPreTag": " ",
"insertPostTag": " ",
"inputs": [
{
"name":"text",
"source": "/document/content"
},
{
"name": "itemsToInsert",
"source": "/document/normalized_images/*/text"
},
{
"name":"offsets",
"source": "/document/normalized_images/*/contentOffset"
}
],
"outputs": [
{
"name": "mergedText",
"targetName" : "merged_text"
}
]
}
]
}
يفترض مثال مجموعة المهارات أعلاه وجود حقل صور عادية. لإنشاء هذا الحقل، قم بتعيين تكوين imageAction في تعريف المفهرس الخاص بك لإنشاءNormalizedImages كما هو موضح أدناه:
{
//...rest of your indexer definition goes here ...
"parameters": {
"configuration": {
"dataToExtract":"contentAndMetadata",
"imageAction":"generateNormalizedImages"
}
}
}