分析對象: train_v99_selective_merge.csv (最佳實驗結果)
F1 Score: 0.175
日期: 2025-12-09
| 指標 | 數量 | 百分比 |
|---|---|---|
| 總樣本數 | 151 | 100% |
| GT 有標籤 | 76 | 50.3% |
| GT 為 NONE | 75 | 49.7% |
| 預測有標籤 | 62 | 41.1% |
| 預測為 NONE | 89 | 58.9% |
| 類型 | 數量 | 說明 |
|---|---|---|
| ✅ True Positive | 12 | Code 正確 + IoU ≥ 0.5 |
| 🟡 Code Correct, Low IoU | 18 | Code 正確但 IoU < 0.5 |
| 🔴 Code Mismatch | 15 | 預測了錯誤的 Code |
| ❌ False Negative | 53 | GT 存在但未預測 |
| 21 | 預測存在但 GT 無 |
True Positive: ████████████ (12)
Code Correct/Low IoU: ██████████████████ (18) ← 關鍵問題
Code Mismatch: ███████████████ (15)
False Negative: █████████████████████████████████████████████████████ (53) ← 最大問題
False Positive: █████████████████████ (21)
| Code | 漏檢次數 | 說明 |
|---|---|---|
| TC-SC-320a.1 | 7 | 半導體員工多樣性 |
| TC-HW-330a.1 | 4 | 硬體員工參與度 |
| EM-RM-320a.2 | 4 | 精煉廢水管理 |
| EM-RM-530a.1 | 4 | 精煉政治支出 |
| TC-SC-150a.1 | 3 | 半導體能源管理 |
| EM-RM-110a.2 | 3 | 精煉GHG排放 |
| TC-SC-140a.1 | 3 | 半導體水資源管理 |
| FN-CB-240a.1 | 3 | 金融歧視事件 |
| Code | 誤報次數 |
|---|---|
| FN-CB-230a.2 | 6 |
| TC-SC-320a.1 | 3 |
| FN-CB-410a.2 | 2 |
| TC-SC-140a.1 | 2 |
這是最關鍵的問題!18 個樣本 Code 正確但因 IoU 不足被判定為錯誤。
| ID | Code | IoU | GT BBox | Pred BBox | 問題分析 |
|---|---|---|---|---|---|
| 010 | FN-CB-230a.2 | 0.416 | [55,94,826,549] | [82,113,420,545] | 預測框寬度不足 |
| 036 | TC-SC-440a.1 | 0.475 | [26,89,485,348] | [38,127,475,543] | 高度差異大 |
| 093 | FN-CB-230a.2 | 0.255 | [54,95,428,398] | [67,103,416,186] | 高度嚴重不足 |
| 103 | TC-HW-440a.1 | 0.238 | [422,207,753,534] | [415,86,888,340] | Y 軸偏移 |
| 112 | TC-HW-330a.1 | 0.028 | [201,144,375,159] | [87,87,486,320] | 完全偏移 |
| 123 | FN-CB-410a.2 | 0.352 | [53,57,830,593] | [70,85,785,290] | 高度不足 |
IoU = 0: ████████ (8) ← 完全無重疊
IoU 0.1-0.3: ████████ (4)
IoU 0.3-0.4: ██████ (3)
IoU 0.4-0.5: ██████ (3) ← 接近通過
18 個預測 Code 正確但 IoU < 0.5,說明:
- 我們找到了正確的內容
- 但 BBox 座標與 GT 不匹配
- 這是座標系統轉換問題
解決方案: 實作 normalize_bbox_to_pdf_points() 函數
超過一半的 GT 標籤未被預測:
- Retrieval 階段未召回正確的 segments
- LLM 評分不足導致被過濾
解決方案:
- 降低 score_threshold 到 0.45
- 增加 reranker_top_k 到 15
某些 Code 頻繁被漏檢 (TC-SC-320a.1, EM-RM-320a.2):
- 可能是 Embedding 模型對這些指標的理解不足
- 需要考慮其他 Embedding 模型
# 在 main.py 中加入
if page_width > 860:
scale = 842 / page_width
bbox = [b * scale for b in bbox]預期效果: +0.08~0.10 F1 (18 個 low-IoU 樣本可能變成 TP)
# config.py
score_threshold = 0.45
reranker_top_k = 15
top_k_candidates_per_metric = 8預期效果: +0.05 F1
- BAAI/bge-large-zh-v1.5 (中文優化)
- intfloat/multilingual-e5-large
預期效果: +0.02~0.05 F1
| 改進項目 | 預期提升 | 累計 F1 |
|---|---|---|
| 當前 | - | 0.175 |
| 座標修復 | +0.08 | 0.255 |
| Recall 提升 | +0.05 | 0.305 |
| Embedding 優化 | +0.03 | 0.335 |
| 目標 | - | 0.35+ |