# التحقق من نماذجنا على المنتج — النتائج ## النماذج المعتمَدة الآن (افتراضياً في config) - **التعرّف:** `exp6_best.mlmodel` (مغربي RASAM، CER 7.48%) - **التجزئة:** `seg_best.mlmodel` - قابلة للتبديل عبر env: `REC_MODEL_FILE` / `SEG_MODEL_FILE`. ## 1) دقّة التعرّف (ketos test مقابل GT) — حاسمة | الحالة | دقّة الحروف | CER | |---|---|---| | مُدرَّب عليها (3 صفحات train) | 96.71% | **3.29%** | | غير مُدرَّب (51 صفحة test مجمّدة) | 92.50% | **7.50%** | 7.50% على غير المُدرَّب = يطابق رقمنا المرجعي (exp6 = 7.48%). **التعرّف يقرأ المغربي بدقّة، لا garbage.** السبب الجذري للكارثة السابقة: المنتج كان يستخدم `reg(96.5)` الخاطئ. **تم إصلاحه.** ## 2) العيّنات (افتح الصورة بجانب ملف التعرّف) | الملف | الوصف | |---|---| | `غير_مدرب__BULAC_1926_0127.jpg` + `تعرف__غير_مدرب.txt` | صفحة بسيطة غير مُدرَّبة — **نتيجة نظيفة ممتازة** (تحيات على الأنبياء/الملائكة) | | `مدرب_نظيف__BULAC_417.jpg` + `تعرف__مدرب_نظيف.txt` | خط 417 نظيف — الأسطر الكاملة صحيحة (بسملة، صلاة) لكن **تجزئة زائدة** | | `مدرب__BULAC_1982_181985.jpg` + `تعرف__مدرب.txt` | خط 1982 كثيف — تعرّف صحيح بتجزئة GT، لكن seg جزّأه | ## 3) التجزئة — المشكلة المتبقّية (مصدر «المربعات في كل مكان») عدد الأسطر المُنتَجة مقابل GT (على صور خام، تشغيل kraken مباشر): | الصفحة | GT | seg_best | version_1 | |---|---|---|---| | 1926 (بسيطة) | 9 | **11** ✅ | — | | 417 (نظيفة + حواشٍ) | 13 | 43 ⚠️ | — | | 1982 (كثيفة + حواشٍ) | 37 | **53** | 71 (أسوأ) | **الخلاصة:** seg_best أفضل الخيارات المتاحة (أحسن من version_86 وversion_1)، لكنه يُفرط في تجزئة الصفحات ذات الحواشي. ## التوصيات (تحسينات) 1. **التعرّف: محسوم** — اعتماد exp6_best أنهى مشكلة الـ garbage. 2. **التجزئة تحتاج عملاً:** seg_best دُرّب قليلاً (iu=0.312، توقّف مبكّر). الحلول: - إعادة تدريب seg أطول + بيانات حواشٍ صريحة. - أو تصفية ما بعد التجزئة: دمج/حذف الأسطر القصيرة الشاذة + فصل المتن عن الحاشية بعتبة موضع. 3. **اختبار التجزئة داخل pipeline المنتج** (مع binarization) قد يختلف عن التشغيل الخام — يستحق قياساً. 4. **حدّ ثقة:** الأسطر القصيرة جداً/منخفضة الثقة تُميَّز تلقائياً (ميزة 4) للمراجعة.