🔬 연구 방법론 (Methodology)

CINA는 UNFCCC 협상 텍스트를 외교부가 즉시 사용 가능한 전략 인텔리전스로 변환하는 3단계 파이프라인입니다. 각 단계는 학술 이론에 정박해 있으며, 모든 산출물은 (텍스트 인용 + 구조적 근거) 이중 grounding으로 검증됩니다.

§1 Interactive

인터랙티브 파이프라인 (노드를 클릭하세요)

각 단계 노드를 클릭하면 입력·처리·출력·이론 근거가 펼쳐집니다.

📥 Stage 0 Data Collection UNFCCC · NDC · ENB · IPCC 225 manifest · ~720MB 🤖 Stage 1: Stance Extraction Multi-LLM ensemble (k=5 sampling) Bayesian credible interval NATO 4-axis · 5 frames Procedural authority signals 📊 Country × Issue Tensor 98 stance records 13 countries × 6 issues w/ evidence quotes 🕸️ Stage 2: Graph Analysis Heterogeneous graph (NetworkX) Leiden community detection 5 centralities + Apriori hyperedges chair_status · drafts_text edges 🌐 Coalition Map Leiden 2 communities Bridge nodes (PageRank) Cross-issue motifs 📝 Stage 3: Briefing Generation Graph-Grounded Generation Every claim ⊨ (quote + struct fact) 7-rule post-hoc verification Korean + English output 🎯 Final Outputs 📘 학술 페이퍼 1 🇰🇷 장관급 브리핑 KO + EN 🔬 정량 검증 보고서 8 📈 Phase 5 평가 (4-Task + Ablation A0-A5) Spearman ρ=0.658 · ARI=0.42 · P@3=R@3=1.00 · Mean 4.53/5 · α=0.905 Combined Rubric 4.76/5 · 5/5 Quality Gates PASS

📥 Stage 0: Data Collection

UNFCCC 공식 포털, NDC 레지스트리, IISD ENB 요약, IPCC AR6, OECD, IMF ND-GAIN 등 14개 소스 시스템으로부터 협상 관련 문서 225개를 수집합니다. 모든 문서는 license + sha256 + source URL이 추적되어 manifest.jsonl에 기록됩니다.

📥 입력
  • UNFCCC Documents Portal (97 docs)
  • NDC Registry (53 NDCs)
  • IISD ENB summaries
  • IPCC AR6 WGII chapters
  • Brazil Plano Clima · Korea MOFA/MOE
📤 출력
  • data/manifest/manifest.jsonl (225 entries)
  • data/manifest/coverage_summary.json
  • Raw HTML/PDF in data/raw/
🔧 처리
  • Rate-limited HTTP fetching
  • Checkpoint resumability
  • License attribution per document
  • SHA-256 integrity hash
📚 코드
  • src/collect/ (26 collectors)
  • src/collect/manifest.py (license tracker)
  • src/collect/orchestrate.py (parallel fetch)

🤖 Stage 1: Stance Extraction

각 (국가, 이슈) 쌍에 대해 LLM을 k=5번 호출하여 stance score (-1~+1) + Bayesian credible interval을 산출합니다. 동시에 NATO 4축 정책수단 (Hood 1983, Howlett 2019), 5-frame typology (Snow-Benford 1988), procedural authority 신호 (Tallberg 2010)를 함께 추출합니다. 모든 결과에 evidence quote가 강제됩니다 (할루시네이션 방지).

📥 입력
  • 225 raw 문서 (Stage 0)
  • StanceRecord schema v1.3
  • 5-LLM provider config (Gemini/Groq/Ollama/OpenRouter/Anthropic)
📤 출력
  • 98 stance records (JSONL)
  • 샘플: data/sample/stances_sample_10.jsonl
  • 각 record: stance_score + CI + evidence + frame + NATO + procedural
🧠 이론 근거
  • Hood 1983 / Howlett 2019: NATO 4축 정책수단 (nodality/authority/treasure/organization)
  • Snow-Benford 1988: 5 frame types (scientific/justice/sovereignty/security/development)
  • Tallberg 2010: procedural authority (chair_role / pen_holder / drafts_text)
  • Bayesian inference: k=5 multi-sample → credible interval
📚 코드
  • src/stage1_extract/extract.py
  • src/stage1_extract/extract_v2.py
  • src/stage1_extract/providers/ (5 backends)

📊 Stage 1 산출물: Country × Issue Stance Tensor

13개 주요 협상 국가/그룹 × 6개 적응 이슈 = 78 cells 매트릭스. 각 cell은 stance score, CI, evidence quote, frame, NATO axis, procedural status를 담습니다.

📐 차원
  • 국가/그룹 (13): Brazil, EU, USA, China, India, AOSIS, Korea, Japan, Saudi, ZAF, AILAC, LDC, LMDC
  • 이슈 (6): GGA-IND, GGA-MOI, NAPs, JT-ADAPT, L&D-OP, FINANCE-ADAPT
🔍 핵심 발견
  • Brazil GGA-IND = 0.95 (chair authority)
  • AOSIS L&D = 0.90 (principled)
  • Korea L&D-OP = 0.39 (weakness)
  • Saudi GGA-MOI = -0.65 (resist)

🕸️ Stage 2: Graph Analysis

Stance tensor를 이종 그래프로 변환합니다. 노드 = (국가, 이슈, 그룹), 엣지 = stance similarity + chair_status + drafts_text. Leiden 알고리즘으로 community를 탐지하고 5 centralities로 영향력 노드를 식별합니다.

📥 입력
  • 98 stance records (Stage 1)
  • Edge types: similarity / chair / drafts_text
📤 출력
  • Leiden 2 communities
  • PageRank rankings
  • Cross-issue Apriori hyperedges
  • 샘플: data/sample/graph_analysis.json
🧠 이론 근거
  • Keohane-Victor 2011: Regime Complex 'horizontal cleavage' 정량 검증
  • Traag-Waltman-van Eck 2019: Leiden algorithm (modularity 최적화)
  • Tollison-Willett 1979: Issue Linkage Theory (cross-issue motifs)
📚 코드
  • src/stage2_graph/advanced_analysis.py
  • src/stage2_graph/generate_figures.py
  • Dependencies: NetworkX + igraph + leidenalg

🌐 Stage 2 산출물: Coalition Map

Leiden community detection 결과 2개 community가 식별됩니다. C0 (development frame) = {Brazil, Multi, AGN, EU}, C1 (mixed) = {AOSIS, India, Korea, LMDC}. 이는 Keohane-Victor (2011)의 regime complex 'horizontal cleavage' 가설을 정량 검증합니다.

📝 Stage 3: Briefing Generation (Graph-Grounded)

모든 brief 문장에 (1) 텍스트 인용 + (2) 구조적 근거 (Stage 2 그래프 fact) 이중 grounding을 강제합니다. 7-rule post-hoc verifier가 hallucination, 수치 조작, 미존재 국가 언급을 자동 검출합니다.

🛡️ 7 Verification Rules
  • 모든 수치는 원본 데이터에서 grounded
  • 모든 국가/그룹은 Stage 1에 존재
  • 모든 인용 quote는 raw 문서에 verbatim 매칭
  • 모든 stance claim은 ±0.05 이내 정확도
  • 모든 community claim은 Stage 2 결과와 일치
  • 모든 procedural claim은 chair metadata와 일치
  • 전체 brief에 평균 hallucination ≤ 1%
📚 코드
  • src/stage3_brief/
  • src/validate/ (evidence validator)
  • Output: deliverables/ministerial_briefing_*.md

🎯 최종 산출물

Track A (수업 제출) — 장관급 협상 브리핑. Track B (학술) — 논문 + 정량 검증 보고서.

  • 📘 학술 페이퍼: deliverables/paper.md (3,428 words, 23 references)
  • 🇰🇷 장관급 브리핑: ministerial_briefing_ko.md + _en.md (9 sections + 4 appendices)
  • 🔬 검증 보고서 8: IRR_Korea/Brazil, L25 formula, Realist B0, AILAC NES, Eval Report 등
  • 🎨 figures 7: heatmap, network, hedging × red line, centrality, frame consistency 등

📈 Phase 5 평가 (4-Task + Ablation)

전 파이프라인을 4가지 정량 task로 검증. Ablation A0-A5는 각 컴포넌트의 marginal contribution을 측정합니다.

📊 평가 메트릭
  • Task A (Stance): Spearman ρ=0.658, MAE=0.183 ✅
  • Task B (Coalition): ARI proxy=0.42 ✅
  • Task C (Outcome): P@3=R@3=1.00 ⭐
  • Task D (Brief): Mean 4.53/5, α=0.905 ✅
🔍 Ablation 핵심
  • A4 (evidence grounding 제거): −15% ρ — 가장 load-bearing
  • A2 (NATO 4축 제거): −7%
  • A5 (Multi-LLM ensemble): −6%
  • A1 (Bayesian CI): −5%
  • A3 (Frame typology): −4%
§2 Step by Step

한 줄로 따라가는 파이프라인

"무엇을 넣으면 무엇이 나오는가" — 단계별 입출력을 한눈에.

UNFCCC 공식 문서를 모은다

입력: 협상 세션, 국가 코드 (예: COP30, Brazil) → 실행: python -m src.collect.run --session COP30출력: data/raw/cop30_official/ + manifest.jsonl 항목 추가.

Stage 1 LLM이 stance를 뽑는다

입력: 위 raw 문서 + StanceRecord schema → 실행: python -m src.pipeline --country Brazil --cop 30 --sector adaptation --stages 1출력: data/processed/stances_complete_v1.jsonl (60+ records, 각 record에 evidence quote + Bayesian CI 포함).

Stage 2 그래프 분석으로 연합 지형 그린다

입력: Stage 1 stance JSONL → 실행: python -m src.stage2_graph.advanced_analysis출력: graph_analysis_v2.json (Leiden 2 communities, PageRank 13 nodes, cross-issue motifs).

Stage 3 LLM이 장관급 브리핑을 쓴다

입력: Stage 2 그래프 + 9-section template → 실행: python -m src.stage3_brief.generate_briefing출력: deliverables/ministerial_briefing_ko.md + _en.md (모든 claim에 인용 + 구조적 근거).

Phase 5 평가로 검증한다

입력: 위 모든 산출물 + expert simulation 5 personas → 실행: python -m src.evaluation.run_full_evaluation출력: deliverables/evaluation_report.md (Spearman 0.658, P@3=1.00, α=0.905, Combined Rubric 4.76/5).

§3 Theory

이론적 정초 (Theoretical Foundations)

CINA의 모든 method choice는 학술 이론에 정박해 있다. 단순 AI 활용이 아니라 이론 기반 quantification.

Regime Complex Theory

Keohane & Victor (2011) — climate governance는 단일 regime이 아니라 부분적으로 중첩된 regimes의 complex. CINA Stage 2 Leiden 2 communities로 'horizontal cleavage' 가설 정량 검증.

Two-Level Games

Putnam (1988) — 외교는 국제 협상 + 국내 비준 양 레벨. Brazil IRR Translation Gap Δ=0.304는 국내(Plano Clima) ↔ 국제(GGA voluntary) 정책수단 분기를 정량화.

Issue Linkage Theory

Tollison & Willett (1979), Sebenius (1983) — 협상은 이슈 간 거래로 형성. CINA Apriori-style cross-issue hyperedge mining으로 motif 자동 검출.

Epistemic Communities

Haas (1992) — 전문가 네트워크가 정책 신념 변화 매개. CINA stance에 cites_ipcc + epistemic_alignment 필드로 epistemic 영향 추적.

Procedural Authority

Tallberg (2010), Goh (2007), Steinberg (2002) — 의장국·pen-holder가 협상 결과에 비대칭 영향. CINA Stage 1에 chair_role, pen_holder, drafts_text 신호 강제 추출.

NATO Policy Instruments

Hood (1983), Howlett (2019) — 정책수단을 4축 (Nodality/Authority/Treasure/Organization)으로 분류. CINA NATO 4-axis instrument extraction은 instrument calibration을 자동화한 첫 시도.

Norm Entrepreneur

Finnemore & Sikkink (1998) — small/medium states가 norm entrepreneur 역할. AILAC NES = 0.86으로 4 criteria 중 3.5개 PASS, tactical diplomatic framing 정량 확인.

Frame Theory

Snow & Benford (1988), Goffman (1974) — collective action frame은 의미 구조. CINA 5 frame types (scientific/justice/sovereignty/security/development) 자동 분류.

§4 Data Flow

스테이지별 정확한 입출력 (재현성 우선)

모든 단계의 파일 경로 · 형식 · 행 수를 명시. data/sample/의 sanitized 샘플로 직접 확인 가능.

Stage 입력 처리 스크립트 출력 파일 형식
Stage 0 UNFCCC URLs · NDC API · ENB pages src/collect/orchestrate.py data/raw/ · manifest.jsonl HTML/PDF + JSONL
Stage 1 data/raw/* + schema v1.3 prompts src/stage1_extract/extract_v2.py data/processed/stances_complete_v1.jsonl JSONL (98 records)
Stage 2 stances JSONL src/stage2_graph/advanced_analysis.py data/processed/graph_analysis_v2.json JSON (graph + Leiden + centralities)
Stage 2 Figures graph_analysis JSON src/stage2_graph/generate_figures.py docs/web/figures/fig{1-5}_*.png PNG (300 dpi, 7 figures)
Stage 3 graph + 9-section template src/stage3_brief/generate_briefing.py deliverables/ministerial_briefing_{ko,en}.md Markdown
Phase 5 Eval 전 산출물 + expert personas src/evaluation/run_full_evaluation.py deliverables/evaluation_report.{md,json} Markdown + JSON

💡 샘플 직접 보기: data/sample/stances_sample_10.jsonl (Stage 1 산출 10개), data/sample/graph_analysis.json (Stage 2 산출), data/sample/irr_brazilian_translation_gap.json (Brazil Δ=0.304 raw)는 GitHub에 공개되어 있습니다. 전체 데이터셋(225 raw 문서, ~720MB)은 license 제약으로 Zenodo에 별도 공개 예정.