سلسلة: بناء OCR عربي عالي الدقة بدعم التشكيل وخطوط متعددة (استفادة من QARI‑OCR)
مقدمة: لماذا تحتاج العربية إلى OCR مُصمّم بعناية؟
تمثّل الكتابة العربية تحدياً خاصّاً لأنّها خطّ متّصل، ثُنائي الاتجاه (RTL)، وتحتوي على علامات تشكيل (تشكيل/تَشْكِيل) وحروف متصلة وتنوّع ضخم في الخطوط والطباعة التاريخية. عندما يكون الهدف استخراج نصّ قابل للتحرير من كتب أو مستندات قديمة أو مطبوعة بدقّة عالية أو حافظ على التشكيل، تصبح حلول الـOCR العامة (مثل Tesseract أو EasyOCR) محدودة ما لم تُكيَّف خصيصاً للعربية.
في هذا المقال العملي سنستعرض تصميم خط أنابيب OCR عربي متقدّم — بدءاً من تجميع البيانات، مروراً ببناء نموذج بصري‑لغوي مُكيّف، وصولاً إلى تقنيات ما بعد المعالجة لاستعادة التشكيل والتعامل مع خطوط ومخططات مستندات متنوّعة. سنستفيد من نتائج ومكوّنات مشروع QARI‑OCR كمثال عملي ومرجع لأداء قياسي وأدوات حديثة.
المكوّنات الرئيسية لخط أنابيب OCR عربي فعّال
خطّ أنابيب OCR الذي سنوصي به يقوم على خمسة مكوّنات رئيسية متكاملة:
- التجهيز المسبق للصور (Preprocessing): تحسين التباين، تصحيح الميل (deskew)، إزالة الضوضاء، وترميم المناطق المفقودة، مع المحافظة على علامات التشكيل الصغيرة (تحتاج فلاتر حساسة لا تُفقد النقاط أو الشّكل فوق/تحت الحروف).
- تحليل التخطيط (Layout Analysis): فصل أعمدة النص، رؤوس/تذييلات، جداول، وتحديد مناطق النصّ الصوري/المنمّق.
- المكوّن البصري (Vision Encoder): نموذج استخراج ميزات بصورة كاملة الصفحة أو سطرية يعتمد على محوّلات رؤية أو نماذج VL‑LLM مخصّصة (مثلاً قاعدة Qwen2‑VL‑2B ثم Fine‑tune للعربية).
- المكوّن اللغوي والديكودر: وحدة تحويل الميزات إلى نصّ (sequence decoder) مع قدرة على توليد التشكيل — وهنا تبدو الاستراتيجيات الهجينة الأكثر فعالية: استخراج نص أساسي بدون تشكيل ثم استرجاع/تصحيح التشكيل عبر نموذج Diacritization مستقل أو عبر دمج هدف التشكيل خلال التدريب.
- مرحلة ما بعد المعالجة والتحقّق: تصحيح أخطاء لغوية، قواعد صرفية بسيطة، استخدام قاموس وموديل diacritization لتحسين النتيجة النهائية، وإجراء التحقق الإحصائي على احتمالات كل رمز لضبط أخطاء التشكيل.
نقطة عملية: عندما تُدرَّب النماذج على صور صفحاتیة كاملة، فإنها تتطلب ضبط حجم الدخل واستراتيجيات crop/sliding window للحفاظ على الدلالات السياقية دون فقدان علامات التشكيل الدقيقة.
بيانات التدريب والقياس: استخدام مجموعات حديثة وميتاداتا
أداء أي نظام OCR يعتمد بشدّة على جودة وتنوّع البيانات. مؤخرًا ظهرت مجموعات بيانات صناعية وكبيرة تلبّي احتياجات تدريب نماذج الرؤية واللغة للغة العربية، مثل مجموعات صناعية مصمّمة لمحاكاة نصوص طُبعت عبر خطوط متعددة وتوزيعات تخطيطية متنوّعة — مثال بارز هو مجموعة SARD الكبيرة المصمّمة خصيصاً لمحاكاة أسلوب الكتب والمجلّدات والتي توفّر نطاقاً واسعاً من الخطوط والصفحات الاصطناعية لتحسين التعميم.
بالإضافة إلى ذلك، توجد مجموعات على مجتمعات التعاون مثل Hugging Face تحتوي على ملايين أمثلة مصنفة يمكن استخدامها كـfine‑tuning أو كاختبار خارجي للقياس (مثل مجموعات Arabic‑OCR‑Dataset). استخدام مزيج من البيانات الحقيقية والمولّدة اصطناعياً يساعد النماذج على التعامُل مع الضوضاء، التفاوتات الطباعية، وأنواع التشكيل المختلفة.
أمثلة مقياسية (من نتائج QARI‑OCR)
- نسب خطأ على مستوى الحرف (CER) والوورد (WER) وBLEU التي أبلغت عنها دراسات QARI تشير إلى تحسّن ملحوظ مقارنةً بالأدوات التقليدية عند التعامل مع نصوص مشملة بالتشكيل.
- ورغم أنّ الأرقام تختلف حسب مجموعة البيانات والسيناريو، فقد ذكرت نتائج بحثية ومجموعات إصدار QARI أرقاماً مثل CER ~0.06 وWER ~0.16 وBLEU ~0.73 لنسخ مُدرّبة جيداً على نصوص ذات تشكيل كثيف — وهي مؤشرات توفر نقطة مرجعية عند تصميم نظامك وإنشاء خطّ أساس للقياس.
من الممارسة إلى الإنتاج: نصائح تقنية وممارسات عملية
إليك مجموعة توصيات عملية لتسيير مشروع OCR عربي عالي الدقة من التجريب إلى النشر:
- التدرّج في التدريب (Curriculum): ابدأ بخطوط ونصوص دون تشكيل ثم قدّم أمثلة مشكلة تدريجياً؛ هذا يُساعد المكوّن البصري على التعرّف على الحروف قبل أن يتعلّم حساسية العلامات الصغيرة.
- نماذج Diacritization مستقلة: بدلاً من إجبار مُخرج الـOCR على أن يولّد التشكيل مباشرة، استخدم نموذج diacritizer مُدرّب خصيصاً لتحسين جودة التشكيل بعد استخراج النص الخام؛ أبحاث حديثة في مجال Diacritization تُظهر أن النماذج الصغيرة والمتخصّصة تقدّم تحسناً فعّالاً في استرجاع التشكيل.
- التعامل مع تنوّع الخطوط: أدخل مرحلة augmentation تُغيّر حجم الحروف، تباين الحبر، واستخدام نسخ من الخطوط المتوافرة تجريبياً؛ وإن أمكن، أدرج عينات من الخطوط الطباعة التقليدية والمخطوطات اليدوية.
- تصحيح لغوي قائم على نموذج لغة: استخدم نموذج لغة مخصّص بالعربية (مجمّع على نصوص معيارية ومحكيّة إن لزم) لعمل re‑ranking للنواتج وتقليل أخطاء الكلمات الشائعة، مع الحفاظ على احتمالية التشكيل.
- قياسات ومؤشرات أداء: اعتمد CER/WER وDER (Diacritic Error Rate) وBLEU عند النصوص المشكّلة كأساس لتقييم التحسّن خلال التكرارات التدريبية.
أخيراً، احرص على توثيق مجموعة البيانات ومعلمات التدريب (Model Card وDataset Datasheet) لتسهيل الصيانة، الموافقة الأخلاقية، وإعادة الاستخدام داخل الفريق أو المؤسسة.