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 الآن»)؛ التوصية جاهزة لتفعيل البوابة عند موافقتك.