Files
C.E.L_Slide_test2/tests/README.md
T
KyeongminandClaude Opus 4.8 b836e79ee1 wip: phase_z2 evidence 파이프라인 + matching 실험(phase2~26) + 프론트 trace 패널 진행분 스냅샷
- src: phase_z2 composition/mapper/pipeline/placement_planner/retry, ai_fallback(prompts/schema/validate), mdx_text_atoms 신규
- Front: PipelineTracePanel 신규, FramePanel/SlideCanvas/Home/designAgentApi 등 갱신 + 테스트 4종 추가
- templates/phase_z2: catalog(component_expansion_registry, node_slot_mapping 신규), frames, families, slide_base 갱신
- tests/matching: phase2~26 매칭 실험 스크립트·리포트·온톨로지 전체 (미커밋 진행분)
- tests: b4_v4 evidence, task5~28.5 시리즈, regression(imp95 baseline) 등 신규 테스트 대량 추가
- docs/reference: MDX 구조 인벤토리, MDX→Frame 구조 계약 문서
- scripts: mdx 계약/parity/coverage/viewport 체크, gitea comment, run sync 유틸
- .gitignore: tmp*.json, chromedriver, .orchestrator, *.pkl, Front_test* 등 임시/스냅샷 제외

미완성 작업의 보존용 스냅샷 커밋 (2026-07-02)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 17:03:42 +09:00

89 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MDX ↔ Figma Frame 매칭 시스템
CEL 슬라이드 자동 변환을 위한 **MDX 콘텐츠 ↔ Figma 디자인 프레임 매칭** 파이프라인.
새 MDX 콘텐츠가 들어오면 32 개의 Figma 프레임 중 가장 적합한 프레임을 자동 추천하고, 그대로 사용 / 가벼운 편집 / 재구성 / 사용 불가 4 단계로 판정한다.
## 목적
- 한국어 비즈니스 문서 (DX/BIM 도메인) 의 MDX 섹션을 시각적 슬라이드로 변환
- 32 개 Figma 프레임 DB 에서 콘텐츠에 적합한 프레임을 자동 매칭
- 매칭 결과를 후속 단계 (텍스트 편집자 / 디자인 실무자) 에 넘겨 슬라이드 완성
## 파이프라인 (4 단계 매칭)
```
MDX 입력
V1 키워드 매칭 (32 frame 전체)
matching_score = 0.414 × 핵심 + 0.320 × 세트 + 0.265 × 연관
(가중치는 Logistic Regression 학습 결과 — TARGET 4/4, LOOCV 검증)
↓ Top-K 후보 추출
V2 의미 매칭 (ko-sroberta cosine — 후보 재정렬)
V3 구조 매칭
total = 0.40 × 레이아웃 일치 + 0.35 × 콘텐츠 성격 + 0.25 × 시각 의도
V4 종합 판정 (32 frame 전체 평가)
confidence = 0.25 × anchor + 0.20 × cardinality + 0.20 × relation
+ 0.15 × slot + 0.20 × content penalty
판정 라벨: use_as_is (≥0.90) / light_edit (≥0.75) / restructure (≥0.60) / reject (<0.60)
```
## 데이터
| 입력 출처 | 개수 | 수집 문장 |
|---|---|---|
| Figma 프레임 텍스트 | 32 | 586 |
| BEPS 마스터 텍스트 | 1 | 1,410 |
| MDX 검증 구간 | 4 | 129 |
| **합계** | **37** | **2,125** |
전처리 후 최종:
- **고유 키워드 1,713 개** (= 핵심 451 + 연관 1,238 + 광범위 24)
- **키워드 세트 524 개** (frame-level 시그니처)
## 주요 산출물
| 파일 | 용도 |
|---|---|
| `mdx_matching_result.yaml` | V1 키워드 매칭 결과 |
| `v2_semantic_rerank_result.yaml` | V2 의미 매칭 결과 |
| `v3_structure_rerank_r5_result.yaml` | V3 구조 매칭 결과 (최종 r5) |
| `v4_full32_result.yaml` | V4 종합 판정 (32 frame 전체) |
| `structure_ontology_v2_final_r2.yaml` | 32 frame 의 구조 DB |
| `auto_anchor_candidates.yaml` | 키워드 세트 + 토큰 |
| `KEYWORD_INVENTORY.html` | 키워드집 생성 보고서 |
| `V4_SLOT_ABLATION.md` | slot 축 ablation 실증 |
| `DECK_01~07.html` | 임원 보고용 7 페이지 |
## 빠른 시작
```bash
# 매칭 시스템 의존 파이프라인 실행 (이미 결과 yaml 있으면 생략 가능)
cd matching/
# 1. 키워드 추출 + 정리
python pipeline_05_anchor_candidates.py
python pipeline_07_auto_anchor_candidates.py
# 2. V1~V4 매칭
python pipeline_06_2_mdx_matching.py # V1 키워드 매칭
python pipeline_08_v2_semantic_rerank.py # V2 의미 매칭
python pipeline_08_v3_r5_structure_rerank.py # V3 구조 매칭 (최종)
python pipeline_17_v4_full32.py # V4 종합 판정
# 3. 보고용 deck 생성
python pipeline_16_deck_4pages.py # DECK 1~7 생성
```
## 현재 성능
- **TARGET 4 섹션 정답률**: 3/4 (75%) — 01-2 / 03-1 / 03-2 정답, 02-2.2 실패
- **Logistic Regression 검증**: 4/4 (LOOCV)
- **BM25 / IDF 비교**: 현 방식 4/4 > BM25 3/4 > IDF 3/4
## 한계 + 다음 단계
`PLAN.md` / `PROGRESS.md` 참조.