# قياس مزدوج على العيّنتين الخارجيتين — 1,024 سطراً **التاريخ:** 2026-08-09 · نموذج التعرّف `transcription_finetuned_best.mlmodel` · النموذج اللغوي `char8_visual.lm` · CUDA · 35 دقيقة ## النتائج | المجموعة | المفكّك | raw CER | **norm CER** | **norm WER** | سطر مطابق | حسّن/أفسد | |---|---|---|---|---|---|---| | **Muharaf** (377) | greedy | 38.10% | **35.68%** | **84.47%** | 2.7% | — | | | current_lm | 41.74% | 38.54% | 81.43% | 4.0% | **84 / 225** | | **Mendeley** (647) | greedy | 30.02% | **27.88%** | **68.83%** | 0.0% | — | | | current_lm | 29.78% | **27.50%** | **61.71%** | 0.5% | 286 / 251 | ## إعادة إنتاج مستقلّة لأرقام التقييم السابق تشغيلٌ بمسار شيفرة مختلف أعطى الأرقام نفسها ضمن **0.37 نقطة**: | | التقييم السابق | هذا التشغيل | الفرق | |---|---|---|---| | Muharaf greedy | 38.47% | 38.10% | 0.37 | | Muharaf + LM | 41.75% | 41.74% | **0.01** | | Mendeley greedy | 30.35% | 30.02% | 0.33 | | Mendeley + LM | 29.84% | 29.78% | 0.06 | ## ماذا يقول القياس **1. التطبيع يُغيّر نحو نقطتين، لا أكثر.** `38.10 → 35.68` و`30.02 → 27.88`. فمعظم الخطأ **قراءة عربية حقيقية**، لا اختلاف تمثيل. من ظنّ أن التطبيع سيكشف مكسباً كبيراً مخطئ — وهذا يؤكّد أن **التدريب البصري هو الرافعة**، لا التطبيع ولا الـcodec. **2. ضرر النموذج اللغوي خارج مجاله أكبر ممّا يوحي المتوسط.** على Muharaf أفسد **225 سطراً** وحسّن 84 — صافٍ **−141 سطراً**. والمتوسط (+2.86 نقطة) يُخفي أن ثلثَي الأسطر المتأثّرة تضرّرت. ⇒ **greedy افتراضاً خارج المجال**، والتسمية الدقيقة: **منع تدهور، لا تحسّن بصري**. **3. داخل المجال، قيمة النموذج اللغوي في الكلمة لا في الحرف.** Mendeley: CER يتحسّن **0.38 نقطة فقط**، وWER يتحسّن **7.12 نقاط**. وحسّن 286 وأفسد 251 — صافٍ +35، هامشيّ. فالفائدة في تماسك الكلمة، وهو ما يهمّ قراءة الجمل. ## ثغرة سُدَّت التقييم السابق حفظ **تجميعات فقط**، فتعذّرت إعادة القياس بمقياس آخر دون تشغيل النموذج ثانيةً (35 دقيقة GPU). هنا تُحفظ **تنبّؤات كل سطر لكل مفكّك** في `*_predictions.json`، فيُعاد القياس بأي مقياس لاحقاً بلا GPU. ## قيود - **العيّنتان بياناتُ تطوير الآن**: رأينا نتائجهما واتُّخذت عليهما قرارات (تعطيل LM، وخطة LM جديد). الحكم النهائي يحتاج مخطوطات محجوزة مفصولة على مستوى الوثيقة. - `arabic_normalized` يُسقط التشكيل والترقيم واللاتينية والأرقام. **لا يُقارَن بأرقام منشورة قِيست خاماً** (مثل 18.1% لنموذج Muharaf) — للمقارنة يُستعمل `raw` وحده. - التطبيع **وقت القياس فقط**؛ النصّ المحفوظ والمصدَّر يبقى كما فُرِّغ. ## إعادة التشغيل ```bash ./backend/.venv/Scripts/python.exe scripts/run_external_dual_eval.py \ --lm-file char8_visual.lm ```