1. V4 evidence 확장 (pipeline_17b_extend_missing_sections.py): '결과물이 아니라 프로세스' 원칙 — pipeline_17 과 동일 평가 코드로 누락 3개 섹션(01-intro/05-1/05-2)만 평가해 v4_full32_result.yaml 병합 (기존 무접촉, blind/ANSWER_MAP 불변). 결과: 05-1 → F20 light_edit 0.77 (design-matched!), 01-intro/05-2 → all-reject (catalog gap 정직 노출 — F19 가 05 주제와 이름까지 일치하나 partial 없음 → #2 프로모션 최우선 근거) 2. renderable-aware provisional (IMP-30 u1 정밀화): rank-1 무조건 승격 → partial 존재 AND (비-reject OR verbatim builder 보유) 첫 후보 승격. reject+builder 미보유 renderable 의 mapper 네이티브 렌더는 원문 drop 위험 (F23 1-atom 손실 실측) — 원문 보존 > design 개선 우선순위. 3. 게이트 순서 버그 수정 (_apply_quality_gate_downgrades 추출): T28.5d popup 승격 후 재계산 경로에 quality gate 강등 3종(coverage/forbidden/ consistency) 미적용 → 텍스트 손실이 overall=PASS 로 통과 (mdx05 실측). 양 경로 공통 헬퍼로 통일 — mdx04 의 #16 시점 PASS 일부가 이 버그 덕이었음을 정직하게 정정 (현재 PARTIAL + frame mismatch 라벨, 텍스트는 완전). 최종 5-MDX: 전부 missing_atoms=0 (무손실) / 01·03 PASS / 02·04·05 PARTIAL(정직 frame-mismatch 라벨) / mdx01 readiness not_ready→needs_review 개선. 게이트: 1061 passed. SHA baseline 재캡처 (정당 변경). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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 페이지 |
빠른 시작
# 매칭 시스템 의존 파이프라인 실행 (이미 결과 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 참조.