# V2 실패 원인 진단 리포트 _생성: 2026-04-24T09:45:39 · 모델: `jhgan/ko-sroberta-multitask`_ V2(의미 기반 rerank) 가 TARGET 4 섹션 모두에서 V1 1위를 바꾸지 못한 이유를 가설 A~E 로 분리 진단한 결과. ## 1. 진단 해석 (요약) - **가설 B 약간 의심**: pairwise cosine 평균 = 0.729 — 구분이 다소 약함 - **정답 프레임의 32-전체 cosine 랭킹 (summary)**: 01-2=1위, 02-2.2=1위, 03-1=1위, 03-2=1위 (Top-5 내 4/4) - **V1 Top-5 내 V1↔cosine Spearman 평균 = 0.457** (1=완전 일치, -1=완전 반대) → V1 순서와 cosine 순서가 유사 **Variant 별 32-전체 Top1-Top2 평균 gap** (클수록 구분력 강함): - `summary`: mean gap = 0.0307 - `full_text`: mean gap = 0.0310 - `title_only`: mean gap = 0.0244 - `summary_plus_tokens`: mean gap = 0.0140 ## 2. 입력 품질 ### 2.1 Frame content (32 프레임) - 글자 수: 평균 **235.2** · 중앙값 228.5 · 최소 147 / 최대 373 - 프레임 간 pairwise cosine 분포 (496 쌍): 평균 **0.7291** · 중앙값 0.7275 · p90 0.8007 · 범위 [0.5441, 0.9145] - 근접 중복 쌍 (cosine ≥ 0.9): **1개** - `1171281211` ↔ `1171281212` cosine=0.9145 ### 2.2 MDX 섹션별 입력 (variant 비교) | 섹션 | summary 글자 | full 글자 | title 글자 | summary+tokens 글자 | |---|---:|---:|---:|---:| | **01-2** | 64 | 1859 | 11 | 625 | | **02-2.2** | 34 | 1108 | 18 | 436 | | **03-1** | 32 | 684 | 18 | 318 | | **03-2** | 36 | 1025 | 27 | 426 | | **01-1** | 46 | 981 | 8 | 423 | | **02-1** | 80 | 476 | 13 | 317 | | **02-2.1** | 35 | 282 | 25 | 170 | ## 3. 32-전체 cosine 진단 (현재 V2 입력 = summary) | 섹션 | 정답 rank | %ile | 정답 cosine | top1 | top1-top2 gap | 32 평균 cosine | |---|---:|---:|---:|---:|---:|---:| | **01-2** | 1 | 100.0 | 0.7295 | 0.7295 | 0.0439 | 0.6067 | | **02-2.2** | 1 | 100.0 | 0.6416 | 0.6416 | 0.0492 | 0.4527 | | **03-1** | 1 | 100.0 | 0.634 | 0.634 | 0.0381 | 0.4661 | | **03-2** | 1 | 100.0 | 0.5991 | 0.5991 | 0.0191 | 0.4647 | | **01-1** | — | — | — | 0.6017 | 0.0137 | 0.5434 | | **02-1** | — | — | — | 0.6285 | 0.0302 | 0.4789 | | **02-2.1** | — | — | — | 0.5511 | 0.0205 | 0.4427 | ## 4. V1 Top-5 내부 cosine 진단 (현재 V2 입력 = summary) | 섹션 | V1 순서 | cosine 순서 | Spearman | Top1-Top2 gap | |---|---|---|---:|---:| | **01-2** | 18 → 27 → 11 → 1 → 9 | 18 → 27 → 11 → 1 → 9 | 1.0 | 0.0853 | | **02-2.2** | 14 → 9 → 12 → 3 → 5 | 14 → 12 → 3 → 9 → 5 | 0.7 | 0.1558 | | **03-1** | 13 → 15 → 20 → 27 → 19 | 13 → 15 → 20 → 27 → 19 | 1.0 | 0.0381 | | **03-2** | 29 → 12 → 9 → 11 → 8 | 29 → 8 → 11 → 12 → 9 | 0.1 | 0.1159 | | **01-1** | 1 → 27 → 11 → 12 → 20 | 27 → 11 → 12 → 1 → 20 | 0.4 | 0.0374 | | **02-1** | 12 → 14 → 27 → 3 → 20 | 20 → 14 → 12 → 27 → 3 | -0.1 | 0.0115 | | **02-2.1** | 11 → 8 → 3 → 29 → 9 | 29 → 8 → 3 → 11 → 9 | 0.1 | 0.0491 | ## 5. 입력 variant ablation TARGET 4 섹션의 **정답 rank (32-전체)** variant 별 비교. | 섹션 | summary | full_text | title_only | summary+tokens | |---|---:|---:|---:|---:| | **01-2** | 1 | 24 | 1 | 2 | | **02-2.2** | 1 | 2 | 1 | 3 | | **03-1** | 1 | 12 | 1 | 11 | | **03-2** | 1 | 1 | 2 | 3 | TARGET 4 섹션의 **Top1-Top2 gap (32-전체)** variant 별 비교 — 크면 구분력 강함. | 섹션 | summary | full_text | title_only | summary+tokens | |---|---:|---:|---:|---:| | **01-2** | 0.0439 | 0.0175 | 0.0749 | 0.0075 | | **02-2.2** | 0.0492 | 0.0385 | 0.0205 | 0.0166 | | **03-1** | 0.0381 | 0.0562 | 0.0144 | 0.0284 | | **03-2** | 0.0191 | 0.0421 | 0.0108 | 0.0048 | ## 6. 다음 단계 이 리포트의 수치를 근거로 주범 가설을 확정한 뒤 해당 축만 개선 — 전체 리팩터 전에 원인 분리가 목적. - 가설 B (frame content 품질) 이 주범이면: `analysis.md` "내용 설명" 을 재작성해야 함. 분량을 늘리고 구조적 특징을 더 구체적으로 적어 구분도 확보. - 가설 A (MDX summary) 이 주범이면: `detect_mdx.build_summary` 를 개선 또는 variant 교체. - 가설 E (V1 Top-5 범위) 가 주범이면: rerank 범위를 Top-10 / Top-15 로 확장, 또는 V2 를 32-전체 rerank 로 변경. - 가설 C (모델) 은 A/B/D/E 배제 후에만 검토 (과잉 실험 방지).