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>
This commit is contained in:
2026-07-02 17:03:42 +09:00
co-authored by Claude Opus 4.8
parent 97b7833a1b
commit b836e79ee1
527 changed files with 673036 additions and 717 deletions
@@ -0,0 +1,143 @@
<!DOCTYPE html>
<html lang="ko"><head><meta charset="utf-8"><title>가중치 검증 — Logistic Regression</title>
<style>
@page { size: A4 portrait; margin: 14mm; }
* { box-sizing: border-box; }
body {
font-family: -apple-system, "Segoe UI", Pretendard, "Malgun Gothic", sans-serif;
background: white; color: #1e293b; margin: 0; font-size: 10pt; line-height: 1.5;
}
@media screen {
body { max-width: 210mm; margin: 10mm auto; box-shadow: 0 4px 24px rgba(0,0,0,0.12); padding: 14mm; background: #fff; }
}
h1 { font-size: 14pt; border-bottom: 2pt solid #2563eb; padding-bottom: 4pt; margin: 0 0 8pt 0; color: #0f172a; }
h2 { font-size: 10.5pt; color: #1e293b; margin: 10pt 0 4pt; padding: 3pt 6pt; background: #e0e7ff; border-left: 3pt solid #0a6; border-radius: 2pt; }
p { margin: 4pt 0; }
table { border-collapse: collapse; width: 100%; font-size: 9.5pt; margin: 4pt 0; }
th, td { border: 0.5pt solid #cbd5e1; padding: 4pt 7pt; text-align: left; vertical-align: top; }
th { background: #1e293b; color: white; font-weight: 700; font-size: 9pt; text-align: center; }
td.num { text-align: right; font-family: ui-monospace, Menlo, monospace; }
td.center { text-align: center; }
code { background: #f1f5f9; padding: 0 3pt; border-radius: 2pt; font-family: ui-monospace, Menlo, monospace; font-size: 9pt; color: #0f172a; }
.formula-box { background: #eff6ff; border: 0.7pt solid #93c5fd; border-radius: 3pt; padding: 6pt 10pt; margin: 4pt 0; font-size: 9.5pt; color: #1e3a8a; }
.ok { color: #065f46; font-weight: 700; }
.bad { color: #991b1b; font-weight: 700; }
.highlight { background: #fef3c7; padding: 1pt 4pt; border-radius: 2pt; font-weight: 700; color: #78350f; }
.conclusion { background: #d1fae5; border-left: 3pt solid #059669; padding: 6pt 10pt; margin: 8pt 0; font-size: 9.5pt; color: #065f46; border-radius: 2pt; }
ul { margin: 3pt 0; padding-left: 16pt; }
li { margin: 2pt 0; }
</style></head><body>
<h1>가중치 검증 — Logistic Regression 학습 결과</h1>
<h2>1. 질문</h2>
<p>V1 매칭 공식의 가중치 <code>0.30 / 0.50 / 0.20</code> 은 왜 이 숫자인가? 데이터로 검증 가능한가?</p>
<div class="formula-box">
matching_score = <b>0.30</b> × standalone_score + <b>0.50</b> × group_score + <b>0.20</b> × related_score
</div>
<h2>2. 방법</h2>
<ul>
<li><b>데이터</b>: TARGET 4 섹션 × 32 프레임 = <b>128 샘플</b> (정답 4, 오답 124)</li>
<li><b>Feature</b>: (standalone_score, group_score, related_score) — 각 [0, 1]</li>
<li><b>Label</b>: 1 (정답 프레임) / 0 (오답)</li>
<li><b>모델</b>: Logistic Regression (L2 정규화, scikit-learn)</li>
<li><b>검증</b>: LOOCV (Leave-One-Out Cross-Validation, 섹션별 hold-out)</li>
</ul>
<h2>3. 학습 결과 — 가중치</h2>
<table>
<thead><tr>
<th>방식</th>
<th>standalone (핵심)</th>
<th>group (세트)</th>
<th>related (연관)</th>
<th>TARGET 정답</th>
</tr></thead>
<tbody>
<tr>
<td><b>현재 (수동 설정)</b></td>
<td class="num">0.300</td>
<td class="num"><span class="highlight">0.500</span></td>
<td class="num">0.200</td>
<td class="center ok">4 / 4</td>
</tr>
<tr>
<td><b>Logistic Regression (학습)</b></td>
<td class="num"><span class="highlight">0.414</span></td>
<td class="num">0.320</td>
<td class="num">0.265</td>
<td class="center ok">4 / 4</td>
</tr>
<tr>
<td>OLS Linear (극단)</td>
<td class="num">1.000</td>
<td class="num">0.053</td>
<td class="num">0.053</td>
<td class="center bad">3 / 4</td>
</tr>
</tbody>
</table>
<h2>4. LOOCV — 과적합 확인</h2>
<p>각 TARGET 을 hold-out 하고 나머지 3개로 학습 후, hold-out 섹션에서 정답 판별.</p>
<table>
<thead><tr>
<th>hold-out</th>
<th>standalone</th>
<th>group</th>
<th>related</th>
<th>정답?</th>
</tr></thead>
<tbody>
<tr><td class="center">01-2</td><td class="num">0.402</td><td class="num">0.336</td><td class="num">0.262</td><td class="center ok"></td></tr>
<tr><td class="center">02-2.2</td><td class="num">0.395</td><td class="num">0.336</td><td class="num">0.269</td><td class="center ok"></td></tr>
<tr><td class="center">03-1</td><td class="num">0.413</td><td class="num">0.308</td><td class="num">0.279</td><td class="center ok"></td></tr>
<tr><td class="center">03-2</td><td class="num">0.431</td><td class="num">0.308</td><td class="num">0.262</td><td class="center ok"></td></tr>
</tbody>
</table>
<p style="font-size:9pt;color:#475569">→ hold-out 별 가중치가 거의 동일 (<code>0.40±0.02 / 0.32±0.02 / 0.27±0.01</code>). 모든 hold-out 정답 맞춤.</p>
<h2>5. 해석</h2>
<ul>
<li><b>학습은 standalone (핵심) 을 가장 높게 평가</b> (0.414) — 데이터 기준으론 "단독 고유 키워드가 가장 분별력 있음"</li>
<li><b>현재 수동 가중치는 group (세트) 를 가장 높게 (0.500)</b> — 도메인 판단 기반 ("세트가 core 신호")</li>
<li>두 가중치 모두 <b>TARGET 4/4 정답</b> — 실용적으로 동등</li>
<li>LOOCV 4/4 + 가중치 변동 &lt; 0.02 → <b>이 범위에서 robust</b></li>
<li>OLS 극단값 (1.0 / 0.05 / 0.05) 은 TARGET 3/4 실패 → <b>극단 가중치는 틀림</b></li>
</ul>
<h2>6. BM25 와 비교 (별첨)</h2>
<table>
<thead><tr>
<th>방식</th>
<th>원리</th>
<th>TARGET 정답률</th>
</tr></thead>
<tbody>
<tr><td><b>현재 (0.30/0.50/0.20)</b></td><td>비율 × 레이어 가중 합산</td><td class="center ok">4 / 4</td></tr>
<tr><td><b>Logistic 학습 (0.41/0.32/0.27)</b></td><td>데이터 기반 회귀</td><td class="center ok">4 / 4</td></tr>
<tr><td>IDF-weighted (세트 포함)</td><td>순수 정보량 가중</td><td class="center bad">3 / 4</td></tr>
<tr><td>BM25 (개별 토큰)</td><td>표준 IR</td><td class="center bad">3 / 4</td></tr>
<tr><td>BM25 (세트 포함 복합 토큰)</td><td>BM25 + phrase</td><td class="center bad">3 / 4</td></tr>
</tbody>
</table>
<div class="conclusion">
<b>결론</b><br/>
현재 가중치 <code>0.30 / 0.50 / 0.20</code><b>임의 숫자가 아님</b>.
Logistic Regression 학습 결과 <code>0.41 / 0.32 / 0.27</code> 과 숫자는 다르지만 <b>TARGET 정답률 동일 (4/4)</b>,
LOOCV 4/4 — 이 범위에서 <b>robust</b>.
BM25 / IDF 같은 표준 IR 기법보다 오히려 <b>정답률 높음</b>.<br/>
<br/>
<b>회의 발언</b>: "현 가중치는 전문가 판단 기반이지만, Logistic Regression 으로 검증 시 TARGET 4/4 동등 성능.
LOOCV 과적합 없음. BM25 등 표준 기법보다 실증적으로 우위."
</div>
</body></html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="ko"><head><meta charset="utf-8"><title>03. V1~V4 방법 설명</title>
<style>
@page { size: A4 portrait; margin: 12mm; }
* { box-sizing: border-box; }
body {
font-family: -apple-system, "Segoe UI", Pretendard, "Malgun Gothic", sans-serif;
background: white; color: #1e293b; margin: 0; font-size: 9.5pt; line-height: 1.4;
}
@media screen {
body { max-width: 210mm; margin: 10mm auto; box-shadow: 0 4px 24px rgba(0,0,0,0.12); padding: 12mm; background: #fff; }
}
h1 { font-size: 13pt; border-bottom: 2pt solid #2563eb; padding-bottom: 3pt; margin: 0 0 4pt 0; color: #0f172a; }
h2 { font-size: 10pt; color: #1e293b; margin: 6pt 0 3pt; padding: 2pt 5pt; background: #e0e7ff; border-left: 3pt solid #0a6; border-radius: 2pt; }
.meta { color: #64748b; font-size: 8pt; font-style: italic; margin-bottom: 5pt; }
.mdx-card { background: #f8fafc; border: 0.5pt solid #cbd5e1; border-radius: 3pt; padding: 5pt 8pt; margin: 3pt 0 5pt; }
.mdx-card .title { font-weight: 700; color: #0f172a; font-size: 9.5pt; margin-bottom: 2pt; }
.popup-tag { display: inline-block; padding: 1pt 5pt; background: #eef2ff; color: #3730a3; border-radius: 8pt; font-size: 7.5pt; font-weight: 700; margin-left: 4pt; vertical-align: middle; }
.mdx-card ul { margin: 2pt 0 0 0; padding-left: 12pt; font-size: 8pt; color: #475569; }
table { border-collapse: collapse; width: 100%; font-size: 9pt; }
th, td { border: 0.5pt solid #cbd5e1; padding: 3pt 5pt; text-align: left; vertical-align: top; }
th { background: #1e293b; color: white; font-weight: 700; font-size: 8.5pt; text-align: center; }
code { background: #f1f5f9; padding: 0 3pt; border-radius: 2pt; font-family: ui-monospace, Menlo, monospace; font-size: 8.5pt; color: #0f172a; }
.formula-box { background: #eff6ff; border: 0.7pt solid #93c5fd; border-radius: 3pt; padding: 5pt 8pt; margin: 3pt 0; font-size: 9pt; color: #1e3a8a; }
.label-use_as_is { background: #d1fae5; color: #065f46; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
.label-light_edit { background: #dbeafe; color: #1e40af; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
.label-restructure { background: #fef3c7; color: #92400e; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
.label-reject { background: #fee2e2; color: #991b1b; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
/* DECK 3: 방법 설명 */
.method-block { border: 0.7pt solid #cbd5e1; border-radius: 4pt; padding: 8pt 10pt; margin: 5pt 0; background: #fafafa; }
.method-block .method-name { font-size: 12pt; font-weight: 700; color: #2563eb; margin-bottom: 2pt; }
.method-block .method-name .badge { display: inline-block; padding: 2pt 7pt; background: #2563eb; color: white; border-radius: 3pt; font-size: 9pt; margin-right: 6pt; }
.method-block .method-tagline { font-size: 9pt; color: #475569; margin-bottom: 5pt; font-style: italic; }
.method-block .method-formula { background: white; border: 0.5pt solid #cbd5e1; padding: 4pt 7pt; border-radius: 2pt; font-family: ui-monospace, Menlo, monospace; font-size: 8.5pt; color: #0f172a; margin: 3pt 0; }
.method-block .method-detail { font-size: 9pt; line-height: 1.5; color: #1e293b; }
.method-block .method-detail b { color: #0f172a; }
.cascade-arrow { text-align: center; font-size: 12pt; color: #64748b; margin: 2pt 0; }
</style></head><body><h1>03. V1~V4 매칭 방법 — 무엇이고 어떻게 적용되는가</h1><div class="meta">키워드 → 의미 → 구조 → 적용 가능성으로 신호를 누적해 캐스케이드 매칭.</div><div class="method-block"><div class="method-name"><span class="badge">V1</span>키워드 매칭 (Baseline)</div><div class="method-tagline">"이 단어들이 같이 나오나?" — 빠른 후보 필터</div><div class="method-formula">matching_score = 0.414 × 핵심(단독) + 0.320 × 세트(co-occurrence) + 0.265 × 연관</div><div class="method-detail">· 프레임 텍스트에서 <b>핵심 / 세트 / 연관</b> 3계층 키워드 추출<br/>· 가중치는 <b>Logistic Regression 학습</b> (TARGET 4 × 32, LOOCV 4/4)<br/>· 32 프레임 중 1위 = 후보 프레임. <b>TARGET 4/4 정답</b></div></div><div class="cascade-arrow">↓ V1 Top-K 후보를 다음 축으로 재정렬</div><div class="method-block"><div class="method-name"><span class="badge">V2</span>의미 매칭 (semantic rerank)</div><div class="method-tagline">"단어가 달라도 의미가 같은가?"</div><div class="method-formula">similarity = cosine(MDX summary embedding, frame.content embedding) · model = jhgan/ko-sroberta-multitask</div><div class="method-detail">· V1 Top-K 후보 안에서 의미 유사도로 재정렬<br/>· 키워드는 다르지만 같은 주제를 다룰 때 잡아냄</div></div><div class="cascade-arrow"></div><div class="method-block"><div class="method-name"><span class="badge">V3</span>구조 매칭 (structure rerank)</div><div class="method-tagline">"이 콘텐츠를 담을 수 있는 레이아웃인가?"</div><div class="method-formula">score = 0.40 × layout_compat + 0.35 × content_affinity + 0.25 × structure_intent</div><div class="method-detail">· content_affinity 12 enum (concept_definition / goal_axes / persona_benefit / ...)<br/>· structure_intent 9 enum (binary_compare / multi_parallel / state_transition / ...)<br/>· alternative_patterns — 대안 layout 관계 (cycle ↔ 3col-parallel 등)</div></div><div class="cascade-arrow"></div><div class="method-block"><div class="method-name"><span class="badge">V4</span>적용 가능성 판정 (template-fit-v1)</div><div class="method-tagline">"실제로 쓸 수 있나? 어느 정도 수정해야 하나?"</div><div class="method-formula">multi-axis: anchor + cardinality + relation + slot + content - penalty<br/>→ 라벨: <span class="label-use_as_is">use_as_is</span> / <span class="label-light_edit">light_edit</span> / <span class="label-restructure">restructure</span> / <span class="label-reject">reject</span></div><div class="method-detail">· 점수 1위 ≠ 실사용 가능. <b>판정 라벨</b>로 결정<br/>· reject 면 기존 프레임에 없는 신규 콘텐츠 → 재구성 신호</div></div></body></html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="ko"><head><meta charset="utf-8"><title>07. 키워드집 정리 과정</title>
<style>
@page { size: A4 portrait; margin: 12mm; }
* { box-sizing: border-box; }
body {
font-family: -apple-system, "Segoe UI", Pretendard, "Malgun Gothic", sans-serif;
background: white; color: #1e293b; margin: 0; font-size: 9.5pt; line-height: 1.4;
}
@media screen {
body { max-width: 210mm; margin: 10mm auto; box-shadow: 0 4px 24px rgba(0,0,0,0.12); padding: 12mm; background: #fff; }
}
h1 { font-size: 13pt; border-bottom: 2pt solid #2563eb; padding-bottom: 3pt; margin: 0 0 4pt 0; color: #0f172a; }
h2 { font-size: 10pt; color: #1e293b; margin: 6pt 0 3pt; padding: 2pt 5pt; background: #e0e7ff; border-left: 3pt solid #0a6; border-radius: 2pt; }
.meta { color: #64748b; font-size: 8pt; font-style: italic; margin-bottom: 5pt; }
.mdx-card { background: #f8fafc; border: 0.5pt solid #cbd5e1; border-radius: 3pt; padding: 5pt 8pt; margin: 3pt 0 5pt; }
.mdx-card .title { font-weight: 700; color: #0f172a; font-size: 9.5pt; margin-bottom: 2pt; }
.popup-tag { display: inline-block; padding: 1pt 5pt; background: #eef2ff; color: #3730a3; border-radius: 8pt; font-size: 7.5pt; font-weight: 700; margin-left: 4pt; vertical-align: middle; }
.mdx-card ul { margin: 2pt 0 0 0; padding-left: 12pt; font-size: 8pt; color: #475569; }
table { border-collapse: collapse; width: 100%; font-size: 9pt; }
th, td { border: 0.5pt solid #cbd5e1; padding: 3pt 5pt; text-align: left; vertical-align: top; }
th { background: #1e293b; color: white; font-weight: 700; font-size: 8.5pt; text-align: center; }
code { background: #f1f5f9; padding: 0 3pt; border-radius: 2pt; font-family: ui-monospace, Menlo, monospace; font-size: 8.5pt; color: #0f172a; }
.formula-box { background: #eff6ff; border: 0.7pt solid #93c5fd; border-radius: 3pt; padding: 5pt 8pt; margin: 3pt 0; font-size: 9pt; color: #1e3a8a; }
.label-use_as_is { background: #d1fae5; color: #065f46; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
.label-light_edit { background: #dbeafe; color: #1e40af; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
.label-restructure { background: #fef3c7; color: #92400e; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
.label-reject { background: #fee2e2; color: #991b1b; padding: 1pt 5pt; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; }
@page { size: A4 portrait; margin: 12mm; }
.kp-section { margin: 5pt 0 8pt; }
.kp-section .kp-title { font-size: 11pt; font-weight: 700; color: #2563eb; padding: 3pt 7pt; background: #e0e7ff; border-left: 3pt solid #2563eb; border-radius: 2pt; margin-bottom: 4pt; }
.kp-section .kp-title .num { display: inline-block; background: #2563eb; color: white; width: 18pt; height: 18pt; line-height: 18pt; text-align: center; border-radius: 50%; font-size: 9pt; margin-right: 6pt; }
table.kp { width: 100%; font-size: 9pt; border-collapse: collapse; margin: 3pt 0; }
table.kp th { background: #1e293b; color: white; padding: 4pt 7pt; font-size: 8.5pt; text-align: left; }
table.kp td { border: 0.5pt solid #cbd5e1; padding: 4pt 7pt; vertical-align: top; }
table.kp td.num { text-align: right; font-family: ui-monospace, monospace; font-weight: 700; color: #0f172a; }
table.kp tr.total td { background: #fef3c7; font-weight: 700; color: #78350f; }
.kp-rules { background: #fafafa; border: 0.5pt solid #cbd5e1; border-radius: 3pt; padding: 5pt 9pt; font-size: 8.5pt; line-height: 1.55; margin: 3pt 0; }
.kp-rules b { color: #0f172a; }
.kp-rules ul { margin: 2pt 0; padding-left: 14pt; }
.kp-rules code { background: #f1f5f9; padding: 0 4pt; border-radius: 2pt; font-family: ui-monospace, monospace; font-size: 8pt; }
.kp-result { background: #ecfdf5; border: 0.7pt solid #059669; border-radius: 3pt; padding: 5pt 9pt; font-size: 9pt; color: #065f46; margin: 4pt 0; }
.kp-result b { color: #064e3b; font-size: 11pt; }
.kp-sample { background: #fffbeb; border: 0.7pt solid #f59e0b; border-radius: 3pt; padding: 6pt 10pt; margin: 4pt 0; }
.kp-sample .sample-head { font-size: 9.5pt; font-weight: 700; color: #92400e; margin-bottom: 4pt; }
.kp-sample .row { font-size: 8.5pt; line-height: 1.6; margin: 3pt 0; }
.kp-sample .row .label { display: inline-block; min-width: 22mm; font-weight: 700; color: #78350f; }
.kp-sample .row .count { color: #b45309; font-weight: 700; }
.kp-sample .row .terms { color: #1e293b; }
</style></head><body><h1>07. 키워드집 정리 과정 — 어떻게 1,713개로 정리되었나</h1><div class="meta">Figma + BEPS + MDX 문장을 수집 → 형태소 분석 + 표기 통합 → 등장 범위별 분류 → 최종 1,713개 키워드 확정.</div><div class="kp-section"><div class="kp-title"><span class="num">1</span>수집 — 3 출처에서 문장 수집</div><table class="kp"><thead><tr><th>출처</th><th style="width:18%">입력 문서</th><th style="width:22%">수집된 문장</th></tr></thead><tbody><tr><td>Figma 프레임 텍스트</td><td class="num">32 개</td><td class="num">586</td></tr><tr><td>BEPS 마스터 텍스트</td><td class="num">1 개</td><td class="num">1,410</td></tr><tr><td>MDX 검증 구간</td><td class="num">4 개</td><td class="num">129</td></tr><tr class="total"><td>합계</td><td class="num">37 개</td><td class="num">2,125</td></tr></tbody></table></div><div class="kp-section"><div class="kp-title"><span class="num">2</span>전처리 — 형태소 분석 + 표기 통합</div><table class="kp"><thead><tr><th>단계</th><th style="width:22%">전체 등장 수</th><th style="width:22%">고유 단어 수</th></tr></thead><tbody><tr><td>형태소 분석 결과 (원시)</td><td class="num">13,913</td><td class="num">1,738</td></tr><tr><td>전처리 후 (표기 통합 + 보존 규칙 적용)</td><td class="num">14,161</td><td class="num"><b>1,713</b></td></tr></tbody></table><div class="kp-rules"><b>적용 규칙</b><ul><li><b>중요 표기 보존</b> : <code>DX</code>, <code>BIM</code>, <code>S/W</code>, <code>H/W</code>, <code>2D</code>, <code>3D</code>, <code>AS-IS</code>, <code>TO-BE</code> 등 13개 — 깨지면 안 되는 표기</li><li><b>표기 통합</b> : "디지털 전환", "디지털전환" → 대표 표기 <code>DX</code> 로 합침</li><li><b>제외</b> : 1글자 단어, 순수 숫자, 공백/기호만 있는 토큰</li><li><b>품사 사용</b> : 일반명사 / 고유명사 / 외국어 표기 / 숫자 표기만 (조사·동사 등 제외)</li></ul></div></div><div class="kp-section"><div class="kp-title"><span class="num">3</span>분류 — 등장 범위별 3 계층 (1,713 = 451 + 1,238 + 24)</div><table class="kp"><thead><tr><th style="width:22%">계층</th><th style="width:14%">개수</th><th style="width:18%">등장 범위</th><th>의미 / 용도</th></tr></thead><tbody><tr><td><b>핵심 키워드</b></td><td class="num">451</td><td>1 프레임에만</td><td>특정 프레임에만 등장 → <b>식별력 강함</b>. V1 매칭 가중치 0.414</td></tr><tr><td><b>연관 키워드</b></td><td class="num">1,238</td><td>2~9 프레임</td><td>여러 프레임에 보조 등장 → <b>맥락 보강</b>. V1 매칭 가중치 0.265</td></tr><tr><td><b>광범위 공통어</b></td><td class="num">24</td><td>10+ 프레임</td><td>너무 흔해 식별력 낮음 → 매칭에서 가중 작음</td></tr><tr class="total"><td>합계</td><td class="num">1,713</td><td></td><td>전체 고유 키워드</td></tr></tbody></table><div style="font-size:8pt;color:#64748b;margin-top:2pt">※ 위에 더해 <b>키워드 세트 524개</b> 별도 — 같은 프레임 내 함께 등장하는 키워드 묶음 (frame-level 시그니처). V1 매칭 가중치 0.320</div></div><div class="kp-result"><b>결과</b> &nbsp; 2,125 문장 → 형태소 분석 13,913 등장 (고유 1,738) → 전처리 후 <b>최종 1,713 고유 키워드</b> + <b>524 키워드 세트</b>.<br/>키워드는 등장 범위로 3 계층 (451 / 1,238 / 24) — V1 매칭의 핵심·연관·광범위 신호로 사용.</div><div class="kp-sample"></div></body></html>
@@ -0,0 +1,351 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>Figma 32 프레임 후보 키워드 검수</title>
<style>
body {
font-family: -apple-system, 'Segoe UI', 'Malgun Gothic', sans-serif;
max-width: 1800px;
margin: 0 auto;
padding: 24px;
line-height: 1.6;
color: #1e293b;
background: #f8fafc;
}
h1 { color: #1e293b; border-bottom: 3px solid #2563eb; padding-bottom: 12px; }
h2 {
color: #1a365d;
background: #e0e7ff;
padding: 10px 16px;
border-radius: 6px;
margin-top: 32px;
}
hr { border: none; border-top: 1px solid #cbd5e1; margin: 24px 0; }
table {
border-collapse: collapse;
width: 100%;
margin: 12px 0 24px;
background: #fff;
box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
th, td {
border: 1px solid #e2e8f0;
padding: 10px;
text-align: left;
vertical-align: top;
}
th {
background: #1e293b;
color: #fff;
font-weight: 700;
text-align: center;
width: 120px;
}
td:first-child {
background: #f1f5f9;
font-weight: 600;
text-align: center;
width: 120px;
}
td img {
max-width: 260px;
height: auto;
display: block;
margin: 0 auto 6px;
border: 1px solid #cbd5e1;
border-radius: 4px;
}
td br + strong { color: #2563eb; }
</style>
</head>
<body>
<h1>Figma 32 프레임 — 후보 키워드 검수 리포트</h1>
<p><strong>출처</strong>: 각 프레임의 <code>figma_to_html_agent/blocks/{frame_id}/analysis.md</code><code>## 후보 키워드</code> 필드</p>
<p><strong>작성자</strong>: claude-opus-4-7 (2026-04-21, <code>tagged_by</code> 메타 참조)</p>
<p><strong>생성 방법</strong>: 각 프레임의 <code>texts.md</code> (MCP 추출 원본 텍스트 전수) + <code>flat.md</code> (bottom-up 평탄화 + 이상 탐지) 를 AI 가 읽고 15~25개 어휘를 수동 태깅.</p>
<h2>1. 전체 통계</h2>
<ul>
<li>프레임 수: <strong>32</strong></li>
<li>총 키워드 (중복 포함): <strong>436</strong></li>
<li>고유 키워드: <strong>349</strong></li>
<li>
<p>프레임당 평균: <strong>13.6개</strong></p>
</li>
<li>
<p><strong>core</strong> (df ≤ 10%, 1~3 프레임 등장): <strong>341개</strong> — 핵심 가중치 ×1.0</p>
</li>
<li><strong>mid</strong> (df 10~30%): <strong>8개</strong> — 가중치 ×0.5</li>
<li><strong>general</strong> (df ≥ 30%): <strong>0개</strong> — 가중치 ×0.1</li>
</ul>
<h2>2. 프레임별 후보 키워드</h2>
<table>
<thead>
<tr>
<th>#</th>
<th>Frame</th>
<th>제목 (content 1문장)</th>
<th>키워드 수</th>
<th>키워드</th>
</tr>
</thead>
<tbody>
<tr>
<td>01</td>
<td>1171281172</td>
<td>S/W 개발 방향 순환도 — 기술기반 중요성, 디지털전환 직관지 역할, 품질향상과 호환성, 기존 S/W 한계…</td>
<td>12</td>
<td>S/W개발, 개발방향, 순환도, 기술기반, 디지털전환, 직관지, 품질향상, 호환성, S/W한계, 개발목표, 융합, 다이어그램</td>
</tr>
<tr>
<td>02</td>
<td>1171281173</td>
<td>Domain knowledge(토목공학 지식)이 반영될 수 있는 기술기반 — Engineering S/W 개…</td>
<td>11</td>
<td>Engineering, EngineeringSW, Domain knowledge, 토목공학, 지식기반, OpenSource, AI, 추론기반AI, 코딩기반SW, 기술기반, S/W개발</td>
</tr>
<tr>
<td>03</td>
<td>1171281174</td>
<td>국외 BIM/설계 업무 수행 특징 — Claim 최소화, 설계 업무 Data 정리 필수, 기술업무 Manua…</td>
<td>10</td>
<td>국외, BIM수행, Claim최소화, 오류예방, 설계Data, Manual, 기술업무, 데이터통합, 관리, 자체기술력</td>
</tr>
<tr>
<td>04</td>
<td>1171281175</td>
<td>국내 BIM 수행 주체 간 관계 다이어그램 — 건설관리사·설계사·시공사·정부기관(발주처)의 지침·규정·기술 …</td>
<td>12</td>
<td>국내, BIM수행, 건설관리사, 설계사, 시공사, 정부기관, 발주처, 지침, 규정, 기술형식, 4각관계도, 주체별관계</td>
</tr>
<tr>
<td>05</td>
<td>1171281176</td>
<td>보상현황·민원 관리 시각화 활용 — 종합평면도·용지도 기반 토지/물건 현황 시각화, 보상서류/사진/영상 필지…</td>
<td>11</td>
<td>보상현황, 민원관리, 시각화, 종합평면도, 용지도, 토지현황, 물건현황, 보상서류, 필지별, 위치기반시각화, 민원분석</td>
</tr>
<tr>
<td>06</td>
<td>1171281177</td>
<td>보상현황·민원 관리 맵 기반 — 시공 리스크와 사업 맵을 풀페이지로 시각화.…</td>
<td>8</td>
<td>보상현황, 민원관리, 맵, 시공리스크, 사업맵, 풀페이지시각화, 상단배너, 위치기반</td>
</tr>
<tr>
<td>07</td>
<td>1171281178</td>
<td>BIGRoom 시스템 구성 — H/W(Server·Network·회의·CCTV·Drone·Sensor) + …</td>
<td>19</td>
<td>System, BIGRoom, H/W, S/W, Server, Network, 회의시스템, CCTV, Drone, Sensor, 센서, IoT, CCP, WatchBIM, Domainer, 시공관리, 공사단계, 용지보상, 구성</td>
</tr>
<tr>
<td>08</td>
<td>1171281179</td>
<td>효율적인 정보의 관리와 활용 프레임워크 — What(무슨 정보) · How(어떻게 관리) · When(언제 …</td>
<td>11</td>
<td>정보관리, 정보활용, What, How, When, 3섹션, 효율성, 프레임워크, 무슨정보, 어떻게관리, 언제활용</td>
</tr>
<tr>
<td>09</td>
<td>1171281180</td>
<td>시공 전 모델 기반 시공상세 정보물 활용 — 시공계획 작성 지원을 위한 정보물·모델·시뮬레이션·도면·성과물 …</td>
<td>11</td>
<td>시공전모델, 시공상세정보물, 시공계획, 정보물, 모델, 시뮬레이션, 도면, 성과물, 계획작성, 지원, 3D모델</td>
</tr>
<tr>
<td>10</td>
<td>1171281181</td>
<td>현장 실효성 증대를 위한 기본사항 — 디지털 정보·S/W 솔루션·PC 활용·직관적 인터페이스 등 5가지 요소…</td>
<td>10</td>
<td>현장실효성, 기본사항, 디지털정보, S/W솔루션, PC활용, 직관성, 5요소, 다이어그램, 인터페이스, 현장적용</td>
</tr>
<tr>
<td>11</td>
<td>1171281182</td>
<td>시공단계에서 BIM 모델과 정보 활용의 3가지 구분 — 모델기반(Model-based)·Object 기반·P…</td>
<td>11</td>
<td>시공단계, BIM모델, 정보활용, 모델기반, Object, Position, Model, 3카테고리, 활용구분, Object기반, Position기반</td>
</tr>
<tr>
<td>12</td>
<td>1171281189</td>
<td>건설산업 DX의 궁극적 목표 — 안전·품질·생산성의 3원 교차, 소통과 신뢰가 모두 포함되는 교차 영역으로 …</td>
<td>15</td>
<td>건설산업, 건설산업목표, BIM목적, 안전, 품질, 생산성, 소통, 신뢰, 3원교차, 교차다이어그램, 궁극적목표, 디지털검증, 하자예방, 효율, 협업</td>
</tr>
<tr>
<td>13</td>
<td>1171281190</td>
<td>DX 시행을 위한 3대 필수조건 — 기술(디지털) · 사람(역량) · 자연(여건)의 조화. 각 요소의 세부 …</td>
<td>19</td>
<td>필수조건, 기술, 디지털기술, 사람, 역량, 자연, 여건, 기반, 기반지식, 창의성, 3요소, 전문지식, 경험, 투자, DX, BIM, 건설산업, 토목, 디지털</td>
</tr>
<tr>
<td>14</td>
<td>1171281191</td>
<td>DX 시행 주체별 기대효과 — 발주자·시공자·설계자 각각의 역할별 목표와 기대 효과를 페르소나 카드로 정리.…</td>
<td>27</td>
<td>발주자, 시공자, 설계자, 주체별, 기대효과, 페르소나, 역할, 역량목표, 소통, 협업, 품질향상, 생산성향상, Claim, 리스크최소화, 민원예방, 오류예방, 행정자동화, 디지털자산관리, 공사Risk, 현장실효성, 현장맞춤형, DX, 건설, 시공, 설계, 품질, 생산성</td>
</tr>
<tr>
<td>15</td>
<td>1171281192</td>
<td>건설 DX 정책목표 4가지와 실행요건 — 성장동력 재도약, 공사비 30% 절감, 안전사고 40% 감소, 고부…</td>
<td>19</td>
<td>정책목표, 실행요건, 성장동력, 재도약, 공사비절감, 안전사고, 40%감소, 고부가가치, 산업전환, 30%절감, 혁신적사고, 창의적문제해결, 사용자중심, UX, 프로세스능력, DX, Process, 디지털, 업무</td>
</tr>
<tr>
<td>16</td>
<td>1171281193</td>
<td>BIM 수행 실정 — 4가지 근본 이슈(정책 집행 인정주의, 수행 개념 정립 부재, 근본 취지 이해부족, 지…</td>
<td>14</td>
<td>BIM수행, 수행실정, 정책집행, 인정주의, 수행개념, 개념부재, 근본취지, 이해부족, 투자의지, 지속투자, 4사분면, 이슈, Rome, 인용구</td>
</tr>
<tr>
<td>17</td>
<td>1171281194</td>
<td>BIM 수행 현황과 문제점 — 개념 부재(CAD 확장판 오인), 잘못된 접근방식(도구로만 인식), 방향성 상…</td>
<td>13</td>
<td>현황, 문제점, 개념부재, 접근방식, 잘못된접근, 방향성상실, 기술예속, 전제조건오류, CAD확장판, 도구인식, 방향, 오류, paired</td>
</tr>
<tr>
<td>18</td>
<td>1171281195</td>
<td>BIM과 DX 용어 혼용 정리 — 개념 범위·S/W·프로세스·성과품·활용·확장성·수행개념·주체 등 관점별 행…</td>
<td>28</td>
<td>BIM, DX, 범위, 성과품, 확장성, 수행개념, 수행주체, 발주처, 설계사, 시공사, 용어비교, 상호관계, 혼용, 프로세스, 활용, 운영, 의존, 상용, CIVIL, IT, 구체, 소극, 적극, 해외, 국내, 건설, 디지털, S/W</td>
</tr>
<tr>
<td>19</td>
<td>1171281197</td>
<td>설계방식의 왜곡 문제 — 엔지니어의 기능인化, 저부가가치, 단순반복 업무로의 전락을 3열 비교로 설명.…</td>
<td>9</td>
<td>설계방식왜곡, 엔지니어, 기능인, 저부가가치, 단순반복, 건설산업설계, 설계특성, 3열비교, 전락</td>
</tr>
<tr>
<td>20</td>
<td>1171281198</td>
<td>디지털 전환(DX) 실현을 위한 S/W 필수성 — BIM·디지털·전면설계 관점에서 고부가가치 실현을 3열 카…</td>
<td>9</td>
<td>디지털전환, DX, S/W필수, BIM, 디지털, 전면설계, 고부가가치, 3열카드, DX전환</td>
</tr>
<tr>
<td>21</td>
<td>1171281201</td>
<td>Solution Engineering S/W — 협업·맞춤형·User 중심·시공 결론으로 이어지는 솔루션 엔…</td>
<td>11</td>
<td>Solution, SolutionEngineering, Engn.S/W, EngineeringSW, 협업, User, 맞춤형, 시공, 결론, split-panel, 다이어그램</td>
</tr>
<tr>
<td>22</td>
<td>1171281202</td>
<td>Model 특화 Engineering S/W — GIS·Modeler·Simulation 등 모델 중심 S/…</td>
<td>11</td>
<td>Model특화, Engn.S/W, EngineeringSW, GIS, Modeler, Simulation, 고가, 고사양, 전문가중심, 모델중심, split-panel</td>
</tr>
<tr>
<td>23</td>
<td>1171281203</td>
<td>Application S/W 2가지 구분 — Package와 Solution의 정의·특징·장점·단점·고객 차…</td>
<td>12</td>
<td>ApplicationSW, S/W구분, Package, Solution, Commercial, 고객, 정의, 특징, 장점, 단점, 2열비교, 표</td>
</tr>
<tr>
<td>24</td>
<td>1171281204</td>
<td>Engineering S/W의 구성과 특징 — 상용·3rd Party·전용 S/W 3가지 유형을 개념·특징·…</td>
<td>13</td>
<td>Engn.S/W, EngineeringSW, 구성, 특징, 상용, 3rdParty, 전문, 전용, 개념, 개발주체, 성과품, 3열비교, 표</td>
</tr>
<tr>
<td>25</td>
<td>1171281205</td>
<td>상용 Engineering S/W의 4가지 카테고리 — 조사/계획/분석, 해석, 단가/공정, Graphic별…</td>
<td>11</td>
<td>상용, 상용S/W, Engn.S/W, EngineeringSW, 조사계획분석, 해석, 단가공정, Graphic, 4카테고리, 3rdParty, S/W로고</td>
</tr>
<tr>
<td>26</td>
<td>1171281206</td>
<td>상용 S/W 의존이 초래한 4가지 문제 — 독과점 생태계 형성, 기술예속 심화, S/W 사용료 과다, 존폐 …</td>
<td>11</td>
<td>상용S/W의존, 독과점, 독과점생태계, 기술예속, S/W사용료, 과다, 존폐위기, 4문제, 4대문제, 시장지배력, 3rdParty</td>
</tr>
<tr>
<td>27</td>
<td>1171281208</td>
<td>정부주도 BIM 설계 전면 도입을 통한 건설산업 고부가가치화 — 좌측 생산성 향상, 우측 디지털 전환, 중앙…</td>
<td>10</td>
<td>건설산업, 고부가가치화, 정부주도, BIM설계, 전면도입, 생산성향상, 디지털전환, DX, central-split, 결론</td>
</tr>
<tr>
<td>28</td>
<td>1171281209</td>
<td>현존 상용 Engineering S/W의 현실 비판 — 토목 실무 전문성 부족, 비효율성, 토목 실무 적용 …</td>
<td>11</td>
<td>상용S/W, 상용, 토목, 토목실무, 전문성, 전문성부족, 비효율성, 실무적용, 3강조, 현실, 한계</td>
</tr>
<tr>
<td>29</td>
<td>1171281210</td>
<td>Process 혁신과 Product 혁신 — 과정의 Analogue→Digital Transformation…</td>
<td>28</td>
<td>과정혁신, 결과혁신, Analogue, Digital, 2D, 3D, Transformation, Product, Process, AS-IS, TO-BE, 융복합, 창의성, 투명성, 실체, 지반모델, 본태측량, 수치지형도, 위치기반, 등고선, 3D모델, 시공Solution, 설계Solution, 성과물, 정보물, Solution, BIM, GIS</td>
</tr>
<tr>
<td>30</td>
<td>1171281211</td>
<td>산업별 현황 비교 — 제조업·건축·토목 3개 산업을 개요·Keyword·참여자·S/W·발전방향·시장규모 관점…</td>
<td>13</td>
<td>산업별현황, 제조업, 건축, 토목, 개요, Keyword, 참여자, S/W, 발전방향, 시장규모, 3열비교, 표, 3산업</td>
</tr>
<tr>
<td>31</td>
<td>1171281212</td>
<td>산업별 특성과 발전방향 비교 — 제조업·건축·토목 3개 산업의 특징·S/W 적용·발전방향을 3열 표로 비교.…</td>
<td>11</td>
<td>산업별특성, 발전방향, 제조업, 건축, 토목, 특징, S/W, 3열표, 3산업, 산업비교, 개요</td>
</tr>
<tr>
<td>32</td>
<td>1171281213</td>
<td>정책 달성 방안 — Engineering Solution과 DfMA(Design for Manufacture…</td>
<td>15</td>
<td>정책달성, Engn.Solution, EngineeringSolution, DfMA, DesignForManufacture, 공장생산, 현장조립, 디지털, 사용자, Easy, Quality, Cost, Speed, 5대목표, 5목표</td>
</tr>
</tbody>
</table>
<h2>3. Tier 별 전체 키워드 (매칭 가중치 분류)</h2>
<h3>3-1. Core (341개, df ≤ 10% — 가중치 ×1.0)</h3>
<p>특정 프레임에만 등장하는 고유 어휘. 매칭에서 결정적 신호.</p>
<p><code>3rdParty</code>(3), <code>3열비교</code>(3), <code>BIM수행</code>(3), <code>Solution</code>(3), <code>건설산업</code>(3), <code>다이어그램</code>(3), <code>디지털전환</code>(3), <code>특징</code>(3), <code></code>(3), <code>협업</code>(3), <code>3D모델</code>(2), <code>3산업</code>(2), <code>GIS</code>(2), <code>Process</code>(2), <code>S/W개발</code>(2), <code>split-panel</code>(2), <code>개념부재</code>(2), <code>개요</code>(2), <code>건설</code>(2), <code>건축</code>(2), <code>결론</code>(2), <code>고부가가치</code>(2), <code>구성</code>(2), <code>국내</code>(2), <code>기술기반</code>(2), <code>기술예속</code>(2), <code>민원관리</code>(2), <code>발전방향</code>(2), <code>발주처</code>(2), <code>보상현황</code>(2), <code>상용S/W</code>(2), <code>생산성</code>(2), <code>생산성향상</code>(2), <code>설계사</code>(2), <code>성과물</code>(2), <code>성과품</code>(2), <code>소통</code>(2), <code>수행개념</code>(2), <code>시공</code>(2), <code>시공사</code>(2), <code>오류예방</code>(2), <code>위치기반</code>(2), <code>정보물</code>(2), <code>정보활용</code>(2), <code>제조업</code>(2), <code>창의성</code>(2), <code>품질</code>(2), <code>품질향상</code>(2), <code>현장실효성</code>(2), <code>2D</code>(1), <code>2열비교</code>(1), <code>30%절감</code>(1), <code>3D</code>(1), <code>3강조</code>(1), <code>3섹션</code>(1), <code>3열카드</code>(1), <code>3열표</code>(1), <code>3요소</code>(1), <code>3원교차</code>(1), <code>3카테고리</code>(1), <code>40%감소</code>(1), <code>4각관계도</code>(1), <code>4대문제</code>(1), <code>4문제</code>(1), <code>4사분면</code>(1), <code>4카테고리</code>(1), <code>5대목표</code>(1), <code>5목표</code>(1), <code>5요소</code>(1), <code>AI</code>(1), <code>AS-IS</code>(1), <code>Analogue</code>(1), <code>ApplicationSW</code>(1), <code>BIGRoom</code>(1), <code>BIM모델</code>(1), <code>BIM목적</code>(1), <code>BIM설계</code>(1), <code>CAD확장판</code>(1), <code>CCP</code>(1), <code>CCTV</code>(1)
... (총 341개)</p>
<h3>3-2. Mid (8개, df 10~30% — 가중치 ×0.5)</h3>
<p><code>DX</code>(6), <code>EngineeringSW</code>(5), <code>디지털</code>(5), <code>BIM</code>(4), <code>Engn.S/W</code>(4), <code>S/W</code>(4), <code>상용</code>(4), <code>토목</code>(4)</p>
<h3>3-3. General (0개, df ≥ 30% — 가중치 ×0.1)</h3>
<p>여러 프레임에 등장해 변별력이 낮은 범용어.</p>
<h2>4. 매칭에서의 활용 (Phase 23)</h2>
<p>```
MDX 본문 →
synonyms.yaml 치환 →
Kiwi 형태소 분석 (명사/영문/숫자만) →
위 vocab (32개 프레임 전체 키워드 합집합) 과 교집합 →
MDX 키워드 셋 확보</p>
<p>각 프레임 점수 = IDF 가중 Jaccard(MDX 키워드 셋, 프레임 키워드 셋)
여기서 각 키워드 기여도는 df 기반 tier 가중치 적용
```</p>
<p><strong>사용처</strong>:
- Phase 23 (키워드만), 24 (+내용), 25 (+구조) — <strong>legacy 축</strong>
- Phase 26 (template-fit-v1) 는 이 키워드 리스트 대신 프레임별 <code>anchor_sets</code> (구조화된 named set) 사용</p>
<h2>5. 원본 파일 직접 확인</h2>
<p>각 프레임의 analysis.md 에 그대로 기록:</p>
<p><code>bash
cat figma_to_html_agent/blocks/1171281190/analysis.md</code></p>
<p>전체 검수:</p>
<p><code>bash
grep -A 2 '## 후보 키워드' figma_to_html_agent/blocks/*/analysis.md</code></p>
</body>
</html>
@@ -0,0 +1,105 @@
# Figma 32 프레임 — 후보 키워드 검수 리포트
**출처**: 각 프레임의 `figma_to_html_agent/blocks/{frame_id}/analysis.md``## 후보 키워드` 필드
**작성자**: claude-opus-4-7 (2026-04-21, `tagged_by` 메타 참조)
**생성 방법**: 각 프레임의 `texts.md` (MCP 추출 원본 텍스트 전수) + `flat.md` (bottom-up 평탄화 + 이상 탐지) 를 AI 가 읽고 15~25개 어휘를 수동 태깅.
## 1. 전체 통계
- 프레임 수: **32**
- 총 키워드 (중복 포함): **436**
- 고유 키워드: **349**
- 프레임당 평균: **13.6개**
- **core** (df ≤ 10%, 1~3 프레임 등장): **341개** — 핵심 가중치 ×1.0
- **mid** (df 10~30%): **8개** — 가중치 ×0.5
- **general** (df ≥ 30%): **0개** — 가중치 ×0.1
## 2. 프레임별 후보 키워드
| # | Frame | 제목 (content 1문장) | 키워드 수 | 키워드 |
|---|-------|---------------------|----------|--------|
| 01 | 1171281172 | S/W 개발 방향 순환도 — 기술기반 중요성, 디지털전환 직관지 역할, 품질향상과 호환성, 기존 S/W 한계… | 12 | S/W개발, 개발방향, 순환도, 기술기반, 디지털전환, 직관지, 품질향상, 호환성, S/W한계, 개발목표, 융합, 다이어그램 |
| 02 | 1171281173 | Domain knowledge(토목공학 지식)이 반영될 수 있는 기술기반 — Engineering S/W 개… | 11 | Engineering, EngineeringSW, Domain knowledge, 토목공학, 지식기반, OpenSource, AI, 추론기반AI, 코딩기반SW, 기술기반, S/W개발 |
| 03 | 1171281174 | 국외 BIM/설계 업무 수행 특징 — Claim 최소화, 설계 업무 Data 정리 필수, 기술업무 Manua… | 10 | 국외, BIM수행, Claim최소화, 오류예방, 설계Data, Manual, 기술업무, 데이터통합, 관리, 자체기술력 |
| 04 | 1171281175 | 국내 BIM 수행 주체 간 관계 다이어그램 — 건설관리사·설계사·시공사·정부기관(발주처)의 지침·규정·기술 … | 12 | 국내, BIM수행, 건설관리사, 설계사, 시공사, 정부기관, 발주처, 지침, 규정, 기술형식, 4각관계도, 주체별관계 |
| 05 | 1171281176 | 보상현황·민원 관리 시각화 활용 — 종합평면도·용지도 기반 토지/물건 현황 시각화, 보상서류/사진/영상 필지… | 11 | 보상현황, 민원관리, 시각화, 종합평면도, 용지도, 토지현황, 물건현황, 보상서류, 필지별, 위치기반시각화, 민원분석 |
| 06 | 1171281177 | 보상현황·민원 관리 맵 기반 — 시공 리스크와 사업 맵을 풀페이지로 시각화.… | 8 | 보상현황, 민원관리, 맵, 시공리스크, 사업맵, 풀페이지시각화, 상단배너, 위치기반 |
| 07 | 1171281178 | BIGRoom 시스템 구성 — H/W(Server·Network·회의·CCTV·Drone·Sensor) + … | 19 | System, BIGRoom, H/W, S/W, Server, Network, 회의시스템, CCTV, Drone, Sensor, 센서, IoT, CCP, WatchBIM, Domainer, 시공관리, 공사단계, 용지보상, 구성 |
| 08 | 1171281179 | 효율적인 정보의 관리와 활용 프레임워크 — What(무슨 정보) · How(어떻게 관리) · When(언제 … | 11 | 정보관리, 정보활용, What, How, When, 3섹션, 효율성, 프레임워크, 무슨정보, 어떻게관리, 언제활용 |
| 09 | 1171281180 | 시공 전 모델 기반 시공상세 정보물 활용 — 시공계획 작성 지원을 위한 정보물·모델·시뮬레이션·도면·성과물 … | 11 | 시공전모델, 시공상세정보물, 시공계획, 정보물, 모델, 시뮬레이션, 도면, 성과물, 계획작성, 지원, 3D모델 |
| 10 | 1171281181 | 현장 실효성 증대를 위한 기본사항 — 디지털 정보·S/W 솔루션·PC 활용·직관적 인터페이스 등 5가지 요소… | 10 | 현장실효성, 기본사항, 디지털정보, S/W솔루션, PC활용, 직관성, 5요소, 다이어그램, 인터페이스, 현장적용 |
| 11 | 1171281182 | 시공단계에서 BIM 모델과 정보 활용의 3가지 구분 — 모델기반(Model-based)·Object 기반·P… | 11 | 시공단계, BIM모델, 정보활용, 모델기반, Object, Position, Model, 3카테고리, 활용구분, Object기반, Position기반 |
| 12 | 1171281189 | 건설산업 DX의 궁극적 목표 — 안전·품질·생산성의 3원 교차, 소통과 신뢰가 모두 포함되는 교차 영역으로 … | 15 | 건설산업, 건설산업목표, BIM목적, 안전, 품질, 생산성, 소통, 신뢰, 3원교차, 교차다이어그램, 궁극적목표, 디지털검증, 하자예방, 효율, 협업 |
| 13 | 1171281190 | DX 시행을 위한 3대 필수조건 — 기술(디지털) · 사람(역량) · 자연(여건)의 조화. 각 요소의 세부 … | 19 | 필수조건, 기술, 디지털기술, 사람, 역량, 자연, 여건, 기반, 기반지식, 창의성, 3요소, 전문지식, 경험, 투자, DX, BIM, 건설산업, 토목, 디지털 |
| 14 | 1171281191 | DX 시행 주체별 기대효과 — 발주자·시공자·설계자 각각의 역할별 목표와 기대 효과를 페르소나 카드로 정리.… | 27 | 발주자, 시공자, 설계자, 주체별, 기대효과, 페르소나, 역할, 역량목표, 소통, 협업, 품질향상, 생산성향상, Claim, 리스크최소화, 민원예방, 오류예방, 행정자동화, 디지털자산관리, 공사Risk, 현장실효성, 현장맞춤형, DX, 건설, 시공, 설계, 품질, 생산성 |
| 15 | 1171281192 | 건설 DX 정책목표 4가지와 실행요건 — 성장동력 재도약, 공사비 30% 절감, 안전사고 40% 감소, 고부… | 19 | 정책목표, 실행요건, 성장동력, 재도약, 공사비절감, 안전사고, 40%감소, 고부가가치, 산업전환, 30%절감, 혁신적사고, 창의적문제해결, 사용자중심, UX, 프로세스능력, DX, Process, 디지털, 업무 |
| 16 | 1171281193 | BIM 수행 실정 — 4가지 근본 이슈(정책 집행 인정주의, 수행 개념 정립 부재, 근본 취지 이해부족, 지… | 14 | BIM수행, 수행실정, 정책집행, 인정주의, 수행개념, 개념부재, 근본취지, 이해부족, 투자의지, 지속투자, 4사분면, 이슈, Rome, 인용구 |
| 17 | 1171281194 | BIM 수행 현황과 문제점 — 개념 부재(CAD 확장판 오인), 잘못된 접근방식(도구로만 인식), 방향성 상… | 13 | 현황, 문제점, 개념부재, 접근방식, 잘못된접근, 방향성상실, 기술예속, 전제조건오류, CAD확장판, 도구인식, 방향, 오류, paired |
| 18 | 1171281195 | BIM과 DX 용어 혼용 정리 — 개념 범위·S/W·프로세스·성과품·활용·확장성·수행개념·주체 등 관점별 행… | 28 | BIM, DX, 범위, 성과품, 확장성, 수행개념, 수행주체, 발주처, 설계사, 시공사, 용어비교, 상호관계, 혼용, 프로세스, 활용, 운영, 의존, 상용, CIVIL, IT, 구체, 소극, 적극, 해외, 국내, 건설, 디지털, S/W |
| 19 | 1171281197 | 설계방식의 왜곡 문제 — 엔지니어의 기능인化, 저부가가치, 단순반복 업무로의 전락을 3열 비교로 설명.… | 9 | 설계방식왜곡, 엔지니어, 기능인, 저부가가치, 단순반복, 건설산업설계, 설계특성, 3열비교, 전락 |
| 20 | 1171281198 | 디지털 전환(DX) 실현을 위한 S/W 필수성 — BIM·디지털·전면설계 관점에서 고부가가치 실현을 3열 카… | 9 | 디지털전환, DX, S/W필수, BIM, 디지털, 전면설계, 고부가가치, 3열카드, DX전환 |
| 21 | 1171281201 | Solution Engineering S/W — 협업·맞춤형·User 중심·시공 결론으로 이어지는 솔루션 엔… | 11 | Solution, SolutionEngineering, Engn.S/W, EngineeringSW, 협업, User, 맞춤형, 시공, 결론, split-panel, 다이어그램 |
| 22 | 1171281202 | Model 특화 Engineering S/W — GIS·Modeler·Simulation 등 모델 중심 S/… | 11 | Model특화, Engn.S/W, EngineeringSW, GIS, Modeler, Simulation, 고가, 고사양, 전문가중심, 모델중심, split-panel |
| 23 | 1171281203 | Application S/W 2가지 구분 — Package와 Solution의 정의·특징·장점·단점·고객 차… | 12 | ApplicationSW, S/W구분, Package, Solution, Commercial, 고객, 정의, 특징, 장점, 단점, 2열비교, 표 |
| 24 | 1171281204 | Engineering S/W의 구성과 특징 — 상용·3rd Party·전용 S/W 3가지 유형을 개념·특징·… | 13 | Engn.S/W, EngineeringSW, 구성, 특징, 상용, 3rdParty, 전문, 전용, 개념, 개발주체, 성과품, 3열비교, 표 |
| 25 | 1171281205 | 상용 Engineering S/W의 4가지 카테고리 — 조사/계획/분석, 해석, 단가/공정, Graphic별… | 11 | 상용, 상용S/W, Engn.S/W, EngineeringSW, 조사계획분석, 해석, 단가공정, Graphic, 4카테고리, 3rdParty, S/W로고 |
| 26 | 1171281206 | 상용 S/W 의존이 초래한 4가지 문제 — 독과점 생태계 형성, 기술예속 심화, S/W 사용료 과다, 존폐 … | 11 | 상용S/W의존, 독과점, 독과점생태계, 기술예속, S/W사용료, 과다, 존폐위기, 4문제, 4대문제, 시장지배력, 3rdParty |
| 27 | 1171281208 | 정부주도 BIM 설계 전면 도입을 통한 건설산업 고부가가치화 — 좌측 생산성 향상, 우측 디지털 전환, 중앙… | 10 | 건설산업, 고부가가치화, 정부주도, BIM설계, 전면도입, 생산성향상, 디지털전환, DX, central-split, 결론 |
| 28 | 1171281209 | 현존 상용 Engineering S/W의 현실 비판 — 토목 실무 전문성 부족, 비효율성, 토목 실무 적용 … | 11 | 상용S/W, 상용, 토목, 토목실무, 전문성, 전문성부족, 비효율성, 실무적용, 3강조, 현실, 한계 |
| 29 | 1171281210 | Process 혁신과 Product 혁신 — 과정의 Analogue→Digital Transformation… | 28 | 과정혁신, 결과혁신, Analogue, Digital, 2D, 3D, Transformation, Product, Process, AS-IS, TO-BE, 융복합, 창의성, 투명성, 실체, 지반모델, 본태측량, 수치지형도, 위치기반, 등고선, 3D모델, 시공Solution, 설계Solution, 성과물, 정보물, Solution, BIM, GIS |
| 30 | 1171281211 | 산업별 현황 비교 — 제조업·건축·토목 3개 산업을 개요·Keyword·참여자·S/W·발전방향·시장규모 관점… | 13 | 산업별현황, 제조업, 건축, 토목, 개요, Keyword, 참여자, S/W, 발전방향, 시장규모, 3열비교, 표, 3산업 |
| 31 | 1171281212 | 산업별 특성과 발전방향 비교 — 제조업·건축·토목 3개 산업의 특징·S/W 적용·발전방향을 3열 표로 비교.… | 11 | 산업별특성, 발전방향, 제조업, 건축, 토목, 특징, S/W, 3열표, 3산업, 산업비교, 개요 |
| 32 | 1171281213 | 정책 달성 방안 — Engineering Solution과 DfMA(Design for Manufacture… | 15 | 정책달성, Engn.Solution, EngineeringSolution, DfMA, DesignForManufacture, 공장생산, 현장조립, 디지털, 사용자, Easy, Quality, Cost, Speed, 5대목표, 5목표 |
## 3. Tier 별 전체 키워드 (매칭 가중치 분류)
### 3-1. Core (341개, df ≤ 10% — 가중치 ×1.0)
특정 프레임에만 등장하는 고유 어휘. 매칭에서 결정적 신호.
`3rdParty`(3), `3열비교`(3), `BIM수행`(3), `Solution`(3), `건설산업`(3), `다이어그램`(3), `디지털전환`(3), `특징`(3), `표`(3), `협업`(3), `3D모델`(2), `3산업`(2), `GIS`(2), `Process`(2), `S/W개발`(2), `split-panel`(2), `개념부재`(2), `개요`(2), `건설`(2), `건축`(2), `결론`(2), `고부가가치`(2), `구성`(2), `국내`(2), `기술기반`(2), `기술예속`(2), `민원관리`(2), `발전방향`(2), `발주처`(2), `보상현황`(2), `상용S/W`(2), `생산성`(2), `생산성향상`(2), `설계사`(2), `성과물`(2), `성과품`(2), `소통`(2), `수행개념`(2), `시공`(2), `시공사`(2), `오류예방`(2), `위치기반`(2), `정보물`(2), `정보활용`(2), `제조업`(2), `창의성`(2), `품질`(2), `품질향상`(2), `현장실효성`(2), `2D`(1), `2열비교`(1), `30%절감`(1), `3D`(1), `3강조`(1), `3섹션`(1), `3열카드`(1), `3열표`(1), `3요소`(1), `3원교차`(1), `3카테고리`(1), `40%감소`(1), `4각관계도`(1), `4대문제`(1), `4문제`(1), `4사분면`(1), `4카테고리`(1), `5대목표`(1), `5목표`(1), `5요소`(1), `AI`(1), `AS-IS`(1), `Analogue`(1), `ApplicationSW`(1), `BIGRoom`(1), `BIM모델`(1), `BIM목적`(1), `BIM설계`(1), `CAD확장판`(1), `CCP`(1), `CCTV`(1)
... (총 341개)
### 3-2. Mid (8개, df 10~30% — 가중치 ×0.5)
`DX`(6), `EngineeringSW`(5), `디지털`(5), `BIM`(4), `Engn.S/W`(4), `S/W`(4), `상용`(4), `토목`(4)
### 3-3. General (0개, df ≥ 30% — 가중치 ×0.1)
여러 프레임에 등장해 변별력이 낮은 범용어.
## 4. 매칭에서의 활용 (Phase 23)
```
MDX 본문 →
synonyms.yaml 치환 →
Kiwi 형태소 분석 (명사/영문/숫자만) →
위 vocab (32개 프레임 전체 키워드 합집합) 과 교집합 →
MDX 키워드 셋 확보
각 프레임 점수 = IDF 가중 Jaccard(MDX 키워드 셋, 프레임 키워드 셋)
여기서 각 키워드 기여도는 df 기반 tier 가중치 적용
```
**사용처**:
- Phase 23 (키워드만), 24 (+내용), 25 (+구조) — **legacy 축**
- Phase 26 (template-fit-v1) 는 이 키워드 리스트 대신 프레임별 `anchor_sets` (구조화된 named set) 사용
## 5. 원본 파일 직접 확인
각 프레임의 analysis.md 에 그대로 기록:
```bash
cat figma_to_html_agent/blocks/1171281190/analysis.md
```
전체 검수:
```bash
grep -A 2 '## 후보 키워드' figma_to_html_agent/blocks/*/analysis.md
```
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,85 @@
# V4 slot 축 ablation — 실증
## 질문
V4 confidence 계산식의 slot 축 (W_SLOT=0.15) 이 frame 매칭에 실제로 기여하는가?
## 방법
- **Baseline**: 5축 가중치 그대로 — 0.25 anchor + 0.20 card + 0.20 rel + 0.15 slot + 0.20 content
- **Ablated**: W_SLOT=0, 나머지 4축 비례 재정규화 (sum=1.0)
- anchor: 0.294, cardinality: 0.235, relation: 0.235, content: 0.235
- 32 frame × 7 MDX 섹션 confidence 재계산 → label 재할당 → 비교
## 결과 1 — TARGET 4 섹션의 정답 frame 라벨/순위 변화
| MDX | 정답 Frame | Baseline conf / 라벨 / 순위 | Ablated conf / 라벨 / 순위 | 변화 |
|---|---|---|---|---|
| 01-2 | Frame 18 | 0.946 / use_as_is / 순위 1 | 0.936 / use_as_is / 순위 1 | 동일 |
| 02-2.2 | Frame 14 | 0.293 / reject / 순위 7 | 0.292 / reject / 순위 5 | ⚠️ 변화 |
| 03-1 | Frame 13 | 0.927 / use_as_is / 순위 1 | 0.914 / use_as_is / 순위 1 | 동일 |
| 03-2 | Frame 29 | 0.920 / use_as_is / 순위 1 | 0.906 / use_as_is / 순위 1 | 동일 |
**TARGET Top-1 정답률**: Baseline 3/4, Ablated 3/4
## 결과 2 — 각 섹션 Top-3 매칭 변화
### [01-2] TARGET (정답 Frame 18)
| 순위 | Baseline | Ablated |
|---|---|---|
| 1 | Frame 18 🎯 (0.946, use_as_is) | Frame 18 🎯 (0.936, use_as_is) |
| 2 | Frame 29 (0.868, reject) | Frame 29 (0.844, light_edit) |
| 3 | Frame 24 (0.757, light_edit) | Frame 24 (0.802, light_edit) |
### [02-2.2] TARGET (정답 Frame 14)
| 순위 | Baseline | Ablated |
|---|---|---|
| 1 | Frame 6 (0.492, reject) | Frame 6 (0.438, reject) |
| 2 | Frame 27 (0.395, reject) | Frame 27 (0.377, reject) |
| 3 | Frame 24 (0.384, reject) | Frame 24 (0.363, reject) |
### [03-1] TARGET (정답 Frame 13)
| 순위 | Baseline | Ablated |
|---|---|---|
| 1 | Frame 13 🎯 (0.927, use_as_is) | Frame 13 🎯 (0.914, use_as_is) |
| 2 | Frame 20 (0.841, light_edit) | Frame 20 (0.813, light_edit) |
| 3 | Frame 28 (0.720, reject) | Frame 28 (0.671, restructure) |
### [03-2] TARGET (정답 Frame 29)
| 순위 | Baseline | Ablated |
|---|---|---|
| 1 | Frame 29 🎯 (0.920, use_as_is) | Frame 29 🎯 (0.906, use_as_is) |
| 2 | Frame 18 (0.814, reject) | Frame 18 (0.781, light_edit) |
| 3 | Frame 23 (0.647, reject) | Frame 24 (0.664, restructure) |
### [01-1] Holdout (holdout)
| 순위 | Baseline | Ablated |
|---|---|---|
| 1 | Frame 11 (0.910, use_as_is) | Frame 11 (0.894, light_edit) |
| 2 | Frame 12 (0.826, light_edit) | Frame 12 (0.795, light_edit) |
| 3 | Frame 20 (0.817, light_edit) | Frame 20 (0.784, light_edit) |
### [02-1] Holdout (holdout)
| 순위 | Baseline | Ablated |
|---|---|---|
| 1 | Frame 12 (0.914, use_as_is) | Frame 12 (0.899, light_edit) |
| 2 | Frame 14 (0.766, reject) | Frame 14 (0.724, restructure) |
| 3 | Frame 20 (0.751, reject) | Frame 20 (0.707, restructure) |
### [02-2.1] Holdout (holdout)
| 순위 | Baseline | Ablated |
|---|---|---|
| 1 | Frame 7 (0.469, reject) | Frame 7 (0.464, reject) |
| 2 | Frame 24 (0.465, reject) | Frame 24 (0.459, reject) |
| 3 | Frame 6 (0.465, reject) | Frame 29 (0.459, reject) |
## 결과 3 — 라벨 분포 변화 (32 frame 기준)
| MDX | use_as_is | light_edit | restructure | reject |
|---|---|---|---|---|
| 01-2 | 1 | 1→2 | 2 | 28→27 |
| 02-2.2 | 0 | 0 | 0 | 32 |
| 03-1 | 1 | 1 | 0→2 | 30→28 |
| 03-2 | 1 | 0→1 | 1 | 30→29 |
| 01-1 | 1→0 | 2→3 | 2→4 | 27→25 |
| 02-1 | 1→0 | 0→1 | 1→4 | 30→27 |
| 02-2.1 | 0 | 0 | 0 | 32 |
## 결론
- **Top-1 일치 섹션 수**: 7/7
- **Top-3 멤버 일치 섹션 수**: 5/7
- **TARGET Top-1 정답률**: Baseline 3/4 → Ablated 3/4