آخر تحديث: 20 Aug, 2026

مقارنة واجهات برمجة التطبيقات OCR مفتوحة المصدر بناءً على جودة صيغ الإخراج
عند تقييم المهندسين لمحركات التعرف الضوئي على الأحرف (OCR)، عادةً ما تهيمن معدلات خطأ الأحرف (CER) ومعدل خطأ الكلمات (WER) على المعايير. بينما دقة التعرف ضرورية، فإنها تحل نصف المشكلة فقط في الإنتاج.
إذا كنت تقوم بتحليل ملفات PDF متعددة الأعمدة المعقدة، أو استخراج بنود الفواتير من الإيصالات، أو إدخال الأوراق البيضاء في خط أنابيب تضمين LLM، فإن تفريغ النص الخام يخلق عبئًا هندسيًا هائلًا. سلسلة من الأحرف بدون وعي بالتخطيط، أو ترتيب قراءة منطقي، أو بيانات إحداثيات تجبر فريقك على كتابة محللات تجريبية هشة.
العامل الفارق الحقيقي لتدفقات عمل المستندات الحديثة هو جودة تنسيق الإخراج: مدى قدرة المحرك على تقديم الإحداثيات، وترتيب القراءة، والهيكل الهرمي، والبيانات الجدولية بشكل ثابت ونظيف.
فيما يلي مقارنة مركزة على الهندسة لأربع محركات رائدة في OCR مفتوح المصدر — Tesseract، PaddleOCR، EasyOCR، و Surya OCR — تُقيم كيف يتصرف إخراجها داخل خطوط الأنابيب الآلية.
صيغ الإخراج الشائعة: ما يحتاجه المهندسون فعليًا
كل واجهة برمجة تطبيقات OCR تُعبئ النص المكتشف بطريقة مختلفة. يساعد فهم هذه الصيغ على تحديد مقدار المعالجة اللاحقة التي يتطلبها خط أنابيبك:
- نص عادي (
.txt): أبسط تمثيل. يزيل جميع البيانات الوصفية الموضعية ويجمع تخطيطات متعددة الأعمدة إلى قراءات أفقية، مما قد يخل بترتيب الفقرات. - معايير الأرشفة (
hOCR,ALTO XML): صيغ مبنية على XML/HTML قياسية في أرشفة المكتبات. تُدمج إحداثيات وتقديرات الخط وتقييمات الثقة داخل عقد DOM. قوية للغاية لإعادة بناء المستندات، لكنها ضخمة بالنسبة للميكروخدمات. - JSON منظم: الخيار الافتراضي للواجهات الخلفية الحديثة على الويب. يقدم مصفوفات إحداثيات (صناديق حدودية أو مضلعات)، وتقييمات الثقة، وهياكل هرمية للكتل/السطور/الكلمات.
- Markdown (
.md) / جداول HTML: المعيار الحديث لتوليد معزز بالاسترجاع (RAG). يحافظ على الأقسام الدلالية (العناوين، القوائم، النص الغامق) والمصفوفات الجدولية دون الحاجة إلى إعادة بناء مكانية لاحقة.
1. تيسراكت OCR
تُدار من قبل جوجل، يظل Tesseract العمود الفقري الأساسي لـ OCR مفتوح المصدر. تعتمد هندسته بشكل كبير على خوارزميات تقسيم الصفحات التقليدية مدعومة بمحرك أحرف قائم على LSTM.
تنسيقات الإخراج الأصلية
- المخرجات الأساسية: نص عادي، hOCR (HTML)، ALTO XML، TSV (قيم مفصولة بجدول)، و PDF/A قابل للبحث.
- الوعي بالتخطيط: خوارزميات قائمة على القواعد عبر أوضاع تقسيم الصفحة (PSM).
تحليل تنسيق الإخراج
- أين يتفوق: تصديرات Tesseract بصيغة
TSVوhOCRموحدة ويمكن التنبؤ بها. تصدير TSV واحد يُعيد أعمدة مُهيكلة لـlevel،page_num،block_num،par_num،line_num،word_num،left،top،width،height، وconf. إذا كنت تقوم بتحويل الأرشيفات الورقية إلى ملفات PDF/A قابلة للبحث أو تحتاج إلى الالتزام الصارم بالمعايير المؤسسية، فإن Tesseract يتعامل مع ذلك أصلاً دون الحاجة إلى كود ربط مخصص. - أين يفتقر: لا يمتلك Tesseract واجهة JSON أصلية. استهلاك مخرجاته في Python أو Node.js يتطلب تحليل ملفات XML/TSV أو استخدام أطر مثل
pytesseract. كما أن محرك التخطيط لديه صعوبة مع تدفق الأعمدة غير القياسي، حيث يخلط النص من الأعمدة المجاورة بشكل متكرر ما لم يتم توفير قصّ يدوياً للحدود.
Tesseract Output Profile:
├── Plain Text: Clean for standard single-column pages
├── XML / hOCR: First-class, rock-solid support
├── JSON: Requires custom wrappers or TSV-to-JSON transforms
└── Markdown / Tables: Poor (requires custom reconstruction)
2. PaddleOCR
بدعم من إطار عمل PaddlePaddle الخاص بـ Baidu، حظي PaddleOCR باعتماد واسع النطاق بفضل نماذجه الخفيفة، تغطيته الواسعة للغات المتعددة، ومجموعة أدوات تحليل المستندات المخصصة (PP-Structure).
تنسيقات الإخراج الأصلية
- المخرجات الأساسية: قوائم/قواميس بايثون، JSON خام، طبقات تصور، وHTML منظم عبر PP-Structure.
- الوعي بالتخطيط: عالي (باستخدام نماذج التعلم العميق لتحليل التخطيط، تصنيف الاتجاه، واستعادة الجداول).
تحليل تنسيق الإخراج
- أين يتفوق: يُعيد PaddleOCR القياسي إحداثيات مضلع رباعية النقاط (
[[x1, y1], [x2, y2], [x3, y3], [x4, y4]]) إلى جانب سلاسل النصوص ودرجات الثقة. هذا يتعامل مع النص المائل أو المنحني بسلاسة. ومع ذلك، تكمن قوته الحقيقية في مجموعة PP-Structure، التي تكتشف مناطق التخطيط (العنوان، النص، الجدول، الشكل) وتُحوّل الجداول مباشرةً إلى سلاسل HTML صالحة (<table>...</table>). هذا يلغي الحاجة إلى حساب امتدادات الخلايا يدويًا من الصناديق المحيطة. - أين يفتقر: تُعيد واجهة برمجة التطبيقات الأساسية مصفوفات متداخلة تفتقر إلى مفاتيح خصائص قياسية عبر الإصدارات المختلفة. للتطبيقات المهيكلة، عادةً ما يكتب المطورون محولًا وسيطًا لتوحيد أسماء الحقول (
bbox,text,confidence).
PaddleOCR Output Profile:
├── Plain Text: Clean across multiple orientations
├── XML / hOCR: Limited (JSON is the preferred interchange format)
├── JSON: Highly detailed with 4-point polygons
└── Markdown / Tables: Excellent (direct HTML table generation via PP-Structure)
3. EasyOCR
مبني على PyTorch من قبل JaidedAI، تم بناء EasyOCR لتبني سريع من قبل المطورين. يجمع CRAFT (الوعي بمنطقة الأحرف لاكتشاف النص) مع شبكات التعرف العميقة في واجهة برمجة تطبيقات بسيطة.
تنسيقات الإخراج الأصلية
- المخرجات الأساسية: قوائم بايثون تحتوي على أزواج من الإحداثيات، السلاسل المعترف بها، وقيم الثقة.
- الوعي بالتخطيط: منخفض إلى متوسط (اكتشاف سطر النص فقط؛ لا تحليل هيكلي على مستوى المستند).
تحليل تنسيق الإخراج
- أين يتفوق: بساطة كائن الإرجاع لا مثيل لها:
[ ( [[x1, y1], [x2, y2], [x3, y3], [x4, y4]], "Total Balance Due", 0.9842, ) ]
تحويل هذا الإخراج إلى استجابة REST قياسية أو تسلسله مباشرة إلى GeoJSON/مخططات مخصصة لا يتطلب سوى بضع أسطر من الشيفرة. يعمل بثقة على نص المشاهد الطبيعية، ولوحات الترخيص، وقطع المستند المعزولة.
- أين يفتقر: لا يقوم EasyOCR بتحليل تخطيط المستند بشكل شامل. لا يحدد الجداول، أو تسلسلات العناوين، أو أوامر القراءة عبر الأعمدة المعقدة. استخدام EasyOCR على ورقة أكاديمية ذات عمودين غالبًا ما ينتج مقاطع نصية متشابكة ما لم يُقَرن بنموذج كشف تخطيط مسبق (مثل YOLO أو LayoutLM).
EasyOCR Output Profile:
├── Plain Text: Good for isolated text blocks
├── XML / hOCR: Not supported natively
├── JSON: Trivial to generate from Python tuples
└── Markdown / Tables: None (requires external layout pipelines)
4. سوريا OCR
Surya هو إطار عمل OCR حديث يعتمد على التعلم العميق صُمم خصيصًا لفهم المستندات المعقدة وأنابيب استيعاب نماذج اللغة الكبيرة.
تنسيقات الإخراج الأصلية
- المخرجات الأساسية: هياكل JSON نمذجتها Pydantic، فهارس ترتيب القراءة المنطقي، مناطق حدود التخطيط، ومضلعات اكتشاف السطر.
- الوعي بالتخطيط: عالي جدًا (تحليل التخطيط القائم على التعلم العميق وفرز ترتيب القراءة).
تحليل تنسيق الإخراج
- أين يتفوق: Surya يعالج مباشرة تحديات هندسة الذكاء الاصطناعي الحديثة. بدلاً من افتراض أن المستندات تُقرأ من أعلى إلى أسفل، ومن اليسار إلى اليمين، تقوم Surya بنشر نموذج مخصص لتوقع ترتيب القراءة. إنها تجمع السطور في كتل دلالية منطقية، وتتعامل مع امتدادات متعددة الأعمدة بشكل طبيعي، وتُخرج هياكل مُعرفة عبر Pydantic. هذا يجعل استيعاب البيانات اللاحق إلى قواعد البيانات المتجهة ومحولات Markdown مباشرًا وموثوقًا.
- أين يفتقر: كإطار أحدث وأكثر وزنًا يعتمد على PyTorch، يتطلب Surya حوسبة GPU مخصصة لمطابقة معدل النقل لمحركات C++ المُحسّنة مثل Tesseract أو نماذج Paddle المُكمّسة. إنه لا يستهدف معايير الأرشفة القديمة مثل hOCR أو ALTO.
Surya Output Profile:
├── Plain Text: Naturally ordered according to human reading flow
├── XML / hOCR: Not supported
├── JSON: Fully typed, modern Pydantic schemas
└── Markdown / Tables: Clean semantic blocks ideal for Markdown synthesis
مصفوفة المقارنة المباشرة
| القدرة / الصيغة | Tesseract OCR | PaddleOCR (PP-Structure) | EasyOCR | Surya OCR |
|---|---|---|---|---|
| hOCR الأصلي / ALTO XML | دعم أصلي | للطرف الثالث فقط | لا شيء | لا شيء |
| هندسة صندوق الإحاطة | محاذاة على المحور (x, y, w, h) | مضلع بأربع نقاط | مضلع بأربع نقاط | مضلع + كتل التخطيط |
| تحليل الجدول | إحداثيات TSV فقط | سلاسل جدول HTML | لا شيء | شبكات إحداثيات الخلايا |
| كشف ترتيب القراءة | قائم على القواعد (يتوقف عند الأعمدة المتعددة) | تحليل تخطيط التعلم الآلي | تجميع الخطوط الأساسية | نموذج ترتيب القراءة المخصص |
| مخططات JSON مباشرة | يتطلب التحويل | قواميس Python / JSON | قوائم Python / JSON | نماذج Pydantic المكتوبة بأنواع |
| الهدف النهائي المثالي | ملفات PDF أرشيفية، نظام إدارة مستندات قديم | بيانات النماذج/الإيصالات، أنظمة تخطيط موارد المؤسسات | النصوص السريعة، نص المشهد | استهلاك نماذج اللغة الكبيرة، بنى RAG |
توصيات خط الأنابيب: أيهما يجب أن تختار؟
- اختر Tesseract إذا كانت متطلبات الامتثال الخاصة بك تتطلب مخرجات موحدة
hOCR،ALTO XML، أو PDF/A قابل للبحث لتسليم السجلات الحكومية أو الأرشيفية. - اختر PaddleOCR إذا كنت تقوم بمعالجة المستندات المالية التشغيلية (فواتير، إيصالات، نماذج ضريبية) التي تحتوي على جداول معقدة بدون حدود ويجب تحويلها إلى HTML أو جداول بيانات.
- اختر EasyOCR إذا كنت بحاجة إلى مكتبة خفيفة الوزن، بيثونية لاكتشاف واستخراج النص من الصور الطبيعية، علامات الشوارع، أو عناصر واجهة المستخدم المقصوصة دون عناء التكوين.
- اختر Surya OCR إذا كنت تقوم بإدخال تقارير الأعمال غير المهيكلة، الأوراق البحثية، والأدلة التقنية إلى نموذج لغة كبير أو محرك بحث متجه حيث يكون ترتيب القراءة المنطقي والحدود الهيكلية النظيفة أمرًا أساسيًا.
الأسئلة المتكررة (FAQ)
1. أي تنسيق إخراج OCR مفتوح المصدر هو الأسهل لتغذيته في نماذج اللغة الكبيرة؟
توفر JSON المدرك لترتيب القراءة من Surya OCR وجداول HTML من PaddleOCR PP-Structure أنظف التمثيلات لسياقات موجهات نماذج اللغة الكبيرة وفهرسة RAG.
2. هل يمكن لتيسراكت إنتاج استجابات JSON بشكل أصلي دون أدوات طرف ثالث؟
لا، يُخرج Tesseract النص، TSV، PDF، وhOCR/ALTO XML بشكل أصلي؛ إنتاج JSON يتطلب تحويل مخرجات TSV أو hOCR باستخدام محلل وسيط.
3. كيف تختلف إحداثيات المضلع رباعية النقاط عن الصناديق المحاذية للمحاور؟
الصناديق المتراصة على المحاور تستخدم [x, y, width, height] بافتراض نص مسطح، بينما توفر مضلعات بأربعة نقاط أربع أزواج إحداثيات لإحاطة خطوط النص المدورة أو المائلة أو المنحنية بدقة.
4. أي محرك يُخرج هياكل الجداول مباشرةً إلى الشيفرة بدلاً من الإحداثيات المتفرقة؟
يعيد وحدة PP-Structure في PaddleOCR بناء حدود الجداول المكتشفة إلى وسوم جدول HTML كاملة (<table>، <tr>، <td>)، متجنبًا الرياضيات المكانية المخصصة.
5. لماذا يواجه إخراج EasyOCR القياسي صعوبة في الأوراق العلمية متعددة الأعمدة؟
يحدد EasyOCR خطوط النص بناءً على القرب المحلي بدلاً من التسلسل الهرمي للتخطيط العام، مما يؤدي إلى تداخل النص من الأعمدة المتجاورة ما لم يتم حصره بواسطة محرك تخطيط خارجي.