# LM_CONFIDENCE_GATE_REPORT بوابة ثقة لـ LM: إن ثقة السطر ≥ العتبة → greedy (بلا LM)؛ إن أقل → LM tuned (α=0.5, β=0.3, beam=10). الثقة = متوسط احتمال الحروف (line-level من مصفوفة النموذج). حماية: إن غيّر LM السطر >50% → رفض LM (يبقى greedy، يُعلَّم uncertain). النصوص الثلاث منفصلة (GT-seg / manual / auto) ولم تُخلط. raw greedy محفوظ لكل سطر في `_gate_log.json`. ## جدول before/after (CER) | Dataset | Greedy | Always LM | Gated LM (أفضل عتبة) | Best threshold | Decision | |---|---|---|---|---|---| | D1 سهل (GT-seg) | 0.39 | 0.56 | 0.30 (<0.95) | <0.95 | **Gated** | | D2 demo (GT/يدوي) | 4.34 | 2.56 | 3.29 (<0.95) | <0.95 | **Gated** | | D3 auto آمن (v4) | 3.61 | 2.28 | 3.41 (<0.95) | <0.95 | **Gated** | ## الجدول التفصيلي (كل عتبة) | Dataset | Threshold | Lines→LM | Lines→greedy | CER | WER | Notes | |---|---|---|---|---|---|---| | D1 سهل (GT-seg) | greedy | 0 | 226 | 0.39 | 1.62 | الأساس | | D1 سهل (GT-seg) | <0.8 | 0 | 226 | 0.39 | 1.62 | = متعادل | | D1 سهل (GT-seg) | <0.85 | 1 | 225 | 0.38 | 1.62 | ✅ يُحسّن | | D1 سهل (GT-seg) | <0.9 | 2 | 224 | 0.39 | 1.62 | = متعادل | | D1 سهل (GT-seg) | <0.95 | 11 | 215 | 0.30 | 1.24 | ✅ يُحسّن | | D1 سهل (GT-seg) | always_LM | 226 | 0 | 0.56 | 2.56 | كل الأسطر LM | | D2 demo (GT/يدوي) | greedy | 0 | 79 | 4.34 | 15.30 | الأساس | | D2 demo (GT/يدوي) | <0.8 | 2 | 77 | 4.12 | 14.73 | ✅ يُحسّن | | D2 demo (GT/يدوي) | <0.85 | 2 | 77 | 4.12 | 14.73 | ✅ يُحسّن | | D2 demo (GT/يدوي) | <0.9 | 3 | 76 | 3.95 | 14.16 | ✅ يُحسّن | | D2 demo (GT/يدوي) | <0.95 | 11 | 68 | 3.29 | 10.48 | ✅ يُحسّن | | D2 demo (GT/يدوي) | always_LM | 79 | 0 | 2.56 | 4.53 | كل الأسطر LM | | D3 auto آمن (v4) | greedy | 0 | 222 | 3.61 | 12.10 | الأساس | | D3 auto آمن (v4) | <0.8 | 1 | 221 | 3.61 | 12.10 | = متعادل | | D3 auto آمن (v4) | <0.85 | 5 | 217 | 3.58 | 12.01 | ✅ يُحسّن | | D3 auto آمن (v4) | <0.9 | 8 | 214 | 3.56 | 11.96 | ✅ يُحسّن | | D3 auto آمن (v4) | <0.95 | 19 | 203 | 3.41 | 11.25 | ✅ يُحسّن | | D3 auto آمن (v4) | always_LM | 222 | 0 | 2.28 | 5.86 | كل الأسطر LM | ## المتوسط العام (3 مجموعات) - Greedy: 2.78% | Always LM: 1.80% | Gated<0.95: 2.33% ## شروط الاعتماد — التحقّق - لا يضر D1 السهل: gate<0.95 = 0.30 مقابل greedy 0.39 → **محقّق (يُحسّن)** ✅ - يحسّن D2: 3.29 < 4.34 ✅ - يحسّن D3: 3.41 < 3.61 ✅ - يخفض المتوسط: 2.33 < 2.78 ✅ - يحفظ raw greedy + يسجّل لكل سطر (greedy/lm/conf/decision/reason): ✅ (`_gate_log.json`) - حماية التغيير الكبير + علم uncertain: ✅ (CHANGE_MAX=0.5) ## التوصية **gated LM default (عتبة < 0.95)** — يحقّق كل الشروط: يُحسّن المجموعات الثلاث (حتى السهل من 0.39→0.30)، لا يضرّ، يخفض المتوسط، يحفظ greedy. > ملاحظة: always-LM يعطي مكسباً أكبر على الصعب (D2 2.56، D3 2.28) لكنه **يضرّ السهل** (0.56) → مرفوض. البوابة هي الحلّ الآمن. > مكسب أكبر ممكن بعتبة أعلى (0.97–0.98) لكنها خارج الـ grid المطلوب؛ تقترب من always-LM تدريجياً. **القرار التنفيذي:** أبقيتُ `USE_LM=OFF` افتراضياً (احتراماً لـ«لا تجعل LM default الآن»)؛ التوصية جاهزة لتفعيل البوابة عند موافقتك.