File size: 3,818 Bytes
af3342d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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 الآن»)؛ التوصية جاهزة لتفعيل البوابة عند موافقتك.