From 43c025e0607a085248b80a95b6c5b8cf15fbf869 Mon Sep 17 00:00:00 2001 From: gbanyan Date: Tue, 20 Jan 2026 10:16:21 +0800 Subject: [PATCH] feat: Add experiments framework and novelty-driven agent loop - Add complete experiments directory with pilot study infrastructure - 5 experimental conditions (direct, expert-only, attribute-only, full-pipeline, random-perspective) - Human assessment tool with React frontend and FastAPI backend - AUT flexibility analysis with jump signal detection - Result visualization and metrics computation - Add novelty-driven agent loop module (experiments/novelty_loop/) - NoveltyDrivenTaskAgent with expert perspective perturbation - Three termination strategies: breakthrough, exhaust, coverage - Interactive CLI demo with colored output - Embedding-based novelty scoring - Add DDC knowledge domain classification data (en/zh) - Add CLAUDE.md project documentation - Update research report with experiment findings Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 101 + backend/app/data/ddc_domains_en.json | 120 + backend/app/data/ddc_domains_zh.json | 120 + backend/app/services/embedding_service.py | 2 +- experiments/__init__.py | 7 + experiments/analyze_results.py | 546 +++ experiments/assessment/README.md | 314 ++ experiments/assessment/analyze_ratings.py | 356 ++ experiments/assessment/backend/__init__.py | 1 + experiments/assessment/backend/app.py | 374 ++ experiments/assessment/backend/database.py | 309 ++ experiments/assessment/backend/models.py | 183 + .../assessment/backend/requirements.txt | 3 + .../assessment/data/assessment_items.json | 1832 +++++++ experiments/assessment/frontend/index.html | 13 + .../assessment/frontend/package-lock.json | 4221 +++++++++++++++++ experiments/assessment/frontend/package.json | 32 + experiments/assessment/frontend/src/App.tsx | 109 + .../src/components/AssessmentPage.tsx | 199 + .../src/components/CompletionPage.tsx | 105 + .../frontend/src/components/IdeaCard.tsx | 36 + .../src/components/InstructionsPage.tsx | 134 + .../frontend/src/components/ProgressBar.tsx | 39 + .../frontend/src/components/RaterLogin.tsx | 116 + .../frontend/src/components/RatingSlider.tsx | 74 + .../frontend/src/hooks/useAssessment.ts | 272 ++ .../frontend/src/hooks/useRatings.ts | 133 + experiments/assessment/frontend/src/index.css | 43 + experiments/assessment/frontend/src/main.tsx | 10 + .../assessment/frontend/src/services/api.ts | 116 + .../assessment/frontend/src/types/index.ts | 142 + experiments/assessment/frontend/tsconfig.json | 20 + .../assessment/frontend/vite.config.ts | 16 + experiments/assessment/prepare_data.py | 375 ++ experiments/assessment/results/ratings.db | Bin 0 -> 40960 bytes experiments/assessment/start.sh | 101 + experiments/assessment/stop.sh | 13 + experiments/aut_flexibility_analysis.py | 1342 ++++++ experiments/compute_metrics.py | 666 +++ experiments/conditions/__init__.py | 23 + experiments/conditions/c1_direct.py | 111 + experiments/conditions/c2_expert_only.py | 176 + experiments/conditions/c3_attribute_only.py | 181 + experiments/conditions/c4_full_pipeline.py | 214 + .../conditions/c5_random_perspective.py | 178 + experiments/config.py | 72 + experiments/data/queries.json | 66 + experiments/data/random_words.json | 28 + experiments/deduplication.py | 328 ++ .../docs/aut_flexibility_explanation_zh.md | 301 ++ .../docs/creative_process_metrics_zh.md | 477 ++ .../docs/experiment_design_2026-01-19.md | 259 + .../docs/experiment_report_2026-01-19.md | 813 ++++ experiments/docs/future_research_plan_zh.md | 342 ++ experiments/docs/presentation_notes_zh.md | 178 + experiments/generate_ideas.py | 290 ++ experiments/novelty_loop/README.md | 253 + experiments/novelty_loop/__init__.py | 42 + experiments/novelty_loop/agent.py | 725 +++ experiments/novelty_loop/demo.py | 313 ++ experiments/novelty_loop/novelty_metrics.py | 269 ++ experiments/results/.gitignore | 5 + .../results/cumulative_jump_profiles.png | Bin 0 -> 100298 bytes experiments/results/embedding_pca.png | Bin 0 -> 283702 bytes experiments/results/embedding_tsne.png | Bin 0 -> 291842 bytes .../20260119_163040_diversity_boxplot.png | Bin 0 -> 56645 bytes .../figures/20260119_163040_idea_counts.png | Bin 0 -> 64002 bytes .../20260119_163040_interaction_diversity.png | Bin 0 -> 65920 bytes .../20260119_163040_interaction_novelty.png | Bin 0 -> 66339 bytes .../20260119_163040_metrics_comparison.png | Bin 0 -> 64845 bytes ...20260119_163040_query_distance_boxplot.png | Bin 0 -> 54916 bytes .../20260119_163040_survival_rates.png | Bin 0 -> 57474 bytes .../20260119_165650_diversity_boxplot.png | Bin 0 -> 76460 bytes .../figures/20260119_165650_idea_counts.png | Bin 0 -> 62227 bytes .../20260119_165650_interaction_diversity.png | Bin 0 -> 65401 bytes .../20260119_165650_interaction_novelty.png | Bin 0 -> 66770 bytes .../20260119_165650_metrics_comparison.png | Bin 0 -> 70466 bytes ...20260119_165650_query_distance_boxplot.png | Bin 0 -> 78622 bytes .../20260119_165650_survival_rates.png | Bin 0 -> 58620 bytes experiments/visualize.py | 521 ++ research/research_report.md | 8 +- 81 files changed, 18766 insertions(+), 2 deletions(-) create mode 100644 CLAUDE.md create mode 100644 backend/app/data/ddc_domains_en.json create mode 100644 backend/app/data/ddc_domains_zh.json create mode 100644 experiments/__init__.py create mode 100644 experiments/analyze_results.py create mode 100644 experiments/assessment/README.md create mode 100755 experiments/assessment/analyze_ratings.py create mode 100644 experiments/assessment/backend/__init__.py create mode 100644 experiments/assessment/backend/app.py create mode 100644 experiments/assessment/backend/database.py create mode 100644 experiments/assessment/backend/models.py create mode 100644 experiments/assessment/backend/requirements.txt create mode 100644 experiments/assessment/data/assessment_items.json create mode 100644 experiments/assessment/frontend/index.html create mode 100644 experiments/assessment/frontend/package-lock.json create mode 100644 experiments/assessment/frontend/package.json create mode 100644 experiments/assessment/frontend/src/App.tsx create mode 100644 experiments/assessment/frontend/src/components/AssessmentPage.tsx create mode 100644 experiments/assessment/frontend/src/components/CompletionPage.tsx create mode 100644 experiments/assessment/frontend/src/components/IdeaCard.tsx create mode 100644 experiments/assessment/frontend/src/components/InstructionsPage.tsx create mode 100644 experiments/assessment/frontend/src/components/ProgressBar.tsx create mode 100644 experiments/assessment/frontend/src/components/RaterLogin.tsx create mode 100644 experiments/assessment/frontend/src/components/RatingSlider.tsx create mode 100644 experiments/assessment/frontend/src/hooks/useAssessment.ts create mode 100644 experiments/assessment/frontend/src/hooks/useRatings.ts create mode 100644 experiments/assessment/frontend/src/index.css create mode 100644 experiments/assessment/frontend/src/main.tsx create mode 100644 experiments/assessment/frontend/src/services/api.ts create mode 100644 experiments/assessment/frontend/src/types/index.ts create mode 100644 experiments/assessment/frontend/tsconfig.json create mode 100644 experiments/assessment/frontend/vite.config.ts create mode 100755 experiments/assessment/prepare_data.py create mode 100644 experiments/assessment/results/ratings.db create mode 100755 experiments/assessment/start.sh create mode 100755 experiments/assessment/stop.sh create mode 100755 experiments/aut_flexibility_analysis.py create mode 100644 experiments/compute_metrics.py create mode 100644 experiments/conditions/__init__.py create mode 100644 experiments/conditions/c1_direct.py create mode 100644 experiments/conditions/c2_expert_only.py create mode 100644 experiments/conditions/c3_attribute_only.py create mode 100644 experiments/conditions/c4_full_pipeline.py create mode 100644 experiments/conditions/c5_random_perspective.py create mode 100644 experiments/config.py create mode 100644 experiments/data/queries.json create mode 100644 experiments/data/random_words.json create mode 100644 experiments/deduplication.py create mode 100644 experiments/docs/aut_flexibility_explanation_zh.md create mode 100644 experiments/docs/creative_process_metrics_zh.md create mode 100644 experiments/docs/experiment_design_2026-01-19.md create mode 100644 experiments/docs/experiment_report_2026-01-19.md create mode 100644 experiments/docs/future_research_plan_zh.md create mode 100644 experiments/docs/presentation_notes_zh.md create mode 100644 experiments/generate_ideas.py create mode 100644 experiments/novelty_loop/README.md create mode 100644 experiments/novelty_loop/__init__.py create mode 100644 experiments/novelty_loop/agent.py create mode 100755 experiments/novelty_loop/demo.py create mode 100644 experiments/novelty_loop/novelty_metrics.py create mode 100644 experiments/results/.gitignore create mode 100644 experiments/results/cumulative_jump_profiles.png create mode 100644 experiments/results/embedding_pca.png create mode 100644 experiments/results/embedding_tsne.png create mode 100644 experiments/results/figures/20260119_163040_diversity_boxplot.png create mode 100644 experiments/results/figures/20260119_163040_idea_counts.png create mode 100644 experiments/results/figures/20260119_163040_interaction_diversity.png create mode 100644 experiments/results/figures/20260119_163040_interaction_novelty.png create mode 100644 experiments/results/figures/20260119_163040_metrics_comparison.png create mode 100644 experiments/results/figures/20260119_163040_query_distance_boxplot.png create mode 100644 experiments/results/figures/20260119_163040_survival_rates.png create mode 100644 experiments/results/figures/20260119_165650_diversity_boxplot.png create mode 100644 experiments/results/figures/20260119_165650_idea_counts.png create mode 100644 experiments/results/figures/20260119_165650_interaction_diversity.png create mode 100644 experiments/results/figures/20260119_165650_interaction_novelty.png create mode 100644 experiments/results/figures/20260119_165650_metrics_comparison.png create mode 100644 experiments/results/figures/20260119_165650_query_distance_boxplot.png create mode 100644 experiments/results/figures/20260119_165650_survival_rates.png create mode 100644 experiments/visualize.py diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..d9c6249 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,101 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +This is a creative ideation system that uses LLMs to break "semantic gravity" (the tendency of LLMs to generate ideas clustered around high-probability training distributions). The system analyzes objects through multiple attribute dimensions and transforms them using expert perspectives to generate novel ideas. + +## Development Commands + +### Starting the Application +```bash +./start.sh # Starts both backend (port 8001) and frontend (port 5173) +./stop.sh # Stops all services +``` + +### Backend (FastAPI + Python) +```bash +cd backend +python3 -m venv venv +source venv/bin/activate +pip install -r requirements.txt +uvicorn app.main:app --host 0.0.0.0 --port 8001 --reload +``` + +### Frontend (React + Vite + TypeScript) +```bash +cd frontend +npm install +npm run dev # Development server +npm run build # TypeScript check + production build +npm run lint # ESLint +``` + +## Architecture + +### Multi-Agent Pipeline + +The system uses three interconnected agents that process queries through Server-Sent Events (SSE) for real-time streaming: + +``` +Query → Attribute Agent → Expert Transformation Agent → Deduplication Agent + ↓ + Patent Search (optional) +``` + +**1. Attribute Agent** (`/api/analyze`) +- Analyzes a query (e.g., "bicycle") through configurable category dimensions +- Step 0: Category analysis (5 modes: FIXED_ONLY, FIXED_PLUS_CUSTOM, FIXED_PLUS_DYNAMIC, CUSTOM_ONLY, DYNAMIC_AUTO) +- Step 1: Generate attributes per category +- Step 2: Build DAG relationships between attributes across categories +- Output: `AttributeDAG` with nodes and edges + +**2. Expert Transformation Agent** (`/api/expert-transformation/category`) +- Takes attributes and transforms them through diverse expert perspectives +- Step 0: Generate expert team (sources: `llm`, `curated`, `dbpedia`, `wikidata`) +- Step 1: Each expert generates keywords for each attribute +- Step 2: Generate descriptions for each keyword +- Formula: `total_keywords = attributes × expert_count × keywords_per_expert` + +**3. Deduplication Agent** (`/api/deduplication/deduplicate`) +- Consolidates similar ideas using embedding similarity or LLM judgment +- Groups duplicates while preserving representative descriptions + +### Backend Structure (`backend/app/`) +- `routers/` - FastAPI endpoints with SSE streaming +- `services/` - LLM service (Ollama/OpenAI), embedding service, expert source service +- `prompts/` - Bilingual prompt templates (zh/en) for each agent step +- `data/` - Curated occupation lists for expert sourcing (210 professions) + +### Frontend Structure (`frontend/src/`) +- `hooks/` - React hooks matching backend agents (`useAttribute`, `useExpertTransformation`, `useDeduplication`) +- `components/` - UI panels for each stage + DAG visualization (D3.js, @xyflow/react) +- `services/api.ts` - SSE stream parsing and API calls +- `types/index.ts` - TypeScript interfaces mirroring backend schemas + +### Key Patterns + +**SSE Event Flow**: All agent operations stream progress via SSE events: +```typescript +// Frontend callback pattern +onStep0Start → onStep0Complete → onStep1Start → onStep1Complete → onDone +``` + +**Bilingual Support**: All prompts and UI support `PromptLanguage = 'zh' | 'en'`. Language flows through the entire pipeline from request to response messages. + +**Expert Source Fallback**: If external sources (DBpedia, Wikidata) fail, system automatically falls back to LLM-based expert generation. + +### Configuration + +Backend requires `.env` file: +``` +OLLAMA_BASE_URL=http://localhost:11435 # Default Ollama endpoint +DEFAULT_MODEL=qwen3:8b # Default LLM model +OPENAI_API_KEY= # Optional: for OpenAI-compatible APIs +LENS_API_TOKEN= # Optional: for patent search +``` + +### Dual-Path Mode + +The system supports analyzing two queries in parallel (`PathA` and `PathB`) with attribute crossover functionality for comparing and combining ideas across different objects. diff --git a/backend/app/data/ddc_domains_en.json b/backend/app/data/ddc_domains_en.json new file mode 100644 index 0000000..f8441b5 --- /dev/null +++ b/backend/app/data/ddc_domains_en.json @@ -0,0 +1,120 @@ +{ + "metadata": { + "source": "ddc", + "language": "en", + "created_at": "2026-01-20", + "total_count": 100, + "description": "Dewey Decimal Classification knowledge domains (10 main classes + 90 divisions)" + }, + "domains": [ + {"code": "000", "name": "Computer Science, Information & General Works", "level": "class", "parent": null}, + {"code": "010", "name": "Bibliographies", "level": "division", "parent": "000"}, + {"code": "020", "name": "Library & Information Sciences", "level": "division", "parent": "000"}, + {"code": "030", "name": "Encyclopedias & Books of Facts", "level": "division", "parent": "000"}, + {"code": "040", "name": "Unassigned", "level": "division", "parent": "000"}, + {"code": "050", "name": "Magazines, Journals & Serials", "level": "division", "parent": "000"}, + {"code": "060", "name": "Associations, Organizations & Museums", "level": "division", "parent": "000"}, + {"code": "070", "name": "News Media, Journalism & Publishing", "level": "division", "parent": "000"}, + {"code": "080", "name": "Quotations", "level": "division", "parent": "000"}, + {"code": "090", "name": "Manuscripts & Rare Books", "level": "division", "parent": "000"}, + + {"code": "100", "name": "Philosophy & Psychology", "level": "class", "parent": null}, + {"code": "110", "name": "Metaphysics", "level": "division", "parent": "100"}, + {"code": "120", "name": "Epistemology", "level": "division", "parent": "100"}, + {"code": "130", "name": "Parapsychology & Occultism", "level": "division", "parent": "100"}, + {"code": "140", "name": "Philosophical Schools of Thought", "level": "division", "parent": "100"}, + {"code": "150", "name": "Psychology", "level": "division", "parent": "100"}, + {"code": "160", "name": "Logic", "level": "division", "parent": "100"}, + {"code": "170", "name": "Ethics", "level": "division", "parent": "100"}, + {"code": "180", "name": "Ancient, Medieval & Eastern Philosophy", "level": "division", "parent": "100"}, + {"code": "190", "name": "Modern Western Philosophy", "level": "division", "parent": "100"}, + + {"code": "200", "name": "Religion", "level": "class", "parent": null}, + {"code": "210", "name": "Philosophy & Theory of Religion", "level": "division", "parent": "200"}, + {"code": "220", "name": "Bible", "level": "division", "parent": "200"}, + {"code": "230", "name": "Christianity & Christian Theology", "level": "division", "parent": "200"}, + {"code": "240", "name": "Christian Practice & Observance", "level": "division", "parent": "200"}, + {"code": "250", "name": "Christian Orders & Local Churches", "level": "division", "parent": "200"}, + {"code": "260", "name": "Christian Social & Ecclesiastical Theology", "level": "division", "parent": "200"}, + {"code": "270", "name": "History of Christianity", "level": "division", "parent": "200"}, + {"code": "280", "name": "Christian Denominations", "level": "division", "parent": "200"}, + {"code": "290", "name": "Other Religions", "level": "division", "parent": "200"}, + + {"code": "300", "name": "Social Sciences", "level": "class", "parent": null}, + {"code": "310", "name": "Statistics", "level": "division", "parent": "300"}, + {"code": "320", "name": "Political Science", "level": "division", "parent": "300"}, + {"code": "330", "name": "Economics", "level": "division", "parent": "300"}, + {"code": "340", "name": "Law", "level": "division", "parent": "300"}, + {"code": "350", "name": "Public Administration & Military Science", "level": "division", "parent": "300"}, + {"code": "360", "name": "Social Problems & Services", "level": "division", "parent": "300"}, + {"code": "370", "name": "Education", "level": "division", "parent": "300"}, + {"code": "380", "name": "Commerce, Communications & Transportation", "level": "division", "parent": "300"}, + {"code": "390", "name": "Customs, Etiquette & Folklore", "level": "division", "parent": "300"}, + + {"code": "400", "name": "Language", "level": "class", "parent": null}, + {"code": "410", "name": "Linguistics", "level": "division", "parent": "400"}, + {"code": "420", "name": "English & Old English Languages", "level": "division", "parent": "400"}, + {"code": "430", "name": "German & Related Languages", "level": "division", "parent": "400"}, + {"code": "440", "name": "French & Related Languages", "level": "division", "parent": "400"}, + {"code": "450", "name": "Italian, Romanian & Related Languages", "level": "division", "parent": "400"}, + {"code": "460", "name": "Spanish, Portuguese & Galician", "level": "division", "parent": "400"}, + {"code": "470", "name": "Latin & Italic Languages", "level": "division", "parent": "400"}, + {"code": "480", "name": "Classical & Modern Greek Languages", "level": "division", "parent": "400"}, + {"code": "490", "name": "Other Languages", "level": "division", "parent": "400"}, + + {"code": "500", "name": "Science", "level": "class", "parent": null}, + {"code": "510", "name": "Mathematics", "level": "division", "parent": "500"}, + {"code": "520", "name": "Astronomy", "level": "division", "parent": "500"}, + {"code": "530", "name": "Physics", "level": "division", "parent": "500"}, + {"code": "540", "name": "Chemistry", "level": "division", "parent": "500"}, + {"code": "550", "name": "Earth Sciences & Geology", "level": "division", "parent": "500"}, + {"code": "560", "name": "Paleontology", "level": "division", "parent": "500"}, + {"code": "570", "name": "Biology & Life Sciences", "level": "division", "parent": "500"}, + {"code": "580", "name": "Botany", "level": "division", "parent": "500"}, + {"code": "590", "name": "Zoology", "level": "division", "parent": "500"}, + + {"code": "600", "name": "Technology", "level": "class", "parent": null}, + {"code": "610", "name": "Medicine & Health", "level": "division", "parent": "600"}, + {"code": "620", "name": "Engineering", "level": "division", "parent": "600"}, + {"code": "630", "name": "Agriculture", "level": "division", "parent": "600"}, + {"code": "640", "name": "Home & Family Management", "level": "division", "parent": "600"}, + {"code": "650", "name": "Management & Public Relations", "level": "division", "parent": "600"}, + {"code": "660", "name": "Chemical Engineering", "level": "division", "parent": "600"}, + {"code": "670", "name": "Manufacturing", "level": "division", "parent": "600"}, + {"code": "680", "name": "Manufacture for Specific Uses", "level": "division", "parent": "600"}, + {"code": "690", "name": "Construction & Building", "level": "division", "parent": "600"}, + + {"code": "700", "name": "Arts & Recreation", "level": "class", "parent": null}, + {"code": "710", "name": "Landscape & Area Planning", "level": "division", "parent": "700"}, + {"code": "720", "name": "Architecture", "level": "division", "parent": "700"}, + {"code": "730", "name": "Sculpture, Ceramics & Metalwork", "level": "division", "parent": "700"}, + {"code": "740", "name": "Drawing & Decorative Arts", "level": "division", "parent": "700"}, + {"code": "750", "name": "Painting", "level": "division", "parent": "700"}, + {"code": "760", "name": "Graphic Arts & Printmaking", "level": "division", "parent": "700"}, + {"code": "770", "name": "Photography & Computer Art", "level": "division", "parent": "700"}, + {"code": "780", "name": "Music", "level": "division", "parent": "700"}, + {"code": "790", "name": "Sports, Games & Entertainment", "level": "division", "parent": "700"}, + + {"code": "800", "name": "Literature", "level": "class", "parent": null}, + {"code": "810", "name": "American Literature in English", "level": "division", "parent": "800"}, + {"code": "820", "name": "English & Old English Literature", "level": "division", "parent": "800"}, + {"code": "830", "name": "German & Related Literature", "level": "division", "parent": "800"}, + {"code": "840", "name": "French & Related Literature", "level": "division", "parent": "800"}, + {"code": "850", "name": "Italian, Romanian & Related Literature", "level": "division", "parent": "800"}, + {"code": "860", "name": "Spanish, Portuguese & Galician Literature", "level": "division", "parent": "800"}, + {"code": "870", "name": "Latin & Italic Literature", "level": "division", "parent": "800"}, + {"code": "880", "name": "Classical & Modern Greek Literature", "level": "division", "parent": "800"}, + {"code": "890", "name": "Other Literatures", "level": "division", "parent": "800"}, + + {"code": "900", "name": "History & Geography", "level": "class", "parent": null}, + {"code": "910", "name": "Geography & Travel", "level": "division", "parent": "900"}, + {"code": "920", "name": "Biography & Genealogy", "level": "division", "parent": "900"}, + {"code": "930", "name": "History of Ancient World", "level": "division", "parent": "900"}, + {"code": "940", "name": "History of Europe", "level": "division", "parent": "900"}, + {"code": "950", "name": "History of Asia", "level": "division", "parent": "900"}, + {"code": "960", "name": "History of Africa", "level": "division", "parent": "900"}, + {"code": "970", "name": "History of North America", "level": "division", "parent": "900"}, + {"code": "980", "name": "History of South America", "level": "division", "parent": "900"}, + {"code": "990", "name": "History of Other Areas", "level": "division", "parent": "900"} + ] +} diff --git a/backend/app/data/ddc_domains_zh.json b/backend/app/data/ddc_domains_zh.json new file mode 100644 index 0000000..dec7d60 --- /dev/null +++ b/backend/app/data/ddc_domains_zh.json @@ -0,0 +1,120 @@ +{ + "metadata": { + "source": "ddc", + "language": "zh", + "created_at": "2026-01-20", + "total_count": 100, + "description": "杜威十進位圖書分類法知識領域(10個大類 + 90個細類)" + }, + "domains": [ + {"code": "000", "name": "電腦科學、資訊與總類", "level": "class", "parent": null}, + {"code": "010", "name": "書目學", "level": "division", "parent": "000"}, + {"code": "020", "name": "圖書資訊學", "level": "division", "parent": "000"}, + {"code": "030", "name": "百科全書與常識書", "level": "division", "parent": "000"}, + {"code": "040", "name": "未分配", "level": "division", "parent": "000"}, + {"code": "050", "name": "雜誌、期刊與連續出版品", "level": "division", "parent": "000"}, + {"code": "060", "name": "協會、組織與博物館", "level": "division", "parent": "000"}, + {"code": "070", "name": "新聞媒體、新聞學與出版", "level": "division", "parent": "000"}, + {"code": "080", "name": "引用語錄", "level": "division", "parent": "000"}, + {"code": "090", "name": "手稿與珍本", "level": "division", "parent": "000"}, + + {"code": "100", "name": "哲學與心理學", "level": "class", "parent": null}, + {"code": "110", "name": "形上學", "level": "division", "parent": "100"}, + {"code": "120", "name": "知識論", "level": "division", "parent": "100"}, + {"code": "130", "name": "超心理學與神秘學", "level": "division", "parent": "100"}, + {"code": "140", "name": "哲學流派", "level": "division", "parent": "100"}, + {"code": "150", "name": "心理學", "level": "division", "parent": "100"}, + {"code": "160", "name": "邏輯學", "level": "division", "parent": "100"}, + {"code": "170", "name": "倫理學", "level": "division", "parent": "100"}, + {"code": "180", "name": "古代、中世紀與東方哲學", "level": "division", "parent": "100"}, + {"code": "190", "name": "近代西方哲學", "level": "division", "parent": "100"}, + + {"code": "200", "name": "宗教", "level": "class", "parent": null}, + {"code": "210", "name": "宗教哲學與理論", "level": "division", "parent": "200"}, + {"code": "220", "name": "聖經", "level": "division", "parent": "200"}, + {"code": "230", "name": "基督教與基督神學", "level": "division", "parent": "200"}, + {"code": "240", "name": "基督教實踐與禮儀", "level": "division", "parent": "200"}, + {"code": "250", "name": "基督教修會與地方教會", "level": "division", "parent": "200"}, + {"code": "260", "name": "基督教社會與教會神學", "level": "division", "parent": "200"}, + {"code": "270", "name": "基督教歷史", "level": "division", "parent": "200"}, + {"code": "280", "name": "基督教教派", "level": "division", "parent": "200"}, + {"code": "290", "name": "其他宗教", "level": "division", "parent": "200"}, + + {"code": "300", "name": "社會科學", "level": "class", "parent": null}, + {"code": "310", "name": "統計學", "level": "division", "parent": "300"}, + {"code": "320", "name": "政治學", "level": "division", "parent": "300"}, + {"code": "330", "name": "經濟學", "level": "division", "parent": "300"}, + {"code": "340", "name": "法律", "level": "division", "parent": "300"}, + {"code": "350", "name": "公共行政與軍事學", "level": "division", "parent": "300"}, + {"code": "360", "name": "社會問題與服務", "level": "division", "parent": "300"}, + {"code": "370", "name": "教育", "level": "division", "parent": "300"}, + {"code": "380", "name": "商業、通訊與運輸", "level": "division", "parent": "300"}, + {"code": "390", "name": "風俗、禮儀與民俗", "level": "division", "parent": "300"}, + + {"code": "400", "name": "語言", "level": "class", "parent": null}, + {"code": "410", "name": "語言學", "level": "division", "parent": "400"}, + {"code": "420", "name": "英語與古英語", "level": "division", "parent": "400"}, + {"code": "430", "name": "德語及相關語言", "level": "division", "parent": "400"}, + {"code": "440", "name": "法語及相關語言", "level": "division", "parent": "400"}, + {"code": "450", "name": "義大利語、羅馬尼亞語及相關語言", "level": "division", "parent": "400"}, + {"code": "460", "name": "西班牙語、葡萄牙語與加利西亞語", "level": "division", "parent": "400"}, + {"code": "470", "name": "拉丁語及義大利語族", "level": "division", "parent": "400"}, + {"code": "480", "name": "古典與現代希臘語", "level": "division", "parent": "400"}, + {"code": "490", "name": "其他語言", "level": "division", "parent": "400"}, + + {"code": "500", "name": "自然科學", "level": "class", "parent": null}, + {"code": "510", "name": "數學", "level": "division", "parent": "500"}, + {"code": "520", "name": "天文學", "level": "division", "parent": "500"}, + {"code": "530", "name": "物理學", "level": "division", "parent": "500"}, + {"code": "540", "name": "化學", "level": "division", "parent": "500"}, + {"code": "550", "name": "地球科學與地質學", "level": "division", "parent": "500"}, + {"code": "560", "name": "古生物學", "level": "division", "parent": "500"}, + {"code": "570", "name": "生物學與生命科學", "level": "division", "parent": "500"}, + {"code": "580", "name": "植物學", "level": "division", "parent": "500"}, + {"code": "590", "name": "動物學", "level": "division", "parent": "500"}, + + {"code": "600", "name": "應用科學與技術", "level": "class", "parent": null}, + {"code": "610", "name": "醫學與健康", "level": "division", "parent": "600"}, + {"code": "620", "name": "工程學", "level": "division", "parent": "600"}, + {"code": "630", "name": "農業", "level": "division", "parent": "600"}, + {"code": "640", "name": "家政與家庭管理", "level": "division", "parent": "600"}, + {"code": "650", "name": "管理與公共關係", "level": "division", "parent": "600"}, + {"code": "660", "name": "化學工程", "level": "division", "parent": "600"}, + {"code": "670", "name": "製造業", "level": "division", "parent": "600"}, + {"code": "680", "name": "特定用途製造", "level": "division", "parent": "600"}, + {"code": "690", "name": "建築與營造", "level": "division", "parent": "600"}, + + {"code": "700", "name": "藝術與休閒", "level": "class", "parent": null}, + {"code": "710", "name": "景觀與區域規劃", "level": "division", "parent": "700"}, + {"code": "720", "name": "建築學", "level": "division", "parent": "700"}, + {"code": "730", "name": "雕塑、陶瓷與金工", "level": "division", "parent": "700"}, + {"code": "740", "name": "繪畫與裝飾藝術", "level": "division", "parent": "700"}, + {"code": "750", "name": "繪畫藝術", "level": "division", "parent": "700"}, + {"code": "760", "name": "版畫與印刷藝術", "level": "division", "parent": "700"}, + {"code": "770", "name": "攝影與電腦藝術", "level": "division", "parent": "700"}, + {"code": "780", "name": "音樂", "level": "division", "parent": "700"}, + {"code": "790", "name": "運動、遊戲與娛樂", "level": "division", "parent": "700"}, + + {"code": "800", "name": "文學", "level": "class", "parent": null}, + {"code": "810", "name": "美國英語文學", "level": "division", "parent": "800"}, + {"code": "820", "name": "英語與古英語文學", "level": "division", "parent": "800"}, + {"code": "830", "name": "德語及相關文學", "level": "division", "parent": "800"}, + {"code": "840", "name": "法語及相關文學", "level": "division", "parent": "800"}, + {"code": "850", "name": "義大利語、羅馬尼亞語及相關文學", "level": "division", "parent": "800"}, + {"code": "860", "name": "西班牙語、葡萄牙語與加利西亞語文學", "level": "division", "parent": "800"}, + {"code": "870", "name": "拉丁語及義大利語族文學", "level": "division", "parent": "800"}, + {"code": "880", "name": "古典與現代希臘文學", "level": "division", "parent": "800"}, + {"code": "890", "name": "其他文學", "level": "division", "parent": "800"}, + + {"code": "900", "name": "歷史與地理", "level": "class", "parent": null}, + {"code": "910", "name": "地理與旅遊", "level": "division", "parent": "900"}, + {"code": "920", "name": "傳記與家譜", "level": "division", "parent": "900"}, + {"code": "930", "name": "古代世界史", "level": "division", "parent": "900"}, + {"code": "940", "name": "歐洲史", "level": "division", "parent": "900"}, + {"code": "950", "name": "亞洲史", "level": "division", "parent": "900"}, + {"code": "960", "name": "非洲史", "level": "division", "parent": "900"}, + {"code": "970", "name": "北美洲史", "level": "division", "parent": "900"}, + {"code": "980", "name": "南美洲史", "level": "division", "parent": "900"}, + {"code": "990", "name": "其他地區史", "level": "division", "parent": "900"} + ] +} diff --git a/backend/app/services/embedding_service.py b/backend/app/services/embedding_service.py index 90908ad..0ac7bfc 100644 --- a/backend/app/services/embedding_service.py +++ b/backend/app/services/embedding_service.py @@ -26,7 +26,7 @@ class EmbeddingService: def __init__(self): self.base_url = settings.ollama_base_url - self.default_model = "nomic-embed-text" # Ollama 預設的 embedding 模型 + self.default_model = "qwen3-embedding:4b" # Qwen3 embedding model for better semantic understanding self.client = httpx.AsyncClient(timeout=120.0) async def get_embedding(self, text: str, model: Optional[str] = None) -> List[float]: diff --git a/experiments/__init__.py b/experiments/__init__.py new file mode 100644 index 0000000..ce13dfe --- /dev/null +++ b/experiments/__init__.py @@ -0,0 +1,7 @@ +""" +Experiment module for 5-condition idea generation study. + +This module implements a 2×2 factorial design + control to test +the contributions of attribute decomposition and expert perspectives +to creative ideation quality. +""" diff --git a/experiments/analyze_results.py b/experiments/analyze_results.py new file mode 100644 index 0000000..ba7ee54 --- /dev/null +++ b/experiments/analyze_results.py @@ -0,0 +1,546 @@ +""" +Statistical analysis for experiment results. + +Performs: +- 2×2 ANOVA for main effects (attributes, experts) and interaction +- Post-hoc tests (Tukey HSD) +- Effect sizes (Cohen's d) +- Control comparison (C2 vs C5) + +Usage: + python -m experiments.analyze_results --input results/experiment_xxx_metrics.json +""" + +import sys +import json +import argparse +from pathlib import Path +from typing import List, Dict, Any, Tuple +from dataclasses import dataclass + +import numpy as np + + +class NumpyEncoder(json.JSONEncoder): + """JSON encoder that handles numpy types.""" + def default(self, obj): + if isinstance(obj, (np.integer, np.int64, np.int32)): + return int(obj) + if isinstance(obj, (np.floating, np.float64, np.float32)): + return float(obj) + if isinstance(obj, (np.bool_, bool)): + return bool(obj) + if isinstance(obj, np.ndarray): + return obj.tolist() + return super().default(obj) + + +# Add experiments to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from experiments.config import RESULTS_DIR + +# Try to import statistical libraries +try: + from scipy import stats + SCIPY_AVAILABLE = True +except ImportError: + SCIPY_AVAILABLE = False + print("Warning: scipy not installed. Some statistical tests will be unavailable.") + +try: + import pandas as pd + PANDAS_AVAILABLE = True +except ImportError: + PANDAS_AVAILABLE = False + + +@dataclass +class EffectSize: + """Cohen's d effect size with interpretation.""" + d: float + interpretation: str # small, medium, large + + @staticmethod + def from_groups(group1: List[float], group2: List[float]) -> 'EffectSize': + """Calculate Cohen's d from two groups.""" + n1, n2 = len(group1), len(group2) + if n1 < 2 or n2 < 2: + return EffectSize(d=0, interpretation="insufficient data") + + mean1, mean2 = np.mean(group1), np.mean(group2) + var1, var2 = np.var(group1, ddof=1), np.var(group2, ddof=1) + + # Pooled standard deviation + pooled_std = np.sqrt(((n1 - 1) * var1 + (n2 - 1) * var2) / (n1 + n2 - 2)) + + if pooled_std == 0: + return EffectSize(d=0, interpretation="no variance") + + d = (mean1 - mean2) / pooled_std + + # Interpretation (Cohen's conventions) + abs_d = abs(d) + if abs_d < 0.2: + interpretation = "negligible" + elif abs_d < 0.5: + interpretation = "small" + elif abs_d < 0.8: + interpretation = "medium" + else: + interpretation = "large" + + return EffectSize(d=round(d, 4), interpretation=interpretation) + + +@dataclass +class TTestResult: + """Independent samples t-test result.""" + t_statistic: float + p_value: float + effect_size: EffectSize + significant: bool # p < 0.05 + group1_mean: float + group2_mean: float + group1_std: float + group2_std: float + group1_n: int + group2_n: int + + +@dataclass +class ANOVAResult: + """2×2 ANOVA result.""" + main_effect_attributes: Dict[str, float] # F, p + main_effect_experts: Dict[str, float] # F, p + interaction: Dict[str, float] # F, p + significant_effects: List[str] + + +def extract_metric_values( + metrics: Dict[str, Any], + metric_path: str +) -> Dict[str, List[float]]: + """ + Extract values for a specific metric across all queries. + + Args: + metrics: Full metrics dict from compute_metrics.py + metric_path: Dot-separated path like "post_dedup_diversity.mean_pairwise_distance" + + Returns: + Dict mapping condition name to list of values + """ + by_condition = {} + + for query_metrics in metrics.get("metrics_by_query", []): + for condition, cond_metrics in query_metrics.get("conditions", {}).items(): + if condition not in by_condition: + by_condition[condition] = [] + + # Navigate the metric path + value = cond_metrics + for key in metric_path.split("."): + if value is None: + break + if isinstance(value, dict): + value = value.get(key) + else: + value = None + + if value is not None and isinstance(value, (int, float)): + by_condition[condition].append(float(value)) + + return by_condition + + +def perform_ttest( + group1: List[float], + group2: List[float], + group1_name: str = "Group 1", + group2_name: str = "Group 2" +) -> TTestResult: + """Perform independent samples t-test.""" + if not SCIPY_AVAILABLE: + return None + + if len(group1) < 2 or len(group2) < 2: + return None + + t_stat, p_value = stats.ttest_ind(group1, group2) + effect = EffectSize.from_groups(group1, group2) + + return TTestResult( + t_statistic=round(t_stat, 4), + p_value=round(p_value, 4), + effect_size=effect, + significant=p_value < 0.05, + group1_mean=round(np.mean(group1), 4), + group2_mean=round(np.mean(group2), 4), + group1_std=round(np.std(group1, ddof=1), 4), + group2_std=round(np.std(group2, ddof=1), 4), + group1_n=len(group1), + group2_n=len(group2) + ) + + +def perform_2x2_anova( + c1_direct: List[float], # No attributes, No experts + c2_expert: List[float], # No attributes, With experts + c3_attribute: List[float], # With attributes, No experts + c4_full: List[float] # With attributes, With experts +) -> ANOVAResult: + """ + Perform 2×2 factorial ANOVA. + + Factors: + - Attributes: Without (C1, C2) vs With (C3, C4) + - Experts: Without (C1, C3) vs With (C2, C4) + """ + if not SCIPY_AVAILABLE: + return None + + # Check minimum data + min_n = min(len(c1_direct), len(c2_expert), len(c3_attribute), len(c4_full)) + if min_n < 2: + return None + + # For a proper 2×2 ANOVA, we'd use statsmodels or similar + # Here we'll compute main effects and interaction manually + + # Main effect of Attributes: (C3 + C4) vs (C1 + C2) + no_attr = c1_direct + c2_expert + with_attr = c3_attribute + c4_full + f_attr, p_attr = stats.f_oneway(no_attr, with_attr) + + # Main effect of Experts: (C2 + C4) vs (C1 + C3) + no_expert = c1_direct + c3_attribute + with_expert = c2_expert + c4_full + f_expert, p_expert = stats.f_oneway(no_expert, with_expert) + + # Interaction: Compare the difference of differences + # (C4 - C3) - (C2 - C1) = interaction term + # Simplified approach: compare all 4 groups + f_all, p_all = stats.f_oneway(c1_direct, c2_expert, c3_attribute, c4_full) + + # Estimate interaction by checking if combination is super-additive + mean1, mean2, mean3, mean4 = np.mean(c1_direct), np.mean(c2_expert), np.mean(c3_attribute), np.mean(c4_full) + expected_additive = mean1 + (mean2 - mean1) + (mean3 - mean1) # Additive prediction + actual_combination = mean4 + interaction_strength = actual_combination - expected_additive + + significant_effects = [] + if p_attr < 0.05: + significant_effects.append("Attributes") + if p_expert < 0.05: + significant_effects.append("Experts") + if p_all < 0.05 and abs(interaction_strength) > 0.01: + significant_effects.append("Interaction") + + return ANOVAResult( + main_effect_attributes={"F": round(f_attr, 4), "p": round(p_attr, 4)}, + main_effect_experts={"F": round(f_expert, 4), "p": round(p_expert, 4)}, + interaction={ + "F_all_groups": round(f_all, 4), + "p_all_groups": round(p_all, 4), + "interaction_strength": round(interaction_strength, 4), + "super_additive": interaction_strength > 0 + }, + significant_effects=significant_effects + ) + + +def analyze_experiment(metrics: Dict[str, Any]) -> Dict[str, Any]: + """ + Perform full statistical analysis on experiment metrics. + + Returns analysis results for multiple metrics. + """ + results = { + "analysis_metrics": [], + "research_questions": {} + } + + # Define metrics to analyze + metrics_to_analyze = [ + ("Survival Rate", "survival_rate"), + ("Post-Dedup Diversity", "post_dedup_diversity.mean_pairwise_distance"), + ("Normalized Diversity", "normalized_diversity.mean_pairwise_distance"), + ("Query Distance", "post_dedup_query_distance.mean_distance"), + ("Cluster Count", "post_dedup_clusters.optimal_clusters"), + ] + + for metric_name, metric_path in metrics_to_analyze: + print(f"\n{'='*60}") + print(f"Analyzing: {metric_name}") + print(f"{'='*60}") + + # Extract values by condition + by_condition = extract_metric_values(metrics, metric_path) + + if not by_condition: + print(f" No data available for {metric_name}") + continue + + metric_results = { + "metric_name": metric_name, + "metric_path": metric_path, + "descriptive": {}, + "comparisons": {}, + "anova": None + } + + # Descriptive statistics + print(f"\nDescriptive Statistics:") + print(f"{'Condition':<25} {'Mean':<10} {'Std':<10} {'N':<5}") + print("-" * 50) + + for cond, values in sorted(by_condition.items()): + if values: + mean = np.mean(values) + std = np.std(values, ddof=1) if len(values) > 1 else 0 + metric_results["descriptive"][cond] = { + "mean": round(mean, 4), + "std": round(std, 4), + "n": len(values) + } + print(f"{cond:<25} {mean:<10.4f} {std:<10.4f} {len(values):<5}") + + # Key comparisons + comparisons = [] + + # 1. C1 (Direct) vs C4 (Full Pipeline) - Main comparison + if "c1_direct" in by_condition and "c4_full_pipeline" in by_condition: + result = perform_ttest( + by_condition["c4_full_pipeline"], + by_condition["c1_direct"], + "Full Pipeline", "Direct" + ) + if result: + comparisons.append(("C4 vs C1 (Full vs Direct)", result)) + metric_results["comparisons"]["c4_vs_c1"] = { + "t": result.t_statistic, + "p": result.p_value, + "d": result.effect_size.d, + "interpretation": result.effect_size.interpretation, + "significant": result.significant + } + + # 2. C2 (Expert) vs C5 (Random) - Control comparison + if "c2_expert_only" in by_condition and "c5_random_perspective" in by_condition: + result = perform_ttest( + by_condition["c2_expert_only"], + by_condition["c5_random_perspective"], + "Expert", "Random" + ) + if result: + comparisons.append(("C2 vs C5 (Expert vs Random)", result)) + metric_results["comparisons"]["c2_vs_c5"] = { + "t": result.t_statistic, + "p": result.p_value, + "d": result.effect_size.d, + "interpretation": result.effect_size.interpretation, + "significant": result.significant + } + + # 3. C2 (Expert-Only) vs C1 (Direct) - Effect of experts alone + if "c2_expert_only" in by_condition and "c1_direct" in by_condition: + result = perform_ttest( + by_condition["c2_expert_only"], + by_condition["c1_direct"], + "Expert-Only", "Direct" + ) + if result: + comparisons.append(("C2 vs C1 (Expert effect)", result)) + metric_results["comparisons"]["c2_vs_c1"] = { + "t": result.t_statistic, + "p": result.p_value, + "d": result.effect_size.d, + "interpretation": result.effect_size.interpretation, + "significant": result.significant + } + + # 4. C3 (Attribute-Only) vs C1 (Direct) - Effect of attributes alone + if "c3_attribute_only" in by_condition and "c1_direct" in by_condition: + result = perform_ttest( + by_condition["c3_attribute_only"], + by_condition["c1_direct"], + "Attribute-Only", "Direct" + ) + if result: + comparisons.append(("C3 vs C1 (Attribute effect)", result)) + metric_results["comparisons"]["c3_vs_c1"] = { + "t": result.t_statistic, + "p": result.p_value, + "d": result.effect_size.d, + "interpretation": result.effect_size.interpretation, + "significant": result.significant + } + + # Print comparisons + if comparisons: + print(f"\nPairwise Comparisons:") + print(f"{'Comparison':<30} {'t':<10} {'p':<10} {'d':<10} {'Sig?':<8}") + print("-" * 68) + for name, result in comparisons: + sig = "Yes*" if result.significant else "No" + print(f"{name:<30} {result.t_statistic:<10.3f} {result.p_value:<10.4f} " + f"{result.effect_size.d:<10.3f} {sig:<8}") + + # 2×2 ANOVA (if all conditions available) + if all(c in by_condition for c in ["c1_direct", "c2_expert_only", "c3_attribute_only", "c4_full_pipeline"]): + anova = perform_2x2_anova( + by_condition["c1_direct"], + by_condition["c2_expert_only"], + by_condition["c3_attribute_only"], + by_condition["c4_full_pipeline"] + ) + if anova: + metric_results["anova"] = { + "main_effect_attributes": anova.main_effect_attributes, + "main_effect_experts": anova.main_effect_experts, + "interaction": anova.interaction, + "significant_effects": anova.significant_effects + } + + print(f"\n2×2 ANOVA Results:") + print(f" Main Effect (Attributes): F={anova.main_effect_attributes['F']:.3f}, " + f"p={anova.main_effect_attributes['p']:.4f}") + print(f" Main Effect (Experts): F={anova.main_effect_experts['F']:.3f}, " + f"p={anova.main_effect_experts['p']:.4f}") + print(f" Interaction Strength: {anova.interaction['interaction_strength']:.4f} " + f"({'super-additive' if anova.interaction['super_additive'] else 'sub-additive'})") + print(f" Significant Effects: {', '.join(anova.significant_effects) or 'None'}") + + results["analysis_metrics"].append(metric_results) + + # Summarize research questions + results["research_questions"] = summarize_research_questions(results["analysis_metrics"]) + + return results + + +def summarize_research_questions(analysis_metrics: List[Dict]) -> Dict[str, str]: + """Summarize findings for each research question.""" + rq = {} + + # Find the diversity metric results + diversity_results = None + for m in analysis_metrics: + if "Diversity" in m["metric_name"] and "Normalized" in m["metric_name"]: + diversity_results = m + break + if diversity_results is None: + for m in analysis_metrics: + if "Diversity" in m["metric_name"]: + diversity_results = m + break + + if diversity_results: + anova = diversity_results.get("anova", {}) + comparisons = diversity_results.get("comparisons", {}) + + # RQ1: Does attribute decomposition improve diversity? + if anova and "main_effect_attributes" in anova: + p = anova["main_effect_attributes"]["p"] + rq["RQ1_attributes"] = f"Main effect p={p:.4f}. " + \ + ("Significant effect of attributes." if p < 0.05 else "No significant effect.") + + # RQ2: Do expert perspectives improve diversity? + if anova and "main_effect_experts" in anova: + p = anova["main_effect_experts"]["p"] + rq["RQ2_experts"] = f"Main effect p={p:.4f}. " + \ + ("Significant effect of experts." if p < 0.05 else "No significant effect.") + + # RQ3: Interaction effect? + if anova and "interaction" in anova: + strength = anova["interaction"]["interaction_strength"] + super_add = anova["interaction"]["super_additive"] + rq["RQ3_interaction"] = f"Interaction strength={strength:.4f}. " + \ + ("Super-additive (combination better than sum)." if super_add else "Sub-additive or additive.") + + # RQ5: Expert vs Random (C2 vs C5) + if "c2_vs_c5" in comparisons: + comp = comparisons["c2_vs_c5"] + rq["RQ5_expert_vs_random"] = f"d={comp['d']:.3f} ({comp['interpretation']}), p={comp['p']:.4f}. " + \ + ("Expert knowledge matters." if comp["significant"] and comp["d"] > 0 else "No significant difference from random perspectives.") + + return rq + + +def print_research_summary(results: Dict[str, Any]): + """Print summary of research question findings.""" + print("\n" + "=" * 70) + print("RESEARCH QUESTIONS SUMMARY") + print("=" * 70) + + rq = results.get("research_questions", {}) + + print("\nRQ1: Does attribute decomposition improve semantic diversity?") + print(f" → {rq.get('RQ1_attributes', 'Insufficient data')}") + + print("\nRQ2: Do expert perspectives improve semantic diversity?") + print(f" → {rq.get('RQ2_experts', 'Insufficient data')}") + + print("\nRQ3: Is there an interaction effect (Full Pipeline > sum of parts)?") + print(f" → {rq.get('RQ3_interaction', 'Insufficient data')}") + + print("\nRQ5: Do experts beat random perspectives? (C2 vs C5)") + print(f" → {rq.get('RQ5_expert_vs_random', 'Insufficient data')}") + + print("\n" + "=" * 70) + print("Note: With pilot data (n=1 query), statistical power is limited.") + print("Full experiment (n=10+ queries) needed for reliable conclusions.") + print("=" * 70) + + +def main(): + parser = argparse.ArgumentParser( + description="Statistical analysis for experiment results" + ) + parser.add_argument( + "--input", + type=str, + required=True, + help="Input metrics JSON file" + ) + parser.add_argument( + "--output", + type=str, + help="Output file path (default: input_analysis.json)" + ) + + args = parser.parse_args() + + input_path = Path(args.input) + if not input_path.exists(): + input_path = RESULTS_DIR / args.input + if not input_path.exists(): + print(f"Error: Input file not found: {args.input}") + sys.exit(1) + + # Load metrics + with open(input_path, "r", encoding="utf-8") as f: + metrics = json.load(f) + + # Run analysis + results = analyze_experiment(metrics) + + # Print research summary + print_research_summary(results) + + # Save results + if args.output: + output_path = Path(args.output) + else: + stem = input_path.stem.replace("_metrics", "") + output_path = input_path.parent / f"{stem}_analysis.json" + + with open(output_path, "w", encoding="utf-8") as f: + json.dump(results, f, indent=2, ensure_ascii=False, cls=NumpyEncoder) + + print(f"\nAnalysis saved to: {output_path}") + + +if __name__ == "__main__": + main() diff --git a/experiments/assessment/README.md b/experiments/assessment/README.md new file mode 100644 index 0000000..adac262 --- /dev/null +++ b/experiments/assessment/README.md @@ -0,0 +1,314 @@ +# Human Assessment Web Interface + +A standalone web application for human assessment of generated ideas using Torrance-inspired creativity metrics. + +## Overview + +This tool enables blind evaluation of creative ideas generated by the novelty-seeking experiment. Raters assess ideas on four dimensions without knowing which experimental condition produced each idea, ensuring unbiased evaluation. + +## Quick Start + +```bash +cd experiments/assessment + +# 1. Prepare assessment data (if not already done) +python3 prepare_data.py + +# 2. Start the system +./start.sh + +# 3. Open browser +open http://localhost:5174 +``` + +## Directory Structure + +``` +assessment/ +├── backend/ +│ ├── app.py # FastAPI backend API +│ ├── database.py # SQLite database operations +│ ├── models.py # Pydantic models & dimension definitions +│ └── requirements.txt # Python dependencies +├── frontend/ +│ ├── src/ +│ │ ├── components/ # React UI components +│ │ ├── hooks/ # React state management +│ │ ├── services/ # API client +│ │ └── types/ # TypeScript definitions +│ └── package.json +├── data/ +│ └── assessment_items.json # Prepared ideas for rating +├── results/ +│ └── ratings.db # SQLite database with ratings +├── prepare_data.py # Data preparation script +├── analyze_ratings.py # Inter-rater reliability analysis +├── start.sh # Start both servers +├── stop.sh # Stop all services +└── README.md # This file +``` + +## Data Preparation + +### List Available Experiment Files + +```bash +python3 prepare_data.py --list +``` + +Output: +``` +Available experiment files (most recent first): + experiment_20260119_165650_deduped.json (1571.3 KB) + experiment_20260119_163040_deduped.json (156.4 KB) +``` + +### Prepare Assessment Data + +```bash +# Use all ideas (not recommended for human assessment) +python3 prepare_data.py + +# RECOMMENDED: Stratified sampling - 4 ideas per condition per query +# Results in ~200 ideas (5 conditions × 4 ideas × 10 queries) +python3 prepare_data.py --per-condition 4 + +# Alternative: Sample 150 ideas total (proportionally across queries) +python3 prepare_data.py --sample 150 + +# Limit per query (20 ideas max per query) +python3 prepare_data.py --per-query 20 + +# Combined: 4 per condition, max 15 per query +python3 prepare_data.py --per-condition 4 --per-query 15 + +# Specify a different experiment file +python3 prepare_data.py experiment_20260119_163040_deduped.json --per-condition 4 +``` + +### Sampling Options + +| Option | Description | Example | +|--------|-------------|---------| +| `--per-condition N` | Max N ideas per condition per query (stratified) | `--per-condition 4` → ~200 ideas | +| `--per-query N` | Max N ideas per query | `--per-query 20` | +| `--sample N` | Total N ideas (proportionally distributed) | `--sample 150` | +| `--seed N` | Random seed for reproducibility | `--seed 42` (default) | + +**Recommendation**: Use `--per-condition 4` for balanced assessment across conditions. + +The script: +1. Loads the deduped experiment results +2. Extracts all unique ideas with hidden metadata (condition, expert, keyword) +3. Assigns stable IDs to each idea +4. Shuffles ideas within each query (reproducible with seed=42) +5. Outputs `data/assessment_items.json` + +## Assessment Dimensions + +Raters evaluate each idea on four dimensions using a 1-5 Likert scale: + +### Originality +*How unexpected or surprising is this idea?* + +| Score | Description | +|-------|-------------| +| 1 | Very common/obvious idea anyone would suggest | +| 2 | Somewhat common, slight variation on expected ideas | +| 3 | Moderately original, some unexpected elements | +| 4 | Quite original, notably different approach | +| 5 | Highly unexpected, truly novel concept | + +### Elaboration +*How detailed and well-developed is this idea?* + +| Score | Description | +|-------|-------------| +| 1 | Vague, minimal detail, just a concept | +| 2 | Basic idea with little specificity | +| 3 | Moderately detailed, some specifics provided | +| 4 | Well-developed with clear implementation hints | +| 5 | Highly specific, thoroughly developed concept | + +### Coherence +*Does this idea make logical sense and relate to the query object?* + +| Score | Description | +|-------|-------------| +| 1 | Nonsensical, irrelevant, or incomprehensible | +| 2 | Mostly unclear, weak connection to query | +| 3 | Partially coherent, some logical gaps | +| 4 | Mostly coherent with minor issues | +| 5 | Fully coherent, clearly relates to query | + +### Usefulness +*Could this idea have practical value or inspire real innovation?* + +| Score | Description | +|-------|-------------| +| 1 | No practical value whatsoever | +| 2 | Minimal usefulness, highly impractical | +| 3 | Some potential value with major limitations | +| 4 | Useful idea with realistic applications | +| 5 | Highly useful, clear practical value | + +## Running the System + +### Start + +```bash +./start.sh +``` + +This will: +1. Check for `data/assessment_items.json` (runs `prepare_data.py` if missing) +2. Install frontend dependencies if needed +3. Start backend API on port 8002 +4. Start frontend dev server on port 5174 + +### Stop + +```bash +./stop.sh +``` + +Or press `Ctrl+C` in the terminal running `start.sh`. + +### Manual Start (Development) + +```bash +# Terminal 1: Backend +cd backend +../../../backend/venv/bin/uvicorn app:app --host 0.0.0.0 --port 8002 --reload + +# Terminal 2: Frontend +cd frontend +npm run dev +``` + +## API Endpoints + +| Endpoint | Method | Description | +|----------|--------|-------------| +| `/api/health` | GET | Health check | +| `/api/info` | GET | Experiment info (total ideas, queries, conditions) | +| `/api/dimensions` | GET | Dimension definitions for UI | +| `/api/raters` | GET | List all raters | +| `/api/raters` | POST | Register/login rater | +| `/api/queries` | GET | List all queries | +| `/api/queries/{id}` | GET | Get query with all ideas | +| `/api/queries/{id}/unrated?rater_id=X` | GET | Get unrated ideas for rater | +| `/api/ratings` | POST | Submit a rating | +| `/api/progress/{rater_id}` | GET | Get rater's progress | +| `/api/statistics` | GET | Overall statistics | +| `/api/export` | GET | Export all ratings with metadata | + +## Analysis + +After collecting ratings from multiple raters: + +```bash +python3 analyze_ratings.py +``` + +This calculates: +- **Krippendorff's alpha**: Inter-rater reliability for ordinal data +- **ICC(2,1)**: Intraclass Correlation Coefficient with 95% CI +- **Mean ratings per condition**: Compare experimental conditions +- **Kruskal-Wallis test**: Statistical significance between conditions + +Output is saved to `results/analysis_results.json`. + +## Database Schema + +SQLite database (`results/ratings.db`): + +```sql +-- Raters +CREATE TABLE raters ( + rater_id TEXT PRIMARY KEY, + name TEXT, + created_at TIMESTAMP +); + +-- Ratings +CREATE TABLE ratings ( + id INTEGER PRIMARY KEY, + rater_id TEXT, + idea_id TEXT, + query_id TEXT, + originality INTEGER CHECK(originality BETWEEN 1 AND 5), + elaboration INTEGER CHECK(elaboration BETWEEN 1 AND 5), + coherence INTEGER CHECK(coherence BETWEEN 1 AND 5), + usefulness INTEGER CHECK(usefulness BETWEEN 1 AND 5), + skipped INTEGER DEFAULT 0, + timestamp TIMESTAMP, + UNIQUE(rater_id, idea_id) +); + +-- Progress tracking +CREATE TABLE progress ( + rater_id TEXT, + query_id TEXT, + completed_count INTEGER, + total_count INTEGER, + PRIMARY KEY (rater_id, query_id) +); +``` + +## Blind Assessment Design + +To ensure unbiased evaluation: + +1. **Randomization**: Ideas are shuffled within each query using a fixed seed (42) for reproducibility +2. **Hidden metadata**: Condition, expert name, and keywords are stored but not shown to raters +3. **Consistent ordering**: All raters see the same randomized order +4. **Context provided**: Only the query text is shown (e.g., "Chair", "Bicycle") + +## Workflow for Raters + +1. **Login**: Enter a unique rater ID +2. **Instructions**: Read dimension definitions (shown before first rating) +3. **Rate ideas**: For each idea: + - Read the idea text + - Rate all 4 dimensions (1-5) + - Click "Submit & Next" or "Skip" +4. **Progress**: Track completion per query and overall +5. **Completion**: Summary shown when all ideas are rated + +## Troubleshooting + +### Backend won't start +```bash +# Check if port 8002 is in use +lsof -i :8002 + +# Check backend logs +cat /tmp/assessment_backend.log +``` + +### Frontend won't start +```bash +# Reinstall dependencies +cd frontend +rm -rf node_modules +npm install +``` + +### Reset database +```bash +rm results/ratings.db +# Database is auto-created on next backend start +``` + +### Regenerate assessment data +```bash +rm data/assessment_items.json +python3 prepare_data.py +``` + +## Tech Stack + +- **Backend**: Python 3.11+, FastAPI, SQLite, Pydantic +- **Frontend**: React 19, TypeScript, Vite, Ant Design 6.0 +- **Analysis**: NumPy, SciPy (for statistical tests) diff --git a/experiments/assessment/analyze_ratings.py b/experiments/assessment/analyze_ratings.py new file mode 100755 index 0000000..f484b52 --- /dev/null +++ b/experiments/assessment/analyze_ratings.py @@ -0,0 +1,356 @@ +#!/usr/bin/env python3 +""" +Analyze assessment ratings for inter-rater reliability and condition comparisons. + +This script: +1. Loads ratings from the SQLite database +2. Joins with hidden metadata (condition, expert) +3. Calculates inter-rater reliability metrics +4. Computes mean ratings per dimension per condition +5. Performs statistical comparisons between conditions +""" + +import json +import sqlite3 +from collections import defaultdict +from datetime import datetime +from pathlib import Path +from typing import Any + +import numpy as np +from scipy import stats + + +# Paths +RESULTS_DIR = Path(__file__).parent / 'results' +DATA_DIR = Path(__file__).parent / 'data' +DB_PATH = RESULTS_DIR / 'ratings.db' +ASSESSMENT_DATA_PATH = DATA_DIR / 'assessment_items.json' + + +def load_assessment_data() -> dict[str, Any]: + """Load the assessment items data with hidden metadata.""" + with open(ASSESSMENT_DATA_PATH, 'r', encoding='utf-8') as f: + return json.load(f) + + +def load_ratings_from_db() -> list[dict[str, Any]]: + """Load all ratings from the SQLite database.""" + if not DB_PATH.exists(): + print(f"Database not found at {DB_PATH}") + return [] + + conn = sqlite3.connect(DB_PATH) + conn.row_factory = sqlite3.Row + cursor = conn.cursor() + + cursor.execute(''' + SELECT r.*, rat.name as rater_name + FROM ratings r + LEFT JOIN raters rat ON r.rater_id = rat.rater_id + WHERE r.skipped = 0 + ''') + + ratings = [dict(row) for row in cursor.fetchall()] + conn.close() + + return ratings + + +def build_idea_lookup(assessment_data: dict[str, Any]) -> dict[str, dict[str, Any]]: + """Build a lookup table from idea_id to metadata.""" + lookup = {} + for query in assessment_data['queries']: + for idea in query['ideas']: + lookup[idea['idea_id']] = { + 'text': idea['text'], + 'query_id': query['query_id'], + 'query_text': query['query_text'], + **idea['_hidden'] + } + return lookup + + +def calculate_krippendorff_alpha(ratings_matrix: np.ndarray) -> float: + """ + Calculate Krippendorff's alpha for ordinal data. + + Args: + ratings_matrix: 2D array where rows are items and columns are raters. + NaN values indicate missing ratings. + + Returns: + Krippendorff's alpha coefficient + """ + # Remove items with fewer than 2 raters + valid_items = ~np.all(np.isnan(ratings_matrix), axis=1) + ratings_matrix = ratings_matrix[valid_items] + + if ratings_matrix.shape[0] < 2: + return np.nan + + n_items, n_raters = ratings_matrix.shape + + # Observed disagreement + observed_disagreement = 0 + n_pairs = 0 + + for i in range(n_items): + values = ratings_matrix[i, ~np.isnan(ratings_matrix[i])] + if len(values) < 2: + continue + # Ordinal distance: squared difference + for j in range(len(values)): + for k in range(j + 1, len(values)): + observed_disagreement += (values[j] - values[k]) ** 2 + n_pairs += 1 + + if n_pairs == 0: + return np.nan + + observed_disagreement /= n_pairs + + # Expected disagreement (based on marginal distribution) + all_values = ratings_matrix[~np.isnan(ratings_matrix)] + if len(all_values) < 2: + return np.nan + + expected_disagreement = 0 + n_total_pairs = 0 + for i in range(len(all_values)): + for j in range(i + 1, len(all_values)): + expected_disagreement += (all_values[i] - all_values[j]) ** 2 + n_total_pairs += 1 + + if n_total_pairs == 0: + return np.nan + + expected_disagreement /= n_total_pairs + + if expected_disagreement == 0: + return 1.0 + + alpha = 1 - (observed_disagreement / expected_disagreement) + return alpha + + +def calculate_icc(ratings_matrix: np.ndarray) -> tuple[float, float, float]: + """ + Calculate Intraclass Correlation Coefficient (ICC(2,1)). + + Args: + ratings_matrix: 2D array where rows are items and columns are raters. + + Returns: + Tuple of (ICC, lower_bound, upper_bound) + """ + # Remove rows with any NaN + valid_rows = ~np.any(np.isnan(ratings_matrix), axis=1) + ratings_matrix = ratings_matrix[valid_rows] + + if ratings_matrix.shape[0] < 2 or ratings_matrix.shape[1] < 2: + return np.nan, np.nan, np.nan + + n, k = ratings_matrix.shape + + # Grand mean + grand_mean = np.mean(ratings_matrix) + + # Row means (item means) + row_means = np.mean(ratings_matrix, axis=1) + + # Column means (rater means) + col_means = np.mean(ratings_matrix, axis=0) + + # Sum of squares + ss_total = np.sum((ratings_matrix - grand_mean) ** 2) + ss_rows = k * np.sum((row_means - grand_mean) ** 2) + ss_cols = n * np.sum((col_means - grand_mean) ** 2) + ss_error = ss_total - ss_rows - ss_cols + + # Mean squares + ms_rows = ss_rows / (n - 1) if n > 1 else 0 + ms_cols = ss_cols / (k - 1) if k > 1 else 0 + ms_error = ss_error / ((n - 1) * (k - 1)) if (n > 1 and k > 1) else 0 + + # ICC(2,1) - two-way random, absolute agreement, single rater + if ms_error + (ms_cols - ms_error) / n == 0: + return np.nan, np.nan, np.nan + + icc = (ms_rows - ms_error) / (ms_rows + (k - 1) * ms_error + k * (ms_cols - ms_error) / n) + + # Confidence interval (approximate) + # Using F distribution + df1 = n - 1 + df2 = (n - 1) * (k - 1) + + if ms_error == 0: + return icc, np.nan, np.nan + + f_value = ms_rows / ms_error + f_lower = f_value / stats.f.ppf(0.975, df1, df2) + f_upper = f_value / stats.f.ppf(0.025, df1, df2) + + icc_lower = (f_lower - 1) / (f_lower + k - 1) + icc_upper = (f_upper - 1) / (f_upper + k - 1) + + return icc, icc_lower, icc_upper + + +def analyze_ratings(): + """Main analysis function.""" + print("=" * 60) + print("CREATIVE IDEA ASSESSMENT ANALYSIS") + print("=" * 60) + print() + + # Load data + assessment_data = load_assessment_data() + ratings = load_ratings_from_db() + idea_lookup = build_idea_lookup(assessment_data) + + if not ratings: + print("No ratings found in database.") + return + + print(f"Loaded {len(ratings)} ratings from database") + print(f"Experiment ID: {assessment_data['experiment_id']}") + print() + + # Get unique raters + raters = list(set(r['rater_id'] for r in ratings)) + print(f"Raters: {raters}") + print() + + # Join ratings with metadata + enriched_ratings = [] + for r in ratings: + idea_meta = idea_lookup.get(r['idea_id'], {}) + enriched_ratings.append({ + **r, + 'condition': idea_meta.get('condition', 'unknown'), + 'expert_name': idea_meta.get('expert_name', ''), + 'keyword': idea_meta.get('keyword', ''), + 'query_text': idea_meta.get('query_text', ''), + 'idea_text': idea_meta.get('text', '') + }) + + # Dimensions + dimensions = ['originality', 'elaboration', 'coherence', 'usefulness'] + + # ================================ + # Inter-rater reliability + # ================================ + print("-" * 60) + print("INTER-RATER RELIABILITY") + print("-" * 60) + print() + + if len(raters) >= 2: + # Build ratings matrix per dimension + idea_ids = list(set(r['idea_id'] for r in enriched_ratings)) + + for dim in dimensions: + # Create matrix: rows = ideas, cols = raters + matrix = np.full((len(idea_ids), len(raters)), np.nan) + idea_to_idx = {idea: idx for idx, idea in enumerate(idea_ids)} + rater_to_idx = {rater: idx for idx, rater in enumerate(raters)} + + for r in enriched_ratings: + if r[dim] is not None: + i = idea_to_idx[r['idea_id']] + j = rater_to_idx[r['rater_id']] + matrix[i, j] = r[dim] + + # Calculate metrics + alpha = calculate_krippendorff_alpha(matrix) + icc, icc_low, icc_high = calculate_icc(matrix) + + print(f"{dim.upper()}:") + print(f" Krippendorff's alpha: {alpha:.3f}") + print(f" ICC(2,1): {icc:.3f} (95% CI: {icc_low:.3f} - {icc_high:.3f})") + print() + else: + print("Need at least 2 raters for inter-rater reliability analysis.") + print() + + # ================================ + # Condition comparisons + # ================================ + print("-" * 60) + print("MEAN RATINGS BY CONDITION") + print("-" * 60) + print() + + # Group ratings by condition + condition_ratings: dict[str, dict[str, list[int]]] = defaultdict(lambda: defaultdict(list)) + + for r in enriched_ratings: + condition = r['condition'] + for dim in dimensions: + if r[dim] is not None: + condition_ratings[condition][dim].append(r[dim]) + + # Calculate means and print + condition_stats = {} + for condition in sorted(condition_ratings.keys()): + print(f"\n{condition}:") + condition_stats[condition] = {} + for dim in dimensions: + values = condition_ratings[condition][dim] + if values: + mean = np.mean(values) + std = np.std(values) + n = len(values) + condition_stats[condition][dim] = {'mean': mean, 'std': std, 'n': n} + print(f" {dim}: {mean:.2f} (SD={std:.2f}, n={n})") + else: + print(f" {dim}: no data") + + # ================================ + # Statistical comparisons + # ================================ + print() + print("-" * 60) + print("STATISTICAL COMPARISONS (Kruskal-Wallis)") + print("-" * 60) + print() + + conditions = sorted(condition_ratings.keys()) + if len(conditions) >= 2: + for dim in dimensions: + groups = [condition_ratings[c][dim] for c in conditions if condition_ratings[c][dim]] + if len(groups) >= 2: + h_stat, p_value = stats.kruskal(*groups) + sig = "*" if p_value < 0.05 else "" + print(f"{dim}: H={h_stat:.2f}, p={p_value:.4f} {sig}") + else: + print(f"{dim}: insufficient data for comparison") + else: + print("Need at least 2 conditions with data for statistical comparison.") + + # ================================ + # Export results + # ================================ + output = { + 'analysis_timestamp': datetime.utcnow().isoformat(), + 'experiment_id': assessment_data['experiment_id'], + 'total_ratings': len(ratings), + 'raters': raters, + 'rater_count': len(raters), + 'condition_stats': condition_stats, + 'enriched_ratings': enriched_ratings + } + + output_path = RESULTS_DIR / 'analysis_results.json' + with open(output_path, 'w', encoding='utf-8') as f: + json.dump(output, f, ensure_ascii=False, indent=2, default=str) + + print() + print("-" * 60) + print(f"Results exported to: {output_path}") + print("=" * 60) + + +if __name__ == '__main__': + analyze_ratings() diff --git a/experiments/assessment/backend/__init__.py b/experiments/assessment/backend/__init__.py new file mode 100644 index 0000000..c0f963c --- /dev/null +++ b/experiments/assessment/backend/__init__.py @@ -0,0 +1 @@ +"""Assessment backend package.""" diff --git a/experiments/assessment/backend/app.py b/experiments/assessment/backend/app.py new file mode 100644 index 0000000..4a95f6a --- /dev/null +++ b/experiments/assessment/backend/app.py @@ -0,0 +1,374 @@ +""" +FastAPI backend for human assessment of creative ideas. +""" + +import json +from datetime import datetime +from pathlib import Path +from typing import Any + +from fastapi import FastAPI, HTTPException +from fastapi.middleware.cors import CORSMiddleware + +try: + from . import database as db + from .models import ( + DIMENSION_DEFINITIONS, + ExportData, + ExportRating, + IdeaForRating, + Progress, + QueryInfo, + QueryWithIdeas, + Rater, + RaterCreate, + RaterProgress, + Rating, + RatingSubmit, + Statistics, + ) +except ImportError: + import database as db + from models import ( + DIMENSION_DEFINITIONS, + ExportData, + ExportRating, + IdeaForRating, + Progress, + QueryInfo, + QueryWithIdeas, + Rater, + RaterCreate, + RaterProgress, + Rating, + RatingSubmit, + Statistics, + ) + + +# Load assessment data +DATA_PATH = Path(__file__).parent.parent / 'data' / 'assessment_items.json' + + +def load_assessment_data() -> dict[str, Any]: + """Load the assessment items data.""" + if not DATA_PATH.exists(): + raise RuntimeError(f"Assessment data not found at {DATA_PATH}. Run prepare_data.py first.") + with open(DATA_PATH, 'r', encoding='utf-8') as f: + return json.load(f) + + +# Initialize FastAPI app +app = FastAPI( + title="Creative Idea Assessment API", + description="API for human assessment of creative ideas using Torrance-inspired metrics", + version="1.0.0" +) + +# CORS middleware +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + + +# Cache for assessment data +_assessment_data: dict[str, Any] | None = None + + +def get_assessment_data() -> dict[str, Any]: + """Get cached assessment data.""" + global _assessment_data + if _assessment_data is None: + _assessment_data = load_assessment_data() + return _assessment_data + + +# Rater endpoints +@app.get("/api/raters", response_model=list[Rater]) +def list_raters() -> list[dict[str, Any]]: + """List all registered raters.""" + return db.list_raters() + + +@app.post("/api/raters", response_model=Rater) +def create_or_get_rater(rater_data: RaterCreate) -> dict[str, Any]: + """Register a new rater or get existing one.""" + return db.create_rater(rater_data.rater_id, rater_data.name) + + +@app.get("/api/raters/{rater_id}", response_model=Rater) +def get_rater(rater_id: str) -> dict[str, Any]: + """Get a specific rater.""" + rater = db.get_rater(rater_id) + if not rater: + raise HTTPException(status_code=404, detail="Rater not found") + return rater + + +# Query endpoints +@app.get("/api/queries", response_model=list[QueryInfo]) +def list_queries() -> list[dict[str, Any]]: + """List all queries available for assessment.""" + data = get_assessment_data() + return [ + { + 'query_id': q['query_id'], + 'query_text': q['query_text'], + 'category': q.get('category', ''), + 'idea_count': q['idea_count'] + } + for q in data['queries'] + ] + + +@app.get("/api/queries/{query_id}", response_model=QueryWithIdeas) +def get_query_with_ideas(query_id: str) -> dict[str, Any]: + """Get a query with all its ideas for rating (without hidden metadata).""" + data = get_assessment_data() + + for query in data['queries']: + if query['query_id'] == query_id: + ideas = [ + IdeaForRating( + idea_id=idea['idea_id'], + text=idea['text'], + index=idx + ) + for idx, idea in enumerate(query['ideas']) + ] + return QueryWithIdeas( + query_id=query['query_id'], + query_text=query['query_text'], + category=query.get('category', ''), + ideas=ideas, + total_count=len(ideas) + ) + + raise HTTPException(status_code=404, detail="Query not found") + + +@app.get("/api/queries/{query_id}/unrated", response_model=QueryWithIdeas) +def get_unrated_ideas(query_id: str, rater_id: str) -> dict[str, Any]: + """Get unrated ideas for a query by a specific rater.""" + data = get_assessment_data() + + for query in data['queries']: + if query['query_id'] == query_id: + # Get already rated idea IDs + rated_ids = db.get_rated_idea_ids(rater_id, query_id) + + # Filter to unrated ideas + unrated_ideas = [ + IdeaForRating( + idea_id=idea['idea_id'], + text=idea['text'], + index=idx + ) + for idx, idea in enumerate(query['ideas']) + if idea['idea_id'] not in rated_ids + ] + + return QueryWithIdeas( + query_id=query['query_id'], + query_text=query['query_text'], + category=query.get('category', ''), + ideas=unrated_ideas, + total_count=query['idea_count'] + ) + + raise HTTPException(status_code=404, detail="Query not found") + + +# Rating endpoints +@app.post("/api/ratings", response_model=dict[str, Any]) +def submit_rating(rating: RatingSubmit) -> dict[str, Any]: + """Submit a rating for an idea.""" + # Validate that rater exists + rater = db.get_rater(rating.rater_id) + if not rater: + raise HTTPException(status_code=404, detail="Rater not found. Please register first.") + + # Validate idea exists + data = get_assessment_data() + idea_found = False + for query in data['queries']: + for idea in query['ideas']: + if idea['idea_id'] == rating.idea_id: + idea_found = True + break + if idea_found: + break + + if not idea_found: + raise HTTPException(status_code=404, detail="Idea not found") + + # If not skipped, require all ratings + if not rating.skipped: + if rating.originality is None or rating.elaboration is None or rating.coherence is None or rating.usefulness is None: + raise HTTPException( + status_code=400, + detail="All dimensions must be rated unless skipping" + ) + + # Save rating + return db.save_rating( + rater_id=rating.rater_id, + idea_id=rating.idea_id, + query_id=rating.query_id, + originality=rating.originality, + elaboration=rating.elaboration, + coherence=rating.coherence, + usefulness=rating.usefulness, + skipped=rating.skipped + ) + + +@app.get("/api/ratings/{rater_id}/{idea_id}", response_model=Rating | None) +def get_rating(rater_id: str, idea_id: str) -> dict[str, Any] | None: + """Get a specific rating.""" + return db.get_rating(rater_id, idea_id) + + +@app.get("/api/ratings/rater/{rater_id}", response_model=list[Rating]) +def get_ratings_by_rater(rater_id: str) -> list[dict[str, Any]]: + """Get all ratings by a rater.""" + return db.get_ratings_by_rater(rater_id) + + +# Progress endpoints +@app.get("/api/progress/{rater_id}", response_model=RaterProgress) +def get_rater_progress(rater_id: str) -> RaterProgress: + """Get complete progress for a rater.""" + rater = db.get_rater(rater_id) + if not rater: + raise HTTPException(status_code=404, detail="Rater not found") + + data = get_assessment_data() + + # Get rated idea counts per query + ratings = db.get_ratings_by_rater(rater_id) + ratings_per_query: dict[str, int] = {} + for r in ratings: + qid = r['query_id'] + ratings_per_query[qid] = ratings_per_query.get(qid, 0) + 1 + + # Build progress list + query_progress = [] + total_completed = 0 + total_ideas = 0 + + for query in data['queries']: + qid = query['query_id'] + completed = ratings_per_query.get(qid, 0) + total = query['idea_count'] + + query_progress.append(Progress( + rater_id=rater_id, + query_id=qid, + completed_count=completed, + total_count=total + )) + + total_completed += completed + total_ideas += total + + percentage = (total_completed / total_ideas * 100) if total_ideas > 0 else 0 + + return RaterProgress( + rater_id=rater_id, + queries=query_progress, + total_completed=total_completed, + total_ideas=total_ideas, + percentage=round(percentage, 1) + ) + + +# Statistics endpoint +@app.get("/api/statistics", response_model=Statistics) +def get_statistics() -> Statistics: + """Get overall assessment statistics.""" + stats = db.get_statistics() + return Statistics(**stats) + + +# Dimension definitions endpoint +@app.get("/api/dimensions") +def get_dimensions() -> dict[str, Any]: + """Get dimension definitions for the UI.""" + return DIMENSION_DEFINITIONS + + +# Export endpoint +@app.get("/api/export", response_model=ExportData) +def export_ratings() -> ExportData: + """Export all ratings with hidden metadata for analysis.""" + data = get_assessment_data() + all_ratings = db.get_all_ratings() + + # Build idea lookup with hidden metadata + idea_lookup: dict[str, dict[str, Any]] = {} + query_lookup: dict[str, str] = {} + + for query in data['queries']: + query_lookup[query['query_id']] = query['query_text'] + for idea in query['ideas']: + idea_lookup[idea['idea_id']] = { + 'text': idea['text'], + 'condition': idea['_hidden']['condition'], + 'expert_name': idea['_hidden']['expert_name'], + 'keyword': idea['_hidden']['keyword'] + } + + # Build export ratings + export_ratings = [] + for r in all_ratings: + idea_data = idea_lookup.get(r['idea_id'], {}) + export_ratings.append(ExportRating( + rater_id=r['rater_id'], + idea_id=r['idea_id'], + query_id=r['query_id'], + query_text=query_lookup.get(r['query_id'], ''), + idea_text=idea_data.get('text', ''), + originality=r['originality'], + elaboration=r['elaboration'], + coherence=r['coherence'], + usefulness=r['usefulness'], + skipped=bool(r['skipped']), + condition=idea_data.get('condition', ''), + expert_name=idea_data.get('expert_name', ''), + keyword=idea_data.get('keyword', ''), + timestamp=r['timestamp'] + )) + + return ExportData( + experiment_id=data['experiment_id'], + export_timestamp=datetime.utcnow(), + rater_count=len(db.list_raters()), + rating_count=len(export_ratings), + ratings=export_ratings + ) + + +# Health check +@app.get("/api/health") +def health_check() -> dict[str, str]: + """Health check endpoint.""" + return {"status": "healthy"} + + +# Info endpoint +@app.get("/api/info") +def get_info() -> dict[str, Any]: + """Get assessment session info.""" + data = get_assessment_data() + return { + 'experiment_id': data['experiment_id'], + 'total_ideas': data['total_ideas'], + 'query_count': data['query_count'], + 'conditions': data['conditions'], + 'randomization_seed': data['randomization_seed'] + } diff --git a/experiments/assessment/backend/database.py b/experiments/assessment/backend/database.py new file mode 100644 index 0000000..62f2f92 --- /dev/null +++ b/experiments/assessment/backend/database.py @@ -0,0 +1,309 @@ +""" +SQLite database setup and operations for assessment ratings storage. +""" + +import sqlite3 +from contextlib import contextmanager +from datetime import datetime +from pathlib import Path +from typing import Any, Generator + + +# Database path +DB_PATH = Path(__file__).parent.parent / 'results' / 'ratings.db' + + +def get_db_path() -> Path: + """Get the database path, ensuring directory exists.""" + DB_PATH.parent.mkdir(parents=True, exist_ok=True) + return DB_PATH + + +@contextmanager +def get_connection() -> Generator[sqlite3.Connection, None, None]: + """Get a database connection as a context manager.""" + conn = sqlite3.connect(get_db_path()) + conn.row_factory = sqlite3.Row + try: + yield conn + finally: + conn.close() + + +def init_db() -> None: + """Initialize the database with required tables.""" + with get_connection() as conn: + cursor = conn.cursor() + + # Raters table + cursor.execute(''' + CREATE TABLE IF NOT EXISTS raters ( + rater_id TEXT PRIMARY KEY, + name TEXT, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP + ) + ''') + + # Ratings table + cursor.execute(''' + CREATE TABLE IF NOT EXISTS ratings ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + rater_id TEXT NOT NULL, + idea_id TEXT NOT NULL, + query_id TEXT NOT NULL, + originality INTEGER CHECK(originality BETWEEN 1 AND 5), + elaboration INTEGER CHECK(elaboration BETWEEN 1 AND 5), + coherence INTEGER CHECK(coherence BETWEEN 1 AND 5), + usefulness INTEGER CHECK(usefulness BETWEEN 1 AND 5), + skipped INTEGER DEFAULT 0, + timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (rater_id) REFERENCES raters(rater_id), + UNIQUE(rater_id, idea_id) + ) + ''') + + # Progress table + cursor.execute(''' + CREATE TABLE IF NOT EXISTS progress ( + rater_id TEXT NOT NULL, + query_id TEXT NOT NULL, + completed_count INTEGER DEFAULT 0, + total_count INTEGER DEFAULT 0, + started_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (rater_id, query_id), + FOREIGN KEY (rater_id) REFERENCES raters(rater_id) + ) + ''') + + # Create indexes for common queries + cursor.execute(''' + CREATE INDEX IF NOT EXISTS idx_ratings_rater + ON ratings(rater_id) + ''') + cursor.execute(''' + CREATE INDEX IF NOT EXISTS idx_ratings_idea + ON ratings(idea_id) + ''') + + conn.commit() + + +# Rater operations +def create_rater(rater_id: str, name: str | None = None) -> dict[str, Any]: + """Create a new rater.""" + with get_connection() as conn: + cursor = conn.cursor() + try: + cursor.execute( + 'INSERT INTO raters (rater_id, name) VALUES (?, ?)', + (rater_id, name or rater_id) + ) + conn.commit() + return {'rater_id': rater_id, 'name': name or rater_id, 'created': True} + except sqlite3.IntegrityError: + # Rater already exists + return get_rater(rater_id) + + +def get_rater(rater_id: str) -> dict[str, Any] | None: + """Get a rater by ID.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute('SELECT * FROM raters WHERE rater_id = ?', (rater_id,)) + row = cursor.fetchone() + if row: + return dict(row) + return None + + +def list_raters() -> list[dict[str, Any]]: + """List all raters.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute('SELECT * FROM raters ORDER BY created_at') + return [dict(row) for row in cursor.fetchall()] + + +# Rating operations +def save_rating( + rater_id: str, + idea_id: str, + query_id: str, + originality: int | None, + elaboration: int | None, + coherence: int | None, + usefulness: int | None, + skipped: bool = False +) -> dict[str, Any]: + """Save or update a rating.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute(''' + INSERT INTO ratings (rater_id, idea_id, query_id, originality, elaboration, coherence, usefulness, skipped, timestamp) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(rater_id, idea_id) DO UPDATE SET + originality = excluded.originality, + elaboration = excluded.elaboration, + coherence = excluded.coherence, + usefulness = excluded.usefulness, + skipped = excluded.skipped, + timestamp = excluded.timestamp + ''', (rater_id, idea_id, query_id, originality, elaboration, coherence, usefulness, int(skipped), datetime.utcnow())) + conn.commit() + + # Update progress + update_progress(rater_id, query_id) + + return { + 'rater_id': rater_id, + 'idea_id': idea_id, + 'saved': True + } + + +def get_rating(rater_id: str, idea_id: str) -> dict[str, Any] | None: + """Get a specific rating.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + 'SELECT * FROM ratings WHERE rater_id = ? AND idea_id = ?', + (rater_id, idea_id) + ) + row = cursor.fetchone() + if row: + return dict(row) + return None + + +def get_ratings_by_rater(rater_id: str) -> list[dict[str, Any]]: + """Get all ratings by a rater.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + 'SELECT * FROM ratings WHERE rater_id = ? ORDER BY timestamp', + (rater_id,) + ) + return [dict(row) for row in cursor.fetchall()] + + +def get_ratings_by_idea(idea_id: str) -> list[dict[str, Any]]: + """Get all ratings for an idea.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + 'SELECT * FROM ratings WHERE idea_id = ? ORDER BY rater_id', + (idea_id,) + ) + return [dict(row) for row in cursor.fetchall()] + + +def get_all_ratings() -> list[dict[str, Any]]: + """Get all ratings.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute('SELECT * FROM ratings ORDER BY timestamp') + return [dict(row) for row in cursor.fetchall()] + + +# Progress operations +def update_progress(rater_id: str, query_id: str) -> None: + """Update progress for a rater on a query.""" + with get_connection() as conn: + cursor = conn.cursor() + + # Count completed ratings for this query + cursor.execute(''' + SELECT COUNT(*) as count FROM ratings + WHERE rater_id = ? AND query_id = ? + ''', (rater_id, query_id)) + completed = cursor.fetchone()['count'] + + # Update or insert progress + cursor.execute(''' + INSERT INTO progress (rater_id, query_id, completed_count, updated_at) + VALUES (?, ?, ?, ?) + ON CONFLICT(rater_id, query_id) DO UPDATE SET + completed_count = excluded.completed_count, + updated_at = excluded.updated_at + ''', (rater_id, query_id, completed, datetime.utcnow())) + conn.commit() + + +def set_progress_total(rater_id: str, query_id: str, total: int) -> None: + """Set the total count for a query's progress.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute(''' + INSERT INTO progress (rater_id, query_id, total_count, completed_count) + VALUES (?, ?, ?, 0) + ON CONFLICT(rater_id, query_id) DO UPDATE SET + total_count = excluded.total_count + ''', (rater_id, query_id, total)) + conn.commit() + + +def get_progress(rater_id: str) -> list[dict[str, Any]]: + """Get progress for all queries for a rater.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + 'SELECT * FROM progress WHERE rater_id = ? ORDER BY query_id', + (rater_id,) + ) + return [dict(row) for row in cursor.fetchall()] + + +def get_progress_for_query(rater_id: str, query_id: str) -> dict[str, Any] | None: + """Get progress for a specific query.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + 'SELECT * FROM progress WHERE rater_id = ? AND query_id = ?', + (rater_id, query_id) + ) + row = cursor.fetchone() + if row: + return dict(row) + return None + + +def get_rated_idea_ids(rater_id: str, query_id: str) -> set[str]: + """Get the set of idea IDs already rated by a rater for a query.""" + with get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + 'SELECT idea_id FROM ratings WHERE rater_id = ? AND query_id = ?', + (rater_id, query_id) + ) + return {row['idea_id'] for row in cursor.fetchall()} + + +# Statistics +def get_statistics() -> dict[str, Any]: + """Get overall statistics.""" + with get_connection() as conn: + cursor = conn.cursor() + + cursor.execute('SELECT COUNT(*) as count FROM raters') + rater_count = cursor.fetchone()['count'] + + cursor.execute('SELECT COUNT(*) as count FROM ratings WHERE skipped = 0') + rating_count = cursor.fetchone()['count'] + + cursor.execute('SELECT COUNT(*) as count FROM ratings WHERE skipped = 1') + skip_count = cursor.fetchone()['count'] + + cursor.execute('SELECT COUNT(DISTINCT idea_id) as count FROM ratings') + rated_ideas = cursor.fetchone()['count'] + + return { + 'rater_count': rater_count, + 'rating_count': rating_count, + 'skip_count': skip_count, + 'rated_ideas': rated_ideas + } + + +# Initialize on import +init_db() diff --git a/experiments/assessment/backend/models.py b/experiments/assessment/backend/models.py new file mode 100644 index 0000000..681fdf6 --- /dev/null +++ b/experiments/assessment/backend/models.py @@ -0,0 +1,183 @@ +""" +Pydantic models for the assessment API. +""" + +from datetime import datetime +from pydantic import BaseModel, Field + + +# Request models +class RaterCreate(BaseModel): + """Request to create or login as a rater.""" + rater_id: str = Field(..., min_length=1, max_length=50, description="Unique rater identifier") + name: str | None = Field(None, max_length=100, description="Optional display name") + + +class RatingSubmit(BaseModel): + """Request to submit a rating.""" + rater_id: str = Field(..., description="Rater identifier") + idea_id: str = Field(..., description="Idea identifier") + query_id: str = Field(..., description="Query identifier") + originality: int | None = Field(None, ge=1, le=5, description="Originality score 1-5") + elaboration: int | None = Field(None, ge=1, le=5, description="Elaboration score 1-5") + coherence: int | None = Field(None, ge=1, le=5, description="Coherence score 1-5") + usefulness: int | None = Field(None, ge=1, le=5, description="Usefulness score 1-5") + skipped: bool = Field(False, description="Whether the idea was skipped") + + +# Response models +class Rater(BaseModel): + """Rater information.""" + rater_id: str + name: str | None + created_at: datetime | None = None + + +class Rating(BaseModel): + """A single rating.""" + id: int + rater_id: str + idea_id: str + query_id: str + originality: int | None + elaboration: int | None + coherence: int | None + usefulness: int | None + skipped: int + timestamp: datetime | None + + +class Progress(BaseModel): + """Progress for a rater on a query.""" + rater_id: str + query_id: str + completed_count: int + total_count: int + started_at: datetime | None = None + updated_at: datetime | None = None + + +class QueryInfo(BaseModel): + """Information about a query.""" + query_id: str + query_text: str + category: str + idea_count: int + + +class IdeaForRating(BaseModel): + """An idea presented for rating (without hidden metadata).""" + idea_id: str + text: str + index: int # Position in the randomized list for this query + + +class QueryWithIdeas(BaseModel): + """A query with its ideas for rating.""" + query_id: str + query_text: str + category: str + ideas: list[IdeaForRating] + total_count: int + + +class Statistics(BaseModel): + """Overall statistics.""" + rater_count: int + rating_count: int + skip_count: int + rated_ideas: int + + +class RaterProgress(BaseModel): + """Complete progress summary for a rater.""" + rater_id: str + queries: list[Progress] + total_completed: int + total_ideas: int + percentage: float + + +# Export response models +class ExportRating(BaseModel): + """Rating with hidden metadata for export.""" + rater_id: str + idea_id: str + query_id: str + query_text: str + idea_text: str + originality: int | None + elaboration: int | None + coherence: int | None + usefulness: int | None + skipped: bool + condition: str + expert_name: str + keyword: str + timestamp: datetime | None + + +class ExportData(BaseModel): + """Full export data structure.""" + experiment_id: str + export_timestamp: datetime + rater_count: int + rating_count: int + ratings: list[ExportRating] + + +# Dimension definitions (for frontend) +DIMENSION_DEFINITIONS = { + "originality": { + "name": "Originality", + "question": "How unexpected or surprising is this idea? Would most people NOT think of this?", + "scale": { + 1: "Very common/obvious idea anyone would suggest", + 2: "Somewhat common, slight variation on expected ideas", + 3: "Moderately original, some unexpected elements", + 4: "Quite original, notably different approach", + 5: "Highly unexpected, truly novel concept" + }, + "low_label": "Common", + "high_label": "Unexpected" + }, + "elaboration": { + "name": "Elaboration", + "question": "How detailed and well-developed is this idea?", + "scale": { + 1: "Vague, minimal detail, just a concept", + 2: "Basic idea with little specificity", + 3: "Moderately detailed, some specifics provided", + 4: "Well-developed with clear implementation hints", + 5: "Highly specific, thoroughly developed concept" + }, + "low_label": "Vague", + "high_label": "Detailed" + }, + "coherence": { + "name": "Coherence", + "question": "Does this idea make logical sense and relate to the query object?", + "scale": { + 1: "Nonsensical, irrelevant, or incomprehensible", + 2: "Mostly unclear, weak connection to query", + 3: "Partially coherent, some logical gaps", + 4: "Mostly coherent with minor issues", + 5: "Fully coherent, clearly relates to query" + }, + "low_label": "Nonsense", + "high_label": "Coherent" + }, + "usefulness": { + "name": "Usefulness", + "question": "Could this idea have practical value or inspire real innovation?", + "scale": { + 1: "No practical value whatsoever", + 2: "Minimal usefulness, highly impractical", + 3: "Some potential value with major limitations", + 4: "Useful idea with realistic applications", + 5: "Highly useful, clear practical value" + }, + "low_label": "Useless", + "high_label": "Useful" + } +} diff --git a/experiments/assessment/backend/requirements.txt b/experiments/assessment/backend/requirements.txt new file mode 100644 index 0000000..fe012dc --- /dev/null +++ b/experiments/assessment/backend/requirements.txt @@ -0,0 +1,3 @@ +fastapi>=0.109.0 +uvicorn>=0.27.0 +pydantic>=2.5.0 diff --git a/experiments/assessment/data/assessment_items.json b/experiments/assessment/data/assessment_items.json new file mode 100644 index 0000000..e8fe3be --- /dev/null +++ b/experiments/assessment/data/assessment_items.json @@ -0,0 +1,1832 @@ +{ + "experiment_id": "20260119_165650", + "queries": [ + { + "query_id": "A1", + "query_text": "Chair", + "category": "everyday", + "ideas": [ + { + "idea_id": "A1_I039", + "text": "A chair that transforms into a floating cloud-like structure, offering a unique resting experience by mimicking the sensation of weightlessness and comfort through adaptive cushioning technology.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Resting" + } + }, + { + "idea_id": "A1_I007", + "text": "Chair with adaptive cushioning that changes firmness based on user weight and posture.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A1_I030", + "text": "Develop a lightweight, durable chair made from recycled materials to reduce environmental impact and support sustainable transportation practices.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Train Operator", + "keyword": "" + } + }, + { + "idea_id": "A1_I043", + "text": "Interactive public chairs with built-in sensors that adapt seating based on visitor flow, offering personalized comfort and promoting social distancing through real-time occupancy feedback.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Public places visitors" + } + }, + { + "idea_id": "A1_I024", + "text": "Modular Interlocking Chair: Combines interlocking components for easy assembly and disassembly, mimicking the principles of structural frameworks in architecture.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Structural Engineer", + "keyword": "" + } + }, + { + "idea_id": "A1_I108", + "text": "An elephant-themed chair with a seat made from recycled materials, symbolizing the animal's role in environmental conservation, and featuring a subtle trunk-shaped backrest for added comfort.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "elephant", + "keyword": "elephant" + } + }, + { + "idea_id": "A1_I006", + "text": "Chair with kinetic energy harvesting to power small electronics while users sit.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A1_I044", + "text": "Create a modular chair frame using interlocking steel rings, allowing users to customize and reinforce the structure for enhanced sturdiness without compromising design flexibility.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Sturdy structure" + } + }, + { + "idea_id": "A1_I059", + "text": "Chair transforms breaktime ambiance with adaptive lighting, ambient sounds, and ergonomic design, creating a rejuvenating oasis for guests between events.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Wedding Planner", + "keyword": "breaktime ambiance" + } + }, + { + "idea_id": "A1_I026", + "text": "Integrate ergonomic seating with adjustable lumbar support for long-haul train travel, optimizing comfort and reducing fatigue during extended journeys.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Train Operator", + "keyword": "" + } + }, + { + "idea_id": "A1_I074", + "text": "Transform chairs into interactive learning hubs with embedded sensors, projecting historical facts and ergonomic tips, blending comfort with curiosity-driven education in public spaces.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Food Critic", + "keyword": "educational engagement" + } + }, + { + "idea_id": "A1_I036", + "text": "A chair with a dynamic weight-support system that adjusts its base width in real-time, providing stability and preventing tipping even when users shift their weight unexpectedly.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Supporting weight" + } + }, + { + "idea_id": "A1_I095", + "text": "A self-regulating chair that adjusts to body heat, inspired by how organisms adapt to their environment for comfort and energy efficiency.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "organic", + "keyword": "organic" + } + }, + { + "idea_id": "A1_I094", + "text": "Chairs shaped like tree roots, using sustainable materials and mimicking natural growth patterns for a grounded, earthy feel.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "organic", + "keyword": "organic" + } + }, + { + "idea_id": "A1_I067", + "text": "Chair transforms into an interactive guest engagement hub, featuring QR codes for personalized messages, photo booths, and real-time feedback, fostering connection and memorable experiences.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Wedding Planner", + "keyword": "guest engagement strategy" + } + }, + { + "idea_id": "A1_I009", + "text": "Chair with integrated smart home controls for lighting, temperature, and entertainment.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A1_I005", + "text": "Solar-powered chair with built-in battery for charging devices and ambient lighting.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A1_I055", + "text": "Chair transforms into a dynamic seating solution with Seating Dynamics, adapting to user preferences and space constraints for personalized comfort and functional flexibility.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Wedding Planner", + "keyword": "Seating Dynamics" + } + }, + { + "idea_id": "A1_I103", + "text": "A chair powered by kinetic energy, converting the user's movements into electricity to power the chair and contribute to a sustainable energy grid.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "futuristic", + "keyword": "futuristic" + } + }, + { + "idea_id": "A1_I027", + "text": "Design a modular chair that can be reconfigured for different train car configurations, enhancing space efficiency and adaptability in transit environments.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Train Operator", + "keyword": "" + } + } + ], + "idea_count": 20 + }, + { + "query_id": "A5", + "query_text": "Bicycle", + "category": "everyday", + "ideas": [ + { + "idea_id": "A5_I044", + "text": "Create a student-led bicycle recycling program where teens design upcycled bike parts into art installations, promoting sustainability and fostering a sense of ownership in eco-friendly transportation.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Students" + } + }, + { + "idea_id": "A5_I005", + "text": "Bike Helmet with Heads-Up Display and Safety Sensors", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A5_I084", + "text": "Bicycle weather window optimization: Use real-time weather data to predict ideal riding windows, enhancing safety, efficiency, and enjoyment by aligning rides with favorable conditions.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Meteorologist", + "keyword": "weather window" + } + }, + { + "idea_id": "A5_I031", + "text": "Create a performance art event where audiences ride bicycles through a choreographed path to experience a story through movement.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Actor", + "keyword": "" + } + }, + { + "idea_id": "A5_I038", + "text": "Develop a bike-sharing system with AI-powered route optimization, dynamically adjusting bike distribution based on real-time demand to enhance urban mobility and reduce traffic congestion.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Transportation" + } + }, + { + "idea_id": "A5_I099", + "text": "EchoRide: A bicycle with a smart system that echoes the rider's movements to nearby bikes, creating a synchronized echo of motion.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "echo", + "keyword": "echo" + } + }, + { + "idea_id": "A5_I077", + "text": "Kickstart your day with a morning rush detox: ride your bicycle through urban landscapes, blending physical exercise with mindfulness, breathing in fresh air and exhaling stress, reviving your body and mind for the day ahead.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Content Creator", + "keyword": "morning rush detox" + } + }, + { + "idea_id": "A5_I012", + "text": "Bicycle with Integrated Water Bottle Holder and Insulated Compartment", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A5_I041", + "text": "Introduce a bike-sharing program with docking stations near office buildings, offering discounted rates for daily commuters to reduce traffic and promote eco-friendly travel.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Commute to work" + } + }, + { + "idea_id": "A5_I043", + "text": "Develop a modular touring bike frame that adapts to different terrains via interchangeable components, allowing riders to switch between mountain, road, and gravel configurations on the fly for versatile long-distance adventures.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Touring" + } + }, + { + "idea_id": "A5_I098", + "text": "EchoMirror: A bicycle mirror that uses sound waves to create an echo of the surroundings, helping riders navigate without turning their head.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "echo", + "keyword": "echo" + } + }, + { + "idea_id": "A5_I018", + "text": "Bike with Automatic Gear Shifting Based on Speed and Terrain", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A5_I014", + "text": "Bicycle with Built-In USB Ports and Wireless Charging Stations", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A5_I025", + "text": "Incorporate a musical interface on the handlebars, allowing riders to compose melodies by adjusting gears and cadence.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Composer", + "keyword": "" + } + }, + { + "idea_id": "A5_I104", + "text": "Molten Gear System: A gear mechanism that mimics liquid viscosity, allowing for seamless, fluid gear transitions and enhanced pedaling efficiency.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "liquid", + "keyword": "liquid" + } + }, + { + "idea_id": "A5_I033", + "text": "Implement blockchain-based bike ownership tracking to enhance transparency in shared bike systems, reducing fraud and improving asset management through immutable ledger records.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Accountant", + "keyword": "" + } + }, + { + "idea_id": "A5_I059", + "text": "Team Fitness Challenge: Compete in relay bike races, where each rider completes a unique obstacle course, fostering teamwork, endurance, and strategic planning for a dynamic, engaging experience.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Sports Coach", + "keyword": "Team Fitness Challenge" + } + }, + { + "idea_id": "A5_I021", + "text": "Launch a 'Bicycle Empowerment Workshop' teaching budgeting, maintenance, and safety skills to marginalized communities, empowering self-sufficiency and healthy transportation choices.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Guidance Counselor", + "keyword": "" + } + }, + { + "idea_id": "A5_I093", + "text": "Use storm front timing to optimize bicycle routes, avoiding hazardous weather by predicting front arrival, ensuring rider safety and efficiency through real-time meteorological data integration.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Meteorologist", + "keyword": "storm front timing" + } + }, + { + "idea_id": "A5_I102", + "text": "Liquefy Handlebars: Ergonomic handlebars shaped like liquid streams, offering adaptive grip and reducing hand fatigue through natural curvature.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "liquid", + "keyword": "liquid" + } + } + ], + "idea_count": 20 + }, + { + "query_id": "A7", + "query_text": "Smartphone", + "category": "everyday", + "ideas": [ + { + "idea_id": "A7_I045", + "text": "Introduce a 'Photo Memory Lane' feature that uses AI to generate nostalgic photo collages from past snaps, helping users relive memories with a personalized, time-travel-like visual experience.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Taking Photos" + } + }, + { + "idea_id": "A7_I061", + "text": "Mountain Mind Mode: A mental wellness app that simulates mountain meditation, using nature sounds and guided sessions to promote calm and focus.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "mountain", + "keyword": "mountain" + } + }, + { + "idea_id": "A7_I048", + "text": "A student-focused smartphone app that transforms study sessions into interactive games, rewarding knowledge retention with real-world perks like discounts on textbooks and campus events.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Students" + } + }, + { + "idea_id": "A7_I001", + "text": "Phone case that uses solar energy to charge the device during outdoor activities.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A7_I066", + "text": "LiquidSync: A synchronization system that uses liquid-like data flow, ensuring seamless and ultra-fast transfer between devices through advanced quantum-liquid protocols.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "liquid", + "keyword": "liquid" + } + }, + { + "idea_id": "A7_I042", + "text": "Introduce a 'Scene Memory' feature that learns user preferences, automatically adjusting camera settings for optimal photo quality based on past shots and environmental data.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Photography" + } + }, + { + "idea_id": "A7_I032", + "text": "Implement a modular design allowing users to swap hardware components like cameras and batteries, promoting sustainability and customization.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Tutor", + "keyword": "" + } + }, + { + "idea_id": "A7_I025", + "text": "Integrate tactile sculptural elements into the phone's form, allowing users to 'feel' digital content through 3D-printed surface variations that respond to touch.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Sculptor", + "keyword": "" + } + }, + { + "idea_id": "A7_I067", + "text": "A smartphone with a built-in metronome that syncs with the user's heartbeat to create personalized rhythms for stress relief and focus.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "rhythm", + "keyword": "rhythm" + } + }, + { + "idea_id": "A7_I038", + "text": "Phones with AI-powered ocean prediction models to forecast marine weather and aid in maritime safety.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Oceanographer", + "keyword": "" + } + }, + { + "idea_id": "A7_I065", + "text": "Fluid Focus Camera: A camera system that uses liquid lens technology to adjust focus instantaneously, mimicking the way water bends light for ultra-sharp images.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "liquid", + "keyword": "liquid" + } + }, + { + "idea_id": "A7_I005", + "text": "Phone that uses augmented reality for interactive shopping experiences in physical stores.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A7_I009", + "text": "Smartphone with a magnetic charging system that aligns automatically with a charging pad.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A7_I023", + "text": "Embed cybersecurity risk assessments directly into the OS, continuously evaluating app permissions and data flows to preempt potential breaches.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Risk Manager", + "keyword": "" + } + }, + { + "idea_id": "A7_I010", + "text": "Phone that uses AI to generate personalized content recommendations based on location and mood.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "A7_I047", + "text": "A smartphone with AI-powered meeting summarization and real-time language translation, tailored for business professionals to streamline cross-border negotiations and enhance productivity during global calls.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Business Professionals" + } + } + ], + "idea_count": 16 + }, + { + "query_id": "B1", + "query_text": "Solar panel", + "category": "technology", + "ideas": [ + { + "idea_id": "B1_I096", + "text": "Legislative endurance ensures long-term solar panel incentives through adaptive policies, fostering sustainable energy adoption despite technological and market shifts.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Legislator", + "keyword": "legislative endurance" + } + }, + { + "idea_id": "B1_I034", + "text": "Leverage influencer partnerships with eco-conscious creators to showcase solar panels in real-life scenarios, humanizing sustainability and driving consumer engagement through authentic storytelling.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "PR Specialist", + "keyword": "" + } + }, + { + "idea_id": "B1_I049", + "text": "Develop a solar panel system that uses AI to predict and adapt to weather patterns, optimizing energy capture by adjusting panel angles and prioritizing energy storage during overcast conditions.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Weather-dependent efficiency" + } + }, + { + "idea_id": "B1_I035", + "text": "Launch a 'Solar Storytelling' campaign where users share their solar-powered life journeys, using user-generated content to build brand loyalty and community around renewable energy.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "PR Specialist", + "keyword": "" + } + }, + { + "idea_id": "B1_I006", + "text": "Incorporate solar panels into urban infrastructure like bus stops and streetlights.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B1_I048", + "text": "Develop transparent solar panels using perovskite materials to convert visible light into electricity, enabling integration into windows and smart glass for energy-efficient buildings.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Solar energy conversion" + } + }, + { + "idea_id": "B1_I105", + "text": "Beat-Driven Solar Tiles: Integrate audio sensors to adjust panel angles based on sound rhythms, optimizing energy capture during peak 'energy beats' in urban environments.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "rhythm", + "keyword": "rhythm" + } + }, + { + "idea_id": "B1_I069", + "text": "Utilize remote terrain mapping to optimize solar panel placement by analyzing elevation, slope, and shading patterns, maximizing energy output in rugged or inaccessible areas.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Surveyor", + "keyword": "remote terrain mapping" + } + }, + { + "idea_id": "B1_I036", + "text": "Create an interactive digital experience where users can 'design' their own solar panel setup, combining gamification with educational content to boost adoption and brand awareness.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "PR Specialist", + "keyword": "" + } + }, + { + "idea_id": "B1_I013", + "text": "Create solar-powered electric vehicle charging stations along highways.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B1_I092", + "text": "Solar panels can be integrated with smart grid systems to ensure real-time regulatory compliance through automated data reporting and dynamic energy dispatch, enhancing grid stability and reducing non-compliance penalties.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Legislator", + "keyword": "regulatory compliance" + } + }, + { + "idea_id": "B1_I104", + "text": "Rhythmic Solar Grids: Use pulse-like patterns to synchronize solar panels with local energy demands, creating a dynamic, responsive energy network that mirrors natural rhythms.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "rhythm", + "keyword": "rhythm" + } + }, + { + "idea_id": "B1_I010", + "text": "Integrate solar panels into fashion items like jackets and hats for wearable energy.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B1_I118", + "text": "Solar panel installations that mimic the sun's ascent with modular, tiered structures that follow the sun's path for optimal energy capture.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "sunrise", + "keyword": "sunrise" + } + }, + { + "idea_id": "B1_I042", + "text": "Develop AI-integrated solar panels that dynamically adjust to optimize home energy use, storing excess power in smart batteries for peak efficiency during high-demand hours.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Power homes" + } + }, + { + "idea_id": "B1_I000", + "text": "Integrate solar panels with kinetic energy harvesting for hybrid charging in portable devices.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B1_I046", + "text": "Utility companies could partner with local governments to install solar panels on public buildings, reducing costs and increasing community adoption through shared savings and collective energy goals.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Utility companies" + } + }, + { + "idea_id": "B1_I026", + "text": "Create wearable solar-powered devices for eye health monitoring, using lightweight, flexible panels to track intraocular pressure and retinal changes in real-time.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Ophthalmologist", + "keyword": "" + } + }, + { + "idea_id": "B1_I106", + "text": "Solar Rhythm Clocks: Design solar-powered clocks that visually represent daily energy cycles, using kinetic rhythms to educate users on solar patterns and usage.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "rhythm", + "keyword": "rhythm" + } + }, + { + "idea_id": "B1_I079", + "text": "Solar panels integrate a Regulatory Compliance Framework to ensure adherence to safety, environmental, and energy standards, fostering sustainable adoption through automated reporting and real-time monitoring.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Legislator", + "keyword": "Regulatory Compliance Framework" + } + } + ], + "idea_count": 20 + }, + { + "query_id": "B3", + "query_text": "3D printer", + "category": "technology", + "ideas": [ + { + "idea_id": "B3_I021", + "text": "Develop a 3D printer that uses deep-sea mineral slurries and biodegradable polymers to construct underwater habitats with self-repairing properties, inspired by coral growth patterns.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Oceanographer", + "keyword": "" + } + }, + { + "idea_id": "B3_I051", + "text": "A modular 3D printer with interchangeable material cartridges, allowing users to switch between metals, plastics, and biocomposites in seconds for diverse prototyping needs.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Varied material compatibility" + } + }, + { + "idea_id": "B3_I053", + "text": "Transform 3D printers into immersive narrative hubs by integrating spatial storytelling, allowing users to design and print interactive 3D environments that evolve with user engagement, creating dynamic, multi-sensory experiences.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Editor", + "keyword": "Immersive Narrative Layouts" + } + }, + { + "idea_id": "B3_I104", + "text": "Explosion-Inspired 3D Printer: Uses rapid material dispersion via pressurized nozzles to create complex geometries in seconds.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "explosion", + "keyword": "explosion" + } + }, + { + "idea_id": "B3_I031", + "text": "Create a 3D printed training tool that adapts in real-time to an athlete's biomechanics for personalized resistance and form correction.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Sports Coach", + "keyword": "" + } + }, + { + "idea_id": "B3_I012", + "text": "Printed biocompatible scaffolds for regenerative medicine and tissue engineering.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B3_I100", + "text": "OctoPrint-3D: A 3D printer with 8 flexible arms that can print from multiple angles, mimicking an octopus's adaptability and precision.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "octopus", + "keyword": "octopus" + } + }, + { + "idea_id": "B3_I024", + "text": "Implement a 3D printer with adaptive hydrodynamic nozzles that can print structures in high-pressure, low-visibility environments, mimicking the way deep-sea organisms build complex habitats.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Oceanographer", + "keyword": "" + } + }, + { + "idea_id": "B3_I048", + "text": "Create a Manufacturer Collaboration Hub where 3D printer manufacturers share CAD libraries, printer specs, and user feedback to accelerate innovation and reduce duplication of efforts in the industry.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Manufacturers" + } + }, + { + "idea_id": "B3_I017", + "text": "Printed kinetic sculptures that transform with motion and light.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B3_I045", + "text": "Develop a 3D printer designed specifically for schools, with preloaded educational models and interactive tutorials to teach STEM concepts through hands-on creation and collaborative projects.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Educational purposes" + } + }, + { + "idea_id": "B3_I089", + "text": "A 3D printer transforms digital blueprints into tangible reality, weaving structured narratives of innovation, creativity, and precision through layer-by-layer storytelling.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Editor", + "keyword": "structured narrative" + } + }, + { + "idea_id": "B3_I037", + "text": "Implement multi-material printing with precision control using advanced sensors and material-specific extrusion systems.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Automation Engineer", + "keyword": "" + } + }, + { + "idea_id": "B3_I112", + "text": "WhisperCraft: A 3D printer that mimics the soft, flowing motion of a whisper, enabling the creation of organic, fluid forms with a unique aesthetic.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "whisper", + "keyword": "whisper" + } + }, + { + "idea_id": "B3_I015", + "text": "Disposable 3D-printed lab equipment for low-cost scientific experimentation.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B3_I000", + "text": "3D-printed modular architecture for rapid, sustainable urban development using recycled materials.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B3_I075", + "text": "Our 3D printer ensures service quality standards by precisely replicating customized food items, maintaining consistency, hygiene, and customer satisfaction in every print.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Restaurant Manager", + "keyword": "service quality standards" + } + }, + { + "idea_id": "B3_I057", + "text": "Revolutionize manufacturing with AI-powered 3D printers that optimize print processes in real-time, reducing waste and enhancing precision through adaptive material flow and dynamic temperature control.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Editor", + "keyword": "process optimization" + } + }, + { + "idea_id": "B3_I117", + "text": "Fog-assisted 3D printer integrates aerosolized support structures that dissolve upon printing completion, reducing post-processing and mimicking fog's transient, supportive role.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "fog", + "keyword": "fog" + } + }, + { + "idea_id": "B3_I047", + "text": "Create a student-led 3D printing club where participants design and print educational models, fostering collaboration, creativity, and hands-on learning through real-world problem-solving projects.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Students" + } + } + ], + "idea_count": 20 + }, + { + "query_id": "B4", + "query_text": "Drone", + "category": "technology", + "ideas": [ + { + "idea_id": "B4_I069", + "text": "Drone equipped with optimized image sensors captures high-resolution thermal and visual data, enabling real-time structural health monitoring of bridges and buildings with unmatched precision.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Electronics Engineer", + "keyword": "image sensor optimization" + } + }, + { + "idea_id": "B4_I077", + "text": "Drone equipped with adaptive signal filtering technology mitigates interference from 5G networks, ensuring stable communication for real-time aerial delivery and surveillance in urban environments.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Electronics Engineer", + "keyword": "signal interference mitigation" + } + }, + { + "idea_id": "B4_I052", + "text": "A drone equipped with AI-powered crop sensors and weather forecasting tools, tailored for farmers to optimize planting schedules, reduce water usage, and increase yield through real-time data analysis.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Farmers" + } + }, + { + "idea_id": "B4_I047", + "text": "Deploy AI-powered drones with real-time thermal imaging and gas sensors to rapidly locate and assist victims in disaster zones, while coordinating with emergency teams via encrypted communication.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Emergency response" + } + }, + { + "idea_id": "B4_I045", + "text": "Develop a swarm of micro-drones equipped with AI to autonomously map enemy terrain, identify targets, and relay real-time data while evading detection through adaptive camouflage and encrypted communication.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Military reconnaissance" + } + }, + { + "idea_id": "B4_I036", + "text": "Design a drone as a visual metaphor for surveillance, using long takes and static shots to evoke unease and paranoia.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Film Director", + "keyword": "" + } + }, + { + "idea_id": "B4_I009", + "text": "Drone-powered micro-farming systems for vertical gardening in urban spaces.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B4_I042", + "text": "Integrate AI-driven thermal vision with real-time environmental data to prioritize targets based on heat signatures and movement patterns, enhancing precision in dynamic scenarios.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Target acquisition" + } + }, + { + "idea_id": "B4_I021", + "text": "Develop AI-driven drones equipped with blockchain technology for secure, transparent asset tracking in supply chains, enhancing logistics efficiency and reducing fraud.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Securities Analyst", + "keyword": "" + } + }, + { + "idea_id": "B4_I014", + "text": "Drone-enabled disaster communication relays using mesh networks in crisis zones.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B4_I038", + "text": "Stage a drone as a character in a tragic love story, using choreography and lighting to express unrequited longing.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Film Director", + "keyword": "" + } + }, + { + "idea_id": "B4_I003", + "text": "Modular drone kits for STEM education, enabling students to build and program their own drones.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B4_I017", + "text": "Drone-powered smart irrigation systems using soil moisture sensors for efficient water use.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "B4_I090", + "text": "Drone serves as an aerial smart home assistant, autonomously monitoring, controlling, and optimizing home systems via IoT integration, enhancing security, energy efficiency, and user convenience.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Electronics Engineer", + "keyword": "smart home integration" + } + }, + { + "idea_id": "B4_I134", + "text": "Neural-Integrated Drones: Futuristic drones equipped with neural interfaces, allowing direct brain-computer interaction for intuitive control and immersive AR/VR experiences.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "futuristic", + "keyword": "futuristic" + } + }, + { + "idea_id": "B4_I138", + "text": "A lens-inspired drone that uses adaptive optics to focus on targets, adjusting its perspective in real-time for precision surveillance.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "lens", + "keyword": "lens" + } + }, + { + "idea_id": "B4_I148", + "text": "Drone with butterfly-like metamorphosis: modular design allowing reconfiguration for different tasks, like pollination or surveillance.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "butterfly", + "keyword": "butterfly" + } + }, + { + "idea_id": "B4_I029", + "text": "Drone-powered vineyard tours with live-streaming capabilities, allowing remote guests to explore and taste wines from different regions in real-time.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Sommelier", + "keyword": "" + } + }, + { + "idea_id": "B4_I145", + "text": "Drone equipped with a 'sand battery' - a compact, high-capacity energy storage system using desert sand as a conductive medium.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "desert", + "keyword": "desert" + } + }, + { + "idea_id": "B4_I111", + "text": "Drone equipped with biosensors and AI analyzes real-time vital signs of remote patients, enabling early health threat detection in disaster zones or isolated areas.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Electronics Engineer", + "keyword": "vital signs monitoring" + } + } + ], + "idea_count": 20 + }, + { + "query_id": "C1", + "query_text": "Food delivery service", + "category": "services", + "ideas": [ + { + "idea_id": "C1_I026", + "text": "Integrate AR glasses for visually impaired users to enhance food recognition and navigation during delivery, improving accessibility and independence.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Ophthalmologist", + "keyword": "" + } + }, + { + "idea_id": "C1_I002", + "text": "Create a subscription box for seasonal, locally-sourced ingredients paired with recipe cards.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C1_I009", + "text": "Launch a carbon-neutral delivery option with electric vehicles and carbon offsetting.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C1_I031", + "text": "Design delivery routes as temporary urban art installations, transforming vehicles into mobile galleries that promote local cuisine and foster community engagement.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Urban Planner", + "keyword": "" + } + }, + { + "idea_id": "C1_I000", + "text": "Introduce a zero-waste delivery system using biodegradable containers and composting partnerships for each order.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C1_I037", + "text": "Launch a 'Culinary Improvisation' service where chefs improvise dishes based on customer mood, captured as digital art for future meals.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Conductor", + "keyword": "" + } + }, + { + "idea_id": "C1_I061", + "text": "Organic Food Forest Delivery: Curate meals from forest-grown ingredients like mushrooms and wild plants, educating customers on foraging and sustainable wild harvesting practices.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "organic", + "keyword": "organic" + } + }, + { + "idea_id": "C1_I055", + "text": "Ant-Team: Enable gig workers to form temporary, task-based delivery teams, adapting like ants during resource scarcity.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "ant", + "keyword": "ant" + } + }, + { + "idea_id": "C1_I054", + "text": "Ant-Heap: Create a dynamic, user-generated food rating system where customers 'store' their favorites like ants store food.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "ant", + "keyword": "ant" + } + }, + { + "idea_id": "C1_I051", + "text": "Develop a unified API hub that connects food delivery platforms with restaurant POS systems, enabling real-time order sync, inventory updates, and dynamic pricing adjustments based on demand and supply.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Requires integration with restaurant systems" + } + }, + { + "idea_id": "C1_I049", + "text": "Introduce AI-powered recipe customization on the platform, allowing users to input dietary restrictions and preferences to receive personalized meal suggestions and delivery options.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Digital platform for food delivery" + } + }, + { + "idea_id": "C1_I043", + "text": "Create a restaurant-specific app that allows customers to order food directly from the kitchen, with real-time updates on order status and custom delivery windows for each restaurant.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Enable customers to order food from restaurants" + } + }, + { + "idea_id": "C1_I027", + "text": "Create a dark adaptation training program via delivery apps, using specialized lighting and food items to help users with night blindness adjust to low-light environments.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Ophthalmologist", + "keyword": "" + } + }, + { + "idea_id": "C1_I069", + "text": "Foldable Menus: Origami-style folded menus that unfold into interactive digital screens for real-time order customization.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "origami", + "keyword": "origami" + } + }, + { + "idea_id": "C1_I045", + "text": "Implement AI-powered dynamic routing for restaurant delivery, optimizing routes in real-time to reduce wait times and fuel costs, enhancing both efficiency and customer satisfaction through smart, adaptive delivery paths.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Facilitate last-mile delivery for restaurants" + } + }, + { + "idea_id": "C1_I006", + "text": "Offer a 'cook along' feature where delivery includes pre-measured ingredients and live cooking guidance.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + } + ], + "idea_count": 16 + }, + { + "query_id": "C2", + "query_text": "Online education platform", + "category": "services", + "ideas": [ + { + "idea_id": "C2_I106", + "text": "PrismPulse: Real-time analytics refract user data into insights, creating dynamic, responsive learning experiences.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "prism", + "keyword": "prism" + } + }, + { + "idea_id": "C2_I087", + "text": "Our platform transforms skill development into a strategic investment, using ROI analytics to quantify career growth, salary potential, and time-to-employment, empowering users to make data-driven decisions on their learning journey.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Financial Analyst", + "keyword": "ROI in skill development" + } + }, + { + "idea_id": "C2_I009", + "text": "Mobile-first learning apps with offline access and voice-activated note-taking features.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C2_I041", + "text": "Implement a real-time collaborative coding environment where students debug together, share live code changes, and receive instant feedback from AI tutors during programming exercises.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Interactive learning tools" + } + }, + { + "idea_id": "C2_I119", + "text": "EagleFeather: Micro-credential system where learners 'grow' skills, each feather representing a milestone in their educational flight.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "eagle", + "keyword": "eagle" + } + }, + { + "idea_id": "C2_I095", + "text": "Leverage financial scalability metrics to optimize online education platform pricing tiers, user acquisition costs, and LTV:CAC ratios for rapid, sustainable growth.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Financial Analyst", + "keyword": "financial scalability metrics" + } + }, + { + "idea_id": "C2_I045", + "text": "Introduce AI-powered tutoring sessions that adapt to student performance in real-time, offering personalized feedback and interactive exercises to enhance learning outcomes.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Tutoring services" + } + }, + { + "idea_id": "C2_I048", + "text": "Parental Insight Dashboard: A real-time platform where parents track their child's learning progress, receive tailored feedback, and collaborate with teachers to customize lesson plans and set achievable educational goals.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Parents" + } + }, + { + "idea_id": "C2_I115", + "text": "EagleVision: AI-powered adaptive learning that 'soars' with personalized paths, adjusting like an eagle's flight to student progress.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "eagle", + "keyword": "eagle" + } + }, + { + "idea_id": "C2_I016", + "text": "AI-generated study schedules that optimize time management and retention based on cognitive science.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C2_I020", + "text": "Implement real-time logistics tracking in courses to teach supply chain management with live warehouse operations simulations.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Warehouse Manager", + "keyword": "" + } + }, + { + "idea_id": "C2_I064", + "text": "Leverage digital engagement through AI-driven interactive modules, real-time collaborative projects, and gamified content to enhance student participation and knowledge retention in online aquaculture education.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Aquaculture Specialist", + "keyword": "digital engagement" + } + }, + { + "idea_id": "C2_I111", + "text": "BeatLearn: A gamified platform where students 'learn to the beat' by aligning their study sessions with musical rhythms to boost memory and engagement.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "rhythm", + "keyword": "rhythm" + } + }, + { + "idea_id": "C2_I046", + "text": "Create a peer-to-peer learning hub where students mentor each other through real-world projects, fostering collaboration and leadership skills while building a community-driven knowledge network.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Students" + } + }, + { + "idea_id": "C2_I028", + "text": "Utilize digital ethnography tools to analyze student interaction patterns, enabling real-time adjustments to pedagogical strategies based on sociocultural dynamics.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Sociologist", + "keyword": "" + } + }, + { + "idea_id": "C2_I031", + "text": "Create a dynamic curriculum that evolves with seasonal trends, ensuring students stay ahead in the ever-changing fashion industry.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Fashion Designer", + "keyword": "" + } + }, + { + "idea_id": "C2_I035", + "text": "Integrate dynamic lighting simulations to teach photography techniques, allowing students to visualize how different lighting conditions affect their compositions in real-time.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Photographer", + "keyword": "" + } + }, + { + "idea_id": "C2_I007", + "text": "AI chatbots that provide instant feedback and answer student questions during live sessions.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C2_I004", + "text": "AI-driven content creation tools that generate interactive quizzes and study materials for instructors.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C2_I061", + "text": "Our platform tracks participant performance in real-time, using AI to personalize learning paths and provide actionable insights, ensuring each learner progresses efficiently and effectively.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Volunteer Coordinator", + "keyword": "participant performance tracking" + } + } + ], + "idea_count": 20 + }, + { + "query_id": "C4", + "query_text": "Public transportation", + "category": "services", + "ideas": [ + { + "idea_id": "C4_I009", + "text": "Introduce a smart ticketing system with contactless payment and multi-modal integration.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C4_I001", + "text": "Implement solar-powered buses with integrated charging stations along routes.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C4_I030", + "text": "Utilize predictive analytics to dynamically adjust bus routes based on real-time passenger data and traffic patterns, optimizing efficiency and reducing wait times.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Mathematician", + "keyword": "" + } + }, + { + "idea_id": "C4_I049", + "text": "Implement solar-powered bus stops with integrated charging stations, reducing reliance on grid infrastructure and promoting sustainable urban mobility.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Reliant on infrastructure" + } + }, + { + "idea_id": "C4_I004", + "text": "Create a carpooling platform linked to public transit schedules for shared rides.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C4_I042", + "text": "Implement solar-powered bus shelters with kinetic energy generators to charge electric buses, reducing reliance on non-renewable energy sources while enhancing passenger comfort.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Environmental sustainability" + } + }, + { + "idea_id": "C4_I032", + "text": "Apply graph theory to design multi-modal transit networks, minimizing transfers and maximizing accessibility through optimal connectivity.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Mathematician", + "keyword": "" + } + }, + { + "idea_id": "C4_I041", + "text": "Implement a dynamic traffic light system that prioritizes public transit vehicles, reducing stop-and-go congestion and encouraging more people to use buses and trains.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Reduction of traffic congestion" + } + }, + { + "idea_id": "C4_I092", + "text": "A subscription framework for public transit offers personalized travel plans, real-time updates, and integrated payment, transforming commuting into a seamless, tailored experience.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Software Engineer", + "keyword": "subscription framework" + } + }, + { + "idea_id": "C4_I005", + "text": "Install solar-powered bus shelters with wireless charging for passengers' devices.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C4_I113", + "text": "Mountain Resilience System: Build transit systems inspired by mountain stability, using reinforced structures and adaptive routing to withstand natural disasters.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "mountain", + "keyword": "mountain" + } + }, + { + "idea_id": "C4_I059", + "text": "Economically sustainable mobility in public transport involves integrating smart pricing models, energy-efficient systems, and data-driven route optimization to reduce costs, enhance accessibility, and foster long-term financial viability.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Economist", + "keyword": "economically sustainable mobility" + } + }, + { + "idea_id": "C4_I109", + "text": "Rainbow Transit Hubs: Multi-modal stations with vibrant, colorful architecture inspired by rainbows, promoting community engagement and enhancing user experience through aesthetic appeal.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "rainbow", + "keyword": "rainbow" + } + }, + { + "idea_id": "C4_I100", + "text": "Introduce 'Forest Map' - an interactive digital map showing real-time transit info, inspired by a forest's natural navigation through trails and landmarks.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "forest", + "keyword": "forest" + } + }, + { + "idea_id": "C4_I044", + "text": "Create a city-to-city express bus network with real-time tracking and priority lanes, offering seamless transfers and integrated ticketing for multi-city journeys.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Traveling between cities" + } + }, + { + "idea_id": "C4_I066", + "text": "Intercity logistics optimization can revolutionize public transport by integrating real-time data analytics to dynamically route buses and trains, reducing congestion and enhancing multi-modal connectivity for seamless urban mobility.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Economist", + "keyword": "intercity logistics optimization" + } + }, + { + "idea_id": "C4_I036", + "text": "Wireless power transfer for tram systems enabling seamless charging without overhead lines.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Electrical Engineer", + "keyword": "" + } + }, + { + "idea_id": "C4_I039", + "text": "Modular electric trolley systems with plug-and-play components for rapid deployment and scalability.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Electrical Engineer", + "keyword": "" + } + }, + { + "idea_id": "C4_I103", + "text": "Develop 'Rhythm Route' algorithms that adjust bus frequencies based on peak hour rhythms, reducing congestion through adaptive scheduling.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "rhythm", + "keyword": "rhythm" + } + }, + { + "idea_id": "C4_I093", + "text": "Leverage real-time data analytics to dynamically adjust bus frequencies during peak hours, optimizing capacity utilization and reducing overcrowding through predictive algorithms and adaptive scheduling.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Economist", + "keyword": "peak capacity management" + } + } + ], + "idea_count": 20 + }, + { + "query_id": "C9", + "query_text": "Elderly care service", + "category": "services", + "ideas": [ + { + "idea_id": "C9_I016", + "text": "Mobile app for family members to track care progress and receive alerts.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C9_I045", + "text": "Create a 'Community Care Hubs' where seniors can access medical services, social activities, and volunteer opportunities, fostering independence and reducing isolation through local engagement.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Enabling community-based care options" + } + }, + { + "idea_id": "C9_I108", + "text": "Interactive Kaleidoscope Gardens: Design gardens with mirrored panels and shifting patterns that respond to elders' movements, creating a calming, ever-changing environment for reflection and interaction.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "kaleidoscope", + "keyword": "kaleidoscope" + } + }, + { + "idea_id": "C9_I088", + "text": "Adaptive road networks can dynamically adjust traffic signals and routes to prioritize elderly care vehicles, ensuring timely medical access and enhancing safety for senior citizens in urban areas.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Traffic Engineer", + "keyword": "adaptive road networks" + } + }, + { + "idea_id": "C9_I071", + "text": "Harmonic Community Resonance transforms elderly care into a symphony of connection: residents collaborate on music therapy, creating collective rhythms that foster emotional bonds, memory recall, and a vibrant, intergenerational cultural tapestry.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Musician", + "keyword": "Harmonic Community Resonance" + } + }, + { + "idea_id": "C9_I005", + "text": "Gamified memory training apps with progress tracking and social sharing.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C9_I067", + "text": "Craft personalized sonic environments for aging, blending nature sounds, soft melodies, and speech to soothe, engage, and enhance cognitive health in elderly care through immersive, adaptive audio therapy.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Musician", + "keyword": "sonic environment for aging" + } + }, + { + "idea_id": "C9_I036", + "text": "Implement AI-driven skill assessments for caregivers to match them with residents based on cognitive and emotional needs, enhancing personalized care through data analytics.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "HR Manager", + "keyword": "" + } + }, + { + "idea_id": "C9_I000", + "text": "Virtual reality social clubs for elderly to experience travel, events, and group activities from home.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C9_I105", + "text": "Kaleidoscope Care Pathways: Create dynamic, ever-changing care plans that reflect each elder's unique journey, adapting to their evolving needs with colorful, personalized patterns.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "kaleidoscope", + "keyword": "kaleidoscope" + } + }, + { + "idea_id": "C9_I038", + "text": "Introduce performance-based incentive programs for caregivers, using financial rewards to boost motivation and retention, aligned with HR best practices.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "HR Manager", + "keyword": "" + } + }, + { + "idea_id": "C9_I043", + "text": "Create a community-based tech hub where elderly can learn digital skills, access telehealth, and connect with peers, fostering autonomy and reducing isolation through shared learning and virtual support networks.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Supporting independent living for the elderly" + } + }, + { + "idea_id": "C9_I022", + "text": "Design therapeutic animation sessions using guided imagery and symbolic animation to help elders process grief, memory loss, and emotional trauma.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Animator", + "keyword": "" + } + }, + { + "idea_id": "C9_I019", + "text": "Digital storytelling platforms for seniors to share life experiences with family and friends.", + "_hidden": { + "condition": "c1_direct", + "expert_name": "direct", + "keyword": "" + } + }, + { + "idea_id": "C9_I046", + "text": "Memory Lane Social Club: Weekly gatherings where elderly individuals share stories and artifacts, fostering connection through nostalgia and intergenerational dialogue.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Elderly individuals" + } + }, + { + "idea_id": "C9_I103", + "text": "Design 'Desert Harmony' wellness retreats combining yoga, meditation, and minimalistic living to help seniors find inner peace and resilience, inspired by desert survival techniques.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "desert", + "keyword": "desert" + } + }, + { + "idea_id": "C9_I026", + "text": "Create a smart home system with automated fall detection and emergency response using motion sensors and edge computing for immediate alerts.", + "_hidden": { + "condition": "c2_expert_only", + "expert_name": "Electronics Engineer", + "keyword": "" + } + }, + { + "idea_id": "C9_I061", + "text": "Legal emotional equity in elderly care ensures dignified, rights-respecting services, integrating legal protections with emotional support to foster empathy, accountability, and holistic well-being for seniors.", + "_hidden": { + "condition": "c4_full_pipeline", + "expert_name": "Legal Scholar", + "keyword": "legal emotional equity" + } + }, + { + "idea_id": "C9_I111", + "text": "Fog-Like Privacy Filters: Deploy translucent, fog-like barriers in care facilities to create private spaces for sensitive conversations, ensuring dignity and comfort.", + "_hidden": { + "condition": "c5_random_perspective", + "expert_name": "fog", + "keyword": "fog" + } + }, + { + "idea_id": "C9_I051", + "text": "Smart wearables with real-time biometric monitoring and automatic alert integration with local emergency services, enabling rapid response to falls or medical emergencies through AI-driven risk prediction.", + "_hidden": { + "condition": "c3_attribute_only", + "expert_name": "direct", + "keyword": "Integration with emergency response systems" + } + } + ], + "idea_count": 20 + } + ], + "total_ideas": 192, + "query_count": 10, + "conditions": [ + "c1_direct", + "c2_expert_only", + "c3_attribute_only", + "c4_full_pipeline", + "c5_random_perspective" + ], + "randomization_seed": 42, + "sampling": { + "sample_total": null, + "per_query": null, + "per_condition": 4 + }, + "metadata": { + "source_file": "experiment_20260119_165650_deduped.json", + "prepared_for": "human_assessment" + } +} \ No newline at end of file diff --git a/experiments/assessment/frontend/index.html b/experiments/assessment/frontend/index.html new file mode 100644 index 0000000..979a87a --- /dev/null +++ b/experiments/assessment/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Creative Idea Assessment + + +
+ + + diff --git a/experiments/assessment/frontend/package-lock.json b/experiments/assessment/frontend/package-lock.json new file mode 100644 index 0000000..82eb758 --- /dev/null +++ b/experiments/assessment/frontend/package-lock.json @@ -0,0 +1,4221 @@ +{ + "name": "assessment-frontend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "assessment-frontend", + "version": "1.0.0", + "dependencies": { + "@ant-design/icons": "^6.1.0", + "antd": "^6.0.0", + "react": "^19.2.0", + "react-dom": "^19.2.0" + }, + "devDependencies": { + "@eslint/js": "^9.39.1", + "@types/node": "^24.10.1", + "@types/react": "^19.2.5", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^5.1.1", + "eslint": "^9.39.1", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.4.24", + "globals": "^16.5.0", + "typescript": "~5.9.3", + "typescript-eslint": "^8.46.4", + "vite": "^7.2.4" + } + }, + "node_modules/@ant-design/colors": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-8.0.1.tgz", + "integrity": "sha512-foPVl0+SWIslGUtD/xBr1p9U4AKzPhNYEseXYRRo5QSzGACYZrQbe11AYJbYfAWnWSpGBx6JjBmSeugUsD9vqQ==", + "license": "MIT", + "dependencies": { + "@ant-design/fast-color": "^3.0.0" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-2.0.3.tgz", + "integrity": "sha512-HAo8SZ3a6G8v6jT0suCz1270na6EA3obeJWM4uzRijBhdwdoMAXWK2f4WWkwB28yUufsfk3CAhN1coGPQq4kNQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "stylis": "^4.3.4" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/cssinjs-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs-utils/-/cssinjs-utils-2.0.2.tgz", + "integrity": "sha512-Mq3Hm6fJuQeFNKSp3+yT4bjuhVbdrsyXE2RyfpJFL0xiYNZdaJ6oFaE3zFrzmHbmvTd2Wp3HCbRtkD4fU+v2ZA==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^2.0.1", + "@babel/runtime": "^7.23.2", + "@rc-component/util": "^1.4.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@ant-design/fast-color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-3.0.0.tgz", + "integrity": "sha512-eqvpP7xEDm2S7dUzl5srEQCBTXZMmY3ekf97zI+M2DHOYyKdJGH0qua0JACHTqbkRnD/KHFQP9J1uMJ/XWVzzA==", + "license": "MIT", + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@ant-design/icons": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-6.1.0.tgz", + "integrity": "sha512-KrWMu1fIg3w/1F2zfn+JlfNDU8dDqILfA5Tg85iqs1lf8ooyGlbkA+TkwfOKKgqpUmAiRY1PTFpuOU2DAIgSUg==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^8.0.0", + "@ant-design/icons-svg": "^4.4.0", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", + "license": "MIT" + }, + "node_modules/@ant-design/react-slick": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-2.0.0.tgz", + "integrity": "sha512-HMS9sRoEmZey8LsE/Yo6+klhlzU12PisjrVcydW3So7RdklyEd2qehyU6a7Yp+OYN72mgsYs3NFCyP2lCPFVqg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "clsx": "^2.1.1", + "json2mq": "^0.2.0", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rc-component/async-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-5.1.0.tgz", + "integrity": "sha512-n4HcR5siNUXRX23nDizbZBQPO0ZM/5oTtmKZ6/eqL0L2bo747cklFdZGRN2f+c9qWGICwDzrhW0H7tE9PptdcA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.4" + }, + "engines": { + "node": ">=14.x" + } + }, + "node_modules/@rc-component/cascader": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@rc-component/cascader/-/cascader-1.11.0.tgz", + "integrity": "sha512-VDiEsskThWi8l0/1Nquc9I4ytcMKQYAb9Jkm6wiX5O5fpcMRsm+b8OulBMbr/b4rFTl/2y2y4GdKqQ+2whD+XQ==", + "license": "MIT", + "dependencies": { + "@rc-component/select": "~1.5.0", + "@rc-component/tree": "~1.1.0", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/checkbox": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/checkbox/-/checkbox-1.0.1.tgz", + "integrity": "sha512-08yTH8m+bSm8TOqbybbJ9KiAuIATti6bDs2mVeSfu4QfEnyeF6X0enHVvD1NEAyuBWEAo56QtLe++MYs2D9XiQ==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/collapse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/collapse/-/collapse-1.2.0.tgz", + "integrity": "sha512-ZRYSKSS39qsFx93p26bde7JUZJshsUBEQRlRXPuJYlAiNX0vyYlF5TsAm8JZN3LcF8XvKikdzPbgAtXSbkLUkw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/motion": "^1.1.4", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/color-picker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-3.0.3.tgz", + "integrity": "sha512-V7gFF9O7o5XwIWafdbOtqI4BUUkEUkgdBwp6favy3xajMX/2dDqytFaiXlcwrpq6aRyPLp5dKLAG5RFKLXMeGA==", + "license": "MIT", + "dependencies": { + "@ant-design/fast-color": "^3.0.0", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-2.0.1.tgz", + "integrity": "sha512-HyZbYm47s/YqtP6pKXNMjPEMaukyg7P0qVfgMLzr7YiFNMHbK2fKTAGzms9ykfGHSfyf75nBbgWw+hHkp+VImw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/dialog": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@rc-component/dialog/-/dialog-1.8.0.tgz", + "integrity": "sha512-zGksezfULKixYCIWctIhUC2M3zUJrc81JKWbi9dJrQdPaM7J+8vSOrhLoOHHkZFpBpb2Ri6JqnSuGYb2N+FrRA==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.3", + "@rc-component/portal": "^2.1.0", + "@rc-component/util": "^1.5.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/drawer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/drawer/-/drawer-1.4.0.tgz", + "integrity": "sha512-Zr1j1LRLDauz4a5JXHEmeYQfvEzfh4CddNa7tszyJnfd5GySYdZ5qLO63Tt2tgG4k+qi6tkFDKmcT46ikZfzbQ==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/portal": "^2.1.3", + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/dropdown": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/dropdown/-/dropdown-1.0.2.tgz", + "integrity": "sha512-6PY2ecUSYhDPhkNHHb4wfeAya04WhpmUSKzdR60G+kMNVUCX2vjT/AgTS0Lz0I/K6xrPMJ3enQbwVpeN3sHCgg==", + "license": "MIT", + "dependencies": { + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/@rc-component/form": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@rc-component/form/-/form-1.6.2.tgz", + "integrity": "sha512-OgIn2RAoaSBqaIgzJf/X6iflIa9LpTozci1lagLBdURDFhGA370v0+T0tXxOi8YShMjTha531sFhwtnrv+EJaQ==", + "license": "MIT", + "dependencies": { + "@rc-component/async-validator": "^5.1.0", + "@rc-component/util": "^1.6.2", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/image": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@rc-component/image/-/image-1.6.0.tgz", + "integrity": "sha512-tSfn2ZE/oP082g4QIOxeehkmgnXB7R+5AFj/lIFr4k7pEuxHBdyGIq9axoCY9qea8NN0DY6p4IB/F07tLqaT5A==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.0.0", + "@rc-component/portal": "^2.1.2", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/input": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/input/-/input-1.1.2.tgz", + "integrity": "sha512-Q61IMR47piUBudgixJ30CciKIy9b1H95qe7GgEKOmSJVJXvFRWJllJfQry9tif+MX2cWFXWJf/RXz4kaCeq/Fg==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@rc-component/input-number": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@rc-component/input-number/-/input-number-1.6.2.tgz", + "integrity": "sha512-Gjcq7meZlCOiWN1t1xCC+7/s85humHVokTBI7PJgTfoyw5OWF74y3e6P8PHX104g9+b54jsodFIzyaj6p8LI9w==", + "license": "MIT", + "dependencies": { + "@rc-component/mini-decimal": "^1.0.1", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mentions": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@rc-component/mentions/-/mentions-1.6.0.tgz", + "integrity": "sha512-KIkQNP6habNuTsLhUv0UGEOwG67tlmE7KNIJoQZZNggEZl5lQJTytFDb69sl5CK3TDdISCTjKP3nGEBKgT61CQ==", + "license": "MIT", + "dependencies": { + "@rc-component/input": "~1.1.0", + "@rc-component/menu": "~1.2.0", + "@rc-component/textarea": "~1.1.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/menu": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/menu/-/menu-1.2.0.tgz", + "integrity": "sha512-VWwDuhvYHSnTGj4n6bV3ISrLACcPAzdPOq3d0BzkeiM5cve8BEYfvkEhNoM0PLzv51jpcejeyrLXeMVIJ+QJlg==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/overflow": "^1.0.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/motion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@rc-component/motion/-/motion-1.1.6.tgz", + "integrity": "sha512-aEQobs/YA0kqRvHIPjQvOytdtdRVyhf/uXAal4chBjxDu6odHckExJzjn2D+Ju1aKK6hx3pAs6BXdV9+86xkgQ==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-2.0.1.tgz", + "integrity": "sha512-AyarjoLU5YlxuValRi+w8JRH2Z84TBbFO2RoGWz9d8bSu0FqT8DtugH3xC3BV7mUwlmROFauyWuXFuq4IFbH+w==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/notification": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/notification/-/notification-1.2.0.tgz", + "integrity": "sha512-OX3J+zVU7rvoJCikjrfW7qOUp7zlDeFBK2eA3SFbGSkDqo63Sl4Ss8A04kFP+fxHSxMDIS9jYVEZtU1FNCFuBA==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/overflow": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/overflow/-/overflow-1.0.0.tgz", + "integrity": "sha512-GSlBeoE0XTBi5cf3zl8Qh7Uqhn7v8RrlJ8ajeVpEkNe94HWy5l5BQ0Mwn2TVUq9gdgbfEMUmTX7tJFAg7mz0Rw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@rc-component/resize-observer": "^1.0.1", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/pagination": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/pagination/-/pagination-1.2.0.tgz", + "integrity": "sha512-YcpUFE8dMLfSo6OARJlK6DbHHvrxz7pMGPGmC/caZSJJz6HRKHC1RPP001PRHCvG9Z/veD039uOQmazVuLJzlw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/picker": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@rc-component/picker/-/picker-1.9.0.tgz", + "integrity": "sha512-OLisdk8AWVCG9goBU1dWzuH5QlBQk8jktmQ6p0/IyBFwdKGwyIZOSjnBYo8hooHiTdl0lU+wGf/OfMtVBw02KQ==", + "license": "MIT", + "dependencies": { + "@rc-component/overflow": "^1.0.0", + "@rc-component/resize-observer": "^1.0.0", + "@rc-component/trigger": "^3.6.15", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=12.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/@rc-component/portal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-2.2.0.tgz", + "integrity": "sha512-oc6FlA+uXCMiwArHsJyHcIkX4q6uKyndrPol2eWX8YPkAnztHOPsFIRtmWG4BMlGE5h7YIRE3NiaJ5VS8Lb1QQ==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=12.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/progress": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/progress/-/progress-1.0.2.tgz", + "integrity": "sha512-WZUnH9eGxH1+xodZKqdrHke59uyGZSWgj5HBM5Kwk5BrTMuAORO7VJ2IP5Qbm9aH3n9x3IcesqHHR0NWPBC7fQ==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/qrcode": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/qrcode/-/qrcode-1.1.1.tgz", + "integrity": "sha512-LfLGNymzKdUPjXUbRP+xOhIWY4jQ+YMj5MmWAcgcAq1Ij8XP7tRmAXqyuv96XvLUBE/5cA8hLFl9eO1JQMujrA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/rate": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/rate/-/rate-1.0.1.tgz", + "integrity": "sha512-bkXxeBqDpl5IOC7yL7GcSYjQx9G8H+6kLYQnNZWeBYq2OYIv1MONd6mqKTjnnJYpV0cQIU2z3atdW0j1kttpTw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/resize-observer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/resize-observer/-/resize-observer-1.1.1.tgz", + "integrity": "sha512-NfXXMmiR+SmUuKE1NwJESzEUYUFWIDUn2uXpxCTOLwiRUUakd62DRNFjRJArgzyFW8S5rsL4aX5XlyIXyC/vRA==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/segmented": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rc-component/segmented/-/segmented-1.3.0.tgz", + "integrity": "sha512-5J/bJ01mbDnoA6P/FW8SxUvKn+OgUSTZJPzCNnTBntG50tzoP7DydGhqxp7ggZXZls7me3mc2EQDXakU3iTVFg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@rc-component/motion": "^1.1.4", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@rc-component/select": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.5.0.tgz", + "integrity": "sha512-Zz0hpToAfOdWo/1jj3dW5iooBNU8F6fVgVaYN4Jy1SL3Xcx2OO+IqiQnxqk/PjY6hg1HVt7LjkkrYvpJQyZxoQ==", + "license": "MIT", + "dependencies": { + "@rc-component/overflow": "^1.0.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.3.0", + "@rc-component/virtual-list": "^1.0.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@rc-component/slider": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/slider/-/slider-1.0.1.tgz", + "integrity": "sha512-uDhEPU1z3WDfCJhaL9jfd2ha/Eqpdfxsn0Zb0Xcq1NGQAman0TWaR37OWp2vVXEOdV2y0njSILTMpTfPV1454g==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/steps": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@rc-component/steps/-/steps-1.2.2.tgz", + "integrity": "sha512-/yVIZ00gDYYPHSY0JP+M+s3ZvuXLu2f9rEjQqiUDs7EcYsUYrpJ/1bLj9aI9R7MBR3fu/NGh6RM9u2qGfqp+Nw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/switch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rc-component/switch/-/switch-1.0.3.tgz", + "integrity": "sha512-Jgi+EbOBquje/XNdofr7xbJQZPYJP+BlPfR0h+WN4zFkdtB2EWqEfvkXJWeipflwjWip0/17rNbxEAqs8hVHfw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/table": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@rc-component/table/-/table-1.9.1.tgz", + "integrity": "sha512-FVI5ZS/GdB3BcgexfCYKi3iHhZS3Fr59EtsxORszYGrfpH1eWr33eDNSYkVfLI6tfJ7vftJDd9D5apfFWqkdJg==", + "license": "MIT", + "dependencies": { + "@rc-component/context": "^2.0.1", + "@rc-component/resize-observer": "^1.0.0", + "@rc-component/util": "^1.1.0", + "@rc-component/virtual-list": "^1.0.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/tabs": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@rc-component/tabs/-/tabs-1.7.0.tgz", + "integrity": "sha512-J48cs2iBi7Ho3nptBxxIqizEliUC+ExE23faspUQKGQ550vaBlv3aGF8Epv/UB1vFWeoJDTW/dNzgIU0Qj5i/w==", + "license": "MIT", + "dependencies": { + "@rc-component/dropdown": "~1.0.0", + "@rc-component/menu": "~1.2.0", + "@rc-component/motion": "^1.1.3", + "@rc-component/resize-observer": "^1.0.0", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/textarea": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/textarea/-/textarea-1.1.2.tgz", + "integrity": "sha512-9rMUEODWZDMovfScIEHXWlVZuPljZ2pd1LKNjslJVitn4SldEzq5vO1CL3yy3Dnib6zZal2r2DPtjy84VVpF6A==", + "license": "MIT", + "dependencies": { + "@rc-component/input": "~1.1.0", + "@rc-component/resize-observer": "^1.0.0", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tooltip": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/tooltip/-/tooltip-1.4.0.tgz", + "integrity": "sha512-8Rx5DCctIlLI4raR0I0xHjVTf1aF48+gKCNeAAo5bmF5VoR5YED+A/XEqzXv9KKqrJDRcd3Wndpxh2hyzrTtSg==", + "license": "MIT", + "dependencies": { + "@rc-component/trigger": "^3.7.1", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-2.3.0.tgz", + "integrity": "sha512-K04K9r32kUC+auBSQfr+Fss4SpSIS9JGe56oq/ALAX0p+i2ylYOI1MgR83yBY7v96eO6ZFXcM/igCQmubps0Ow==", + "license": "MIT", + "dependencies": { + "@rc-component/portal": "^2.2.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.7.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tree": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/tree/-/tree-1.1.0.tgz", + "integrity": "sha512-HZs3aOlvFgQdgrmURRc/f4IujiNBf4DdEeXUlkS0lPoLlx9RoqsZcF0caXIAMVb+NaWqKtGQDnrH8hqLCN5zlA==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.0.0", + "@rc-component/util": "^1.2.1", + "@rc-component/virtual-list": "^1.0.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@rc-component/tree-select": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@rc-component/tree-select/-/tree-select-1.6.0.tgz", + "integrity": "sha512-UvEGmZT+gcVvRwImAZg3/sXw9nUdn4FmCs1rSIMWjEXEIAo0dTGmIyWuLCvs+1rGe9AZ7CHMPiQUEbdadwV0fw==", + "license": "MIT", + "dependencies": { + "@rc-component/select": "~1.5.0", + "@rc-component/tree": "~1.1.0", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@rc-component/trigger": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-3.9.0.tgz", + "integrity": "sha512-X8btpwfrT27AgrZVOz4swclhEHTZcqaHeQMXXBgveagOiakTa36uObXbdwerXffgV8G9dH1fAAE0DHtVQs8EHg==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/portal": "^2.2.0", + "@rc-component/resize-observer": "^1.1.1", + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/upload": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/upload/-/upload-1.1.0.tgz", + "integrity": "sha512-LIBV90mAnUE6VK5N4QvForoxZc4XqEYZimcp7fk+lkE4XwHHyJWxpIXQQwMU8hJM+YwBbsoZkGksL1sISWHQxw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/util": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@rc-component/util/-/util-1.7.0.tgz", + "integrity": "sha512-tIvIGj4Vl6fsZFvWSkYw9sAfiCKUXMyhVz6kpKyZbwyZyRPqv2vxYZROdaO1VB4gqTNvUZFXh6i3APUiterw5g==", + "license": "MIT", + "dependencies": { + "is-mobile": "^5.0.0", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/virtual-list": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/virtual-list/-/virtual-list-1.0.2.tgz", + "integrity": "sha512-uvTol/mH74FYsn5loDGJxo+7kjkO4i+y4j87Re1pxJBs0FaeuMuLRzQRGaXwnMcV1CxpZLi2Z56Rerj2M00fjQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.0", + "@rc-component/resize-observer": "^1.0.1", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.2.tgz", + "integrity": "sha512-21J6xzayjy3O6NdnlO6aXi/urvSRjm6nCI6+nF6ra2YofKruGixN9kfT+dt55HVNwfDmpDHJcaS3JuP/boNnlA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.2.tgz", + "integrity": "sha512-eXBg7ibkNUZ+sTwbFiDKou0BAckeV6kIigK7y5Ko4mB/5A1KLhuzEKovsmfvsL8mQorkoincMFGnQuIT92SKqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.2.tgz", + "integrity": "sha512-UCbaTklREjrc5U47ypLulAgg4njaqfOVLU18VrCrI+6E5MQjuG0lSWaqLlAJwsD7NpFV249XgB0Bi37Zh5Sz4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.2.tgz", + "integrity": "sha512-dP67MA0cCMHFT2g5XyjtpVOtp7y4UyUxN3dhLdt11at5cPKnSm4lY+EhwNvDXIMzAMIo2KU+mc9wxaAQJTn7sQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.2.tgz", + "integrity": "sha512-WDUPLUwfYV9G1yxNRJdXcvISW15mpvod1Wv3ok+Ws93w1HjIVmCIFxsG2DquO+3usMNCpJQ0wqO+3GhFdl6Fow==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.2.tgz", + "integrity": "sha512-Ng95wtHVEulRwn7R0tMrlUuiLVL/HXA8Lt/MYVpy88+s5ikpntzZba1qEulTuPnPIZuOPcW9wNEiqvZxZmgmqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.2.tgz", + "integrity": "sha512-AEXMESUDWWGqD6LwO/HkqCZgUE1VCJ1OhbvYGsfqX2Y6w5quSXuyoy/Fg3nRqiwro+cJYFxiw5v4kB2ZDLhxrw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.2.tgz", + "integrity": "sha512-ZV7EljjBDwBBBSv570VWj0hiNTdHt9uGznDtznBB4Caj3ch5rgD4I2K1GQrtbvJ/QiB+663lLgOdcADMNVC29Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.2.tgz", + "integrity": "sha512-uvjwc8NtQVPAJtq4Tt7Q49FOodjfbf6NpqXyW/rjXoV+iZ3EJAHLNAnKT5UJBc6ffQVgmXTUL2ifYiLABlGFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.2.tgz", + "integrity": "sha512-s3KoWVNnye9mm/2WpOZ3JeUiediUVw6AvY/H7jNA6qgKA2V2aM25lMkVarTDfiicn/DLq3O0a81jncXszoyCFA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.2.tgz", + "integrity": "sha512-gi21faacK+J8aVSyAUptML9VQN26JRxe484IbF+h3hpG+sNVoMXPduhREz2CcYr5my0NE3MjVvQ5bMKX71pfVA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.2.tgz", + "integrity": "sha512-qSlWiXnVaS/ceqXNfnoFZh4IiCA0EwvCivivTGbEu1qv2o+WTHpn1zNmCTAoOG5QaVr2/yhCoLScQtc/7RxshA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.2.tgz", + "integrity": "sha512-rPyuLFNoF1B0+wolH277E780NUKf+KoEDb3OyoLbAO18BbeKi++YN6gC/zuJoPPDlQRL3fIxHxCxVEWiem2yXw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.2.tgz", + "integrity": "sha512-g+0ZLMook31iWV4PvqKU0i9E78gaZgYpSrYPed/4Bu+nGTgfOPtfs1h11tSSRPXSjC5EzLTjV/1A7L2Vr8pJoQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.2.tgz", + "integrity": "sha512-i+sGeRGsjKZcQRh3BRfpLsM3LX3bi4AoEVqmGDyc50L6KfYsN45wVCSz70iQMwPWr3E5opSiLOwsC9WB4/1pqg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.2.tgz", + "integrity": "sha512-C1vLcKc4MfFV6I0aWsC7B2Y9QcsiEcvKkfxprwkPfLaN8hQf0/fKHwSF2lcYzA9g4imqnhic729VB9Fo70HO3Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.2.tgz", + "integrity": "sha512-68gHUK/howpQjh7g7hlD9DvTTt4sNLp1Bb+Yzw2Ki0xvscm2cOdCLZNJNhd2jW8lsTPrHAHuF751BygifW4bkQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.2.tgz", + "integrity": "sha512-1e30XAuaBP1MAizaOBApsgeGZge2/Byd6wV4a8oa6jPdHELbRHBiw7wvo4dp7Ie2PE8TZT4pj9RLGZv9N4qwlw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.2.tgz", + "integrity": "sha512-4BJucJBGbuGnH6q7kpPqGJGzZnYrpAzRd60HQSt3OpX/6/YVgSsJnNzR8Ot74io50SeVT4CtCWe/RYIAymFPwA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.2.tgz", + "integrity": "sha512-cT2MmXySMo58ENv8p6/O6wI/h/gLnD3D6JoajwXFZH6X9jz4hARqUhWpGuQhOgLNXscfZYRQMJvZDtWNzMAIDw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.2.tgz", + "integrity": "sha512-sZnyUgGkuzIXaK3jNMPmUIyJrxu/PjmATQrocpGA1WbCPX8H5tfGgRSuYtqBYAvLuIGp8SPRb1O4d1Fkb5fXaQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.2.tgz", + "integrity": "sha512-sDpFbenhmWjNcEbBcoTV0PWvW5rPJFvu+P7XoTY0YLGRupgLbFY0XPfwIbJOObzO7QgkRDANh65RjhPmgSaAjQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.2.tgz", + "integrity": "sha512-GvJ03TqqaweWCigtKQVBErw2bEhu1tyfNQbarwr94wCGnczA9HF8wqEe3U/Lfu6EdeNP0p6R+APeHVwEqVxpUQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.2.tgz", + "integrity": "sha512-KvXsBvp13oZz9JGe5NYS7FNizLe99Ny+W8ETsuCyjXiKdiGrcz2/J/N8qxZ/RSwivqjQguug07NLHqrIHrqfYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.2.tgz", + "integrity": "sha512-xNO+fksQhsAckRtDSPWaMeT1uIM+JrDRXlerpnWNXhn1TdB3YZ6uKBMBTKP0eX9XtYEP978hHk1f8332i2AW8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.9.tgz", + "integrity": "sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.8.tgz", + "integrity": "sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz", + "integrity": "sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/type-utils": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.53.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.0.tgz", + "integrity": "sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.0.tgz", + "integrity": "sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.53.0", + "@typescript-eslint/types": "^8.53.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.0.tgz", + "integrity": "sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.0.tgz", + "integrity": "sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.0.tgz", + "integrity": "sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.0.tgz", + "integrity": "sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.0.tgz", + "integrity": "sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.53.0", + "@typescript-eslint/tsconfig-utils": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.0.tgz", + "integrity": "sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.0.tgz", + "integrity": "sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.53.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.2.tgz", + "integrity": "sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.5", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.53", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antd": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/antd/-/antd-6.2.0.tgz", + "integrity": "sha512-fwETatwHYExjfzKcV41fBtgPo4kp+g+9gp5YOSSGxwnJHljps8TbXef8WP7ZnaOn5dkcA9xIC0TyUecIybBG7w==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^8.0.1", + "@ant-design/cssinjs": "^2.0.1", + "@ant-design/cssinjs-utils": "^2.0.2", + "@ant-design/fast-color": "^3.0.0", + "@ant-design/icons": "^6.1.0", + "@ant-design/react-slick": "~2.0.0", + "@babel/runtime": "^7.28.4", + "@rc-component/cascader": "~1.11.0", + "@rc-component/checkbox": "~1.0.1", + "@rc-component/collapse": "~1.2.0", + "@rc-component/color-picker": "~3.0.3", + "@rc-component/dialog": "~1.8.0", + "@rc-component/drawer": "~1.4.0", + "@rc-component/dropdown": "~1.0.2", + "@rc-component/form": "~1.6.2", + "@rc-component/image": "~1.6.0", + "@rc-component/input": "~1.1.2", + "@rc-component/input-number": "~1.6.2", + "@rc-component/mentions": "~1.6.0", + "@rc-component/menu": "~1.2.0", + "@rc-component/motion": "~1.1.6", + "@rc-component/mutate-observer": "^2.0.1", + "@rc-component/notification": "~1.2.0", + "@rc-component/pagination": "~1.2.0", + "@rc-component/picker": "~1.9.0", + "@rc-component/progress": "~1.0.2", + "@rc-component/qrcode": "~1.1.1", + "@rc-component/rate": "~1.0.1", + "@rc-component/resize-observer": "^1.0.1", + "@rc-component/segmented": "~1.3.0", + "@rc-component/select": "~1.5.0", + "@rc-component/slider": "~1.0.1", + "@rc-component/steps": "~1.2.2", + "@rc-component/switch": "~1.0.3", + "@rc-component/table": "~1.9.1", + "@rc-component/tabs": "~1.7.0", + "@rc-component/textarea": "~1.1.2", + "@rc-component/tooltip": "~1.4.0", + "@rc-component/tour": "~2.3.0", + "@rc-component/tree": "~1.1.0", + "@rc-component/tree-select": "~1.6.0", + "@rc-component/trigger": "^3.8.2", + "@rc-component/upload": "~1.1.0", + "@rc-component/util": "^1.7.0", + "clsx": "^2.1.1", + "dayjs": "^1.11.11", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.15", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.15.tgz", + "integrity": "sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001765", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz", + "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", + "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", + "integrity": "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-mobile": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-5.0.0.tgz", + "integrity": "sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "license": "MIT", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.3" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.55.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.2.tgz", + "integrity": "sha512-PggGy4dhwx5qaW+CKBilA/98Ql9keyfnb7lh4SR6shQ91QQQi1ORJ1v4UinkdP2i87OBs9AQFooQylcrrRfIcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.55.2", + "@rollup/rollup-android-arm64": "4.55.2", + "@rollup/rollup-darwin-arm64": "4.55.2", + "@rollup/rollup-darwin-x64": "4.55.2", + "@rollup/rollup-freebsd-arm64": "4.55.2", + "@rollup/rollup-freebsd-x64": "4.55.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.55.2", + "@rollup/rollup-linux-arm-musleabihf": "4.55.2", + "@rollup/rollup-linux-arm64-gnu": "4.55.2", + "@rollup/rollup-linux-arm64-musl": "4.55.2", + "@rollup/rollup-linux-loong64-gnu": "4.55.2", + "@rollup/rollup-linux-loong64-musl": "4.55.2", + "@rollup/rollup-linux-ppc64-gnu": "4.55.2", + "@rollup/rollup-linux-ppc64-musl": "4.55.2", + "@rollup/rollup-linux-riscv64-gnu": "4.55.2", + "@rollup/rollup-linux-riscv64-musl": "4.55.2", + "@rollup/rollup-linux-s390x-gnu": "4.55.2", + "@rollup/rollup-linux-x64-gnu": "4.55.2", + "@rollup/rollup-linux-x64-musl": "4.55.2", + "@rollup/rollup-openbsd-x64": "4.55.2", + "@rollup/rollup-openharmony-arm64": "4.55.2", + "@rollup/rollup-win32-arm64-msvc": "4.55.2", + "@rollup/rollup-win32-ia32-msvc": "4.55.2", + "@rollup/rollup-win32-x64-gnu": "4.55.2", + "@rollup/rollup-win32-x64-msvc": "4.55.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", + "license": "MIT" + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/throttle-debounce": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", + "license": "MIT", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.53.0.tgz", + "integrity": "sha512-xHURCQNxZ1dsWn0sdOaOfCSQG0HKeqSj9OexIxrz6ypU6wHYOdX2I3D2b8s8wFSsSOYJb+6q283cLiLlkEsBYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/experiments/assessment/frontend/package.json b/experiments/assessment/frontend/package.json new file mode 100644 index 0000000..ef1aa11 --- /dev/null +++ b/experiments/assessment/frontend/package.json @@ -0,0 +1,32 @@ +{ + "name": "assessment-frontend", + "private": true, + "version": "1.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@ant-design/icons": "^6.1.0", + "antd": "^6.0.0", + "react": "^19.2.0", + "react-dom": "^19.2.0" + }, + "devDependencies": { + "@eslint/js": "^9.39.1", + "@types/node": "^24.10.1", + "@types/react": "^19.2.5", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^5.1.1", + "eslint": "^9.39.1", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.4.24", + "globals": "^16.5.0", + "typescript": "~5.9.3", + "typescript-eslint": "^8.46.4", + "vite": "^7.2.4" + } +} diff --git a/experiments/assessment/frontend/src/App.tsx b/experiments/assessment/frontend/src/App.tsx new file mode 100644 index 0000000..05c3010 --- /dev/null +++ b/experiments/assessment/frontend/src/App.tsx @@ -0,0 +1,109 @@ +/** + * Main application component for the assessment interface. + */ + +import { ConfigProvider, theme, Spin } from 'antd'; +import { useAssessment } from './hooks/useAssessment'; +import { RaterLogin } from './components/RaterLogin'; +import { InstructionsPage } from './components/InstructionsPage'; +import { AssessmentPage } from './components/AssessmentPage'; +import { CompletionPage } from './components/CompletionPage'; + +function App() { + const assessment = useAssessment(); + + const renderContent = () => { + // Show loading spinner for initial load + if (assessment.loading && !assessment.rater) { + return ( +
+ +
+ ); + } + + switch (assessment.view) { + case 'login': + return ( + + ); + + case 'instructions': + return ( + + ); + + case 'assessment': + if (!assessment.rater || !assessment.currentQuery || !assessment.currentIdea || !assessment.dimensions) { + return ( +
+ +
+ ); + } + return ( + 0} + /> + ); + + case 'completion': + return ( + + ); + + default: + return null; + } + }; + + return ( + + {renderContent()} + + ); +} + +export default App; diff --git a/experiments/assessment/frontend/src/components/AssessmentPage.tsx b/experiments/assessment/frontend/src/components/AssessmentPage.tsx new file mode 100644 index 0000000..4deda56 --- /dev/null +++ b/experiments/assessment/frontend/src/components/AssessmentPage.tsx @@ -0,0 +1,199 @@ +/** + * Main assessment page for rating ideas. + */ + +import { Card, Button, Space, Alert, Typography } from 'antd'; +import { + ArrowLeftOutlined, + ArrowRightOutlined, + ForwardOutlined, + BookOutlined, + LogoutOutlined +} from '@ant-design/icons'; +import type { IdeaForRating, DimensionDefinitions, RaterProgress } from '../types'; +import { useRatings } from '../hooks/useRatings'; +import { IdeaCard } from './IdeaCard'; +import { RatingSlider } from './RatingSlider'; +import { ProgressBar } from './ProgressBar'; + +const { Text } = Typography; + +interface AssessmentPageProps { + raterId: string; + queryId: string; + queryText: string; + idea: IdeaForRating; + ideaIndex: number; + totalIdeas: number; + dimensions: DimensionDefinitions; + progress: RaterProgress | null; + onNext: () => void; + onPrev: () => void; + onShowDefinitions: () => void; + onLogout: () => void; + canGoPrev: boolean; +} + +export function AssessmentPage({ + raterId, + queryId, + queryText, + idea, + ideaIndex, + totalIdeas, + dimensions, + progress, + onNext, + onPrev, + onShowDefinitions, + onLogout, + canGoPrev +}: AssessmentPageProps) { + const { + ratings, + setRating, + isComplete, + submit, + skip, + submitting, + error + } = useRatings({ + raterId, + queryId, + ideaId: idea.idea_id, + onSuccess: onNext + }); + + const handleSubmit = async () => { + await submit(); + }; + + const handleSkip = async () => { + await skip(); + }; + + // Calculate query progress + const queryProgress = progress?.queries.find(q => q.query_id === queryId); + const queryCompleted = queryProgress?.completed_count ?? ideaIndex; + const queryTotal = totalIdeas; + + return ( +
+ {/* Header with query info and overall progress */} + +
+ Query: "{queryText}" + + + + +
+ + {progress && ( +
+ +
+ )} +
+ + {/* Error display */} + {error && ( + + )} + + {/* Idea card */} + + + {/* Rating inputs */} + + setRating('originality', v)} + disabled={submitting} + /> + setRating('elaboration', v)} + disabled={submitting} + /> + setRating('coherence', v)} + disabled={submitting} + /> + setRating('usefulness', v)} + disabled={submitting} + /> + + + {/* Navigation buttons */} + +
+ + + + + + +
+
+
+ ); +} diff --git a/experiments/assessment/frontend/src/components/CompletionPage.tsx b/experiments/assessment/frontend/src/components/CompletionPage.tsx new file mode 100644 index 0000000..04e0e0a --- /dev/null +++ b/experiments/assessment/frontend/src/components/CompletionPage.tsx @@ -0,0 +1,105 @@ +/** + * Completion page shown when all ideas have been rated. + */ + +import { Card, Button, Typography, Space, Result, Statistic, Row, Col } from 'antd'; +import { CheckCircleOutlined, BarChartOutlined, LogoutOutlined } from '@ant-design/icons'; +import type { RaterProgress } from '../types'; + +const { Title, Text } = Typography; + +interface CompletionPageProps { + raterId: string; + progress: RaterProgress | null; + onLogout: () => void; +} + +export function CompletionPage({ raterId, progress, onLogout }: CompletionPageProps) { + const completed = progress?.total_completed ?? 0; + const total = progress?.total_ideas ?? 0; + const percentage = progress?.percentage ?? 0; + + const isFullyComplete = completed >= total; + + return ( +
+ + : } + title={isFullyComplete ? 'Assessment Complete!' : 'Session Summary'} + subTitle={ + isFullyComplete + ? 'Thank you for completing the assessment.' + : 'You have made progress on the assessment.' + } + extra={[ + + ]} + > + + + + + + + + + + + + + {progress && progress.queries.length > 0 && ( +
+ Progress by Query + + {progress.queries.map((q) => ( +
+ {q.query_id} + = q.total_count ? 'success' : 'secondary'}> + {q.completed_count} / {q.total_count} + {q.completed_count >= q.total_count && ' ✓'} + +
+ ))} +
+
+ )} +
+
+
+ ); +} diff --git a/experiments/assessment/frontend/src/components/IdeaCard.tsx b/experiments/assessment/frontend/src/components/IdeaCard.tsx new file mode 100644 index 0000000..b7ad5a6 --- /dev/null +++ b/experiments/assessment/frontend/src/components/IdeaCard.tsx @@ -0,0 +1,36 @@ +/** + * Card displaying a single idea for rating. + */ + +import { Card, Typography, Tag } from 'antd'; + +const { Text, Paragraph } = Typography; + +interface IdeaCardProps { + ideaNumber: number; + text: string; + queryText: string; +} + +export function IdeaCard({ ideaNumber, text, queryText }: IdeaCardProps) { + return ( + + IDEA #{ideaNumber} + Query: {queryText} + + } + style={{ marginBottom: 24 }} + > + + "{text}" + + + ); +} diff --git a/experiments/assessment/frontend/src/components/InstructionsPage.tsx b/experiments/assessment/frontend/src/components/InstructionsPage.tsx new file mode 100644 index 0000000..627bbb4 --- /dev/null +++ b/experiments/assessment/frontend/src/components/InstructionsPage.tsx @@ -0,0 +1,134 @@ +/** + * Instructions page showing dimension definitions. + */ + +import { useState } from 'react'; +import { Card, Button, Typography, Space, Checkbox, Divider, Tag } from 'antd'; +import { PlayCircleOutlined } from '@ant-design/icons'; +import type { DimensionDefinitions } from '../types'; + +const { Title, Text, Paragraph } = Typography; + +interface InstructionsPageProps { + dimensions: DimensionDefinitions | null; + onStart: () => void; + onBack?: () => void; + loading: boolean; + isReturning?: boolean; +} + +export function InstructionsPage({ + dimensions, + onStart, + onBack, + loading, + isReturning = false +}: InstructionsPageProps) { + const [acknowledged, setAcknowledged] = useState(isReturning); + + if (!dimensions) { + return ( +
+ Loading instructions... +
+ ); + } + + const dimensionOrder = ['originality', 'elaboration', 'coherence', 'usefulness'] as const; + + return ( +
+ + +
+ Assessment Instructions + + You will rate creative ideas on 4 dimensions using a 1-5 scale. + Please read each definition carefully before beginning. + +
+ + + + {dimensionOrder.map((key) => { + const dim = dimensions[key]; + return ( + + {dim.name} + {dim.question} +
+ } + style={{ marginBottom: 16 }} + > +
+ {([1, 2, 3, 4, 5] as const).map((score) => ( + <> + + {score} + + + {dim.scale[score]} + + + ))} +
+ +
+ {dim.low_label} + {dim.high_label} +
+
+ ); + })} + + + + + {!isReturning && ( + setAcknowledged(e.target.checked)} + > + I have read and understood the instructions + + )} + + + {onBack && ( + + )} + + + + + +
+ ); +} diff --git a/experiments/assessment/frontend/src/components/ProgressBar.tsx b/experiments/assessment/frontend/src/components/ProgressBar.tsx new file mode 100644 index 0000000..32615b2 --- /dev/null +++ b/experiments/assessment/frontend/src/components/ProgressBar.tsx @@ -0,0 +1,39 @@ +/** + * Progress bar component showing assessment progress. + */ + +import { Progress, Typography, Space } from 'antd'; + +const { Text } = Typography; + +interface ProgressBarProps { + completed: number; + total: number; + label?: string; +} + +export function ProgressBar({ completed, total, label }: ProgressBarProps) { + const percentage = total > 0 ? Math.round((completed / total) * 100) : 0; + + return ( +
+ {label && ( + + {label} + + {completed}/{total} ({percentage}%) + + + )} + +
+ ); +} diff --git a/experiments/assessment/frontend/src/components/RaterLogin.tsx b/experiments/assessment/frontend/src/components/RaterLogin.tsx new file mode 100644 index 0000000..05a5a3d --- /dev/null +++ b/experiments/assessment/frontend/src/components/RaterLogin.tsx @@ -0,0 +1,116 @@ +/** + * Rater login component. + */ + +import { useState, useEffect } from 'react'; +import { Card, Input, Button, Typography, Space, List, Alert } from 'antd'; +import { UserOutlined, LoginOutlined } from '@ant-design/icons'; +import * as api from '../services/api'; +import type { Rater } from '../types'; + +const { Title, Text } = Typography; + +interface RaterLoginProps { + onLogin: (raterId: string, name?: string) => void; + loading: boolean; + error: string | null; +} + +export function RaterLogin({ onLogin, loading, error }: RaterLoginProps) { + const [raterId, setRaterId] = useState(''); + const [existingRaters, setExistingRaters] = useState([]); + + useEffect(() => { + api.listRaters() + .then(setExistingRaters) + .catch(console.error); + }, []); + + const handleLogin = () => { + if (raterId.trim()) { + onLogin(raterId.trim()); + } + }; + + const handleQuickLogin = (rater: Rater) => { + onLogin(rater.rater_id); + }; + + return ( +
+ + +
+ + Creative Idea Assessment + + + Enter your rater ID to begin + +
+ + {error && ( + + )} + + } + value={raterId} + onChange={(e) => setRaterId(e.target.value)} + onPressEnter={handleLogin} + disabled={loading} + /> + + + + {existingRaters.length > 0 && ( +
+ + Existing raters: + + ( + handleQuickLogin(rater)} + > + {rater.rater_id} + {rater.name && rater.name !== rater.rater_id && ( + + ({rater.name}) + + )} + + )} + /> +
+ )} +
+
+
+ ); +} diff --git a/experiments/assessment/frontend/src/components/RatingSlider.tsx b/experiments/assessment/frontend/src/components/RatingSlider.tsx new file mode 100644 index 0000000..30a6974 --- /dev/null +++ b/experiments/assessment/frontend/src/components/RatingSlider.tsx @@ -0,0 +1,74 @@ +/** + * Rating input component with radio buttons for 1-5 scale. + */ + +import { Radio, Typography, Space, Tooltip, Button } from 'antd'; +import { QuestionCircleOutlined } from '@ant-design/icons'; +import type { DimensionDefinition } from '../types'; + +const { Text } = Typography; + +interface RatingSliderProps { + dimension: DimensionDefinition; + value: number | null; + onChange: (value: number | null) => void; + disabled?: boolean; +} + +export function RatingSlider({ dimension, value, onChange, disabled }: RatingSliderProps) { + return ( +
+
+ + {dimension.name.toUpperCase()} + + +

{dimension.question}

+ {([1, 2, 3, 4, 5] as const).map((score) => ( +
+ {score}: {dimension.scale[score]} +
+ ))} +
+ } + placement="right" + overlayStyle={{ maxWidth: 400 }} + > +
+ +
+ + {dimension.low_label} + + + onChange(e.target.value)} + disabled={disabled} + style={{ flex: 1 }} + > + + {[1, 2, 3, 4, 5].map((score) => ( + + {score} + + ))} + + + + + {dimension.high_label} + +
+ + ); +} diff --git a/experiments/assessment/frontend/src/hooks/useAssessment.ts b/experiments/assessment/frontend/src/hooks/useAssessment.ts new file mode 100644 index 0000000..71be5b4 --- /dev/null +++ b/experiments/assessment/frontend/src/hooks/useAssessment.ts @@ -0,0 +1,272 @@ +/** + * Hook for managing the assessment session state. + */ + +import { useState, useCallback, useEffect } from 'react'; +import type { + AppView, + DimensionDefinitions, + QueryInfo, + QueryWithIdeas, + Rater, + RaterProgress, +} from '../types'; +import * as api from '../services/api'; + +interface AssessmentState { + view: AppView; + rater: Rater | null; + queries: QueryInfo[]; + currentQueryIndex: number; + currentQuery: QueryWithIdeas | null; + currentIdeaIndex: number; + progress: RaterProgress | null; + dimensions: DimensionDefinitions | null; + loading: boolean; + error: string | null; +} + +const initialState: AssessmentState = { + view: 'login', + rater: null, + queries: [], + currentQueryIndex: 0, + currentQuery: null, + currentIdeaIndex: 0, + progress: null, + dimensions: null, + loading: false, + error: null, +}; + +export function useAssessment() { + const [state, setState] = useState(initialState); + + // Load dimension definitions on mount + useEffect(() => { + api.getDimensionDefinitions() + .then((dimensions) => setState((s) => ({ ...s, dimensions }))) + .catch((err) => console.error('Failed to load dimensions:', err)); + }, []); + + // Login as a rater + const login = useCallback(async (raterId: string, name?: string) => { + setState((s) => ({ ...s, loading: true, error: null })); + try { + const rater = await api.createOrGetRater({ rater_id: raterId, name }); + const queries = await api.listQueries(); + const progress = await api.getRaterProgress(raterId); + + setState((s) => ({ + ...s, + rater, + queries, + progress, + view: 'instructions', + loading: false, + })); + } catch (err) { + setState((s) => ({ + ...s, + error: err instanceof Error ? err.message : 'Login failed', + loading: false, + })); + } + }, []); + + // Start assessment (move from instructions to assessment) + const startAssessment = useCallback(async () => { + if (!state.rater || state.queries.length === 0) return; + + setState((s) => ({ ...s, loading: true })); + try { + // Find first query with unrated ideas + let queryIndex = 0; + let queryData: QueryWithIdeas | null = null; + + for (let i = 0; i < state.queries.length; i++) { + const unrated = await api.getUnratedIdeas(state.queries[i].query_id, state.rater.rater_id); + if (unrated.ideas.length > 0) { + queryIndex = i; + queryData = unrated; + break; + } + } + + if (!queryData) { + // All done + setState((s) => ({ + ...s, + view: 'completion', + loading: false, + })); + return; + } + + setState((s) => ({ + ...s, + view: 'assessment', + currentQueryIndex: queryIndex, + currentQuery: queryData, + currentIdeaIndex: 0, + loading: false, + })); + } catch (err) { + setState((s) => ({ + ...s, + error: err instanceof Error ? err.message : 'Failed to start assessment', + loading: false, + })); + } + }, [state.rater, state.queries]); + + // Move to next idea + const nextIdea = useCallback(async () => { + if (!state.currentQuery || !state.rater) return; + + const nextIndex = state.currentIdeaIndex + 1; + + if (nextIndex < state.currentQuery.ideas.length) { + // More ideas in current query + setState((s) => ({ ...s, currentIdeaIndex: nextIndex })); + } else { + // Query complete, try to move to next query + const nextQueryIndex = state.currentQueryIndex + 1; + + if (nextQueryIndex < state.queries.length) { + setState((s) => ({ ...s, loading: true })); + try { + const unrated = await api.getUnratedIdeas( + state.queries[nextQueryIndex].query_id, + state.rater.rater_id + ); + + if (unrated.ideas.length > 0) { + setState((s) => ({ + ...s, + currentQueryIndex: nextQueryIndex, + currentQuery: unrated, + currentIdeaIndex: 0, + loading: false, + })); + } else { + // Try to find next query with unrated ideas + for (let i = nextQueryIndex + 1; i < state.queries.length; i++) { + const nextUnrated = await api.getUnratedIdeas( + state.queries[i].query_id, + state.rater.rater_id + ); + if (nextUnrated.ideas.length > 0) { + setState((s) => ({ + ...s, + currentQueryIndex: i, + currentQuery: nextUnrated, + currentIdeaIndex: 0, + loading: false, + })); + return; + } + } + // All queries complete + setState((s) => ({ + ...s, + view: 'completion', + loading: false, + })); + } + } catch (err) { + setState((s) => ({ + ...s, + error: err instanceof Error ? err.message : 'Failed to load next query', + loading: false, + })); + } + } else { + // All queries complete + setState((s) => ({ ...s, view: 'completion' })); + } + } + + // Refresh progress + try { + const progress = await api.getRaterProgress(state.rater.rater_id); + setState((s) => ({ ...s, progress })); + } catch (err) { + console.error('Failed to refresh progress:', err); + } + }, [state.currentQuery, state.currentIdeaIndex, state.currentQueryIndex, state.queries, state.rater]); + + // Move to previous idea + const prevIdea = useCallback(() => { + if (state.currentIdeaIndex > 0) { + setState((s) => ({ ...s, currentIdeaIndex: s.currentIdeaIndex - 1 })); + } + }, [state.currentIdeaIndex]); + + // Jump to a specific query + const jumpToQuery = useCallback(async (queryIndex: number) => { + if (!state.rater || queryIndex < 0 || queryIndex >= state.queries.length) return; + + setState((s) => ({ ...s, loading: true })); + try { + const queryData = await api.getQueryWithIdeas(state.queries[queryIndex].query_id); + setState((s) => ({ + ...s, + currentQueryIndex: queryIndex, + currentQuery: queryData, + currentIdeaIndex: 0, + view: 'assessment', + loading: false, + })); + } catch (err) { + setState((s) => ({ + ...s, + error: err instanceof Error ? err.message : 'Failed to load query', + loading: false, + })); + } + }, [state.rater, state.queries]); + + // Refresh progress + const refreshProgress = useCallback(async () => { + if (!state.rater) return; + try { + const progress = await api.getRaterProgress(state.rater.rater_id); + setState((s) => ({ ...s, progress })); + } catch (err) { + console.error('Failed to refresh progress:', err); + } + }, [state.rater]); + + // Show definitions + const showInstructions = useCallback(() => { + setState((s) => ({ ...s, view: 'instructions' })); + }, []); + + // Return to assessment + const returnToAssessment = useCallback(() => { + setState((s) => ({ ...s, view: 'assessment' })); + }, []); + + // Logout + const logout = useCallback(() => { + setState(initialState); + }, []); + + // Get current idea + const currentIdea = state.currentQuery?.ideas[state.currentIdeaIndex] ?? null; + + return { + ...state, + currentIdea, + login, + startAssessment, + nextIdea, + prevIdea, + jumpToQuery, + refreshProgress, + showInstructions, + returnToAssessment, + logout, + }; +} diff --git a/experiments/assessment/frontend/src/hooks/useRatings.ts b/experiments/assessment/frontend/src/hooks/useRatings.ts new file mode 100644 index 0000000..80929bb --- /dev/null +++ b/experiments/assessment/frontend/src/hooks/useRatings.ts @@ -0,0 +1,133 @@ +/** + * Hook for managing rating submission. + */ + +import { useState, useCallback } from 'react'; +import type { RatingState, DimensionKey } from '../types'; +import * as api from '../services/api'; + +interface UseRatingsOptions { + raterId: string | null; + queryId: string | null; + ideaId: string | null; + onSuccess?: () => void; +} + +export function useRatings({ raterId, queryId, ideaId, onSuccess }: UseRatingsOptions) { + const [ratings, setRatings] = useState({ + originality: null, + elaboration: null, + coherence: null, + usefulness: null, + }); + const [submitting, setSubmitting] = useState(false); + const [error, setError] = useState(null); + + // Set a single rating + const setRating = useCallback((dimension: DimensionKey, value: number | null) => { + setRatings((prev) => ({ ...prev, [dimension]: value })); + }, []); + + // Reset all ratings + const resetRatings = useCallback(() => { + setRatings({ + originality: null, + elaboration: null, + coherence: null, + usefulness: null, + }); + setError(null); + }, []); + + // Check if all ratings are set + const isComplete = useCallback(() => { + return ( + ratings.originality !== null && + ratings.elaboration !== null && + ratings.coherence !== null && + ratings.usefulness !== null + ); + }, [ratings]); + + // Submit rating + const submit = useCallback(async () => { + if (!raterId || !queryId || !ideaId) { + setError('Missing required information'); + return false; + } + + if (!isComplete()) { + setError('Please rate all dimensions'); + return false; + } + + setSubmitting(true); + setError(null); + + try { + await api.submitRating({ + rater_id: raterId, + idea_id: ideaId, + query_id: queryId, + originality: ratings.originality, + elaboration: ratings.elaboration, + coherence: ratings.coherence, + usefulness: ratings.usefulness, + skipped: false, + }); + + resetRatings(); + onSuccess?.(); + return true; + } catch (err) { + setError(err instanceof Error ? err.message : 'Failed to submit rating'); + return false; + } finally { + setSubmitting(false); + } + }, [raterId, queryId, ideaId, ratings, isComplete, resetRatings, onSuccess]); + + // Skip idea + const skip = useCallback(async () => { + if (!raterId || !queryId || !ideaId) { + setError('Missing required information'); + return false; + } + + setSubmitting(true); + setError(null); + + try { + await api.submitRating({ + rater_id: raterId, + idea_id: ideaId, + query_id: queryId, + originality: null, + elaboration: null, + coherence: null, + usefulness: null, + skipped: true, + }); + + resetRatings(); + onSuccess?.(); + return true; + } catch (err) { + setError(err instanceof Error ? err.message : 'Failed to skip idea'); + return false; + } finally { + setSubmitting(false); + } + }, [raterId, queryId, ideaId, resetRatings, onSuccess]); + + return { + ratings, + setRating, + resetRatings, + isComplete, + submit, + skip, + submitting, + error, + }; +} diff --git a/experiments/assessment/frontend/src/index.css b/experiments/assessment/frontend/src/index.css new file mode 100644 index 0000000..fe8d42f --- /dev/null +++ b/experiments/assessment/frontend/src/index.css @@ -0,0 +1,43 @@ +:root { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light; + color: rgba(0, 0, 0, 0.88); + background-color: #f5f5f5; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + margin: 0; + min-height: 100vh; +} + +#root { + min-height: 100vh; +} + +/* Custom scrollbar */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: #f1f1f1; + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: #c1c1c1; + border-radius: 4px; +} + +::-webkit-scrollbar-thumb:hover { + background: #a8a8a8; +} diff --git a/experiments/assessment/frontend/src/main.tsx b/experiments/assessment/frontend/src/main.tsx new file mode 100644 index 0000000..db032b7 --- /dev/null +++ b/experiments/assessment/frontend/src/main.tsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App' + +createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/experiments/assessment/frontend/src/services/api.ts b/experiments/assessment/frontend/src/services/api.ts new file mode 100644 index 0000000..025bef1 --- /dev/null +++ b/experiments/assessment/frontend/src/services/api.ts @@ -0,0 +1,116 @@ +/** + * API client for the assessment backend. + */ + +import type { + DimensionDefinitions, + QueryInfo, + QueryWithIdeas, + Rater, + RaterCreate, + RaterProgress, + Rating, + RatingSubmit, + SessionInfo, + Statistics, +} from '../types'; + +const API_BASE = '/api'; + +async function fetchJson(url: string, options?: RequestInit): Promise { + const response = await fetch(`${API_BASE}${url}`, { + headers: { + 'Content-Type': 'application/json', + ...options?.headers, + }, + ...options, + }); + + if (!response.ok) { + const error = await response.json().catch(() => ({ detail: response.statusText })); + throw new Error(error.detail || 'API request failed'); + } + + return response.json(); +} + +// Rater API +export async function listRaters(): Promise { + return fetchJson('/raters'); +} + +export async function createOrGetRater(data: RaterCreate): Promise { + return fetchJson('/raters', { + method: 'POST', + body: JSON.stringify(data), + }); +} + +export async function getRater(raterId: string): Promise { + return fetchJson(`/raters/${encodeURIComponent(raterId)}`); +} + +// Query API +export async function listQueries(): Promise { + return fetchJson('/queries'); +} + +export async function getQueryWithIdeas(queryId: string): Promise { + return fetchJson(`/queries/${encodeURIComponent(queryId)}`); +} + +export async function getUnratedIdeas(queryId: string, raterId: string): Promise { + return fetchJson( + `/queries/${encodeURIComponent(queryId)}/unrated?rater_id=${encodeURIComponent(raterId)}` + ); +} + +// Rating API +export async function submitRating(rating: RatingSubmit): Promise<{ saved: boolean }> { + return fetchJson<{ saved: boolean }>('/ratings', { + method: 'POST', + body: JSON.stringify(rating), + }); +} + +export async function getRating(raterId: string, ideaId: string): Promise { + try { + return await fetchJson(`/ratings/${encodeURIComponent(raterId)}/${encodeURIComponent(ideaId)}`); + } catch { + return null; + } +} + +export async function getRatingsByRater(raterId: string): Promise { + return fetchJson(`/ratings/rater/${encodeURIComponent(raterId)}`); +} + +// Progress API +export async function getRaterProgress(raterId: string): Promise { + return fetchJson(`/progress/${encodeURIComponent(raterId)}`); +} + +// Statistics API +export async function getStatistics(): Promise { + return fetchJson('/statistics'); +} + +// Dimension definitions API +export async function getDimensionDefinitions(): Promise { + return fetchJson('/dimensions'); +} + +// Session info API +export async function getSessionInfo(): Promise { + return fetchJson('/info'); +} + +// Health check +export async function healthCheck(): Promise { + try { + await fetchJson<{ status: string }>('/health'); + return true; + } catch { + return false; + } +} diff --git a/experiments/assessment/frontend/src/types/index.ts b/experiments/assessment/frontend/src/types/index.ts new file mode 100644 index 0000000..d8f00d3 --- /dev/null +++ b/experiments/assessment/frontend/src/types/index.ts @@ -0,0 +1,142 @@ +/** + * TypeScript types for the assessment frontend. + */ + +// Rater types +export interface Rater { + rater_id: string; + name: string | null; + created_at?: string; +} + +export interface RaterCreate { + rater_id: string; + name?: string; +} + +// Query types +export interface QueryInfo { + query_id: string; + query_text: string; + category: string; + idea_count: number; +} + +export interface IdeaForRating { + idea_id: string; + text: string; + index: number; +} + +export interface QueryWithIdeas { + query_id: string; + query_text: string; + category: string; + ideas: IdeaForRating[]; + total_count: number; +} + +// Rating types +export interface RatingSubmit { + rater_id: string; + idea_id: string; + query_id: string; + originality: number | null; + elaboration: number | null; + coherence: number | null; + usefulness: number | null; + skipped: boolean; +} + +export interface Rating { + id: number; + rater_id: string; + idea_id: string; + query_id: string; + originality: number | null; + elaboration: number | null; + coherence: number | null; + usefulness: number | null; + skipped: number; + timestamp: string | null; +} + +// Progress types +export interface QueryProgress { + rater_id: string; + query_id: string; + completed_count: number; + total_count: number; + started_at?: string; + updated_at?: string; +} + +export interface RaterProgress { + rater_id: string; + queries: QueryProgress[]; + total_completed: number; + total_ideas: number; + percentage: number; +} + +// Statistics types +export interface Statistics { + rater_count: number; + rating_count: number; + skip_count: number; + rated_ideas: number; +} + +// Dimension definition types +export interface DimensionScale { + 1: string; + 2: string; + 3: string; + 4: string; + 5: string; +} + +export interface DimensionDefinition { + name: string; + question: string; + scale: DimensionScale; + low_label: string; + high_label: string; +} + +export interface DimensionDefinitions { + originality: DimensionDefinition; + elaboration: DimensionDefinition; + coherence: DimensionDefinition; + usefulness: DimensionDefinition; +} + +// Session info +export interface SessionInfo { + experiment_id: string; + total_ideas: number; + query_count: number; + conditions: string[]; + randomization_seed: number; +} + +// UI State types +export type AppView = 'login' | 'instructions' | 'assessment' | 'completion'; + +export interface RatingState { + originality: number | null; + elaboration: number | null; + coherence: number | null; + usefulness: number | null; +} + +export const EMPTY_RATING_STATE: RatingState = { + originality: null, + elaboration: null, + coherence: null, + usefulness: null, +}; + +export type DimensionKey = keyof RatingState; + +export const DIMENSION_KEYS: DimensionKey[] = ['originality', 'elaboration', 'coherence', 'usefulness']; diff --git a/experiments/assessment/frontend/tsconfig.json b/experiments/assessment/frontend/tsconfig.json new file mode 100644 index 0000000..109f0ac --- /dev/null +++ b/experiments/assessment/frontend/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/experiments/assessment/frontend/vite.config.ts b/experiments/assessment/frontend/vite.config.ts new file mode 100644 index 0000000..67307d7 --- /dev/null +++ b/experiments/assessment/frontend/vite.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +export default defineConfig({ + plugins: [react()], + server: { + host: '0.0.0.0', + port: 5174, + proxy: { + '/api': { + target: 'http://localhost:8002', + changeOrigin: true + } + } + }, +}) diff --git a/experiments/assessment/prepare_data.py b/experiments/assessment/prepare_data.py new file mode 100755 index 0000000..9507782 --- /dev/null +++ b/experiments/assessment/prepare_data.py @@ -0,0 +1,375 @@ +#!/usr/bin/env python3 +""" +Prepare assessment data from experiment results. + +Extracts unique ideas from deduped experiment results, assigns stable IDs, +and randomizes the order within each query for unbiased human assessment. + +Usage: + python prepare_data.py # Use latest, all ideas + python prepare_data.py --sample 100 # Sample 100 ideas total + python prepare_data.py --per-query 10 # 10 ideas per query + python prepare_data.py --per-condition 5 # 5 ideas per condition per query + python prepare_data.py --list # List available files +""" + +import argparse +import json +import random +from pathlib import Path +from typing import Any + + +def load_experiment_data(filepath: Path) -> dict[str, Any]: + """Load experiment data from JSON file.""" + with open(filepath, 'r', encoding='utf-8') as f: + return json.load(f) + + +def sample_ideas_stratified( + ideas: list[dict[str, Any]], + per_condition: int | None = None, + total_limit: int | None = None, + rng: random.Random | None = None +) -> list[dict[str, Any]]: + """ + Sample ideas with stratification by condition. + + Args: + ideas: List of ideas with _hidden.condition metadata + per_condition: Max ideas per condition (stratified sampling) + total_limit: Max total ideas (after stratified sampling) + rng: Random number generator for reproducibility + + Returns: + Sampled list of ideas + """ + if rng is None: + rng = random.Random() + + if per_condition is None and total_limit is None: + return ideas + + # Group by condition + by_condition: dict[str, list[dict[str, Any]]] = {} + for idea in ideas: + condition = idea['_hidden']['condition'] + if condition not in by_condition: + by_condition[condition] = [] + by_condition[condition].append(idea) + + # Sample per condition + sampled = [] + for condition, cond_ideas in by_condition.items(): + rng.shuffle(cond_ideas) + if per_condition is not None: + cond_ideas = cond_ideas[:per_condition] + sampled.extend(cond_ideas) + + # Apply total limit if specified + if total_limit is not None and len(sampled) > total_limit: + rng.shuffle(sampled) + sampled = sampled[:total_limit] + + return sampled + + +def extract_ideas_from_condition( + query_id: str, + condition_name: str, + condition_data: dict[str, Any], + idea_counter: dict[str, int] +) -> list[dict[str, Any]]: + """Extract ideas from a single condition with hidden metadata.""" + ideas = [] + + dedup_data = condition_data.get('dedup', {}) + unique_ideas_with_source = dedup_data.get('unique_ideas_with_source', []) + + for item in unique_ideas_with_source: + idea_text = item.get('idea', '') + if not idea_text: + continue + + # Generate stable idea ID + current_count = idea_counter.get(query_id, 0) + idea_id = f"{query_id}_I{current_count:03d}" + idea_counter[query_id] = current_count + 1 + + ideas.append({ + 'idea_id': idea_id, + 'text': idea_text, + '_hidden': { + 'condition': condition_name, + 'expert_name': item.get('expert_name', ''), + 'keyword': item.get('keyword', '') + } + }) + + return ideas + + +def prepare_assessment_data( + experiment_filepath: Path, + output_filepath: Path, + seed: int = 42, + sample_total: int | None = None, + per_query: int | None = None, + per_condition: int | None = None +) -> dict[str, Any]: + """ + Prepare assessment data from experiment results. + + Args: + experiment_filepath: Path to deduped experiment JSON + output_filepath: Path to write assessment items JSON + seed: Random seed for reproducible shuffling + sample_total: Total number of ideas to sample (across all queries) + per_query: Maximum ideas per query + per_condition: Maximum ideas per condition per query (stratified) + + Returns: + Assessment data structure + """ + rng = random.Random(seed) + + # Load experiment data + data = load_experiment_data(experiment_filepath) + experiment_id = data.get('experiment_id', 'unknown') + conditions = data.get('conditions', []) + results = data.get('results', []) + + print(f"Loading experiment: {experiment_id}") + print(f"Conditions: {conditions}") + print(f"Number of queries: {len(results)}") + + # Show sampling config + if sample_total or per_query or per_condition: + print(f"Sampling config: total={sample_total}, per_query={per_query}, per_condition={per_condition}") + + assessment_queries = [] + total_ideas = 0 + idea_counter: dict[str, int] = {} + + for result in results: + query_id = result.get('query_id', '') + query_text = result.get('query', '') + category = result.get('category', '') + + query_ideas = [] + + # Extract ideas from all conditions + conditions_data = result.get('conditions', {}) + for condition_name, condition_data in conditions_data.items(): + ideas = extract_ideas_from_condition( + query_id, condition_name, condition_data, idea_counter + ) + query_ideas.extend(ideas) + + # Apply stratified sampling if per_condition is specified + if per_condition is not None: + query_ideas = sample_ideas_stratified( + query_ideas, + per_condition=per_condition, + rng=rng + ) + + # Apply per-query limit + if per_query is not None and len(query_ideas) > per_query: + rng.shuffle(query_ideas) + query_ideas = query_ideas[:per_query] + + # Shuffle ideas within this query + rng.shuffle(query_ideas) + + assessment_queries.append({ + 'query_id': query_id, + 'query_text': query_text, + 'category': category, + 'ideas': query_ideas, + 'idea_count': len(query_ideas) + }) + + total_ideas += len(query_ideas) + print(f" Query '{query_text}' ({query_id}): {len(query_ideas)} ideas") + + # Apply total sample limit across all queries (proportionally) + if sample_total is not None and total_ideas > sample_total: + print(f"\nApplying total sample limit: {sample_total} (from {total_ideas})") + # Calculate proportion to keep + keep_ratio = sample_total / total_ideas + new_total = 0 + + for query in assessment_queries: + n_keep = max(1, int(len(query['ideas']) * keep_ratio)) + rng.shuffle(query['ideas']) + query['ideas'] = query['ideas'][:n_keep] + query['idea_count'] = len(query['ideas']) + new_total += len(query['ideas']) + + total_ideas = new_total + + # Build output structure + assessment_data = { + 'experiment_id': experiment_id, + 'queries': assessment_queries, + 'total_ideas': total_ideas, + 'query_count': len(assessment_queries), + 'conditions': conditions, + 'randomization_seed': seed, + 'sampling': { + 'sample_total': sample_total, + 'per_query': per_query, + 'per_condition': per_condition + }, + 'metadata': { + 'source_file': str(experiment_filepath.name), + 'prepared_for': 'human_assessment' + } + } + + # Write output + output_filepath.parent.mkdir(parents=True, exist_ok=True) + with open(output_filepath, 'w', encoding='utf-8') as f: + json.dump(assessment_data, f, ensure_ascii=False, indent=2) + + print(f"\nTotal ideas for assessment: {total_ideas}") + print(f"Output written to: {output_filepath}") + + return assessment_data + + +def list_experiment_files(results_dir: Path) -> list[Path]: + """List available deduped experiment files.""" + return sorted(results_dir.glob('*_deduped.json'), key=lambda p: p.stat().st_mtime, reverse=True) + + +def main(): + """Main entry point.""" + parser = argparse.ArgumentParser( + description='Prepare assessment data from experiment results.', + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + python prepare_data.py # Use latest, all ideas + python prepare_data.py --sample 100 # Sample 100 ideas total + python prepare_data.py --per-query 20 # Max 20 ideas per query + python prepare_data.py --per-condition 4 # 4 ideas per condition per query + python prepare_data.py --per-condition 4 --per-query 15 # Combined limits + python prepare_data.py --list # List available files + +Recommended for human assessment: + # 5 conditions × 4 ideas × 10 queries = 200 ideas (balanced) + python prepare_data.py --per-condition 4 + + # Or limit total to ~150 ideas + python prepare_data.py --sample 150 + """ + ) + parser.add_argument( + 'experiment_file', + nargs='?', + default=None, + help='Experiment file name (e.g., experiment_20260119_165650_deduped.json)' + ) + parser.add_argument( + '--list', '-l', + action='store_true', + help='List available experiment files' + ) + parser.add_argument( + '--sample', + type=int, + default=None, + metavar='N', + help='Total number of ideas to sample (proportionally across queries)' + ) + parser.add_argument( + '--per-query', + type=int, + default=None, + metavar='N', + help='Maximum ideas per query' + ) + parser.add_argument( + '--per-condition', + type=int, + default=None, + metavar='N', + help='Maximum ideas per condition per query (stratified sampling)' + ) + parser.add_argument( + '--seed', '-s', + type=int, + default=42, + help='Random seed for shuffling (default: 42)' + ) + args = parser.parse_args() + + # Paths + base_dir = Path(__file__).parent.parent + results_dir = base_dir / 'results' + output_file = Path(__file__).parent / 'data' / 'assessment_items.json' + + # List available files + available_files = list_experiment_files(results_dir) + + if args.list: + print("Available experiment files (most recent first):") + for f in available_files: + size_kb = f.stat().st_size / 1024 + print(f" {f.name} ({size_kb:.1f} KB)") + return + + # Determine which file to use + if args.experiment_file: + experiment_file = results_dir / args.experiment_file + if not experiment_file.exists(): + # Try without .json extension + experiment_file = results_dir / f"{args.experiment_file}.json" + else: + # Use the latest deduped file + if not available_files: + print("Error: No deduped experiment files found in results directory.") + return + experiment_file = available_files[0] + print(f"Using latest experiment file: {experiment_file.name}") + + if not experiment_file.exists(): + print(f"Error: Experiment file not found: {experiment_file}") + print("\nAvailable files:") + for f in available_files: + print(f" {f.name}") + return + + prepare_assessment_data( + experiment_file, + output_file, + seed=args.seed, + sample_total=args.sample, + per_query=args.per_query, + per_condition=args.per_condition + ) + + # Verify output + with open(output_file, 'r') as f: + data = json.load(f) + + print("\n--- Verification ---") + print(f"Queries: {data['query_count']}") + print(f"Total ideas: {data['total_ideas']}") + + # Show distribution by condition (from hidden metadata) + condition_counts: dict[str, int] = {} + for query in data['queries']: + for idea in query['ideas']: + condition = idea['_hidden']['condition'] + condition_counts[condition] = condition_counts.get(condition, 0) + 1 + + print("\nIdeas per condition:") + for condition, count in sorted(condition_counts.items()): + print(f" {condition}: {count}") + + +if __name__ == '__main__': + main() diff --git a/experiments/assessment/results/ratings.db b/experiments/assessment/results/ratings.db new file mode 100644 index 0000000000000000000000000000000000000000..351ec103857d0eac27c40cdc1e8b8a10e5f7b248 GIT binary patch literal 40960 zcmeI&Z*SW~9KdmVYm=tc=%hWcqN>t8K}yt)QB6D^S$ZAOQnyPTu|9yvOK!!G#F_0# z+ru$UAR%4`4|yfL0p1CSN1TnFCUM)aJ+!`-692jL?|h&8om0y_d)D?MC0_c$$c@B9 z;42q1s}0tg_0z|8{RSIXA?9rJC~8xPcLZ}7SoxRE!$2z%Z@x#{+1vm+ah z6fOHuJ{QZCHpSd>VvF>oS{y(}sn5zs8)fT(ZfiH!mOe!V>3NlF8%t`V2Ty6yIU zuHLJu3f|}|SXHm@k0wJEsX?#rPsfo~b>tJ-5r^`q(QP~8^L*&YkKEz^uO3Ej5XaYl zembpVdFC{ZPiNtq-A+f^PH$F{Z*Dpn=mGio^G`di<3{IPJeB97mhtV245*%O@#v%@ zTTkr8GwPxvkEFiXrab#^6vA1w%dCorsQ#c_vYNZ5kz`i*YN-DJ@43^+PxgD+;Pwu( zt&P+5lC`&Io+qi1o)9X1h2y?j+AS?4%2Hu%?2gpFKC}M*+uLPpXUF{IUJ_GxJDx`A zYHcA#dhm)|)7g`y!#rZ6>zuS~9phM!TwX6DUX^+2j9gVM8>dzE{J^{L#;(SGGrQ{M zSF-uEHed2sI$uj^iv!WH55*T(489t=FZ|fVA1}q3FIgR@?|-L)cmS88TpnK?V;ZWL z)8Sa(CzgWD6|9aD{@_g}>T)b^n%dq->G?XEeB4z1@QIU8pRV0{)|IoVwXg5+OLy*M zj@@4?S&g0R=2)83y@PaP{cXc6Th*%h<2TuSP(eH$^!Kgh*`SYIF&UD|vm5H%e8_hp zo`p%e=8O7)`hc6+!d<<-cdKMQs@~9Lec?%u_4>B{q1}joZ12QhcjGS>1Q0*~0R#|0 z009ILKmY**5GblZ@`9h||Dp~r{Xzf%1Q0*~0R#|0009ILKp+v|{XdC-00IagfB*sr zAbnJpUJejOif)2q1s}0tg_000IagfB*vg|35i^00IagfB*srAbz>% literal 0 HcmV?d00001 diff --git a/experiments/assessment/start.sh b/experiments/assessment/start.sh new file mode 100755 index 0000000..0254a2c --- /dev/null +++ b/experiments/assessment/start.sh @@ -0,0 +1,101 @@ +#!/bin/bash + +# Human Assessment Web Interface Start Script +# This script starts both the backend API and frontend dev server + +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$SCRIPT_DIR" + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +echo -e "${GREEN}================================${NC}" +echo -e "${GREEN}Creative Idea Assessment System${NC}" +echo -e "${GREEN}================================${NC}" +echo + +# Find Python with FastAPI (use project venv or system) +VENV_PYTHON="$SCRIPT_DIR/../../backend/venv/bin/python" +if [ -x "$VENV_PYTHON" ]; then + PYTHON_CMD="$VENV_PYTHON" + UVICORN_CMD="$SCRIPT_DIR/../../backend/venv/bin/uvicorn" +else + PYTHON_CMD="python3" + UVICORN_CMD="uvicorn" +fi + +# Check if assessment data exists +if [ ! -f "data/assessment_items.json" ]; then + echo -e "${YELLOW}Assessment data not found. Running prepare_data.py...${NC}" + $PYTHON_CMD prepare_data.py + echo +fi + +# Check if node_modules exist in frontend +if [ ! -d "frontend/node_modules" ]; then + echo -e "${YELLOW}Installing frontend dependencies...${NC}" + cd frontend + npm install + cd .. + echo +fi + +# Function to cleanup background processes on exit +cleanup() { + echo + echo -e "${YELLOW}Shutting down...${NC}" + kill $BACKEND_PID 2>/dev/null || true + kill $FRONTEND_PID 2>/dev/null || true + exit 0 +} + +trap cleanup SIGINT SIGTERM + +# Start backend +echo -e "${GREEN}Starting backend API on port 8002...${NC}" +cd backend +$UVICORN_CMD app:app --host 0.0.0.0 --port 8002 --reload & +BACKEND_PID=$! +cd .. + +# Wait for backend to start +echo "Waiting for backend to initialize..." +sleep 2 + +# Check if backend is running +if ! curl -s http://localhost:8002/api/health > /dev/null 2>&1; then + echo -e "${RED}Backend failed to start. Check for errors above.${NC}" + kill $BACKEND_PID 2>/dev/null || true + exit 1 +fi +echo -e "${GREEN}Backend is running.${NC}" +echo + +# Start frontend +echo -e "${GREEN}Starting frontend on port 5174...${NC}" +cd frontend +npm run dev & +FRONTEND_PID=$! +cd .. + +# Wait for frontend to start +sleep 3 + +echo +echo -e "${GREEN}================================${NC}" +echo -e "${GREEN}Assessment system is running!${NC}" +echo -e "${GREEN}================================${NC}" +echo +echo -e "Backend API: ${YELLOW}http://localhost:8002${NC}" +echo -e "Frontend UI: ${YELLOW}http://localhost:5174${NC}" +echo +echo -e "Press Ctrl+C to stop all services" +echo + +# Wait for any process to exit +wait diff --git a/experiments/assessment/stop.sh b/experiments/assessment/stop.sh new file mode 100755 index 0000000..4c914aa --- /dev/null +++ b/experiments/assessment/stop.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Stop the assessment system + +echo "Stopping assessment system..." + +# Kill backend (uvicorn on port 8002) +pkill -f "uvicorn app:app.*8002" 2>/dev/null && echo "Backend stopped" || echo "Backend not running" + +# Kill frontend (vite on port 5174) +pkill -f "vite.*5174" 2>/dev/null && echo "Frontend stopped" || echo "Frontend not running" + +echo "Done" diff --git a/experiments/aut_flexibility_analysis.py b/experiments/aut_flexibility_analysis.py new file mode 100755 index 0000000..3b20f51 --- /dev/null +++ b/experiments/aut_flexibility_analysis.py @@ -0,0 +1,1342 @@ +#!/usr/bin/env python3 +""" +AUT Flexibility Analysis for Creative Ideas + +Implements creativity evaluation metrics based on the Alternative Uses Task (AUT) framework: + +1. Lexical Diversity - Type-token ratio, vocabulary richness +2. Concept Extraction - Key concepts and domain coverage +3. Embedding Visualization - t-SNE/PCA scatter plots by condition +4. Novelty Scores - Distance from global centroid (semantic novelty) +5. Cross-condition Cohesion - Nearest neighbor overlap analysis +6. AUT Flexibility Analysis - Category-based divergent thinking metrics + - LLM-based flexibility: Two-phase category generation (Hadas & Hershkovitz 2024) + - Embedding-based flexibility: Hierarchical clustering (arXiv:2405.00899) + - Jump signal: Category switch ratio in sequential generation + +References: +- Hadas & Hershkovitz (2024). "Using LLMs to Evaluate AUT Flexibility Score" +- arXiv:2405.00899 - "Characterising Creative Process in Humans and LLMs" +- Torrance (1974). Torrance Tests of Creative Thinking + +Usage: + python aut_flexibility_analysis.py # Analyze latest experiment + python aut_flexibility_analysis.py experiment_xxx_deduped.json # Specific file + python aut_flexibility_analysis.py --skip-viz # Skip visualization (faster) +""" + +import argparse +import asyncio +import json +import re +import math +from collections import Counter, defaultdict +from datetime import datetime, timezone +from pathlib import Path +from typing import Any + +import numpy as np + +# Optional imports with fallbacks +try: + from sklearn.manifold import TSNE + from sklearn.decomposition import PCA + HAS_SKLEARN = True +except ImportError: + HAS_SKLEARN = False + print("Warning: sklearn not available, visualization will be limited") + +try: + from scipy.cluster.hierarchy import linkage, fcluster + from scipy.spatial.distance import pdist, squareform + HAS_SCIPY = True +except ImportError: + HAS_SCIPY = False + print("Warning: scipy not available, hierarchical clustering will be limited") + +try: + import matplotlib.pyplot as plt + import matplotlib + matplotlib.use('Agg') # Non-interactive backend + HAS_MATPLOTLIB = True +except ImportError: + HAS_MATPLOTLIB = False + print("Warning: matplotlib not available, no plots will be generated") + +try: + import httpx + HAS_HTTPX = True +except ImportError: + HAS_HTTPX = False + print("Warning: httpx not available, will use cached embeddings only") + + +# ============================================================================ +# Configuration +# ============================================================================ + +RESULTS_DIR = Path(__file__).parent / 'results' +OLLAMA_BASE_URL = "http://localhost:11435" +EMBEDDING_MODEL = "qwen3-embedding:4b" +LLM_MODEL = "qwen3:8b" # Model for flexibility category generation + + +# ============================================================================ +# 1. Lexical Diversity Analysis +# ============================================================================ + +def tokenize(text: str) -> list[str]: + """Simple word tokenization.""" + # Lowercase and extract words + words = re.findall(r'\b[a-zA-Z]+\b', text.lower()) + return words + + +def calculate_lexical_diversity(text: str) -> dict[str, Any]: + """ + Calculate lexical diversity metrics for a text. + + Returns: + - type_token_ratio: unique words / total words + - vocabulary_size: number of unique words + - total_words: total word count + - avg_word_length: average word length + - hapax_ratio: words appearing only once / total unique words + """ + words = tokenize(text) + + if not words: + return { + 'type_token_ratio': 0, + 'vocabulary_size': 0, + 'total_words': 0, + 'avg_word_length': 0, + 'hapax_ratio': 0 + } + + word_counts = Counter(words) + unique_words = set(words) + hapax = sum(1 for w, c in word_counts.items() if c == 1) + + return { + 'type_token_ratio': len(unique_words) / len(words), + 'vocabulary_size': len(unique_words), + 'total_words': len(words), + 'avg_word_length': sum(len(w) for w in words) / len(words), + 'hapax_ratio': hapax / len(unique_words) if unique_words else 0 + } + + +def analyze_lexical_diversity_by_condition(ideas_by_condition: dict[str, list[str]]) -> dict[str, Any]: + """Analyze lexical diversity for each condition.""" + results = {} + + for condition, ideas in ideas_by_condition.items(): + # Concatenate all ideas for overall metrics + all_text = ' '.join(ideas) + overall = calculate_lexical_diversity(all_text) + + # Per-idea metrics + per_idea_metrics = [calculate_lexical_diversity(idea) for idea in ideas] + + results[condition] = { + 'overall': overall, + 'per_idea_mean': { + 'type_token_ratio': np.mean([m['type_token_ratio'] for m in per_idea_metrics]), + 'vocabulary_size': np.mean([m['vocabulary_size'] for m in per_idea_metrics]), + 'total_words': np.mean([m['total_words'] for m in per_idea_metrics]), + 'avg_word_length': np.mean([m['avg_word_length'] for m in per_idea_metrics]), + }, + 'idea_count': len(ideas) + } + + return results + + +# ============================================================================ +# 2. Concept Extraction +# ============================================================================ + +# Common English stopwords +STOPWORDS = { + 'a', 'an', 'the', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for', 'of', + 'with', 'by', 'from', 'as', 'is', 'was', 'are', 'were', 'been', 'be', 'have', + 'has', 'had', 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', + 'might', 'must', 'shall', 'can', 'need', 'dare', 'ought', 'used', 'that', + 'which', 'who', 'whom', 'this', 'these', 'those', 'it', 'its', 'they', 'them', + 'their', 'we', 'us', 'our', 'you', 'your', 'i', 'me', 'my', 'he', 'him', 'his', + 'she', 'her', 'not', 'no', 'nor', 'so', 'than', 'too', 'very', 'just', 'also', + 'only', 'own', 'same', 'into', 'over', 'such', 'through', 'during', 'before', + 'after', 'above', 'below', 'between', 'under', 'again', 'further', 'then', + 'once', 'here', 'there', 'when', 'where', 'why', 'how', 'all', 'each', 'few', + 'more', 'most', 'other', 'some', 'any', 'both', 'being', 'about', 'against', + 'while', 'using', 'based', 'allows', 'features', 'includes', 'provides' +} + +# Domain keywords for classification +DOMAIN_KEYWORDS = { + 'technology': {'smart', 'digital', 'ai', 'sensor', 'app', 'software', 'algorithm', + 'wireless', 'bluetooth', 'iot', 'data', 'automated', 'electronic'}, + 'sustainability': {'eco', 'green', 'sustainable', 'renewable', 'solar', 'recycled', + 'biodegradable', 'energy', 'environmental', 'carbon', 'organic'}, + 'health': {'health', 'medical', 'therapy', 'wellness', 'ergonomic', 'posture', + 'fitness', 'therapeutic', 'rehabilitation', 'mental', 'physical'}, + 'social': {'community', 'social', 'sharing', 'collaborative', 'inclusive', + 'accessible', 'elderly', 'children', 'family', 'public'}, + 'design': {'modular', 'customizable', 'aesthetic', 'minimalist', 'portable', + 'foldable', 'compact', 'lightweight', 'adjustable', 'convertible'}, + 'materials': {'material', 'fabric', 'wood', 'metal', 'plastic', 'carbon', + 'fiber', 'composite', 'bamboo', 'leather', 'textile'} +} + + +def extract_concepts(text: str) -> dict[str, Any]: + """ + Extract key concepts from text. + + Returns: + - keywords: list of significant words (non-stopwords) + - bigrams: common two-word phrases + - domains: detected domain categories + """ + words = tokenize(text) + + # Filter stopwords and short words + keywords = [w for w in words if w not in STOPWORDS and len(w) > 2] + + # Extract bigrams + bigrams = [] + for i in range(len(words) - 1): + if words[i] not in STOPWORDS and words[i+1] not in STOPWORDS: + bigrams.append(f"{words[i]} {words[i+1]}") + + # Detect domains + text_lower = text.lower() + detected_domains = [] + for domain, domain_words in DOMAIN_KEYWORDS.items(): + if any(kw in text_lower for kw in domain_words): + detected_domains.append(domain) + + return { + 'keywords': keywords, + 'bigrams': bigrams, + 'domains': detected_domains + } + + +def analyze_concepts_by_condition(ideas_by_condition: dict[str, list[str]]) -> dict[str, Any]: + """Analyze concept extraction for each condition.""" + results = {} + + for condition, ideas in ideas_by_condition.items(): + all_keywords = [] + all_bigrams = [] + domain_counts = Counter() + + for idea in ideas: + concepts = extract_concepts(idea) + all_keywords.extend(concepts['keywords']) + all_bigrams.extend(concepts['bigrams']) + for domain in concepts['domains']: + domain_counts[domain] += 1 + + keyword_counts = Counter(all_keywords) + bigram_counts = Counter(all_bigrams) + + results[condition] = { + 'unique_keywords': len(set(all_keywords)), + 'total_keywords': len(all_keywords), + 'top_keywords': keyword_counts.most_common(20), + 'top_bigrams': bigram_counts.most_common(10), + 'domain_distribution': dict(domain_counts), + 'domain_coverage': len(domain_counts), + 'idea_count': len(ideas) + } + + return results + + +# ============================================================================ +# 3. Embedding-based Analysis (Visualization, Novelty, Overlap) +# ============================================================================ + +async def get_embeddings_from_ollama(texts: list[str], batch_size: int = 50) -> list[list[float]] | None: + """Get embeddings from Ollama API.""" + if not HAS_HTTPX: + return None + + embeddings = [] + + async with httpx.AsyncClient(timeout=120.0) as client: + for i in range(0, len(texts), batch_size): + batch = texts[i:i+batch_size] + try: + response = await client.post( + f"{OLLAMA_BASE_URL}/api/embed", + json={"model": EMBEDDING_MODEL, "input": batch} + ) + response.raise_for_status() + result = response.json() + embeddings.extend(result["embeddings"]) + print(f" Embedded {len(embeddings)}/{len(texts)} ideas...") + except Exception as e: + print(f" Embedding error: {e}") + return None + + return embeddings + + +def load_cached_embeddings(experiment_id: str) -> dict[str, list[float]] | None: + """Try to load embeddings from metrics file.""" + metrics_file = RESULTS_DIR / f"experiment_{experiment_id}_metrics.json" + if not metrics_file.exists(): + return None + + # The metrics file doesn't store raw embeddings, so we can't load them + return None + + +def compute_centroid(embeddings: np.ndarray) -> np.ndarray: + """Compute centroid of embeddings.""" + return np.mean(embeddings, axis=0) + + +def cosine_distance(a: np.ndarray, b: np.ndarray) -> float: + """Compute cosine distance between two vectors.""" + dot = np.dot(a, b) + norm_a = np.linalg.norm(a) + norm_b = np.linalg.norm(b) + if norm_a == 0 or norm_b == 0: + return 1.0 + return 1 - dot / (norm_a * norm_b) + + +def analyze_embeddings( + ideas_by_condition: dict[str, list[str]], + embeddings_by_condition: dict[str, np.ndarray], + output_dir: Path, + skip_viz: bool = False +) -> dict[str, Any]: + """ + Analyze embeddings for visualization, novelty, and overlap. + """ + results = { + 'novelty_scores': {}, + 'cross_condition_overlap': {}, + 'centroid_distances': {} + } + + # Compute centroids for each condition + centroids = {} + for condition, embeddings in embeddings_by_condition.items(): + centroids[condition] = compute_centroid(embeddings) + + # Global centroid (all ideas) + all_embeddings = np.vstack(list(embeddings_by_condition.values())) + global_centroid = compute_centroid(all_embeddings) + + # 4. Perplexity-based Novelty (approximated as distance from global centroid) + print("Computing novelty scores...") + for condition, embeddings in embeddings_by_condition.items(): + distances = [cosine_distance(emb, global_centroid) for emb in embeddings] + results['novelty_scores'][condition] = { + 'mean': float(np.mean(distances)), + 'std': float(np.std(distances)), + 'min': float(np.min(distances)), + 'max': float(np.max(distances)) + } + + # 5. Cross-condition Overlap + print("Computing cross-condition overlap...") + conditions = list(embeddings_by_condition.keys()) + + # Centroid distances between conditions + for i, c1 in enumerate(conditions): + for c2 in conditions[i+1:]: + dist = cosine_distance(centroids[c1], centroids[c2]) + results['centroid_distances'][f"{c1}_vs_{c2}"] = float(dist) + + # Overlap analysis: for each idea, find if nearest neighbor is same or different condition + print("Computing nearest neighbor overlap...") + overlap_stats = defaultdict(lambda: {'same_condition': 0, 'diff_condition': 0}) + + # Build flat arrays with condition labels + all_emb_list = [] + all_labels = [] + for condition, embeddings in embeddings_by_condition.items(): + for emb in embeddings: + all_emb_list.append(emb) + all_labels.append(condition) + + all_emb_array = np.array(all_emb_list) + + for i, (emb, label) in enumerate(zip(all_emb_array, all_labels)): + # Find nearest neighbor (excluding self) + distances = np.array([cosine_distance(emb, other) for other in all_emb_array]) + distances[i] = float('inf') # Exclude self + nearest_idx = np.argmin(distances) + nearest_label = all_labels[nearest_idx] + + if nearest_label == label: + overlap_stats[label]['same_condition'] += 1 + else: + overlap_stats[label]['diff_condition'] += 1 + + for condition in conditions: + total = overlap_stats[condition]['same_condition'] + overlap_stats[condition]['diff_condition'] + results['cross_condition_overlap'][condition] = { + 'same_condition_nn': overlap_stats[condition]['same_condition'], + 'diff_condition_nn': overlap_stats[condition]['diff_condition'], + 'cohesion_ratio': overlap_stats[condition]['same_condition'] / total if total > 0 else 0 + } + + # 3. Embedding Visualization + if not skip_viz and HAS_SKLEARN and HAS_MATPLOTLIB: + print("Generating visualizations...") + generate_visualizations(embeddings_by_condition, output_dir) + + return results + + +def generate_visualizations( + embeddings_by_condition: dict[str, np.ndarray], + output_dir: Path +): + """Generate t-SNE and PCA visualizations.""" + + # Prepare data + all_embeddings = [] + all_labels = [] + for condition, embeddings in embeddings_by_condition.items(): + all_embeddings.extend(embeddings) + all_labels.extend([condition] * len(embeddings)) + + all_embeddings = np.array(all_embeddings) + + # Color map for conditions + conditions = list(embeddings_by_condition.keys()) + colors = plt.cm.tab10(np.linspace(0, 1, len(conditions))) + color_map = {c: colors[i] for i, c in enumerate(conditions)} + point_colors = [color_map[label] for label in all_labels] + + # PCA visualization + print(" Running PCA...") + pca = PCA(n_components=2, random_state=42) + pca_result = pca.fit_transform(all_embeddings) + + plt.figure(figsize=(12, 8)) + for condition in conditions: + mask = [l == condition for l in all_labels] + plt.scatter( + pca_result[mask, 0], + pca_result[mask, 1], + c=[color_map[condition]], + label=condition, + alpha=0.6, + s=30 + ) + plt.xlabel(f'PC1 ({pca.explained_variance_ratio_[0]:.1%} variance)') + plt.ylabel(f'PC2 ({pca.explained_variance_ratio_[1]:.1%} variance)') + plt.title('Ideas by Condition (PCA)') + plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left') + plt.tight_layout() + plt.savefig(output_dir / 'embedding_pca.png', dpi=150) + plt.close() + + # t-SNE visualization + print(" Running t-SNE...") + tsne = TSNE(n_components=2, random_state=42, perplexity=min(30, len(all_embeddings)-1)) + tsne_result = tsne.fit_transform(all_embeddings) + + plt.figure(figsize=(12, 8)) + for condition in conditions: + mask = [l == condition for l in all_labels] + plt.scatter( + tsne_result[mask, 0], + tsne_result[mask, 1], + c=[color_map[condition]], + label=condition, + alpha=0.6, + s=30 + ) + plt.xlabel('t-SNE 1') + plt.ylabel('t-SNE 2') + plt.title('Ideas by Condition (t-SNE)') + plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left') + plt.tight_layout() + plt.savefig(output_dir / 'embedding_tsne.png', dpi=150) + plt.close() + + print(f" Saved visualizations to {output_dir}") + + +# ============================================================================ +# 6. AUT Flexibility Analysis (Category-based Divergent Thinking) +# ============================================================================ + +async def call_llm(prompt: str, model: str = LLM_MODEL) -> str | None: + """Call Ollama LLM for text generation.""" + if not HAS_HTTPX: + return None + + async with httpx.AsyncClient(timeout=120.0) as client: + try: + response = await client.post( + f"{OLLAMA_BASE_URL}/api/generate", + json={ + "model": model, + "prompt": prompt, + "stream": False, + "options": {"temperature": 0.3} # Lower temperature for consistency + } + ) + response.raise_for_status() + result = response.json() + return result.get("response", "") + except Exception as e: + print(f" LLM call error: {e}") + return None + + +async def compute_flexibility_llm( + ideas: list[str], + query: str = "bicycle" +) -> dict[str, Any]: + """ + Compute flexibility score using LLM-based category generation. + + Two-phase approach (Hadas & Hershkovitz 2024): + 1. Generate semantic categories from all ideas + 2. Classify each idea into a category + 3. Flexibility = number of unique categories used + + Returns: + - categories: list of generated categories + - assignments: mapping of idea index to category + - flexibility_score: count of unique categories + """ + # Phase 1: Generate categories + ideas_text = "\n".join(f"{i+1}. {idea}" for i, idea in enumerate(ideas)) + + prompt1 = f"""/no_think +You are analyzing creative ideas for alternative uses of a {query}. + +Examine these ideas and determine the distinct SEMANTIC CATEGORIES they fall into. +Categories should represent fundamentally different ways of thinking about using the object. + +Ideas: +{ideas_text} + +Output ONLY a JSON array of category names (5-15 categories typically). +Example: ["Transportation", "Art/Decoration", "Tool/Equipment", "Recreation", "Storage"] + +JSON array:""" + + response1 = await call_llm(prompt1) + if not response1: + return {"error": "LLM call failed for category generation"} + + # Parse categories from response + try: + # Try to extract JSON array from response + match = re.search(r'\[.*?\]', response1, re.DOTALL) + if match: + categories = json.loads(match.group()) + else: + # Fallback: split by newlines or commas + categories = [c.strip().strip('"\'') for c in response1.split('\n') if c.strip()] + categories = [c for c in categories if c and not c.startswith('[')] + except json.JSONDecodeError: + categories = [c.strip().strip('"\'') for c in response1.split(',') if c.strip()] + + if not categories: + return {"error": "Failed to parse categories", "raw_response": response1} + + # Phase 2: Classify each idea + categories_text = ", ".join(f'"{c}"' for c in categories) + + prompt2 = f"""/no_think +Classify each idea into exactly ONE of these categories: [{categories_text}] + +Ideas: +{ideas_text} + +Output a JSON object mapping idea number (as string) to category name. +Example: {{"1": "Transportation", "2": "Art/Decoration", "3": "Tool/Equipment"}} + +JSON object:""" + + response2 = await call_llm(prompt2) + if not response2: + return {"error": "LLM call failed for classification", "categories": categories} + + # Parse assignments + try: + match = re.search(r'\{.*?\}', response2, re.DOTALL) + if match: + assignments = json.loads(match.group()) + else: + assignments = {} + except json.JSONDecodeError: + assignments = {} + + # Calculate flexibility + used_categories = set(assignments.values()) + flexibility_score = len(used_categories) + + # Category distribution + category_counts = Counter(assignments.values()) + + return { + "categories": categories, + "assignments": assignments, + "flexibility_score": flexibility_score, + "category_distribution": dict(category_counts), + "total_ideas_classified": len(assignments) + } + + +def compute_flexibility_embedding( + embeddings: np.ndarray, + ideas: list[str], + distance_threshold: float = 0.5 +) -> dict[str, Any]: + """ + Compute flexibility score using embedding-based hierarchical clustering. + + Method from arXiv:2405.00899: + 1. Encode ideas as embeddings + 2. Hierarchical clustering with average linkage + 3. Cut tree at distance threshold (higher threshold = fewer clusters) + + Args: + embeddings: numpy array of shape (n_ideas, embedding_dim) + ideas: list of idea texts for reference + distance_threshold: cosine distance threshold for cutting dendrogram + (0.5 = cut when similarity drops below 0.5) + + Returns: + - cluster_assignments: list of cluster IDs + - flexibility_score: number of clusters + - cluster_sizes: distribution of cluster sizes + - mean_pairwise_similarity: average similarity within condition + """ + if not HAS_SCIPY: + return {"error": "scipy not available for hierarchical clustering"} + + n_ideas = len(embeddings) + if n_ideas < 2: + return { + "cluster_assignments": [0] * n_ideas, + "flexibility_score": 1, + "cluster_sizes": {0: n_ideas}, + "mean_pairwise_similarity": 1.0 + } + + # Normalize embeddings for cosine similarity + norms = np.linalg.norm(embeddings, axis=1, keepdims=True) + norms[norms == 0] = 1 # Avoid division by zero + normalized = embeddings / norms + + # Compute pairwise cosine distances + distances = pdist(normalized, metric='cosine') + + # Calculate mean pairwise similarity for reporting + mean_pairwise_sim = 1 - np.mean(distances) + + # Hierarchical clustering with average linkage (better for varying density) + Z = linkage(distances, method='average') + + # Cut at distance threshold + # This creates clusters where items within cluster have distance < threshold + clusters = fcluster(Z, distance_threshold, criterion='distance') + + n_clusters = len(set(clusters)) + cluster_sizes = Counter(clusters) + + # Convert numpy keys to Python ints for JSON serialization + cluster_sizes_dict = {int(k): int(v) for k, v in cluster_sizes.items()} + + # Calculate mean intra-cluster similarity + total_sim = 0 + total_pairs = 0 + for c in set(clusters): + mask = clusters == c + cluster_points = normalized[mask] + if len(cluster_points) > 1: + for i in range(len(cluster_points)): + for j in range(i + 1, len(cluster_points)): + sim = np.dot(cluster_points[i], cluster_points[j]) + total_sim += sim + total_pairs += 1 + + mean_intra_sim = total_sim / total_pairs if total_pairs > 0 else None + + return { + "cluster_assignments": [int(c) for c in clusters], + "flexibility_score": int(n_clusters), + "cluster_sizes": cluster_sizes_dict, + "mean_pairwise_similarity": float(mean_pairwise_sim), + "mean_intra_cluster_similarity": float(mean_intra_sim) if mean_intra_sim else None + } + + +def compute_jump_signal( + cluster_assignments: list[int], + embeddings: np.ndarray | None = None, + similarity_threshold: float = 0.7 +) -> dict[str, Any]: + """ + Compute jump signal - measures category switches in sequential idea generation. + + Enhanced method from arXiv:2405.00899: + - Combined jump signal: jump = jumpcat ∧ jumpSS (logical AND) + - A "true" jump requires BOTH category change AND semantic dissimilarity + + This reduces false positives where switching words within same concept space + would incorrectly count as a jump. + + Args: + cluster_assignments: list of cluster IDs for each idea (in generation order) + embeddings: optional, for computing semantic-similarity-based jumps + similarity_threshold: threshold for semantic similarity jump detection (default 0.7) + + Returns: + - category_jump_count: number of category switches (jumpcat) + - semantic_jump_count: number of semantic dissimilarity jumps (jumpSS) + - combined_jump_count: jumps where BOTH conditions are true + - combined_jump_ratio: proportion of combined jumps (paper metric) + - jump_positions: indices where combined jumps occur + """ + if len(cluster_assignments) < 2: + return { + "category_jump_count": 0, + "semantic_jump_count": 0, + "combined_jump_count": 0, + "combined_jump_ratio": 0.0, + "category_jump_positions": [], + "semantic_jump_positions": [], + "combined_jump_positions": [], + "total_transitions": 0, + # Legacy fields for backward compatibility + "jump_count": 0, + "jump_ratio": 0.0, + "jump_positions": [] + } + + category_jumps = [] + semantic_jumps = [] + combined_jumps = [] + + for i in range(1, len(cluster_assignments)): + # Category-based jump (jumpcat) + is_category_jump = cluster_assignments[i] != cluster_assignments[i-1] + if is_category_jump: + category_jumps.append(i) + + # Semantic similarity-based jump (jumpSS) + is_semantic_jump = False + if embeddings is not None: + sim = np.dot(embeddings[i], embeddings[i-1]) / ( + np.linalg.norm(embeddings[i]) * np.linalg.norm(embeddings[i-1]) + 1e-10 + ) + is_semantic_jump = sim < similarity_threshold + if is_semantic_jump: + semantic_jumps.append(i) + + # Combined jump: both must be true (paper method) + if is_category_jump and (is_semantic_jump if embeddings is not None else True): + combined_jumps.append(i) + + total_transitions = len(cluster_assignments) - 1 + + result = { + "category_jump_count": len(category_jumps), + "semantic_jump_count": len(semantic_jumps) if embeddings is not None else 0, + "combined_jump_count": len(combined_jumps), + "combined_jump_ratio": len(combined_jumps) / total_transitions if total_transitions > 0 else 0.0, + "category_jump_ratio": len(category_jumps) / total_transitions if total_transitions > 0 else 0.0, + "semantic_jump_ratio": len(semantic_jumps) / total_transitions if total_transitions > 0 and embeddings is not None else 0.0, + "category_jump_positions": category_jumps, + "semantic_jump_positions": semantic_jumps if embeddings is not None else [], + "combined_jump_positions": combined_jumps, + "total_transitions": total_transitions, + # Legacy fields for backward compatibility + "jump_count": len(combined_jumps), # Now uses combined + "jump_ratio": len(combined_jumps) / total_transitions if total_transitions > 0 else 0.0, + "jump_positions": combined_jumps + } + + return result + + +def classify_flexibility_profile(jump_count: int, idea_count: int) -> str: + """ + Classify creativity style into Persistent/Flexible/Mixed based on jump count. + + Based on arXiv:2405.00899 findings: + - Persistent: Deep exploration within categories (low jump ratio) + - Flexible: Broad exploration across categories (high jump ratio) + - Mixed: Intermediate pattern + + Paper thresholds normalized to response count: + - Persistent: jump_ratio < 0.30 + - Flexible: jump_ratio > 0.45 + - Mixed: 0.30 <= jump_ratio <= 0.45 + + Args: + jump_count: Number of category jumps + idea_count: Total number of ideas + + Returns: + Profile name: "Persistent", "Flexible", "Mixed", or "Undefined" + """ + if idea_count <= 1: + return "Undefined" + + jump_ratio = jump_count / (idea_count - 1) + + if jump_ratio < 0.30: + return "Persistent" + elif jump_ratio > 0.45: + return "Flexible" + else: + return "Mixed" + + +def compute_cumulative_jump_profile( + jump_positions: list[int], + total_ideas: int +) -> list[int]: + """ + Compute cumulative jump count at each response position. + + This visualization shows exploration patterns over the generation sequence, + revealing whether participants explore steadily or in bursts. + + Args: + jump_positions: Indices where jumps occurred (1-indexed) + total_ideas: Total number of ideas generated + + Returns: + List where index i = cumulative jumps after response i + """ + if total_ideas <= 0: + return [] + + cumulative = [0] * total_ideas + current_jumps = 0 + + for i in range(total_ideas): + if (i + 1) in jump_positions: # Positions are 1-indexed + current_jumps += 1 + cumulative[i] = current_jumps + + return cumulative + + +def analyze_originality_flexibility_correlation( + novelty_scores: dict[str, float], + flexibility_scores: dict[str, int] +) -> dict[str, Any]: + """ + Analyze correlation between novelty (originality) and flexibility across conditions. + + Paper finding from arXiv:2405.00899: + - Humans: No correlation between flexibility and originality (r ≈ 0) + - LLMs: Positive correlation - flexible LLMs score higher on originality + + Research question: Does our attribute+expert pipeline break this LLM pattern? + - If C4 (Full Pipeline) shows high novelty but moderate flexibility → breaks pattern + - If correlation is near zero → human-like creative behavior + + Args: + novelty_scores: Mean novelty score per condition + flexibility_scores: Combined jump count (or flexibility score) per condition + + Returns: + - pearson_r: Correlation coefficient + - interpretation: What the correlation means + - per_condition: Novelty and flexibility values per condition + """ + conditions = list(novelty_scores.keys()) + novelties = [novelty_scores[c] for c in conditions if c in flexibility_scores] + flexibilities = [flexibility_scores[c] for c in conditions if c in flexibility_scores] + valid_conditions = [c for c in conditions if c in flexibility_scores] + + if len(novelties) < 3: + return { + "pearson_r": None, + "interpretation": "Insufficient data (need at least 3 conditions)", + "conditions": valid_conditions, + "novelty_values": novelties, + "flexibility_values": flexibilities + } + + # Check for zero variance + if np.std(novelties) == 0 or np.std(flexibilities) == 0: + return { + "pearson_r": 0.0, + "interpretation": "Zero variance in one variable", + "conditions": valid_conditions, + "novelty_values": novelties, + "flexibility_values": flexibilities + } + + correlation = np.corrcoef(novelties, flexibilities)[0, 1] + + # Interpret the correlation + if correlation > 0.3: + interpretation = "Positive correlation (typical LLM pattern)" + elif correlation < -0.3: + interpretation = "Negative correlation (atypical - high novelty with low flexibility)" + else: + interpretation = "No significant correlation (human-like pattern)" + + return { + "pearson_r": float(correlation), + "interpretation": interpretation, + "conditions": valid_conditions, + "novelty_values": novelties, + "flexibility_values": flexibilities, + "per_condition": {c: {"novelty": novelties[i], "flexibility": flexibilities[i]} + for i, c in enumerate(valid_conditions)} + } + + +def plot_cumulative_jump_profiles( + profiles_by_condition: dict[str, list[int]], + output_path: Path +): + """ + Plot cumulative jump profiles for each condition. + + Shows exploration patterns over generation sequence - steep slopes indicate + rapid category switching, flat regions indicate persistent exploration. + + Args: + profiles_by_condition: Cumulative jump counts per condition + output_path: Directory to save the plot + """ + if not HAS_MATPLOTLIB: + print(" Skipping cumulative jump plot (matplotlib not available)") + return + + plt.figure(figsize=(12, 6)) + + # Color scheme for conditions + colors = plt.cm.tab10(np.linspace(0, 1, len(profiles_by_condition))) + + for (condition, profile), color in zip(profiles_by_condition.items(), colors): + if profile: # Only plot if there's data + x = range(1, len(profile) + 1) + plt.plot(x, profile, label=condition, linewidth=2, color=color, marker='o', + markersize=3, alpha=0.8) + + plt.xlabel('Response Position', fontsize=12) + plt.ylabel('Cumulative Jumps', fontsize=12) + plt.title('Exploration Patterns by Condition\n(Cumulative Category Jumps)', fontsize=14) + plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left') + plt.grid(True, alpha=0.3) + plt.tight_layout() + plt.savefig(output_path / 'cumulative_jump_profiles.png', dpi=150, bbox_inches='tight') + plt.close() + + print(f" Saved cumulative jump profiles to {output_path / 'cumulative_jump_profiles.png'}") + + +async def analyze_flexibility_by_condition( + ideas_by_condition: dict[str, list[str]], + embeddings_by_condition: dict[str, np.ndarray] | None, + query: str = "bicycle", + output_dir: Path | None = None +) -> dict[str, Any]: + """ + Analyze AUT flexibility for each condition using both LLM and embedding methods. + + Enhanced with arXiv:2405.00899 metrics: + - Combined jump signal (jumpcat ∧ jumpSS) + - Flexibility profile classification (Persistent/Flexible/Mixed) + - Cumulative jump profiles for visualization + + Returns flexibility scores, category distributions, jump signals, and profiles. + """ + results = { + "llm_flexibility": {}, + "embedding_flexibility": {}, + "jump_analysis": {}, + "flexibility_profiles": {}, + "cumulative_jump_profiles": {}, + "method_correlation": {} + } + + # LLM-based flexibility analysis + print("\nComputing LLM-based flexibility scores...") + for condition, ideas in ideas_by_condition.items(): + print(f" {condition}...") + llm_result = await compute_flexibility_llm(ideas, query) + results["llm_flexibility"][condition] = llm_result + + # Embedding-based flexibility analysis + if embeddings_by_condition is not None: + print("\nComputing embedding-based flexibility scores...") + for condition, embeddings in embeddings_by_condition.items(): + ideas = ideas_by_condition[condition] + emb_result = compute_flexibility_embedding(embeddings, ideas) + results["embedding_flexibility"][condition] = emb_result + + # Jump signal analysis (enhanced with combined jump) + if "cluster_assignments" in emb_result: + jump_result = compute_jump_signal( + emb_result["cluster_assignments"], + embeddings + ) + results["jump_analysis"][condition] = jump_result + + # Classify flexibility profile + profile = classify_flexibility_profile( + jump_result["combined_jump_count"], + len(ideas) + ) + results["flexibility_profiles"][condition] = profile + + # Compute cumulative jump profile + cumulative = compute_cumulative_jump_profile( + jump_result["combined_jump_positions"], + len(ideas) + ) + results["cumulative_jump_profiles"][condition] = cumulative + + # Generate cumulative jump profile visualization + if output_dir is not None and results["cumulative_jump_profiles"]: + print("\nGenerating cumulative jump profile visualization...") + plot_cumulative_jump_profiles(results["cumulative_jump_profiles"], output_dir) + + # Calculate correlation between methods (if both available) + llm_scores = [] + emb_scores = [] + conditions_order = [] + + for condition in ideas_by_condition.keys(): + if condition in results["llm_flexibility"] and condition in results["embedding_flexibility"]: + llm_flex = results["llm_flexibility"][condition].get("flexibility_score") + emb_flex = results["embedding_flexibility"][condition].get("flexibility_score") + if llm_flex is not None and emb_flex is not None: + llm_scores.append(llm_flex) + emb_scores.append(emb_flex) + conditions_order.append(condition) + + if len(llm_scores) >= 3: + # Pearson correlation + if np.std(llm_scores) > 0 and np.std(emb_scores) > 0: + correlation = np.corrcoef(llm_scores, emb_scores)[0, 1] + results["method_correlation"] = { + "pearson_r": float(correlation), + "llm_scores": dict(zip(conditions_order, llm_scores)), + "embedding_scores": dict(zip(conditions_order, emb_scores)) + } + + return results + + +# ============================================================================ +# Main Analysis +# ============================================================================ + +async def run_analysis( + experiment_file: Path, + output_dir: Path, + skip_viz: bool = False, + skip_embeddings: bool = False +): + """Run all analyses on an experiment file.""" + + print("=" * 60) + print("ADVANCED AUTOMATIC ANALYSIS") + print("=" * 60) + + # Load experiment data + print(f"\nLoading: {experiment_file.name}") + with open(experiment_file, 'r', encoding='utf-8') as f: + data = json.load(f) + + experiment_id = data.get('experiment_id', 'unknown') + print(f"Experiment ID: {experiment_id}") + + # Extract ideas by condition + ideas_by_condition: dict[str, list[str]] = defaultdict(list) + idea_texts: list[str] = [] + idea_conditions: list[str] = [] + + for result in data.get('results', []): + for condition_name, condition_data in result.get('conditions', {}).items(): + dedup = condition_data.get('dedup', {}) + unique_ideas = dedup.get('unique_ideas', []) + for idea in unique_ideas: + ideas_by_condition[condition_name].append(idea) + idea_texts.append(idea) + idea_conditions.append(condition_name) + + total_ideas = len(idea_texts) + print(f"Total ideas: {total_ideas}") + print(f"Conditions: {list(ideas_by_condition.keys())}") + + results = { + 'experiment_id': experiment_id, + 'analysis_timestamp': datetime.now(timezone.utc).isoformat(), + 'total_ideas': total_ideas, + 'conditions': list(ideas_by_condition.keys()) + } + + # 1. Lexical Diversity + print("\n" + "-" * 40) + print("1. LEXICAL DIVERSITY ANALYSIS") + print("-" * 40) + + lexical_results = analyze_lexical_diversity_by_condition(ideas_by_condition) + results['lexical_diversity'] = lexical_results + + for condition, metrics in lexical_results.items(): + print(f"\n{condition}:") + print(f" Overall TTR: {metrics['overall']['type_token_ratio']:.3f}") + print(f" Vocabulary size: {metrics['overall']['vocabulary_size']}") + print(f" Avg words/idea: {metrics['per_idea_mean']['total_words']:.1f}") + + # 2. Concept Extraction + print("\n" + "-" * 40) + print("2. CONCEPT EXTRACTION") + print("-" * 40) + + concept_results = analyze_concepts_by_condition(ideas_by_condition) + results['concept_extraction'] = concept_results + + for condition, metrics in concept_results.items(): + print(f"\n{condition}:") + print(f" Unique keywords: {metrics['unique_keywords']}") + print(f" Domain coverage: {metrics['domain_coverage']} domains") + print(f" Top keywords: {[k for k, _ in metrics['top_keywords'][:5]]}") + + # 3-5. Embedding-based Analysis + if not skip_embeddings: + print("\n" + "-" * 40) + print("3-5. EMBEDDING-BASED ANALYSIS") + print("-" * 40) + + # Try to get embeddings + print("Getting embeddings from Ollama...") + embeddings = await get_embeddings_from_ollama(idea_texts) + + if embeddings is not None: + # Organize embeddings by condition + embeddings_by_condition: dict[str, np.ndarray] = defaultdict(list) + for emb, condition in zip(embeddings, idea_conditions): + embeddings_by_condition[condition].append(emb) + + for condition in embeddings_by_condition: + embeddings_by_condition[condition] = np.array(embeddings_by_condition[condition]) + + embedding_results = analyze_embeddings( + ideas_by_condition, + embeddings_by_condition, + output_dir, + skip_viz=skip_viz + ) + + results['novelty_scores'] = embedding_results['novelty_scores'] + results['cross_condition_overlap'] = embedding_results['cross_condition_overlap'] + results['centroid_distances'] = embedding_results['centroid_distances'] + + # Print novelty scores + print("\nNovelty Scores (distance from global centroid):") + for condition, scores in embedding_results['novelty_scores'].items(): + print(f" {condition}: mean={scores['mean']:.4f}, std={scores['std']:.4f}") + + # Print overlap + print("\nCross-condition Cohesion (% nearest neighbors from same condition):") + for condition, overlap in embedding_results['cross_condition_overlap'].items(): + print(f" {condition}: {overlap['cohesion_ratio']:.1%}") + + # Print centroid distances + print("\nCentroid Distances (lower = more similar):") + for pair, dist in sorted(embedding_results['centroid_distances'].items()): + print(f" {pair}: {dist:.4f}") + # 6. AUT Flexibility Analysis (Enhanced with arXiv:2405.00899 metrics) + print("\n" + "-" * 40) + print("6. AUT FLEXIBILITY ANALYSIS (arXiv:2405.00899)") + print("-" * 40) + + # Extract query from experiment data + query = "bicycle" # Default + if data.get('results') and len(data['results']) > 0: + first_result = data['results'][0] + if 'query' in first_result: + query = first_result['query'] + + print(f"Query object: {query}") + + flexibility_results = await analyze_flexibility_by_condition( + ideas_by_condition, + embeddings_by_condition, + query, + output_dir=output_dir if not skip_viz else None + ) + + results['flexibility_analysis'] = flexibility_results + + # Print flexibility scores + print("\nLLM-based Flexibility Scores (semantic categories):") + for condition, flex_data in flexibility_results['llm_flexibility'].items(): + if 'flexibility_score' in flex_data: + print(f" {condition}: {flex_data['flexibility_score']} categories") + if 'category_distribution' in flex_data: + top_cats = sorted(flex_data['category_distribution'].items(), + key=lambda x: x[1], reverse=True)[:3] + print(f" Top categories: {[c[0] for c in top_cats]}") + + print("\nEmbedding-based Flexibility Scores (hierarchical clustering):") + for condition, flex_data in flexibility_results['embedding_flexibility'].items(): + if 'flexibility_score' in flex_data: + print(f" {condition}: {flex_data['flexibility_score']} clusters") + + # Enhanced Jump Signal Analysis (Combined Jump from paper) + print("\nCombined Jump Signal Analysis (jumpcat ∧ jumpSS):") + print(" Condition | Cat-Only | Sem-Only | Combined | Profile") + print(" " + "-" * 60) + for condition, jump_data in flexibility_results['jump_analysis'].items(): + profile = flexibility_results.get('flexibility_profiles', {}).get(condition, "N/A") + cat_jumps = jump_data.get('category_jump_count', 0) + sem_jumps = jump_data.get('semantic_jump_count', 0) + combined = jump_data.get('combined_jump_count', 0) + print(f" {condition:16} | {cat_jumps:8} | {sem_jumps:8} | {combined:8} | {profile}") + + # Print flexibility profiles summary + print("\nFlexibility Profiles (based on combined jump ratio):") + for condition, profile in flexibility_results.get('flexibility_profiles', {}).items(): + jump_data = flexibility_results['jump_analysis'].get(condition, {}) + ratio = jump_data.get('combined_jump_ratio', 0) + print(f" {condition}: {profile} (ratio={ratio:.2%})") + + # 7. Originality-Flexibility Correlation Analysis + print("\n" + "-" * 40) + print("7. ORIGINALITY-FLEXIBILITY CORRELATION") + print("-" * 40) + + # Extract novelty means and flexibility scores for correlation + novelty_means = {c: scores['mean'] for c, scores in embedding_results['novelty_scores'].items()} + flexibility_jumps = {c: jump_data.get('combined_jump_count', 0) + for c, jump_data in flexibility_results['jump_analysis'].items()} + + correlation_result = analyze_originality_flexibility_correlation( + novelty_means, + flexibility_jumps + ) + results['originality_flexibility_correlation'] = correlation_result + + print(f"\nPearson r: {correlation_result.get('pearson_r', 'N/A')}") + print(f"Interpretation: {correlation_result.get('interpretation', 'N/A')}") + + if correlation_result.get('per_condition'): + print("\nPer-Condition Values:") + for condition, vals in correlation_result['per_condition'].items(): + print(f" {condition}: Novelty={vals['novelty']:.4f}, Flexibility={vals['flexibility']}") + + # Print method correlation + if flexibility_results.get('method_correlation', {}).get('pearson_r') is not None: + print(f"\nLLM vs Embedding Flexibility Correlation: r={flexibility_results['method_correlation']['pearson_r']:.3f}") + + else: + print("Could not get embeddings. Skipping embedding-based analysis.") + print("Make sure Ollama is running with the embedding model.") + + # Save results + output_file = output_dir / f"aut_flexibility_{experiment_id}.json" + with open(output_file, 'w', encoding='utf-8') as f: + # Convert numpy types to Python types for JSON serialization + def convert(obj): + if isinstance(obj, np.ndarray): + return obj.tolist() + if isinstance(obj, (np.int64, np.int32)): + return int(obj) + if isinstance(obj, (np.float64, np.float32)): + return float(obj) + return obj + + json.dump(results, f, ensure_ascii=False, indent=2, default=convert) + + print("\n" + "=" * 60) + print(f"Results saved to: {output_file}") + if not skip_viz and HAS_MATPLOTLIB: + print(f"Visualizations saved to: {output_dir}") + print("=" * 60) + + return results + + +def list_experiment_files() -> list[Path]: + """List available deduped experiment files.""" + return sorted(RESULTS_DIR.glob('*_deduped.json'), key=lambda p: p.stat().st_mtime, reverse=True) + + +def main(): + parser = argparse.ArgumentParser( + description='Run advanced automatic analysis on experiment results.', + formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument( + 'experiment_file', + nargs='?', + default=None, + help='Experiment file name' + ) + parser.add_argument( + '--list', '-l', + action='store_true', + help='List available experiment files' + ) + parser.add_argument( + '--skip-viz', + action='store_true', + help='Skip visualization generation' + ) + parser.add_argument( + '--skip-embeddings', + action='store_true', + help='Skip embedding-based analysis (faster)' + ) + args = parser.parse_args() + + available_files = list_experiment_files() + + if args.list: + print("Available experiment files:") + for f in available_files: + print(f" {f.name}") + return + + # Determine which file to use + if args.experiment_file: + experiment_file = RESULTS_DIR / args.experiment_file + if not experiment_file.exists(): + experiment_file = RESULTS_DIR / f"{args.experiment_file}.json" + else: + if not available_files: + print("Error: No deduped experiment files found.") + return + experiment_file = available_files[0] + print(f"Using latest: {experiment_file.name}") + + if not experiment_file.exists(): + print(f"Error: File not found: {experiment_file}") + return + + # Run analysis + asyncio.run(run_analysis( + experiment_file, + RESULTS_DIR, + skip_viz=args.skip_viz, + skip_embeddings=args.skip_embeddings + )) + + +if __name__ == '__main__': + main() diff --git a/experiments/compute_metrics.py b/experiments/compute_metrics.py new file mode 100644 index 0000000..3918b76 --- /dev/null +++ b/experiments/compute_metrics.py @@ -0,0 +1,666 @@ +""" +Compute metrics for experiment results. + +Computes metrics BOTH before and after deduplication: +- Pre-dedup: Measures raw generation capability +- Post-dedup: Measures quality of unique ideas + +Also normalizes idea counts for fair cross-condition comparison. + +Usage: + python -m experiments.compute_metrics --input results/experiment_xxx_deduped.json +""" + +import sys +import json +import argparse +import asyncio +import logging +import random +from pathlib import Path +from typing import List, Dict, Any, Optional, Tuple +from dataclasses import dataclass, asdict + +import numpy as np + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent / "backend")) + +from app.services.embedding_service import embedding_service +from app.services.llm_service import ollama_provider, extract_json_from_response +from experiments.config import RESULTS_DIR, MODEL, RANDOM_SEED + +# Configure logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s' +) +logger = logging.getLogger(__name__) + + +@dataclass +class DiversityMetrics: + """Semantic diversity metrics for a set of ideas.""" + mean_pairwise_distance: float + std_pairwise_distance: float + min_pairwise_distance: float + max_pairwise_distance: float + idea_count: int + + +@dataclass +class ClusterMetrics: + """Cluster analysis metrics.""" + optimal_clusters: int + silhouette_score: float + cluster_sizes: List[int] + + +@dataclass +class QueryDistanceMetrics: + """Distance from original query metrics.""" + mean_distance: float + std_distance: float + min_distance: float + max_distance: float + distances: List[float] + + +@dataclass +class RelevanceMetrics: + """LLM-as-judge relevance metrics (for hallucination detection).""" + relevance_rate: float # Score >= 2 + nonsense_rate: float # Score == 1 + mean_score: float + score_distribution: Dict[int, int] # {1: count, 2: count, 3: count} + + +@dataclass +class ConditionMetrics: + """All metrics for a single condition.""" + condition: str + query: str + + # Idea counts + raw_count: int + unique_count: int + survival_rate: float + + # Pre-dedup metrics (on raw ideas) + pre_dedup_diversity: Optional[DiversityMetrics] + + # Post-dedup metrics (on unique ideas) + post_dedup_diversity: Optional[DiversityMetrics] + post_dedup_clusters: Optional[ClusterMetrics] + post_dedup_query_distance: Optional[QueryDistanceMetrics] + + # Normalized metrics (on equal-sized samples) + normalized_diversity: Optional[DiversityMetrics] + normalized_sample_size: int + + # Relevance/hallucination (post-dedup only) + relevance: Optional[RelevanceMetrics] + + +# ============================================================ +# Embedding-based metrics +# ============================================================ + +async def get_embeddings(texts: List[str]) -> List[List[float]]: + """Get embeddings for a list of texts.""" + if not texts: + return [] + return await embedding_service.get_embeddings_batch(texts) + + +def compute_pairwise_distances(embeddings: List[List[float]]) -> List[float]: + """Compute all pairwise cosine distances.""" + n = len(embeddings) + if n < 2: + return [] + + distances = [] + for i in range(n): + for j in range(i + 1, n): + sim = embedding_service.cosine_similarity(embeddings[i], embeddings[j]) + dist = 1 - sim # Convert similarity to distance + distances.append(dist) + + return distances + + +async def compute_diversity_metrics(ideas: List[str]) -> Optional[DiversityMetrics]: + """Compute semantic diversity metrics for a set of ideas.""" + if len(ideas) < 2: + return None + + embeddings = await get_embeddings(ideas) + distances = compute_pairwise_distances(embeddings) + + if not distances: + return None + + return DiversityMetrics( + mean_pairwise_distance=float(np.mean(distances)), + std_pairwise_distance=float(np.std(distances)), + min_pairwise_distance=float(np.min(distances)), + max_pairwise_distance=float(np.max(distances)), + idea_count=len(ideas) + ) + + +async def compute_query_distance_metrics( + query: str, + ideas: List[str] +) -> Optional[QueryDistanceMetrics]: + """Compute distance of ideas from the original query.""" + if not ideas: + return None + + # Get query embedding + query_emb = await embedding_service.get_embedding(query) + idea_embs = await get_embeddings(ideas) + + distances = [] + for emb in idea_embs: + sim = embedding_service.cosine_similarity(query_emb, emb) + dist = 1 - sim + distances.append(dist) + + return QueryDistanceMetrics( + mean_distance=float(np.mean(distances)), + std_distance=float(np.std(distances)), + min_distance=float(np.min(distances)), + max_distance=float(np.max(distances)), + distances=distances + ) + + +async def compute_cluster_metrics(ideas: List[str]) -> Optional[ClusterMetrics]: + """Compute cluster analysis metrics.""" + if len(ideas) < 3: + return None + + try: + from sklearn.cluster import KMeans + from sklearn.metrics import silhouette_score + except ImportError: + logger.warning("sklearn not installed, skipping cluster metrics") + return None + + embeddings = await get_embeddings(ideas) + embeddings_np = np.array(embeddings) + + # Find optimal k using silhouette score + max_k = min(len(ideas) - 1, 10) + if max_k < 2: + return None + + best_k = 2 + best_score = -1 + + for k in range(2, max_k + 1): + try: + kmeans = KMeans(n_clusters=k, random_state=RANDOM_SEED, n_init=10) + labels = kmeans.fit_predict(embeddings_np) + score = silhouette_score(embeddings_np, labels) + if score > best_score: + best_score = score + best_k = k + except Exception as e: + logger.warning(f"Clustering failed for k={k}: {e}") + continue + + # Get cluster sizes for optimal k + kmeans = KMeans(n_clusters=best_k, random_state=RANDOM_SEED, n_init=10) + labels = kmeans.fit_predict(embeddings_np) + cluster_sizes = [int(np.sum(labels == i)) for i in range(best_k)] + + return ClusterMetrics( + optimal_clusters=best_k, + silhouette_score=float(best_score), + cluster_sizes=sorted(cluster_sizes, reverse=True) + ) + + +# ============================================================ +# LLM-as-Judge relevance metrics +# ============================================================ + +async def judge_relevance(query: str, idea: str, model: str = None) -> Dict[str, Any]: + """Use LLM to judge if an idea is relevant to the query.""" + model = model or MODEL + + prompt = f"""/no_think +You are evaluating whether a generated idea is relevant and applicable to an original query. + +Original query: {query} +Generated idea: {idea} + +Rate the relevance on a scale of 1-3: +1 = Nonsense/completely irrelevant (no logical connection to the query) +2 = Weak but valid connection (requires stretch but has some relevance) +3 = Clearly relevant and applicable (directly relates to the query) + +Return JSON only: +{{"score": N, "reason": "brief explanation (10-20 words)"}} +""" + + try: + response = await ollama_provider.generate( + prompt=prompt, + model=model, + temperature=0.3 # Lower temperature for more consistent judgments + ) + result = extract_json_from_response(response) + return { + "score": result.get("score", 2), + "reason": result.get("reason", "") + } + except Exception as e: + logger.warning(f"Relevance judgment failed: {e}") + return {"score": 2, "reason": "judgment failed"} + + +async def compute_relevance_metrics( + query: str, + ideas: List[str], + model: str = None, + sample_size: int = None +) -> Optional[RelevanceMetrics]: + """Compute LLM-as-judge relevance metrics for ideas.""" + if not ideas: + return None + + # Optionally sample to reduce API calls + if sample_size and len(ideas) > sample_size: + rng = random.Random(RANDOM_SEED) + ideas_to_judge = rng.sample(ideas, sample_size) + else: + ideas_to_judge = ideas + + scores = [] + for idea in ideas_to_judge: + result = await judge_relevance(query, idea, model) + scores.append(result["score"]) + + # Compute distribution + distribution = {1: 0, 2: 0, 3: 0} + for s in scores: + if s in distribution: + distribution[s] += 1 + + nonsense_count = distribution[1] + relevant_count = distribution[2] + distribution[3] + + return RelevanceMetrics( + relevance_rate=relevant_count / len(scores) if scores else 0, + nonsense_rate=nonsense_count / len(scores) if scores else 0, + mean_score=float(np.mean(scores)) if scores else 0, + score_distribution=distribution + ) + + +# ============================================================ +# Main metrics computation +# ============================================================ + +async def compute_condition_metrics( + query: str, + condition: str, + raw_ideas: List[str], + unique_ideas: List[str], + normalized_sample_size: int, + compute_relevance: bool = False +) -> ConditionMetrics: + """Compute all metrics for a single condition.""" + + raw_count = len(raw_ideas) + unique_count = len(unique_ideas) + survival_rate = unique_count / raw_count if raw_count > 0 else 1.0 + + logger.info(f" Computing metrics for {condition}...") + logger.info(f" Raw: {raw_count}, Unique: {unique_count}, Survival: {survival_rate:.1%}") + + # Pre-dedup diversity (on raw ideas) + logger.info(f" Computing pre-dedup diversity...") + pre_dedup_diversity = await compute_diversity_metrics(raw_ideas) + + # Post-dedup diversity (on unique ideas) + logger.info(f" Computing post-dedup diversity...") + post_dedup_diversity = await compute_diversity_metrics(unique_ideas) + + # Cluster analysis (post-dedup) + logger.info(f" Computing cluster metrics...") + post_dedup_clusters = await compute_cluster_metrics(unique_ideas) + + # Query distance (post-dedup) + logger.info(f" Computing query distance...") + post_dedup_query_distance = await compute_query_distance_metrics(query, unique_ideas) + + # Normalized diversity (equal-sized sample for fair comparison) + normalized_diversity = None + if len(unique_ideas) >= normalized_sample_size and normalized_sample_size > 1: + logger.info(f" Computing normalized diversity (n={normalized_sample_size})...") + rng = random.Random(RANDOM_SEED) + sampled_ideas = rng.sample(unique_ideas, normalized_sample_size) + normalized_diversity = await compute_diversity_metrics(sampled_ideas) + + # Relevance metrics (optional, expensive) + relevance = None + if compute_relevance and unique_ideas: + logger.info(f" Computing relevance metrics (LLM-as-judge)...") + # Sample up to 10 ideas to reduce cost + relevance = await compute_relevance_metrics( + query, unique_ideas, sample_size=min(10, len(unique_ideas)) + ) + + return ConditionMetrics( + condition=condition, + query=query, + raw_count=raw_count, + unique_count=unique_count, + survival_rate=survival_rate, + pre_dedup_diversity=pre_dedup_diversity, + post_dedup_diversity=post_dedup_diversity, + post_dedup_clusters=post_dedup_clusters, + post_dedup_query_distance=post_dedup_query_distance, + normalized_diversity=normalized_diversity, + normalized_sample_size=normalized_sample_size, + relevance=relevance + ) + + +async def process_experiment_results( + input_file: Path, + output_file: Optional[Path] = None, + compute_relevance: bool = False +) -> Dict[str, Any]: + """ + Process experiment results and compute all metrics. + + Args: + input_file: Path to deduped experiment results JSON + output_file: Path for output (default: input with _metrics suffix) + compute_relevance: Whether to compute LLM-as-judge relevance + + Returns: + Results with computed metrics + """ + # Load experiment results + with open(input_file, "r", encoding="utf-8") as f: + experiment = json.load(f) + + logger.info(f"Processing experiment: {experiment.get('experiment_id', 'unknown')}") + + # Determine normalized sample size (minimum unique count across all conditions) + min_unique_count = float('inf') + for query_result in experiment["results"]: + for condition, cond_result in query_result["conditions"].items(): + if cond_result.get("success", False): + dedup = cond_result.get("dedup", {}) + unique_count = len(dedup.get("unique_ideas", cond_result.get("ideas", []))) + if unique_count > 0: + min_unique_count = min(min_unique_count, unique_count) + + normalized_sample_size = min(int(min_unique_count), 10) if min_unique_count != float('inf') else 5 + logger.info(f"Normalized sample size: {normalized_sample_size}") + + # Process each query + all_metrics = [] + + for query_result in experiment["results"]: + query = query_result["query"] + query_id = query_result["query_id"] + + logger.info(f"\nProcessing query: {query} ({query_id})") + + query_metrics = { + "query_id": query_id, + "query": query, + "conditions": {} + } + + for condition, cond_result in query_result["conditions"].items(): + if not cond_result.get("success", False): + logger.warning(f" Skipping failed condition: {condition}") + continue + + # Get raw and unique ideas + raw_ideas = cond_result.get("ideas", []) + dedup = cond_result.get("dedup", {}) + unique_ideas = dedup.get("unique_ideas", raw_ideas) + + # Compute metrics + metrics = await compute_condition_metrics( + query=query, + condition=condition, + raw_ideas=raw_ideas, + unique_ideas=unique_ideas, + normalized_sample_size=normalized_sample_size, + compute_relevance=compute_relevance + ) + + # Convert to dict for JSON serialization + query_metrics["conditions"][condition] = asdict(metrics) + + all_metrics.append(query_metrics) + + # Calculate aggregate statistics + aggregate = calculate_aggregate_metrics(all_metrics) + + # Build output + output = { + "experiment_id": experiment.get("experiment_id"), + "config": experiment.get("config"), + "normalized_sample_size": normalized_sample_size, + "metrics_by_query": all_metrics, + "aggregate": aggregate + } + + # Save results + if output_file is None: + stem = input_file.stem.replace("_deduped", "").replace("_complete", "") + output_file = input_file.parent / f"{stem}_metrics.json" + + with open(output_file, "w", encoding="utf-8") as f: + json.dump(output, f, indent=2, ensure_ascii=False) + + logger.info(f"\nMetrics saved to: {output_file}") + + return output + + +def calculate_aggregate_metrics(all_metrics: List[Dict]) -> Dict[str, Any]: + """Calculate aggregate statistics across all queries.""" + aggregate = {} + + # Collect metrics by condition + by_condition = {} + + for query_metrics in all_metrics: + for condition, metrics in query_metrics["conditions"].items(): + if condition not in by_condition: + by_condition[condition] = { + "raw_counts": [], + "unique_counts": [], + "survival_rates": [], + "pre_dedup_diversity": [], + "post_dedup_diversity": [], + "normalized_diversity": [], + "query_distances": [], + "cluster_counts": [], + "silhouette_scores": [], + "relevance_rates": [], + "nonsense_rates": [] + } + + bc = by_condition[condition] + bc["raw_counts"].append(metrics["raw_count"]) + bc["unique_counts"].append(metrics["unique_count"]) + bc["survival_rates"].append(metrics["survival_rate"]) + + if metrics.get("pre_dedup_diversity"): + bc["pre_dedup_diversity"].append( + metrics["pre_dedup_diversity"]["mean_pairwise_distance"] + ) + + if metrics.get("post_dedup_diversity"): + bc["post_dedup_diversity"].append( + metrics["post_dedup_diversity"]["mean_pairwise_distance"] + ) + + if metrics.get("normalized_diversity"): + bc["normalized_diversity"].append( + metrics["normalized_diversity"]["mean_pairwise_distance"] + ) + + if metrics.get("post_dedup_query_distance"): + bc["query_distances"].append( + metrics["post_dedup_query_distance"]["mean_distance"] + ) + + if metrics.get("post_dedup_clusters"): + bc["cluster_counts"].append( + metrics["post_dedup_clusters"]["optimal_clusters"] + ) + bc["silhouette_scores"].append( + metrics["post_dedup_clusters"]["silhouette_score"] + ) + + if metrics.get("relevance"): + bc["relevance_rates"].append(metrics["relevance"]["relevance_rate"]) + bc["nonsense_rates"].append(metrics["relevance"]["nonsense_rate"]) + + # Calculate means and stds + for condition, data in by_condition.items(): + aggregate[condition] = {} + + for metric_name, values in data.items(): + if values: + aggregate[condition][metric_name] = { + "mean": float(np.mean(values)), + "std": float(np.std(values)), + "min": float(np.min(values)), + "max": float(np.max(values)), + "n": len(values) + } + + return aggregate + + +def print_metrics_summary(metrics: Dict[str, Any]): + """Print a formatted summary of computed metrics.""" + print("\n" + "=" * 80) + print("METRICS SUMMARY") + print("=" * 80) + + print(f"\nNormalized sample size: {metrics.get('normalized_sample_size', 'N/A')}") + + aggregate = metrics.get("aggregate", {}) + + # Idea counts + print("\n--- Idea Counts ---") + print(f"{'Condition':<25} {'Raw':<10} {'Unique':<10} {'Survival':<10}") + print("-" * 55) + for cond, data in aggregate.items(): + raw = data.get("raw_counts", {}).get("mean", 0) + unique = data.get("unique_counts", {}).get("mean", 0) + survival = data.get("survival_rates", {}).get("mean", 0) + print(f"{cond:<25} {raw:<10.1f} {unique:<10.1f} {survival:<10.1%}") + + # Diversity metrics + print("\n--- Semantic Diversity (Mean Pairwise Distance) ---") + print(f"{'Condition':<25} {'Pre-Dedup':<12} {'Post-Dedup':<12} {'Normalized':<12}") + print("-" * 61) + for cond, data in aggregate.items(): + pre = data.get("pre_dedup_diversity", {}).get("mean", 0) + post = data.get("post_dedup_diversity", {}).get("mean", 0) + norm = data.get("normalized_diversity", {}).get("mean", 0) + print(f"{cond:<25} {pre:<12.4f} {post:<12.4f} {norm:<12.4f}") + + # Query distance + print("\n--- Query Distance (Novelty) ---") + print(f"{'Condition':<25} {'Mean Distance':<15} {'Std':<10}") + print("-" * 50) + for cond, data in aggregate.items(): + dist = data.get("query_distances", {}) + mean = dist.get("mean", 0) + std = dist.get("std", 0) + print(f"{cond:<25} {mean:<15.4f} {std:<10.4f}") + + # Cluster metrics + print("\n--- Cluster Analysis ---") + print(f"{'Condition':<25} {'Clusters':<12} {'Silhouette':<12}") + print("-" * 49) + for cond, data in aggregate.items(): + clusters = data.get("cluster_counts", {}).get("mean", 0) + silhouette = data.get("silhouette_scores", {}).get("mean", 0) + print(f"{cond:<25} {clusters:<12.1f} {silhouette:<12.4f}") + + # Relevance (if computed) + has_relevance = any( + "relevance_rates" in data and data["relevance_rates"].get("n", 0) > 0 + for data in aggregate.values() + ) + if has_relevance: + print("\n--- Relevance (LLM-as-Judge) ---") + print(f"{'Condition':<25} {'Relevance':<12} {'Nonsense':<12}") + print("-" * 49) + for cond, data in aggregate.items(): + rel = data.get("relevance_rates", {}).get("mean", 0) + non = data.get("nonsense_rates", {}).get("mean", 0) + print(f"{cond:<25} {rel:<12.1%} {non:<12.1%}") + + print("\n" + "=" * 80) + print("Interpretation:") + print("- Higher pairwise distance = more diverse ideas") + print("- Higher query distance = more novel (farther from original)") + print("- More clusters = more distinct themes") + print("- Higher silhouette = cleaner cluster separation") + print("=" * 80) + + +async def main(): + parser = argparse.ArgumentParser( + description="Compute metrics for experiment results" + ) + parser.add_argument( + "--input", + type=str, + required=True, + help="Input deduped experiment results JSON file" + ) + parser.add_argument( + "--output", + type=str, + help="Output file path (default: input_metrics.json)" + ) + parser.add_argument( + "--relevance", + action="store_true", + help="Compute LLM-as-judge relevance metrics (expensive)" + ) + + args = parser.parse_args() + + input_path = Path(args.input) + if not input_path.exists(): + input_path = RESULTS_DIR / args.input + if not input_path.exists(): + print(f"Error: Input file not found: {args.input}") + sys.exit(1) + + output_path = Path(args.output) if args.output else None + + metrics = await process_experiment_results( + input_file=input_path, + output_file=output_path, + compute_relevance=args.relevance + ) + + print_metrics_summary(metrics) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/experiments/conditions/__init__.py b/experiments/conditions/__init__.py new file mode 100644 index 0000000..bf60191 --- /dev/null +++ b/experiments/conditions/__init__.py @@ -0,0 +1,23 @@ +""" +Condition implementations for the 5-condition experiment. + +C1: Direct generation (baseline) +C2: Expert-only (no attributes) +C3: Attribute-only (no experts) +C4: Full pipeline (attributes + experts) +C5: Random-perspective (random words instead of experts) +""" + +from .c1_direct import generate_ideas as c1_generate +from .c2_expert_only import generate_ideas as c2_generate +from .c3_attribute_only import generate_ideas as c3_generate +from .c4_full_pipeline import generate_ideas as c4_generate +from .c5_random_perspective import generate_ideas as c5_generate + +__all__ = [ + "c1_generate", + "c2_generate", + "c3_generate", + "c4_generate", + "c5_generate", +] diff --git a/experiments/conditions/c1_direct.py b/experiments/conditions/c1_direct.py new file mode 100644 index 0000000..ad7e6de --- /dev/null +++ b/experiments/conditions/c1_direct.py @@ -0,0 +1,111 @@ +""" +Condition 1: Direct Generation (Baseline) + +Single LLM call asking for creative ideas directly. +No attribute decomposition, no expert perspectives. +""" + +import sys +from pathlib import Path + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent.parent / "backend")) + +from typing import List, Dict, Any +from app.services.llm_service import ollama_provider, extract_json_from_response +from experiments.config import MODEL, TEMPERATURE, IDEAS_DIRECT, PROMPT_LANGUAGE + + +def get_direct_generation_prompt(query: str, idea_count: int, lang: str = "en") -> str: + """Generate prompt for direct idea generation.""" + if lang == "en": + return f"""/no_think +Generate {idea_count} creative and innovative ideas for "{query}". + +Requirements: +1. Each idea should be specific and actionable +2. Ideas should be diverse, covering different aspects and applications +3. Include both practical improvements and creative innovations +4. Ideas should be 15-30 words each + +Return JSON only: +{{"ideas": ["idea 1", "idea 2", "idea 3", ...]}} + +Generate exactly {idea_count} ideas.""" + else: + return f"""/no_think +為「{query}」生成 {idea_count} 個創意點子。 + +要求: +1. 每個點子要具體可行 +2. 點子要多元,涵蓋不同面向和應用 +3. 包含實用改進和創意創新 +4. 每個點子 15-30 字 + +只回傳 JSON: +{{"ideas": ["點子1", "點子2", "點子3", ...]}} + +生成正好 {idea_count} 個點子。""" + + +async def generate_ideas( + query: str, + model: str = None, + temperature: float = None, + idea_count: int = None, + lang: str = None +) -> Dict[str, Any]: + """ + Generate ideas using direct LLM generation (C1 baseline). + + Args: + query: The object/concept to generate ideas for + model: LLM model to use (default from config) + temperature: Generation temperature (default from config) + idea_count: Number of ideas to generate (default from config) + lang: Language for prompts (default from config) + + Returns: + Dict with ideas and metadata + """ + model = model or MODEL + temperature = temperature or TEMPERATURE + idea_count = idea_count or IDEAS_DIRECT + lang = lang or PROMPT_LANGUAGE + + prompt = get_direct_generation_prompt(query, idea_count, lang) + + response = await ollama_provider.generate( + prompt=prompt, + model=model, + temperature=temperature + ) + + result = extract_json_from_response(response) + ideas = result.get("ideas", []) + + return { + "condition": "c1_direct", + "query": query, + "ideas": ideas, + "idea_count": len(ideas), + "metadata": { + "model": model, + "temperature": temperature, + "prompt_language": lang, + "mechanism": "direct_llm_generation" + } + } + + +# For testing +if __name__ == "__main__": + import asyncio + + async def test(): + result = await generate_ideas("Chair") + print(f"Generated {result['idea_count']} ideas:") + for i, idea in enumerate(result['ideas'], 1): + print(f" {i}. {idea}") + + asyncio.run(test()) diff --git a/experiments/conditions/c2_expert_only.py b/experiments/conditions/c2_expert_only.py new file mode 100644 index 0000000..96cb848 --- /dev/null +++ b/experiments/conditions/c2_expert_only.py @@ -0,0 +1,176 @@ +""" +Condition 2: Expert-Only (No Attributes) + +Uses expert perspectives to generate ideas, but without +attribute decomposition. Each expert generates ideas directly +for the query from their professional perspective. +""" + +import sys +from pathlib import Path + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent.parent / "backend")) + +from typing import List, Dict, Any +from app.services.llm_service import ollama_provider, extract_json_from_response +from app.services.expert_source_service import expert_source_service +from experiments.config import ( + MODEL, TEMPERATURE, EXPERT_COUNT, EXPERT_SOURCE, + IDEAS_PER_EXPERT, PROMPT_LANGUAGE +) + + +def get_expert_idea_generation_prompt( + query: str, + expert_name: str, + expert_domain: str, + idea_count: int, + lang: str = "en" +) -> str: + """Generate prompt for expert-based idea generation.""" + if lang == "en": + domain_text = f" ({expert_domain} field)" if expert_domain else "" + return f"""/no_think +You are a {expert_name}{domain_text}. + +Task: Generate {idea_count} creative and innovative ideas for "{query}" from your professional perspective. + +Requirements: +1. Each idea should reflect your professional expertise and unique viewpoint +2. Think about how concepts from your field could improve or reimagine "{query}" +3. Ideas should be specific and actionable (15-30 words each) +4. Combine your professional knowledge with creative thinking + +Return JSON only: +{{"ideas": ["idea 1", "idea 2", "idea 3", ...]}} + +Generate exactly {idea_count} ideas from your perspective as a {expert_name}.""" + else: + domain_text = f"({expert_domain}領域)" if expert_domain else "" + return f"""/no_think +你是一位{expert_name}{domain_text}。 + +任務:從你的專業角度,為「{query}」生成 {idea_count} 個創意點子。 + +要求: +1. 每個點子要反映你的專業知識和獨特觀點 +2. 思考你領域的概念如何改進或重新想像「{query}」 +3. 點子要具體可行(每個 15-30 字) +4. 結合專業知識和創意思維 + +只回傳 JSON: +{{"ideas": ["點子1", "點子2", "點子3", ...]}} + +從你作為{expert_name}的角度生成正好 {idea_count} 個點子。""" + + +async def generate_ideas( + query: str, + model: str = None, + temperature: float = None, + expert_count: int = None, + expert_source: str = None, + ideas_per_expert: int = None, + lang: str = None +) -> Dict[str, Any]: + """ + Generate ideas using expert perspectives only (C2). + + Args: + query: The object/concept to generate ideas for + model: LLM model to use + temperature: Generation temperature + expert_count: Number of experts to use + expert_source: Source of experts (curated, dbpedia, etc.) + ideas_per_expert: Ideas each expert generates + lang: Language for prompts + + Returns: + Dict with ideas and metadata + """ + model = model or MODEL + temperature = temperature or TEMPERATURE + expert_count = expert_count or EXPERT_COUNT + expert_source = expert_source or EXPERT_SOURCE + ideas_per_expert = ideas_per_expert or IDEAS_PER_EXPERT + lang = lang or PROMPT_LANGUAGE + + # Get experts from curated source + experts, actual_source = expert_source_service.get_experts( + source=expert_source, + count=expert_count, + language=lang + ) + + all_ideas = [] + expert_details = [] + + for expert in experts: + expert_name = expert.get("name", "Expert") + expert_domain = expert.get("domain", "") + + prompt = get_expert_idea_generation_prompt( + query=query, + expert_name=expert_name, + expert_domain=expert_domain, + idea_count=ideas_per_expert, + lang=lang + ) + + response = await ollama_provider.generate( + prompt=prompt, + model=model, + temperature=temperature + ) + + result = extract_json_from_response(response) + ideas = result.get("ideas", []) + + # Tag ideas with expert source + for idea in ideas: + all_ideas.append({ + "idea": idea, + "expert_name": expert_name, + "expert_domain": expert_domain + }) + + expert_details.append({ + "name": expert_name, + "domain": expert_domain, + "ideas_generated": len(ideas) + }) + + return { + "condition": "c2_expert_only", + "query": query, + "ideas": [item["idea"] for item in all_ideas], + "ideas_with_source": all_ideas, + "idea_count": len(all_ideas), + "metadata": { + "model": model, + "temperature": temperature, + "prompt_language": lang, + "expert_count": expert_count, + "expert_source": actual_source, + "ideas_per_expert": ideas_per_expert, + "experts": expert_details, + "mechanism": "expert_perspectives_only" + } + } + + +# For testing +if __name__ == "__main__": + import asyncio + + async def test(): + result = await generate_ideas("Chair") + print(f"Generated {result['idea_count']} ideas from {len(result['metadata']['experts'])} experts:") + for exp in result['metadata']['experts']: + print(f" - {exp['name']}: {exp['ideas_generated']} ideas") + print("\nSample ideas:") + for i, item in enumerate(result['ideas_with_source'][:5], 1): + print(f" {i}. [{item['expert_name']}] {item['idea']}") + + asyncio.run(test()) diff --git a/experiments/conditions/c3_attribute_only.py b/experiments/conditions/c3_attribute_only.py new file mode 100644 index 0000000..cc64e3c --- /dev/null +++ b/experiments/conditions/c3_attribute_only.py @@ -0,0 +1,181 @@ +""" +Condition 3: Attribute-Only (No Experts) + +Uses attribute decomposition to break down the query into +structured categories, then generates ideas from each attribute. +No expert perspectives involved. +""" + +import sys +from pathlib import Path + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent.parent / "backend")) + +from typing import List, Dict, Any +from app.services.llm_service import ollama_provider, extract_json_from_response +from app.prompts.attribute_prompt import get_step1_dynamic_attributes_prompt +from experiments.config import ( + MODEL, TEMPERATURE, FIXED_CATEGORIES, PROMPT_LANGUAGE +) + + +def get_attribute_idea_generation_prompt( + query: str, + category: str, + attribute: str, + idea_count: int, + lang: str = "en" +) -> str: + """Generate prompt for attribute-based idea generation.""" + if lang == "en": + return f"""/no_think +Generate {idea_count} creative ideas for "{query}" focusing on the attribute "{attribute}" (Category: {category}). + +Requirements: +1. Each idea should be directly inspired by the attribute "{attribute}" +2. Think about how this attribute could be improved, reimagined, or applied in new ways +3. Ideas should be specific and actionable (15-30 words each) +4. Be creative while maintaining relevance to the attribute + +Return JSON only: +{{"ideas": ["idea 1", "idea 2", ...]}} + +Generate exactly {idea_count} ideas based on the attribute "{attribute}".""" + else: + return f"""/no_think +為「{query}」生成 {idea_count} 個創意點子,聚焦於屬性「{attribute}」(類別:{category})。 + +要求: +1. 每個點子要直接受屬性「{attribute}」啟發 +2. 思考如何改進、重新想像或以新方式應用這個屬性 +3. 點子要具體可行(每個 15-30 字) +4. 保持創意同時與屬性相關 + +只回傳 JSON: +{{"ideas": ["點子1", "點子2", ...]}} + +基於屬性「{attribute}」生成正好 {idea_count} 個點子。""" + + +async def generate_ideas( + query: str, + model: str = None, + temperature: float = None, + categories: List[str] = None, + ideas_per_attribute: int = 1, + lang: str = None +) -> Dict[str, Any]: + """ + Generate ideas using attribute decomposition only (C3). + + Args: + query: The object/concept to generate ideas for + model: LLM model to use + temperature: Generation temperature + categories: Categories to use for decomposition + ideas_per_attribute: Ideas to generate per attribute + lang: Language for prompts + + Returns: + Dict with ideas and metadata + """ + model = model or MODEL + temperature = temperature or TEMPERATURE + categories = categories or FIXED_CATEGORIES + lang = lang or PROMPT_LANGUAGE + + # Step 1: Generate attributes using existing prompt + # Build category definitions for the prompt + category_defs = [ + {"name": cat, "description": f"Related {cat.lower()} of the object", "order": i} + for i, cat in enumerate(categories) + ] + + attr_prompt = get_step1_dynamic_attributes_prompt( + query=query, + categories=category_defs, + lang=lang + ) + + attr_response = await ollama_provider.generate( + prompt=attr_prompt, + model=model, + temperature=temperature + ) + + attributes_by_category = extract_json_from_response(attr_response) + + # Step 2: Generate ideas for each attribute + all_ideas = [] + attribute_details = [] + + for category in categories: + attrs = attributes_by_category.get(category, []) + + for attr in attrs: + prompt = get_attribute_idea_generation_prompt( + query=query, + category=category, + attribute=attr, + idea_count=ideas_per_attribute, + lang=lang + ) + + response = await ollama_provider.generate( + prompt=prompt, + model=model, + temperature=temperature + ) + + result = extract_json_from_response(response) + ideas = result.get("ideas", []) + + # Tag ideas with attribute source + for idea in ideas: + all_ideas.append({ + "idea": idea, + "category": category, + "attribute": attr + }) + + attribute_details.append({ + "category": category, + "attribute": attr, + "ideas_generated": len(ideas) + }) + + return { + "condition": "c3_attribute_only", + "query": query, + "ideas": [item["idea"] for item in all_ideas], + "ideas_with_source": all_ideas, + "idea_count": len(all_ideas), + "metadata": { + "model": model, + "temperature": temperature, + "prompt_language": lang, + "categories": categories, + "attributes_by_category": attributes_by_category, + "attribute_count": sum(len(v) for v in attributes_by_category.values()), + "ideas_per_attribute": ideas_per_attribute, + "attributes": attribute_details, + "mechanism": "attribute_decomposition_only" + } + } + + +# For testing +if __name__ == "__main__": + import asyncio + + async def test(): + result = await generate_ideas("Chair") + print(f"Generated {result['idea_count']} ideas from {result['metadata']['attribute_count']} attributes:") + for cat, attrs in result['metadata']['attributes_by_category'].items(): + print(f" {cat}: {', '.join(attrs)}") + print("\nSample ideas:") + for i, item in enumerate(result['ideas_with_source'][:5], 1): + print(f" {i}. [{item['category']}/{item['attribute']}] {item['idea']}") + + asyncio.run(test()) diff --git a/experiments/conditions/c4_full_pipeline.py b/experiments/conditions/c4_full_pipeline.py new file mode 100644 index 0000000..c59709e --- /dev/null +++ b/experiments/conditions/c4_full_pipeline.py @@ -0,0 +1,214 @@ +""" +Condition 4: Full Pipeline (Attributes + Experts) + +The complete novelty-seeking system: +1. Attribute decomposition into categories +2. Expert team generation +3. Expert keyword generation for each attribute +4. Description generation for each keyword +""" + +import sys +from pathlib import Path + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent.parent / "backend")) + +from typing import List, Dict, Any +from app.services.llm_service import ollama_provider, extract_json_from_response +from app.services.expert_source_service import expert_source_service +from app.prompts.attribute_prompt import get_step1_dynamic_attributes_prompt +from app.prompts.expert_transformation_prompt import ( + get_expert_keyword_generation_prompt, + get_single_description_prompt +) +from experiments.config import ( + MODEL, TEMPERATURE, FIXED_CATEGORIES, EXPERT_COUNT, + EXPERT_SOURCE, KEYWORDS_PER_EXPERT, PROMPT_LANGUAGE +) + + +async def generate_ideas( + query: str, + model: str = None, + temperature: float = None, + categories: List[str] = None, + expert_count: int = None, + expert_source: str = None, + keywords_per_expert: int = None, + lang: str = None +) -> Dict[str, Any]: + """ + Generate ideas using the full pipeline (C4). + + Args: + query: The object/concept to generate ideas for + model: LLM model to use + temperature: Generation temperature + categories: Categories for attribute decomposition + expert_count: Number of experts + expert_source: Source of experts + keywords_per_expert: Keywords each expert generates per attribute + lang: Language for prompts + + Returns: + Dict with ideas and metadata + """ + model = model or MODEL + temperature = temperature or TEMPERATURE + categories = categories or FIXED_CATEGORIES + expert_count = expert_count or EXPERT_COUNT + expert_source = expert_source or EXPERT_SOURCE + keywords_per_expert = keywords_per_expert or KEYWORDS_PER_EXPERT + lang = lang or PROMPT_LANGUAGE + + # Step 0: Get experts from curated source + experts_data, actual_source = expert_source_service.get_experts( + source=expert_source, + count=expert_count, + language=lang + ) + + # Convert to expected format + experts = [ + { + "id": f"expert-{i}", + "name": exp.get("name", "Expert"), + "domain": exp.get("domain", ""), + "perspective": exp.get("perspective", "") + } + for i, exp in enumerate(experts_data) + ] + + # Step 1: Generate attributes + category_defs = [ + {"name": cat, "description": f"Related {cat.lower()} of the object", "order": i} + for i, cat in enumerate(categories) + ] + + attr_prompt = get_step1_dynamic_attributes_prompt( + query=query, + categories=category_defs, + lang=lang + ) + + attr_response = await ollama_provider.generate( + prompt=attr_prompt, + model=model, + temperature=temperature + ) + + attributes_by_category = extract_json_from_response(attr_response) + + # Step 2: Expert keyword generation for each category/attribute + all_keywords = [] + + for category in categories: + attrs = attributes_by_category.get(category, []) + + for attr in attrs: + # Generate keywords from all experts for this attribute + keyword_prompt = get_expert_keyword_generation_prompt( + category=category, + attribute=attr, + experts=experts, + keywords_per_expert=keywords_per_expert, + lang=lang + ) + + keyword_response = await ollama_provider.generate( + prompt=keyword_prompt, + model=model, + temperature=temperature + ) + + keyword_result = extract_json_from_response(keyword_response) + keywords = keyword_result.get("keywords", []) + + for kw in keywords: + all_keywords.append({ + "category": category, + "attribute": attr, + "keyword": kw.get("keyword", ""), + "expert_id": kw.get("expert_id", ""), + "expert_name": kw.get("expert_name", "") + }) + + # Step 3: Generate descriptions for each keyword + all_ideas = [] + + for kw_info in all_keywords: + # Find expert details + expert = next( + (e for e in experts if e["id"] == kw_info["expert_id"]), + {"name": kw_info["expert_name"], "domain": "", "id": kw_info["expert_id"]} + ) + + desc_prompt = get_single_description_prompt( + query=query, + keyword=kw_info["keyword"], + expert_id=expert["id"], + expert_name=expert["name"], + expert_domain=expert.get("domain", ""), + lang=lang + ) + + desc_response = await ollama_provider.generate( + prompt=desc_prompt, + model=model, + temperature=temperature + ) + + desc_result = extract_json_from_response(desc_response) + description = desc_result.get("description", "") + + all_ideas.append({ + "idea": description, + "keyword": kw_info["keyword"], + "category": kw_info["category"], + "attribute": kw_info["attribute"], + "expert_name": expert["name"], + "expert_domain": expert.get("domain", "") + }) + + return { + "condition": "c4_full_pipeline", + "query": query, + "ideas": [item["idea"] for item in all_ideas], + "ideas_with_source": all_ideas, + "idea_count": len(all_ideas), + "metadata": { + "model": model, + "temperature": temperature, + "prompt_language": lang, + "categories": categories, + "attributes_by_category": attributes_by_category, + "attribute_count": sum(len(v) for v in attributes_by_category.values()), + "expert_count": expert_count, + "expert_source": actual_source, + "keywords_per_expert": keywords_per_expert, + "total_keywords": len(all_keywords), + "experts": [{"name": e["name"], "domain": e["domain"]} for e in experts], + "mechanism": "full_pipeline_attributes_plus_experts" + } + } + + +# For testing +if __name__ == "__main__": + import asyncio + + async def test(): + result = await generate_ideas("Chair") + print(f"Generated {result['idea_count']} ideas using full pipeline:") + print(f" Attributes: {result['metadata']['attribute_count']}") + print(f" Experts: {result['metadata']['expert_count']}") + print(f" Keywords: {result['metadata']['total_keywords']}") + print("\nExperts used:") + for exp in result['metadata']['experts']: + print(f" - {exp['name']} ({exp['domain']})") + print("\nSample ideas:") + for i, item in enumerate(result['ideas_with_source'][:5], 1): + print(f" {i}. [{item['expert_name']}] {item['keyword']}: {item['idea']}") + + asyncio.run(test()) diff --git a/experiments/conditions/c5_random_perspective.py b/experiments/conditions/c5_random_perspective.py new file mode 100644 index 0000000..3337cc7 --- /dev/null +++ b/experiments/conditions/c5_random_perspective.py @@ -0,0 +1,178 @@ +""" +Condition 5: Random-Perspective Control + +Uses random words as "perspectives" instead of domain experts. +Tests whether the benefit from expert perspectives comes from +domain knowledge or simply from any perspective shift. +""" + +import sys +import json +import random +from pathlib import Path + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent.parent / "backend")) + +from typing import List, Dict, Any +from app.services.llm_service import ollama_provider, extract_json_from_response +from experiments.config import ( + MODEL, TEMPERATURE, EXPERT_COUNT, IDEAS_PER_EXPERT, + PROMPT_LANGUAGE, RANDOM_SEED, DATA_DIR +) + + +def load_random_words() -> List[str]: + """Load the random word pool from data file.""" + words_file = DATA_DIR / "random_words.json" + with open(words_file, "r", encoding="utf-8") as f: + data = json.load(f) + return data.get("words", []) + + +def get_random_perspective_prompt( + query: str, + perspective_word: str, + idea_count: int, + lang: str = "en" +) -> str: + """Generate prompt for random-perspective idea generation.""" + if lang == "en": + return f"""/no_think +Generate {idea_count} creative and innovative ideas for "{query}" inspired by the concept of "{perspective_word}". + +Requirements: +1. Each idea should draw inspiration from "{perspective_word}" - its qualities, characteristics, or associations +2. Think about how concepts related to "{perspective_word}" could improve or reimagine "{query}" +3. Ideas should be specific and actionable (15-30 words each) +4. Be creative in connecting "{perspective_word}" to "{query}" + +Return JSON only: +{{"ideas": ["idea 1", "idea 2", "idea 3", ...]}} + +Generate exactly {idea_count} ideas inspired by "{perspective_word}".""" + else: + return f"""/no_think +為「{query}」生成 {idea_count} 個創意點子,靈感來自「{perspective_word}」這個概念。 + +要求: +1. 每個點子要從「{perspective_word}」獲得靈感——它的特質、特徵或聯想 +2. 思考與「{perspective_word}」相關的概念如何改進或重新想像「{query}」 +3. 點子要具體可行(每個 15-30 字) +4. 創意地連接「{perspective_word}」和「{query}」 + +只回傳 JSON: +{{"ideas": ["點子1", "點子2", "點子3", ...]}} + +生成正好 {idea_count} 個受「{perspective_word}」啟發的點子。""" + + +async def generate_ideas( + query: str, + model: str = None, + temperature: float = None, + word_count: int = None, + ideas_per_word: int = None, + lang: str = None, + seed: int = None +) -> Dict[str, Any]: + """ + Generate ideas using random word perspectives (C5 control). + + Args: + query: The object/concept to generate ideas for + model: LLM model to use + temperature: Generation temperature + word_count: Number of random words to use (matches expert count) + ideas_per_word: Ideas to generate per word + lang: Language for prompts + seed: Random seed for reproducibility + + Returns: + Dict with ideas and metadata + """ + model = model or MODEL + temperature = temperature or TEMPERATURE + word_count = word_count or EXPERT_COUNT + ideas_per_word = ideas_per_word or IDEAS_PER_EXPERT + lang = lang or PROMPT_LANGUAGE + seed = seed or RANDOM_SEED + + # Load word pool and sample random words + word_pool = load_random_words() + + # Use seeded random for reproducibility + # Create a unique seed per query to get different words for different queries + # but same words for same query across runs + query_seed = seed + hash(query) % 10000 + rng = random.Random(query_seed) + selected_words = rng.sample(word_pool, min(word_count, len(word_pool))) + + all_ideas = [] + word_details = [] + + for word in selected_words: + prompt = get_random_perspective_prompt( + query=query, + perspective_word=word, + idea_count=ideas_per_word, + lang=lang + ) + + response = await ollama_provider.generate( + prompt=prompt, + model=model, + temperature=temperature + ) + + result = extract_json_from_response(response) + ideas = result.get("ideas", []) + + # Tag ideas with perspective word source + for idea in ideas: + all_ideas.append({ + "idea": idea, + "perspective_word": word + }) + + word_details.append({ + "word": word, + "ideas_generated": len(ideas) + }) + + return { + "condition": "c5_random_perspective", + "query": query, + "ideas": [item["idea"] for item in all_ideas], + "ideas_with_source": all_ideas, + "idea_count": len(all_ideas), + "metadata": { + "model": model, + "temperature": temperature, + "prompt_language": lang, + "word_count": word_count, + "ideas_per_word": ideas_per_word, + "random_seed": seed, + "query_seed": query_seed, + "selected_words": selected_words, + "word_details": word_details, + "word_pool_size": len(word_pool), + "mechanism": "random_perspective_control" + } + } + + +# For testing +if __name__ == "__main__": + import asyncio + + async def test(): + result = await generate_ideas("Chair") + print(f"Generated {result['idea_count']} ideas from {len(result['metadata']['selected_words'])} random words:") + print(f" Words used: {', '.join(result['metadata']['selected_words'])}") + print(f" Seed: {result['metadata']['random_seed']}, Query seed: {result['metadata']['query_seed']}") + print("\nSample ideas:") + for i, item in enumerate(result['ideas_with_source'][:5], 1): + print(f" {i}. [{item['perspective_word']}] {item['idea']}") + + asyncio.run(test()) diff --git a/experiments/config.py b/experiments/config.py new file mode 100644 index 0000000..7586feb --- /dev/null +++ b/experiments/config.py @@ -0,0 +1,72 @@ +""" +Experiment configuration for 5-condition idea generation study. +""" + +from typing import Literal +from pathlib import Path + +# Paths +EXPERIMENTS_DIR = Path(__file__).parent +DATA_DIR = EXPERIMENTS_DIR / "data" +RESULTS_DIR = EXPERIMENTS_DIR / "results" +DOCS_DIR = EXPERIMENTS_DIR / "docs" + +# LLM Settings +MODEL = "qwen3:8b" +TEMPERATURE = 0.9 + +# Expert Settings +EXPERT_COUNT = 4 +EXPERT_SOURCE: Literal["curated", "llm", "dbpedia", "wikidata"] = "curated" +KEYWORDS_PER_EXPERT = 1 + +# Language Settings +PROMPT_LANGUAGE: Literal["en", "zh"] = "en" + +# Attribute Settings +FIXED_CATEGORIES = ["Functions", "Usages", "User Groups", "Characteristics"] + +# Deduplication Settings +DEDUP_THRESHOLD = 0.85 +DEDUP_METHOD: Literal["embedding", "llm"] = "embedding" + +# Reproducibility +RANDOM_SEED = 42 + +# Idea Generation Settings +IDEAS_PER_EXPERT = 5 # For C2 and C5 +IDEAS_DIRECT = 20 # For C1 + +# Condition Names +CONDITIONS = [ + "c1_direct", + "c2_expert_only", + "c3_attribute_only", + "c4_full_pipeline", + "c5_random_perspective", +] + +# Condition Display Names +CONDITION_NAMES = { + "c1_direct": "C1: Direct Generation", + "c2_expert_only": "C2: Expert-Only", + "c3_attribute_only": "C3: Attribute-Only", + "c4_full_pipeline": "C4: Full Pipeline", + "c5_random_perspective": "C5: Random-Perspective", +} + +# Summary Config Dict (for logging/reporting) +EXPERIMENT_CONFIG = { + "model": MODEL, + "temperature": TEMPERATURE, + "expert_count": EXPERT_COUNT, + "expert_source": EXPERT_SOURCE, + "keywords_per_expert": KEYWORDS_PER_EXPERT, + "prompt_language": PROMPT_LANGUAGE, + "random_seed": RANDOM_SEED, + "categories": FIXED_CATEGORIES, + "dedup_threshold": DEDUP_THRESHOLD, + "dedup_method": DEDUP_METHOD, + "ideas_per_expert": IDEAS_PER_EXPERT, + "ideas_direct": IDEAS_DIRECT, +} diff --git a/experiments/data/queries.json b/experiments/data/queries.json new file mode 100644 index 0000000..1c3d22f --- /dev/null +++ b/experiments/data/queries.json @@ -0,0 +1,66 @@ +{ + "description": "10 pilot queries for the 5-condition experiment, balanced across categories", + "version": "1.0", + "queries": [ + { + "id": "A1", + "query": "Chair", + "category": "everyday", + "description": "Common household furniture" + }, + { + "id": "A5", + "query": "Bicycle", + "category": "everyday", + "description": "Personal transportation device" + }, + { + "id": "A7", + "query": "Smartphone", + "category": "everyday", + "description": "Mobile communication device" + }, + { + "id": "B1", + "query": "Solar panel", + "category": "technology", + "description": "Renewable energy technology" + }, + { + "id": "B3", + "query": "3D printer", + "category": "technology", + "description": "Additive manufacturing device" + }, + { + "id": "B4", + "query": "Drone", + "category": "technology", + "description": "Unmanned aerial vehicle" + }, + { + "id": "C1", + "query": "Food delivery service", + "category": "services", + "description": "Restaurant meal delivery platform" + }, + { + "id": "C2", + "query": "Online education platform", + "category": "services", + "description": "Digital learning service" + }, + { + "id": "C4", + "query": "Public transportation", + "category": "services", + "description": "Mass transit system" + }, + { + "id": "C9", + "query": "Elderly care service", + "category": "services", + "description": "Senior citizen support service" + } + ] +} diff --git a/experiments/data/random_words.json b/experiments/data/random_words.json new file mode 100644 index 0000000..3dfd2a6 --- /dev/null +++ b/experiments/data/random_words.json @@ -0,0 +1,28 @@ +{ + "description": "Word pool for C5 random-perspective condition", + "version": "1.0", + "selection_criteria": [ + "Concrete and evocative (easy to generate associations)", + "Diverse domains (no overlap with typical expert knowledge)", + "No obvious connection to test queries", + "Equal representation across conceptual categories" + ], + "categories": { + "nature": ["ocean", "mountain", "forest", "desert", "cave"], + "optics": ["microscope", "telescope", "kaleidoscope", "prism", "lens"], + "animals": ["butterfly", "elephant", "octopus", "eagle", "ant"], + "weather": ["sunrise", "thunderstorm", "rainbow", "fog", "aurora"], + "art": ["clockwork", "origami", "mosaic", "symphony", "ballet"], + "temporal": ["ancient", "futuristic", "organic", "crystalline", "liquid"], + "sensory": ["whisper", "explosion", "rhythm", "silence", "echo"] + }, + "words": [ + "ocean", "mountain", "forest", "desert", "cave", + "microscope", "telescope", "kaleidoscope", "prism", "lens", + "butterfly", "elephant", "octopus", "eagle", "ant", + "sunrise", "thunderstorm", "rainbow", "fog", "aurora", + "clockwork", "origami", "mosaic", "symphony", "ballet", + "ancient", "futuristic", "organic", "crystalline", "liquid", + "whisper", "explosion", "rhythm", "silence", "echo" + ] +} diff --git a/experiments/deduplication.py b/experiments/deduplication.py new file mode 100644 index 0000000..5d9fee6 --- /dev/null +++ b/experiments/deduplication.py @@ -0,0 +1,328 @@ +""" +Post-generation deduplication for experiment results. + +Applies embedding-based deduplication uniformly to all conditions +to normalize idea counts and measure "dedup survival rate". + +Usage: + python -m experiments.deduplication --input results/experiment_xxx.json +""" + +import sys +import json +import argparse +import asyncio +import logging +from pathlib import Path +from typing import List, Dict, Any, Optional +from dataclasses import dataclass + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent / "backend")) + +from app.services.embedding_service import embedding_service +from app.models.schemas import ExpertTransformationDescription +from experiments.config import DEDUP_THRESHOLD, RESULTS_DIR + +# Configure logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s' +) +logger = logging.getLogger(__name__) + + +@dataclass +class DedupStats: + """Deduplication statistics for a single condition.""" + condition: str + pre_dedup_count: int + post_dedup_count: int + duplicates_removed: int + survival_rate: float + groups: List[Dict[str, Any]] + + +def ideas_to_descriptions( + ideas: List[str], + ideas_with_source: Optional[List[Dict[str, Any]]] = None +) -> List[ExpertTransformationDescription]: + """ + Convert experiment ideas to ExpertTransformationDescription format + for compatibility with the embedding service. + """ + descriptions = [] + + if ideas_with_source: + # Use source information if available + for i, item in enumerate(ideas_with_source): + desc = ExpertTransformationDescription( + keyword=item.get("keyword", item.get("attribute", item.get("perspective_word", ""))), + expert_id=f"source-{i}", + expert_name=item.get("expert_name", item.get("perspective_word", "direct")), + description=item.get("idea", "") + ) + descriptions.append(desc) + else: + # Simple conversion for ideas without source + for i, idea in enumerate(ideas): + desc = ExpertTransformationDescription( + keyword="", + expert_id=f"idea-{i}", + expert_name="direct", + description=idea + ) + descriptions.append(desc) + + return descriptions + + +async def deduplicate_condition( + ideas: List[str], + ideas_with_source: Optional[List[Dict[str, Any]]] = None, + threshold: float = DEDUP_THRESHOLD +) -> Dict[str, Any]: + """ + Apply deduplication to ideas from a single condition. + + Returns: + Dict with deduplicated ideas and statistics + """ + if not ideas: + return { + "unique_ideas": [], + "unique_ideas_with_source": [], + "groups": [], + "stats": { + "pre_dedup_count": 0, + "post_dedup_count": 0, + "duplicates_removed": 0, + "survival_rate": 1.0 + } + } + + # Convert to description format + descriptions = ideas_to_descriptions(ideas, ideas_with_source) + + # Run deduplication + result = await embedding_service.deduplicate( + descriptions=descriptions, + threshold=threshold + ) + + # Extract unique ideas (representatives from each group) + unique_ideas = [] + unique_ideas_with_source = [] + groups_info = [] + + for group in result.groups: + rep = group.representative + unique_ideas.append(rep.description) + + # Reconstruct source info + source_info = { + "idea": rep.description, + "keyword": rep.keyword, + "expert_name": rep.expert_name + } + unique_ideas_with_source.append(source_info) + + # Group info for analysis + group_info = { + "representative": rep.description, + "duplicates": [d.description for d in group.duplicates], + "duplicate_count": len(group.duplicates), + "similarity_scores": group.similarity_scores + } + groups_info.append(group_info) + + pre_count = len(ideas) + post_count = len(unique_ideas) + survival_rate = post_count / pre_count if pre_count > 0 else 1.0 + + return { + "unique_ideas": unique_ideas, + "unique_ideas_with_source": unique_ideas_with_source, + "groups": groups_info, + "stats": { + "pre_dedup_count": pre_count, + "post_dedup_count": post_count, + "duplicates_removed": pre_count - post_count, + "survival_rate": survival_rate + } + } + + +async def process_experiment_results( + input_file: Path, + output_file: Optional[Path] = None, + threshold: float = DEDUP_THRESHOLD +) -> Dict[str, Any]: + """ + Process an experiment results file and apply deduplication. + + Args: + input_file: Path to experiment results JSON + output_file: Path for output (default: input_file with _deduped suffix) + threshold: Similarity threshold for deduplication + + Returns: + Processed results with deduplication applied + """ + # Load experiment results + with open(input_file, "r", encoding="utf-8") as f: + experiment = json.load(f) + + logger.info(f"Processing experiment: {experiment.get('experiment_id', 'unknown')}") + logger.info(f"Deduplication threshold: {threshold}") + + # Process each query's conditions + dedup_summary = { + "threshold": threshold, + "conditions": {} + } + + for query_result in experiment["results"]: + query = query_result["query"] + query_id = query_result["query_id"] + logger.info(f"\nProcessing query: {query} ({query_id})") + + for condition, cond_result in query_result["conditions"].items(): + if not cond_result.get("success", False): + logger.warning(f" Skipping failed condition: {condition}") + continue + + logger.info(f" Deduplicating {condition}...") + + ideas = cond_result.get("ideas", []) + ideas_with_source = cond_result.get("ideas_with_source", []) + + dedup_result = await deduplicate_condition( + ideas=ideas, + ideas_with_source=ideas_with_source, + threshold=threshold + ) + + # Add dedup results to condition + cond_result["dedup"] = dedup_result + + # Update summary stats + if condition not in dedup_summary["conditions"]: + dedup_summary["conditions"][condition] = { + "total_pre_dedup": 0, + "total_post_dedup": 0, + "total_removed": 0, + "query_stats": [] + } + + stats = dedup_result["stats"] + cond_summary = dedup_summary["conditions"][condition] + cond_summary["total_pre_dedup"] += stats["pre_dedup_count"] + cond_summary["total_post_dedup"] += stats["post_dedup_count"] + cond_summary["total_removed"] += stats["duplicates_removed"] + cond_summary["query_stats"].append({ + "query_id": query_id, + "query": query, + **stats + }) + + logger.info(f" {stats['pre_dedup_count']} -> {stats['post_dedup_count']} " + f"(survival: {stats['survival_rate']:.1%})") + + # Calculate overall survival rates + for condition, cond_stats in dedup_summary["conditions"].items(): + if cond_stats["total_pre_dedup"] > 0: + cond_stats["overall_survival_rate"] = ( + cond_stats["total_post_dedup"] / cond_stats["total_pre_dedup"] + ) + else: + cond_stats["overall_survival_rate"] = 1.0 + + # Add dedup summary to experiment + experiment["dedup_summary"] = dedup_summary + + # Save results + if output_file is None: + stem = input_file.stem.replace("_complete", "").replace("_intermediate", "") + output_file = input_file.parent / f"{stem}_deduped.json" + + with open(output_file, "w", encoding="utf-8") as f: + json.dump(experiment, f, indent=2, ensure_ascii=False) + + logger.info(f"\nResults saved to: {output_file}") + + return experiment + + +def print_dedup_summary(experiment: Dict[str, Any]): + """Print formatted deduplication summary.""" + dedup = experiment.get("dedup_summary", {}) + + print("\n" + "=" * 70) + print("DEDUPLICATION SUMMARY") + print("=" * 70) + print(f"Threshold: {dedup.get('threshold', 'N/A')}") + + print("\nResults by condition:") + print("-" * 70) + print(f"{'Condition':<30} {'Pre-Dedup':<12} {'Post-Dedup':<12} {'Survival':<10}") + print("-" * 70) + + for condition, stats in dedup.get("conditions", {}).items(): + pre = stats.get("total_pre_dedup", 0) + post = stats.get("total_post_dedup", 0) + survival = stats.get("overall_survival_rate", 1.0) + print(f"{condition:<30} {pre:<12} {post:<12} {survival:<10.1%}") + + print("-" * 70) + + print("\nInterpretation:") + print("- Higher survival rate = more diverse/unique ideas") + print("- Lower survival rate = more redundant ideas removed") + + +async def main(): + parser = argparse.ArgumentParser( + description="Apply deduplication to experiment results" + ) + parser.add_argument( + "--input", + type=str, + required=True, + help="Input experiment results JSON file" + ) + parser.add_argument( + "--output", + type=str, + help="Output file path (default: input_deduped.json)" + ) + parser.add_argument( + "--threshold", + type=float, + default=DEDUP_THRESHOLD, + help=f"Similarity threshold (default: {DEDUP_THRESHOLD})" + ) + + args = parser.parse_args() + + input_path = Path(args.input) + if not input_path.exists(): + # Try relative to results dir + input_path = RESULTS_DIR / args.input + if not input_path.exists(): + print(f"Error: Input file not found: {args.input}") + sys.exit(1) + + output_path = Path(args.output) if args.output else None + + experiment = await process_experiment_results( + input_file=input_path, + output_file=output_path, + threshold=args.threshold + ) + + print_dedup_summary(experiment) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/experiments/docs/aut_flexibility_explanation_zh.md b/experiments/docs/aut_flexibility_explanation_zh.md new file mode 100644 index 0000000..bda6115 --- /dev/null +++ b/experiments/docs/aut_flexibility_explanation_zh.md @@ -0,0 +1,301 @@ +# AUT 彈性評估方法說明 + +## 什麼是 AUT(替代用途任務)? + +AUT(Alternative Uses Task,替代用途任務)是一個經典的**發散性思維測試**,由 Guilford 在 1967 年提出。 + +**測試方式:** +``` +問題:「請列出磚塊的所有可能用途」 + +典型回答: +1. 蓋房子 +2. 當門擋 +3. 壓紙張 +4. 當武器 +5. 墊高東西 +... +``` + +--- + +## Torrance 創造力四維度 + +| 維度 | 中文 | 定義 | 測量方式 | +|------|------|------|----------| +| **Fluency** | 流暢性 | 產生多少想法 | 計算數量 | +| **Flexibility** | 彈性/靈活性 | 想法涵蓋多少不同類別 | 計算類別數 | +| **Originality** | 原創性 | 想法的稀有程度 | 統計罕見度 | +| **Elaboration** | 精緻性 | 想法的詳細程度 | 評估細節 | + +--- + +## 我們實作的三種彈性評估方法 + +### 方法一:LLM 雙階段分類法(Hadas & Hershkovitz 2024) + +**原理:** 讓大型語言模型識別想法的語義類別,然後計算類別數量 + +``` +第一階段:讓 LLM 識別所有想法的語義類別 +輸入:「椅子」的 195 個創意想法 +輸出:["交通運輸", "藝術裝飾", "醫療健康", "教育", "儲存", ...] + +第二階段:將每個想法分配到類別 +想法 1:「太陽能充電椅」→ 科技類 +想法 2:「椅子改裝成擔架」→ 醫療類 +想法 3:「椅腳當鼓棒」→ 藝術類 + +彈性分數 = 使用的不同類別數量 +``` + +**優點:** 類別名稱有語義意義,可解釋性強 +**缺點:** 依賴 LLM 的一致性,可能有解析錯誤 + +--- + +### 方法二:嵌入向量階層式聚類法(arXiv:2405.00899) + +**原理:** 將想法轉換成向量,用數學方法自動分群 + +``` +步驟 1:將每個想法轉換成向量(embedding) + 「太陽能充電椅」→ [0.12, -0.34, 0.56, ...](1024 維) + +步驟 2:使用 Ward 連結法進行階層式聚類 + 計算所有想法之間的餘弦距離 + 由下而上合併最相似的群組 + +步驟 3:在相似度 ≥ 0.7 的閾值切割樹狀圖 + 確保同一群內的想法夠相似 + +彈性分數 = 產生的群集數量 +``` + +**優點:** 客觀、可重現、不依賴 LLM 判斷 +**缺點:** 群集沒有語義標籤,需要人工解讀 + +--- + +### 方法三:組合跳躍信號分析(Combined Jump Signal, arXiv:2405.00899) + +**原理:** 使用更嚴格的「真正跳躍」定義,減少假陽性 + +``` +組合跳躍 = 類別跳躍 ∧ 語義跳躍 + +類別跳躍(jumpcat):連續想法屬於不同的 embedding 群集 +語義跳躍(jumpSS):連續想法的語義相似度 < 0.7 + +真正跳躍 = 兩個條件都必須成立 +``` + +**為什麼需要組合跳躍?** +``` +問題:單獨使用類別跳躍可能產生假陽性 +例如:「人體工學椅」和「可調節椅」 + - 可能被分到不同群集(類別跳躍 = True) + - 但語義上很相似(語義跳躍 = False) + - 不應該算作真正的「創意跳躍」 + +解決:組合跳躍要求兩者同時成立,更準確 +``` + +| 跳躍比率 | 探索模式 | 含義 | +|----------|----------|------| +| 高(>45%) | 靈活探索(Flexible) | 廣泛切換類別,思維跳躍 | +| 中(30-45%) | 混合模式(Mixed) | 適度切換 | +| 低(<30%) | 持續探索(Persistent) | 深入單一領域,專注發展 | + +**應用:** 區分 LLM 與人類的創意模式差異 + +--- + +## 研究發現 + +### 發現一:新穎性(Novelty)與彈性(Flexibility)是獨立維度 + +| 條件 | 新穎性分數 | 彈性(群集數) | 平均相似度 | 模式 | +|------|:----------:|:--------------:|:----------:|------| +| C4 完整管線 | **0.395**(最高) | 10 | 0.583 | 高新穎、中等彈性 | +| C5 隨機視角 | 0.365 | **15**(最高) | 0.521 | 高新穎、高彈性 | +| C2 專家視角 | 0.315 | 13 | 0.517 | 中等新穎、高彈性 | +| C3 屬性分解 | 0.337 | 12 | - | 中等新穎、中等彈性 | +| C1 直接生成 | 0.273(最低) | **1**(最低) | 0.647 | 低新穎、低彈性 | + +**視覺化解讀:** + +``` +C1 直接生成的想法: +┌─────────────────────────────────────┐ +│ ○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○ │ ← 所有想法集中在一個「普通領域」 +│ (彼此相似,且都很典型) │ (低新穎性 + 低彈性) +└─────────────────────────────────────┘ + +C5 隨機視角的想法: +┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ +│ ★ │ │ ★ │ │ ★ │ │ ★ │ │ ★ │ ← 分散在多個「新穎領域」 +└───┘ └───┘ └───┘ └───┘ └───┘ (高新穎性 + 高彈性) + ↑ ↑ ↑ ↑ ↑ + 交通 醫療 藝術 教育 科技 + +C4 完整管線的想法: + ┌─────────────────┐ + ┌──┤ ★★★★★★★★★★★★ ├──┐ ← 集中在一個「新穎領域」但有多個子類別 + │ └─────────────────┘ │ (最高新穎性 + 中等彈性) + │ ↓ │ + └── 10 個語義群集 ───────┘ +``` + +### 發現二:組合跳躍信號分析結果 + +| 條件 | 類別跳躍 | 語義跳躍 | **組合跳躍** | 彈性檔案 | +|------|:--------:|:--------:|:------------:|:--------:| +| C2 專家視角 | 54 | 125 | **48** | 持續探索 | +| C3 屬性分解 | 34 | 107 | **33** | 持續探索 | +| C5 隨機視角 | 22 | 116 | **20** | 持續探索 | +| C4 完整管線 | 13 | 348 | **13** | 持續探索 | +| C1 直接生成 | 0 | 104 | **0** | 持續探索 | + +**組合跳躍比率:** + +| 條件 | 組合跳躍比率 | 彈性檔案 | 解讀 | +|------|:------------:|:--------:|------| +| C3 屬性分解 | **26.6%** | Persistent | 適度類別切換 | +| C2 專家視角 | **24.4%** | Persistent | 適度類別切換 | +| C5 隨機視角 | 10.1% | Persistent | 較低類別切換 | +| C4 完整管線 | **3.2%** | Persistent | 非常專注的探索 | +| C1 直接生成 | 0.0% | Persistent | 單一群集(無跳躍) | + +**關鍵洞察:** 組合跳躍 ≤ 類別跳躍(符合預期)。所有條件都呈現「持續探索」模式。 + +--- + +### 發現三:🔑 原創性-彈性相關性(關鍵發現) + +**論文發現(arXiv:2405.00899):** +- **人類:** 原創性與彈性**無相關**(r ≈ 0) +- **典型 LLM:** **正相關** — 靈活的 LLM 原創性更高 + +**我們的結果:** + +| 指標 | 數值 | 解讀 | +|------|:----:|------| +| **Pearson r** | **0.071** | 接近零的相關性 | +| 模式 | **類似人類** | 打破典型 LLM 模式 | + +**各條件數據:** + +| 條件 | 新穎性分數 | 彈性(組合跳躍數) | +|------|:----------:|:------------------:| +| C4 完整管線 | **0.395**(最高) | **13**(最低) | +| C5 隨機視角 | 0.365 | 20 | +| C3 屬性分解 | 0.337 | 33 | +| C2 專家視角 | 0.315 | 48(最高) | +| C1 直接生成 | 0.273(最低) | 0 | + +**重大發現:** 屬性+專家管線(C4)實現**最高新穎性但最低彈性**, +證明結構化的無上下文生成能產生**聚焦的新穎性**而非分散的探索。 + +**這意味著什麼?** +``` +典型 LLM 模式: + 彈性高 → 新穎性高(正相關) + 想法越分散,越可能遇到新穎概念 + +我們的管線(C4): + 彈性低 + 新穎性高(打破模式) + 專注探索一個新穎領域,而非到處跳躍 + +這是「類似人類」的創意模式! + 人類專家通常深入探索一個領域,而非廣泛但淺薄地涉獵 +``` + +--- + +## 這對創意研究的意義 + +1. **創造力是多維度的** + - 新穎性(Novelty)和彈性(Flexibility)是**獨立維度** + - 高新穎不代表高彈性,反之亦然 + - 需要同時考慮流暢性、彈性、原創性、精緻性 + +2. **管線設計的取捨** + | 策略 | 新穎性 | 彈性 | 特點 | + |------|:------:|:----:|------| + | 直接生成(C1) | 低 | 低 | 快速但普通 | + | 專家視角(C2) | 中 | 高 | 多元觀點 | + | 隨機視角(C5) | 高 | **最高** | 強迫跳躍 | + | 完整管線(C4) | **最高** | 中 | 結構化新穎 | + +3. **為什麼專家/隨機視角產生更多類別?** + ``` + C1 直接生成: + LLM 沒有外部刺激 → 停留在「家具改良」單一領域 + 平均相似度 0.647(最高)→ 想法彼此很像 + + C2 專家視角: + 4 個不同領域專家 → 引入不同思維框架 + 平均相似度 0.517(較低)→ 想法更分散 + + C5 隨機視角: + 隨機詞彙強迫跳躍 → 意外的連結 + 平均相似度 0.521 → 最多語義類別(15 個) + ``` + +4. **實務建議** + - 若需要**高新穎性**:使用完整管線(C4) + - 若需要**高彈性/多元性**:使用隨機視角(C5)或專家視角(C2) + - 若需要**兩者兼顧**:可能需要混合策略 + +--- + +## 方法論修正說明 + +### 原始演算法的問題 + +最初的聚類演算法有邏輯錯誤: + +``` +原本的邏輯(錯誤): + 目標:找到群內相似度 >= 0.7 的群集 + + 問題:當想法很分散時(低相似度), + 無法形成符合閾值的緊密群集 + → 演算法放棄,回傳 1 個群集 + + 結果:C2/C5 的分散想法被錯誤標記為「1 個群集」 +``` + +### 修正後的演算法 + +``` +修正後的邏輯(正確): + 方法:使用 average linkage 階層式聚類 + 閾值:在距離 0.5 處切割樹狀圖 + (即相似度 < 0.5 時分開) + + 結果:分散的想法正確地被分成多個群集 +``` + +### 結果對比 + +| 條件 | 修正前群集數 | 修正後群集數 | 平均相似度 | +|------|:------------:|:------------:|:----------:| +| C1 直接生成 | 29 | **1** | 0.647(高) | +| C2 專家視角 | 1 | **13** | 0.517(低) | +| C5 隨機視角 | 1 | **15** | 0.521(低) | + +**關鍵洞察:** 低相似度 = 高多元性 = 高彈性分數 + +--- + +## 參考文獻 + +1. Hadas & Hershkovitz (2024). "Using Large Language Models to Evaluate Alternative Uses Task Flexibility Score." *Thinking Skills and Creativity*, Vol. 52. + +2. arXiv:2405.00899 - "Characterising Creative Process in Humans and LLMs" - Jump signal methodology + +3. Guilford, J.P. (1967). *The Nature of Human Intelligence*. McGraw-Hill. + +4. Torrance, E.P. (1974). *Torrance Tests of Creative Thinking*. Scholastic Testing Service. diff --git a/experiments/docs/creative_process_metrics_zh.md b/experiments/docs/creative_process_metrics_zh.md new file mode 100644 index 0000000..a43b9c9 --- /dev/null +++ b/experiments/docs/creative_process_metrics_zh.md @@ -0,0 +1,477 @@ +# 創意過程特徵化指標詳解 + +## 基於 arXiv:2405.00899 論文的方法論 + +**論文標題:** "Characterising the Creative Process in Humans and Large Language Models" +**來源:** [arXiv:2405.00899](https://arxiv.org/html/2405.00899v2) + +本文檔詳細解釋我們從該論文引入的創意過程評估指標,以及這些指標在我們實驗中揭示的重要發現。 + +--- + +## 一、組合跳躍信號(Combined Jump Signal) + +### 1.1 什麼是「跳躍」? + +在創意發散思維中,「跳躍」指的是連續產生的想法之間的**語義類別切換**。 + +``` +想法序列範例: + 1. 太陽能充電椅 → 科技類 + 2. 智慧溫控座椅 → 科技類(無跳躍) + 3. 椅子改裝成擔架 → 醫療類(跳躍!) + 4. 輪椅輔助站立功能 → 醫療類(無跳躍) + 5. 椅腳當鼓棒 → 藝術類(跳躍!) +``` + +### 1.2 為什麼需要「組合」跳躍? + +**原始方法的問題:** + +單純使用類別跳躍(jumpcat)可能產生**假陽性**: + +``` +問題情境: + 想法 A:「可折疊露營椅」 → 群集 1 + 想法 B:「便攜式野餐椅」 → 群集 2 + + 類別跳躍 = True(不同群集) + 但這兩個想法語義上非常相似! + 這不應該算作真正的「創意跳躍」 +``` + +**論文的解決方案:組合跳躍信號** + +``` +組合跳躍 = 類別跳躍 ∧ 語義跳躍 + +其中: + 類別跳躍(jumpcat):連續想法屬於不同的 embedding 群集 + 語義跳躍(jumpSS):連續想法的餘弦相似度 < 0.7 + +真正跳躍 = 兩個條件都必須成立 +``` + +### 1.3 數學定義 + +對於連續的想法 $i$ 和 $i-1$: + +$$ +\text{jump}_i = \text{jump}_{cat,i} \land \text{jump}_{SS,i} +$$ + +其中: +- $\text{jump}_{cat,i} = \mathbb{1}[c_i \neq c_{i-1}]$(類別是否改變) +- $\text{jump}_{SS,i} = \mathbb{1}[\text{sim}(e_i, e_{i-1}) < 0.7]$(相似度是否低於閾值) + +### 1.4 我們的實驗結果 + +| 條件 | 類別跳躍 | 語義跳躍 | **組合跳躍** | 組合比率 | +|------|:--------:|:--------:|:------------:|:--------:| +| C2 專家視角 | 54 | 125 | **48** | 24.4% | +| C3 屬性分解 | 34 | 107 | **33** | 26.6% | +| C5 隨機視角 | 22 | 116 | **20** | 10.1% | +| C4 完整管線 | 13 | 348 | **13** | 3.2% | +| C1 直接生成 | 0 | 104 | **0** | 0.0% | + +**關鍵觀察:** +- 組合跳躍 ≤ 類別跳躍(驗證方法有效性) +- C4 的語義跳躍很高(348)但類別跳躍很低(13)→ 想法在語義上分散但停留在相似類別 +- C1 沒有類別跳躍 → 所有想法在單一語義群集內 + +--- + +## 二、彈性檔案分類(Flexibility Profile Classification) + +### 2.1 三種創意探索模式 + +根據論文研究,創意探索可分為三種模式: + +| 檔案 | 英文 | 跳躍比率 | 特徵 | +|------|------|:--------:|------| +| **持續探索** | Persistent | < 30% | 深入單一領域,專注發展想法 | +| **混合模式** | Mixed | 30-45% | 適度切換,平衡深度與廣度 | +| **靈活探索** | Flexible | > 45% | 頻繁跳躍,廣泛涉獵不同領域 | + +### 2.2 視覺化理解 + +``` +持續探索(Persistent): +┌─────────────────────────────────────┐ +│ ●→●→●→●→●→●→●→●→●→● │ 深入探索一個領域 +│ 科技類 │ 偶爾切換(<30%) +│ ↓ │ +│ ●→●→●→● │ +│ 醫療類 │ +└─────────────────────────────────────┘ + +靈活探索(Flexible): +┌─────────────────────────────────────┐ +│ ●→ ●→ ●→ ●→ ●→ ●→ ●→ ● │ 頻繁在不同領域間跳躍 +│ 科 醫 藝 教 科 社 環 科 │ 每個領域停留很短 +│ 技 療 術 育 技 會 保 技 │ (>45% 跳躍) +└─────────────────────────────────────┘ + +混合模式(Mixed): +┌─────────────────────────────────────┐ +│ ●→●→●→●→ ●→●→●→ ●→●→●→● │ 適度平衡 +│ 科技類 醫療類 藝術類 │ (30-45% 跳躍) +└─────────────────────────────────────┘ +``` + +### 2.3 我們的實驗結果 + +| 條件 | 組合跳躍比率 | 彈性檔案 | 解讀 | +|------|:------------:|:--------:|------| +| C3 屬性分解 | 26.6% | Persistent | 接近 Mixed 的邊界 | +| C2 專家視角 | 24.4% | Persistent | 適度的類別切換 | +| C5 隨機視角 | 10.1% | Persistent | 較少切換 | +| **C4 完整管線** | **3.2%** | **Persistent** | 非常專注的探索 | +| C1 直接生成 | 0.0% | Persistent | 單一群集 | + +**重要發現:** 所有條件都呈現「持續探索」模式,但程度不同。 + +--- + +## 三、原創性-彈性相關性分析(Originality-Flexibility Correlation) + +### 3.1 論文的核心發現 + +arXiv:2405.00899 論文發現了一個關鍵差異: + +| 主體 | 原創性與彈性的關係 | 解讀 | +|------|:------------------:|------| +| **人類** | r ≈ 0(無相關) | 原創性和彈性是獨立的能力 | +| **典型 LLM** | r > 0(正相關) | 越靈活的 LLM 越原創 | + +**為什麼會有這種差異?** + +``` +人類創意模式: + - 有些人善於深入探索(低彈性、高原創) + - 有些人善於廣泛聯想(高彈性、高原創) + - 兩種能力是獨立的維度 + +典型 LLM 模式: + - LLM 透過「隨機性」產生多樣性 + - 高 temperature → 更多跳躍 → 更多意外發現 + - 彈性和原創性被「隨機性」綁定在一起 +``` + +### 3.2 我們的實驗結果 + +**Pearson 相關係數:r = 0.071** + +| 指標 | 數值 | 解讀 | +|------|:----:|------| +| **Pearson r** | **0.071** | 接近零 | +| 統計意義 | 無顯著相關 | 兩個維度獨立 | +| **模式判定** | **類似人類** | 打破典型 LLM 模式 | + +**各條件詳細數據:** + +| 條件 | 新穎性(距離質心) | 彈性(組合跳躍數) | 組合 | +|------|:------------------:|:------------------:|------| +| C4 完整管線 | **0.395**(最高) | **13**(最低) | 高新穎 + 低彈性 | +| C5 隨機視角 | 0.365 | 20 | 高新穎 + 低彈性 | +| C3 屬性分解 | 0.337 | 33 | 中新穎 + 中彈性 | +| C2 專家視角 | 0.315 | **48**(最高) | 中新穎 + 高彈性 | +| C1 直接生成 | 0.273(最低) | 0 | 低新穎 + 低彈性 | + +### 3.3 這個發現的重大意義 + +``` +┌─────────────────────────────────────────────────────────────┐ +│ 原創性-彈性空間 │ +│ │ +│ 高原創 │ C4● │ +│ │ C5● │ +│ │ C3● │ +│ │ C2● │ +│ │ │ +│ 低原創 │ C1● │ +│ └──────────────────────────────────────────────── │ +│ 低彈性 高彈性 │ +│ │ +│ r = 0.071 → 幾乎垂直於對角線 → 無相關 → 類似人類! │ +└─────────────────────────────────────────────────────────────┘ + +對比典型 LLM(r > 0.3): +┌─────────────────────────────────────────────────────────────┐ +│ 高原創 │ ● │ +│ │ ● │ +│ │ ● │ +│ │ ● │ +│ 低原創 │ ● │ +│ └──────────────────────────────────────────────── │ +│ 低彈性 高彈性 │ +│ │ +│ r > 0.3 → 沿對角線分布 → 正相關 → 典型 LLM 模式 │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## 四、累積跳躍輪廓(Cumulative Jump Profile) + +### 4.1 什麼是累積跳躍輪廓? + +追蹤在想法生成過程中,跳躍次數如何隨時間累積。 + +``` +想法位置: 1 2 3 4 5 6 7 8 9 10 +跳躍發生: - - ✓ - ✓ - ✓ ✓ - ✓ +累積計數: 0 0 1 1 2 2 3 4 4 5 + +輪廓線: + 5 │ ● + 4 │ ●────● + 3 │ ●────● + 2 │ ●────● + 1 │ ●────● + 0 │●────● + └──────────────────────────────────────── + 1 2 3 4 5 6 7 8 9 10 + 想法位置 +``` + +### 4.2 輪廓線的解讀 + +| 輪廓特徵 | 含義 | 創意模式 | +|----------|------|----------| +| **陡峭斜率** | 快速累積跳躍 | 頻繁切換類別 | +| **平緩區域** | 跳躍暫停 | 深入探索當前類別 | +| **階梯狀** | 突然爆發跳躍 | 類別耗盡後轉移 | +| **近乎水平** | 幾乎沒有跳躍 | 持續在單一領域 | + +### 4.3 我們的實驗視覺化 + +![累積跳躍輪廓](../results/cumulative_jump_profiles.png) + +**各條件輪廓解讀:** + +| 條件 | 輪廓特徵 | 創意策略 | +|------|----------|----------| +| C2 專家視角 | 穩定上升 | 持續的類別切換 | +| C3 屬性分解 | 穩定上升 | 持續的類別切換 | +| C5 隨機視角 | 緩慢上升 | 較少切換 | +| C4 完整管線 | 幾乎水平 | 非常專注的單一領域探索 | +| C1 直接生成 | 完全水平 | 無任何類別切換 | + +--- + +## 五、實驗發現的綜合意義 + +### 5.1 核心發現總結 + +| 發現 | 內容 | 意義 | +|------|------|------| +| **發現一** | 原創性-彈性相關 r = 0.071 | 管線產生「類似人類」的創意模式 | +| **發現二** | C4 最高新穎性 + 最低彈性 | 結構化方法產生聚焦的新穎性 | +| **發現三** | 所有條件都是 Persistent | LLM 傾向深度探索而非廣度 | +| **發現四** | 組合跳躍 < 類別跳躍 | 驗證方法學的有效性 | + +### 5.2 為什麼 C4 能打破 LLM 模式? + +``` +典型 LLM 的問題: +┌─────────────────────────────────────────────────────────────┐ +│ 直接生成:「給我椅子的創新用途」 │ +│ │ +│ LLM 依賴 temperature 產生多樣性 │ +│ → 高 temperature = 更多隨機性 │ +│ → 更多隨機性 = 更多跳躍(高彈性) │ +│ → 更多跳躍 = 更可能遇到新穎想法(高原創) │ +│ │ +│ 結果:彈性和原創性被綁定(正相關) │ +└─────────────────────────────────────────────────────────────┘ + +C4 管線的突破: +┌─────────────────────────────────────────────────────────────┐ +│ 結構化生成: │ +│ │ +│ Step 1: 屬性分解 │ +│ 「椅子」→ [便攜, 可堆疊, 人體工學, ...] │ +│ │ +│ Step 2: 專家無上下文關鍵字 │ +│ 會計師 + 「便攜」→ 「流動資產」(不知道是椅子!) │ +│ │ +│ Step 3: 重新結合 │ +│ 「椅子」+ 「流動資產」+ 會計師視角 │ +│ → 「帶 RFID 資產追蹤的企業椅子」 │ +│ │ +│ 關鍵機制: │ +│ - 結構強制「跳出」典型語義空間(高新穎性) │ +│ - 但所有想法都錨定在相同屬性集(低彈性) │ +│ - 新穎性來自「強制bisociation」而非「隨機探索」 │ +│ │ +│ 結果:高新穎性 + 低彈性 → 打破正相關 → 類似人類 │ +└─────────────────────────────────────────────────────────────┘ +``` + +### 5.3 這對創意 AI 研究的意義 + +**理論貢獻:** + +1. **證明 LLM 可以產生「類似人類」的創意模式** + - 不是透過模仿人類數據 + - 而是透過結構化的創意管線設計 + +2. **原創性和彈性是可以獨立控制的** + - 傳統認為需要高隨機性才能高原創 + - 我們證明結構化約束也能達到高原創 + +3. **「專注的新穎性」vs「分散的探索」** + - C4:深入一個新穎領域(專家策略) + - C5:廣泛接觸多個領域(通才策略) + - 兩種都有價值,但機制不同 + +**實務應用:** + +| 目標 | 推薦策略 | 原因 | +|------|----------|------| +| 最大化新穎性 | C4 完整管線 | 最高距離質心分數 | +| 最大化類別多樣性 | C2 專家視角 | 最多組合跳躍 | +| 平衡新穎與多樣 | C3 屬性分解 | 中等水平 | +| 快速生成 | C1 直接生成 | 最少 API 調用 | + +--- + +## 六、方法論驗證 + +### 6.1 組合跳躍 ≤ 類別跳躍 + +這是方法學的必要條件驗證: + +``` +邏輯推導: + 組合跳躍 = 類別跳躍 ∧ 語義跳躍 + + 當類別跳躍 = False 時: + 組合跳躍 = False ∧ ? = False + + 當類別跳躍 = True 時: + 組合跳躍 = True ∧ 語義跳躍 = 語義跳躍(可能 True 或 False) + + 因此:組合跳躍 ≤ 類別跳躍(必然成立) +``` + +**實驗驗證:** + +| 條件 | 類別跳躍 | 組合跳躍 | 驗證 | +|------|:--------:|:--------:|:----:| +| C2 | 54 | 48 | ✓ | +| C3 | 34 | 33 | ✓ | +| C5 | 22 | 20 | ✓ | +| C4 | 13 | 13 | ✓ | +| C1 | 0 | 0 | ✓ | + +### 6.2 彈性檔案閾值的選擇 + +論文使用的閾值(30%、45%)基於人類實驗數據的分布。我們的 LLM 實驗中,所有條件都落在 Persistent 區間,這本身就是一個發現: + +``` +人類分布(論文數據): + Persistent: ~33% + Mixed: ~34% + Flexible: ~33% + +我們的 LLM 分布: + Persistent: 100%(所有條件) + Mixed: 0% + Flexible: 0% + +解讀: + LLM(即使加入專家/屬性引導)仍傾向持續探索模式 + 這可能是 LLM 架構的固有特性 +``` + +--- + +## 七、與其他指標的整合 + +### 7.1 完整指標體系 + +| 維度 | 指標 | 來源 | C4 表現 | +|------|------|------|:-------:| +| **流暢性** | 想法數量 | Torrance | 402(最多) | +| **彈性** | 組合跳躍數 | arXiv:2405.00899 | 13(最低) | +| **原創性** | 距離質心 | 本研究 | 0.395(最高) | +| **精緻性** | 平均字數 | Torrance | 26.2 | + +### 7.2 C4 的獨特位置 + +``` +創意空間定位: + + 高原創性 + │ + C4 ●│ + │ C5● + │ C3● + │ C2● + │ + C1 ●│ + └──────────────────── 高彈性 + 低原創性 + +C4 占據了「高原創性 + 低彈性」的獨特位置 +這在人類創意者中常見(專家型),但在 LLM 中罕見 +``` + +--- + +## 八、未來研究方向 + +基於這些發現,建議的後續研究: + +1. **跨模型驗證** + - 在 GPT-4、Claude、Llama-3 上重複實驗 + - 確認發現是否為通用現象 + +2. **Temperature 敏感度測試** + - 論文發現 LLM 對 temperature 不敏感 + - 測試我們的管線是否也有此特性 + +3. **人類基準比較** + - 收集人類在相同任務上的數據 + - 直接比較彈性檔案分布 + +4. **管線變體測試** + - 調整屬性數量、專家數量 + - 找到最佳平衡點 + +--- + +## 參考文獻 + +1. **arXiv:2405.00899** - "Characterising the Creative Process in Humans and Large Language Models" + - 組合跳躍信號、彈性檔案分類的原始論文 + +2. **Hadas & Hershkovitz (2024)** - "Using LLMs to Evaluate AUT Flexibility Score" + - LLM 雙階段分類法的來源 + +3. **Torrance (1974)** - *Torrance Tests of Creative Thinking* + - 創造力四維度框架 + +4. **Koestler (1964)** - *The Act of Creation* + - Bisociation 理論基礎 + +--- + +## 附錄:程式碼參考 + +相關分析程式碼位於: +- `experiments/aut_flexibility_analysis.py` + - `compute_jump_signal()` - 組合跳躍計算 + - `classify_flexibility_profile()` - 彈性檔案分類 + - `analyze_originality_flexibility_correlation()` - 相關性分析 + - `compute_cumulative_jump_profile()` - 累積跳躍輪廓 + - `plot_cumulative_jump_profiles()` - 視覺化 + +執行分析: +```bash +cd experiments +source ../backend/venv/bin/activate +python aut_flexibility_analysis.py experiment_20260119_165650_deduped.json +``` diff --git a/experiments/docs/experiment_design_2026-01-19.md b/experiments/docs/experiment_design_2026-01-19.md new file mode 100644 index 0000000..5956aec --- /dev/null +++ b/experiments/docs/experiment_design_2026-01-19.md @@ -0,0 +1,259 @@ +# Experiment Design: 5-Condition Idea Generation Study + +**Date:** January 19, 2026 +**Version:** 1.0 +**Status:** Pilot Implementation + +## Overview + +This experiment tests whether the novelty-seeking system's two key mechanisms—**attribute decomposition** and **expert transformation**—independently and jointly improve creative ideation quality compared to direct LLM generation. + +## Research Questions + +1. Does decomposing a query into structured attributes improve idea diversity? +2. Do expert perspectives improve idea novelty? +3. Do these mechanisms have synergistic effects when combined? +4. Is the benefit from experts due to domain knowledge, or simply perspective-shifting? + +## Experimental Design + +### 2×2 Factorial Design + Control + +| | No Attributes | With Attributes | +|--------------------|---------------|-----------------| +| **No Experts** | C1: Direct | C3: Attr-Only | +| **With Experts** | C2: Expert-Only | C4: Full Pipeline | + +**Plus:** C5: Random-Perspective (tests perspective-shifting without domain knowledge) + +### Condition Descriptions + +#### C1: Direct Generation (Baseline) +- Single LLM call: "Generate 20 creative ideas for [query]" +- No attribute decomposition +- No expert perspectives +- Purpose: Baseline for standard LLM ideation + +#### C2: Expert-Only +- 4 experts from curated occupations +- Each expert generates 5 ideas directly for the query +- No attribute decomposition +- Purpose: Isolate expert contribution + +#### C3: Attribute-Only +- Decompose query into 4 fixed categories +- Generate attributes per category +- Direct idea generation per attribute (no expert framing) +- Purpose: Isolate attribute decomposition contribution + +#### C4: Full Pipeline +- Full attribute decomposition (4 categories) +- Expert transformation (4 experts × 1 keyword per attribute) +- Purpose: Test combined mechanism (main system) + +#### C5: Random-Perspective +- 4 random words per query (from curated pool) +- Each word used as a "perspective" to generate 5 ideas +- Purpose: Control for perspective-shifting vs. expert knowledge + +--- + +## Key Design Decisions & Rationale + +### 1. Why 5 Conditions? + +C1-C4 form a 2×2 factorial design that isolates the independent contributions of: +- **Attribute decomposition** (C1 vs C3, C2 vs C4) +- **Expert perspectives** (C1 vs C2, C3 vs C4) + +C5 addresses a critical confound: if experts improve ideation, is it because of their **domain knowledge** or simply because any **perspective shift** helps? By using random words instead of domain experts, C5 tests whether the perspective-taking mechanism alone provides benefits. + +### 2. Why Random Words in C5 (Not Fixed)? + +**Decision:** Use randomly sampled words (with seed) rather than a fixed set. + +**Rationale:** +- Stronger generalization: results hold across many word combinations +- Avoids cherry-picking accusation ("you just picked easy words") +- Reproducible via random seed (seed=42) +- Each query gets different random words, increasing robustness + +### 3. Why Apply Deduplication Uniformly? + +**Decision:** Apply embedding-based deduplication (threshold=0.85) to ALL conditions after generation. + +**Rationale:** +- Fair comparison: all conditions normalized to unique ideas +- Creates "dedup survival rate" as an additional metric +- Hypothesis: Full Pipeline ideas are diverse (low redundancy), not just numerous +- Direct generation may produce many similar ideas that collapse after dedup + +### 4. Why FIXED_ONLY Categories? + +**Decision:** Use 4 fixed categories: Functions, Usages, User Groups, Characteristics + +**Rationale:** +- Best for proof power: isolates "attribute decomposition" effect +- No confound from dynamic category selection variability +- Universal applicability: these 4 categories apply to objects, technology, and services +- Dropped "Materials" category as it doesn't apply well to services + +### 5. Why Curated Expert Source? + +**Decision:** Use curated occupations (210 professions) rather than LLM-generated experts. + +**Rationale:** +- Reproducibility: same occupation pool across runs +- Consistency: no variance from LLM expert generation +- Control: we know exactly which experts are available +- Validation: occupations were manually curated for diversity + +### 6. Why Temperature 0.9? + +**Decision:** Use temperature=0.9 for all conditions. + +**Rationale:** +- Higher temperature encourages more diverse/creative outputs +- Matches typical creative task settings +- Consistent across conditions for fair comparison +- Lower temperatures (0.7) showed more repetitive outputs in testing + +### 7. Why 10 Pilot Queries? + +**Decision:** Start with 10 queries before scaling to full 30. + +**Rationale:** +- Validate pipeline works before full investment +- Catch implementation bugs early +- Balanced across categories (3 everyday, 3 technology, 4 services) +- Sufficient for initial pattern detection + +--- + +## Configuration Summary + +| Setting | Value | Rationale | +|---------|-------|-----------| +| **LLM Model** | qwen3:8b | Local, fast, consistent | +| **Temperature** | 0.9 | Encourages creativity | +| **Expert Count** | 4 | Balance diversity vs. cost | +| **Expert Source** | Curated | Reproducibility | +| **Keywords/Expert** | 1 | Simplifies analysis | +| **Language** | English | Consistency | +| **Categories** | Functions, Usages, User Groups, Characteristics | Universal applicability | +| **Dedup Threshold** | 0.85 | Standard similarity cutoff | +| **Random Seed** | 42 | Reproducibility | +| **Pilot Queries** | 10 | Validation before scaling | + +--- + +## Query Selection + +### Pilot Queries (10) + +| ID | Query | Category | +|----|-------|----------| +| A1 | Chair | Everyday | +| A5 | Bicycle | Everyday | +| A7 | Smartphone | Everyday | +| B1 | Solar panel | Technology | +| B3 | 3D printer | Technology | +| B4 | Drone | Technology | +| C1 | Food delivery service | Services | +| C2 | Online education platform | Services | +| C4 | Public transportation | Services | +| C9 | Elderly care service | Services | + +### Selection Criteria +- Balanced across 3 domains (everyday objects, technology, services) +- Varying complexity levels +- Different user familiarity levels +- Subset from full 30-query experimental protocol + +--- + +## Random Word Pool (C5) + +35 words selected across 7 conceptual categories: + +| Category | Words | +|----------|-------| +| Nature | ocean, mountain, forest, desert, cave | +| Optics | microscope, telescope, kaleidoscope, prism, lens | +| Animals | butterfly, elephant, octopus, eagle, ant | +| Weather | sunrise, thunderstorm, rainbow, fog, aurora | +| Art | clockwork, origami, mosaic, symphony, ballet | +| Temporal | ancient, futuristic, organic, crystalline, liquid | +| Sensory | whisper, explosion, rhythm, silence, echo | + +**Selection Criteria:** +- Concrete and evocative (easy to generate associations) +- Diverse domains (no overlap with typical expert knowledge) +- No obvious connection to test queries +- Equal representation across categories + +--- + +## Expected Outputs + +### Per Condition Per Query + +| Condition | Expected Ideas (pre-dedup) | Mechanism | +|-----------|---------------------------|-----------| +| C1 | 20 | Direct request | +| C2 | 20 | 4 experts × 5 ideas | +| C3 | ~20 | Varies by attribute count | +| C4 | ~20 | 4 experts × ~5 keywords × 1 description | +| C5 | 20 | 4 words × 5 ideas | + +### Metrics to Collect + +1. **Pre-deduplication count**: Raw ideas generated +2. **Post-deduplication count**: Unique ideas after similarity filtering +3. **Dedup survival rate**: post/pre ratio +4. **Generation metadata**: Experts/words used, attributes generated + +--- + +## File Structure + +``` +experiments/ +├── __init__.py +├── config.py # Experiment configuration +├── docs/ +│ └── experiment_design_2026-01-19.md # This file +├── conditions/ +│ ├── __init__.py +│ ├── c1_direct.py +│ ├── c2_expert_only.py +│ ├── c3_attribute_only.py +│ ├── c4_full_pipeline.py +│ └── c5_random_perspective.py +├── data/ +│ ├── queries.json # 10 pilot queries +│ └── random_words.json # Word pool for C5 +├── generate_ideas.py # Main runner +├── deduplication.py # Post-processing +└── results/ # Output (gitignored) +``` + +--- + +## Verification Checklist + +- [ ] Each condition produces expected number of ideas +- [ ] Deduplication reduces count meaningfully +- [ ] Results JSON contains all required metadata +- [ ] Random seed produces reproducible C5 results +- [ ] No runtime errors on all 10 pilot queries + +--- + +## Next Steps After Pilot + +1. Analyze pilot results for obvious issues +2. Adjust parameters if needed (idea count normalization, etc.) +3. Scale to full 30 queries +4. Human evaluation of idea quality (novelty, usefulness, feasibility) +5. Statistical analysis of condition differences diff --git a/experiments/docs/experiment_report_2026-01-19.md b/experiments/docs/experiment_report_2026-01-19.md new file mode 100644 index 0000000..f2c112b --- /dev/null +++ b/experiments/docs/experiment_report_2026-01-19.md @@ -0,0 +1,813 @@ +--- +marp: true +theme: default +paginate: true +backgroundColor: #fff +style: | + section { + font-size: 24px; + } + h1 { + color: #2c3e50; + } + h2 { + color: #34495e; + } + table { + font-size: 18px; + } + .columns { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; + } +--- + +# Breaking Semantic Gravity in LLM-Based Creative Ideation + +## A Pilot Study on Attribute Decomposition and Expert Perspectives + +**Date:** January 19, 2026 +**Model:** Qwen3:8b (Temperature: 0.9) +**Queries:** 10 pilot queries + +--- + +# Research Problem + +## The "Semantic Gravity" Challenge + +LLMs tend to generate ideas clustered around **high-probability training distributions** + +``` +Query: "Chair" +Typical LLM output: + - Ergonomic office chair + - Comfortable reading chair + - Foldable portable chair + ← All within "furniture comfort" semantic cluster +``` + +**Goal:** Break this gravitational pull toward obvious solutions + +--- + +# Theoretical Framework + +## Bisociation Theory (Koestler, 1964) + +Creative thinking occurs when two unrelated "matrices of thought" collide + +**Our Approach:** +1. **Attribute Decomposition** → Break object into structural components +2. **Expert Perspectives** → Introduce distant domain knowledge +3. **Context-Free Keywords** → Force unexpected conceptual leaps + +--- + +# Experimental Design + +## 2×2 Factorial + Control + +| Condition | Attributes | Experts | Description | +|-----------|:----------:|:-------:|-------------| +| **C1** Direct | - | - | Baseline: Direct LLM generation | +| **C2** Expert-Only | - | ✓ | Expert perspectives without structure | +| **C3** Attribute-Only | ✓ | - | Structure without expert knowledge | +| **C4** Full Pipeline | ✓ | ✓ | Combined approach | +| **C5** Random-Perspective | - | Random | Control: Random words as "experts" | + +--- + +# Research Questions + +1. **RQ1:** Does attribute decomposition increase idea diversity? + +2. **RQ2:** Do expert perspectives increase idea diversity? + +3. **RQ3:** Is there a synergistic (super-additive) interaction effect? + +4. **RQ4:** Do domain-relevant experts outperform random perspectives? + +--- + +# Pipeline Architecture + +## C4: Full Pipeline Process + +``` +Query: "Chair" + ↓ +Step 1: Attribute Decomposition + → "portable", "stackable", "ergonomic", ... + ↓ +Step 2: Context-Free Keyword Generation (Expert sees ONLY attribute) + → Accountant + "portable" → "mobile assets" + → Architect + "portable" → "modular units" + ↓ +Step 3: Idea Synthesis (Reunite with query) + → "Chair" + "mobile assets" + Accountant perspective + → "Asset-tracking chairs for corporate inventory management" +``` + +--- + +# Key Design Decision + +## Context-Free Keyword Generation + +The expert **never sees the original query** when generating keywords + +```python +# Step 2: Expert sees only attribute +prompt = f"As a {expert}, what keyword comes to mind for '{attribute}'?" +# Input: "portable" (NOT "portable chair") + +# Step 3: Reunite with query +prompt = f"Apply '{keyword}' to '{query}' from {expert}'s perspective" +# Input: "mobile assets" + "Chair" + "Accountant" +``` + +**Purpose:** Force bisociation by preventing obvious associations + +--- + +# Pilot Study Parameters + +## Model & Generation Settings + +| Parameter | Value | +|-----------|-------| +| LLM Model | Qwen3:8b (Ollama) | +| Temperature | 0.9 | +| Ollama Endpoint | localhost:11435 | +| Language | English | +| Random Seed | 42 | + +--- + +# Pilot Study Parameters (cont.) + +## Pipeline Configuration + +| Parameter | Value | +|-----------|-------| +| Queries | 10 (Chair, Bicycle, Smartphone, Solar panel, 3D printer, Drone, Food delivery, Online education, Public transport, Elderly care) | +| Attribute Categories | 4 (Functions, Usages, User Groups, Characteristics) | +| Attributes per Category | 5 | +| Expert Source | Curated (210 occupations) | +| Experts per Query | 4 | +| Keywords per Expert | 1 | + +--- + +# Pilot Study Parameters (cont.) + +## Output & Evaluation + +| Parameter | Value | +|-----------|-------| +| Total Ideas Generated | 1,119 (after deduplication) | +| Ideas by Condition | C1: 195, C2: 198, C3: 125, C4: 402, C5: 199 | +| Deduplication Threshold | 0.90 (cosine similarity) | +| Embedding Model | qwen3-embedding:4b (1024D) | + +--- + +# Background: Embedding Models Evolution + +## From Static to Contextual Representations + +| Generation | Model | Characteristics | Limitation | +|------------|-------|-----------------|------------| +| **1st Gen** | Word2Vec, GloVe | Static vectors, one vector per word | "bank" = same vector (river vs finance) | +| **2nd Gen** | BERT, Sentence-BERT | Contextual, transformer-based | Limited context window, older training | +| **3rd Gen** | Qwen3-embedding | LLM-based, instruction-tuned | Requires more compute | + +--- + +# Background: Transformer vs LLM-based Embedding + +## Architecture Differences + +| Aspect | Transformer (BERT) | LLM-based (Qwen3) | +|--------|-------------------|-------------------| +| **架構** | Encoder-only | Decoder-only (GPT-style) | +| **訓練目標** | MLM (遮罩語言模型) | Next-token prediction | +| **訓練數據** | ~16GB (Wikipedia + Books) | ~數 TB (網頁、程式碼、書籍) | +| **參數量** | 110M - 340M | 4B+ | +| **上下文** | 512 tokens | 8K - 128K tokens | + +--- + +# Background + +## Key Comparison + +``` +1. 較多的知識訓練 + BERT: 只知道 2019 年前的知識 + Qwen3: 知道 "drone delivery", "AI-powered", "IoT" 等現代概念 + +2. 較廣語義理解 + BERT: "chair for elderly" ≈ "elderly chair" (詞袋相似) + Qwen3: 理解 "mobility assistance" vs "comfort seating" 的差異 + +3. 接受指令微調 (Instruction Tuning) + 傳統: 無法根據任務意圖調整 + Qwen3: 可以理解 "找出創意想法之間的語義差異" +``` + +--- + +# Background: Qwen3-Embedding? + +## Comparison with Traditional Methods + +``` +傳統 Sentence-BERT (all-MiniLM-L6-v2): + - 384 維向量 + - 訓練於 2021 年之前的數據 + - 對短句效果好,長文本理解有限 + - Encoder-only,MLM 訓練 + +Qwen3-Embedding (qwen3-embedding:4b): + - 1024 維向量(更豐富的語義表達) + - 基於 Qwen3 LLM(2024+ 訓練數據) + - 支援長上下文(8K tokens) + - 指令微調(instruction-tuned)→ 配合任務意圖 + - 繼承 LLM 的部分能力 +``` + +**選擇理由:** 創意想法通常較長且語義複雜,需要更強的上下文理解能力 + +--- + +# Background: How Embedding Works + +## Semantic Similarity via Vector Space + +``` +Step 1: 將文字轉換為向量 + "Solar-powered charging chair" → [0.12, -0.34, 0.56, ..., 0.78] (1024D) + +Step 2: 計算餘弦相似度 + similarity = cos(θ) = (A · B) / (|A| × |B|) + +Step 3: 相似度解讀 + 1.0 = 完全相同 + 0.9 = 非常相似(可能是重複想法) + 0.5 = 中等相關 + 0.0 = 無關 +``` + +**應用:** 去重(similarity > 0.9)、彈性分析(clustering)、新穎性(centroid distance) + +--- + +# Results: Semantic Diversity + +## Mean Pairwise Distance (Higher = More Diverse) + +> **Method:** We convert each idea into a vector embedding (qwen3-embedding:4b), then calculate the average cosine distance between all pairs of ideas within each condition. Higher values indicate ideas are more spread out in semantic space. + +| Condition | Mean | SD | vs C1 (Cohen's d) | +|-----------|:----:|:--:|:-----------------:| +| C1 Direct | 0.294 | 0.039 | - | +| C2 Expert-Only | 0.400 | 0.028 | **3.15*** | +| C3 Attribute-Only | 0.377 | 0.036 | **2.20*** | +| C4 Full Pipeline | 0.395 | 0.019 | **3.21*** | +| C5 Random | 0.405 | 0.062 | **2.72*** | + +*p < 0.001, Large effect sizes (d > 0.8) + +> **Cohen's d:** Measures effect size (how big the difference is). d > 0.8 = large effect, d > 0.5 = medium, d > 0.2 = small. + +--- + +# Results: ANOVA Summary + +## Normalized Diversity Metric + +> **Method:** Two-way ANOVA tests whether Attributes and Experts each have independent effects on diversity, and whether combining them produces extra benefit (interaction). F-statistic measures variance between groups vs within groups. + +| Effect | F | p | Significant | +|--------|:-:|:-:|:-----------:| +| **Attributes (RQ1)** | 5.31 | 0.027 | Yes | +| **Experts (RQ2)** | 26.07 | <0.001 | Yes | +| **Interaction (RQ3)** | - | - | Sub-additive | + +**Key Finding:** Both factors work, but combination is **not synergistic** + +--- + +# Results: Expert vs Random (RQ4) + +## C2 (Expert-Only) vs C5 (Random-Perspective) + +| Metric | C2 Expert | C5 Random | p-value | Effect | +|--------|:---------:|:---------:|:-------:|:------:| +| Diversity | 0.399 | 0.414 | 0.463 | n.s. | +| Query Distance | 0.448 | 0.437 | 0.654 | n.s. | + +**Finding:** Random words perform as well as domain experts + +Implication: The value may be in **perspective shift itself**, not expert knowledge + +--- + +# Results: Efficiency Analysis + +## Diversity per Idea Generated + +| Condition | Mean Ideas | Diversity | Efficiency | +|-----------|:----------:|:---------:|:----------:| +| C1 Direct | 20.0 | 0.293 | 1.46 | +| C2 Expert-Only | 20.0 | 0.399 | **1.99** | +| C3 Attribute-Only | 12.8 | 0.376 | **3.01** | +| C4 Full Pipeline | 51.9 | 0.393 | 0.78 | +| C5 Random | 20.0 | 0.405 | 2.02 | + +**C4 produces 2.6× more ideas but achieves same diversity** + +--- + +# Visualization: Diversity by Condition + +![height:450px](../results/figures/20260119_165650_diversity_boxplot.png) + +--- + +# Visualization: Query Distance + +![height:450px](../results/figures/20260119_165650_query_distance_boxplot.png) + +--- + +# Advanced Analysis: Lexical Diversity + +## Type-Token Ratio & Vocabulary Richness + +> **Method:** Type-Token Ratio (TTR) = unique words ÷ total words. High TTR means more varied vocabulary; low TTR means more word repetition. Vocabulary size counts total unique words across all ideas in a condition. + +| Condition | TTR | Vocabulary | Avg Words/Idea | +|-----------|:---:|:----------:|:--------------:| +| C1 Direct | **0.382** | 853 | 11.5 | +| C2 Expert-Only | 0.330 | 1,358 | 20.8 | +| C3 Attribute-Only | 0.330 | 1,098 | 26.6 | +| C4 Full Pipeline | 0.189 | **1,992** | 26.2 | +| C5 Random | 0.320 | 1,331 | 20.9 | + +**Finding:** C4 has largest vocabulary (1,992) but lowest TTR (0.189) +→ More words but more repetition across ideas + +--- + +# Advanced Analysis: Concept Extraction + +## Top Keywords by Condition + +> **Method:** Extract meaningful keywords from idea texts using NLP (removing stopwords, lemmatization). Top keywords show most frequent concepts; unique keywords count distinct terms. Domain coverage checks if ideas span different knowledge areas. + +| Condition | Top Keywords | Unique Keywords | +|-----------|--------------|:---------------:| +| C1 Direct | solar, powered, smart, delivery, drone | 805 | +| C2 Expert | real, create, design, time, develop | 1,306 | +| C3 Attribute | real, time, create, develop, powered | 1,046 | +| C4 Pipeline | time, real, data, ensuring, enhancing | **1,937** | +| C5 Random | like, solar, inspired, energy, uses | 1,286 | + +**Finding:** C5 Random shows "inspired" → suggests analogical thinking +All conditions cover 6 domain categories + +--- + +# Advanced Analysis: Novelty Scores + +## Distance from Global Centroid (Higher = More Novel) + +> **Method:** Compute the centroid (average vector) of ALL ideas across all conditions. Then measure each idea's distance from this "typical idea" center. Ideas far from the centroid are semantically unusual compared to the overall pool. + +| Condition | Mean | Std | Interpretation | +|-----------|:----:|:---:|----------------| +| C1 Direct | 0.273 | 0.037 | Closest to "typical" ideas | +| C2 Expert-Only | 0.315 | 0.062 | Moderate novelty | +| C3 Attribute-Only | 0.337 | 0.066 | Moderate novelty | +| C5 Random | 0.365 | 0.069 | High novelty | +| **C4 Full Pipeline** | **0.395** | 0.083 | **Highest novelty** | + +**Finding:** C4 produces ideas furthest from the "average" idea space + +--- + +# Advanced Analysis: Cross-Condition Cohesion + +## % Nearest Neighbors from Same Condition + +> **Method:** For each idea, find its K nearest neighbors in embedding space. Cohesion = percentage of neighbors from the same condition. High cohesion means ideas from that condition cluster together; low cohesion means they're scattered among other conditions. + +| Condition | Cohesion | Interpretation | +|-----------|:--------:|----------------| +| **C4 Full Pipeline** | **88.6%** | Highly distinct idea cluster | +| C2 Expert-Only | 72.7% | Moderate clustering | +| C5 Random | 71.4% | Moderate clustering | +| C1 Direct | 70.8% | Moderate clustering | +| C3 Attribute-Only | 51.2% | Ideas scattered, overlap with others | + +**Finding:** C4 ideas form a distinct cluster in semantic space + +--- + +# Advanced Analysis: AUT Flexibility + +## Semantic Category Diversity (Hadas & Hershkovitz 2024) + +> **Method:** Uses the Alternative Uses Task (AUT) flexibility framework. Embedding-based: Hierarchical clustering with average linkage, cut at distance threshold 0.5. Higher cluster count = more semantic categories covered = higher flexibility. + +| Condition | Embedding Clusters | Mean Pairwise Similarity | +|-----------|:------------------:|:------------------------:| +| **C5 Random** | **15** | 0.521 (most diverse) | +| **C2 Expert-Only** | **13** | 0.517 | +| C3 Attribute-Only | 12 | - | +| C4 Full Pipeline | 10 | 0.583 | +| C1 Direct | **1** | 0.647 (most similar) | + +**Finding:** Expert perspectives (C2, C5) produce more diverse categories than direct generation (C1) + +--- + +# Advanced Analysis: Combined Jump Signal + +## Enhanced Method from arXiv:2405.00899 + +> **Method:** Combined jump signal uses logical AND of two conditions: +> - **jumpcat:** Category changes between consecutive ideas (from embedding clustering) +> - **jumpSS:** Semantic similarity < 0.7 (ideas are semantically dissimilar) +> +> **True jump = jumpcat ∧ jumpSS** — reduces false positives where similar ideas happen to be in different clusters. + +| Condition | Cat-Only | Sem-Only | **Combined** | Profile | +|-----------|:--------:|:--------:|:------------:|---------| +| C2 Expert-Only | 54 | 125 | **48** | Persistent | +| C3 Attribute-Only | 34 | 107 | **33** | Persistent | +| C5 Random | 22 | 116 | **20** | Persistent | +| C4 Full Pipeline | 13 | 348 | **13** | Persistent | +| C1 Direct | 0 | 104 | **0** | Persistent | + +**Finding:** Combined jumps ≤ category jumps (as expected). All conditions show "Persistent" exploration pattern. + +--- + +# Advanced Analysis: Flexibility Profiles + +## Classification Based on Combined Jump Ratio + +> **Method:** Classify creativity style based on normalized jump ratio (jumps / transitions): +> - **Persistent:** ratio < 0.30 (deep exploration within categories) +> - **Flexible:** ratio > 0.45 (broad exploration across categories) +> - **Mixed:** 0.30 ≤ ratio ≤ 0.45 + +| Condition | Combined Jump Ratio | Profile | Interpretation | +|-----------|:-------------------:|:-------:|----------------| +| C3 Attribute-Only | **26.6%** | Persistent | Moderate category switching | +| C2 Expert-Only | **24.4%** | Persistent | Moderate category switching | +| C5 Random | 10.1% | Persistent | Low category switching | +| **C4 Full Pipeline** | **3.2%** | Persistent | Very deep within-category exploration | +| C1 Direct | 0.0% | Persistent | Single semantic cluster | + +**Key Insight:** C4's low jump ratio indicates focused, persistent exploration within novel semantic territory + +--- + +# Key Finding: Originality-Flexibility Correlation + +## Does Our Pipeline Break the Typical LLM Pattern? + +> **Paper Finding (arXiv:2405.00899):** +> - **Humans:** No correlation between flexibility and originality (r ≈ 0) +> - **LLMs:** Positive correlation — flexible LLMs score higher on originality + +**Our Results:** + +| Metric | Value | Interpretation | +|--------|:-----:|----------------| +| **Pearson r** | **0.071** | Near zero correlation | +| Interpretation | **Human-like pattern** | Breaks typical LLM pattern | + +**Per-Condition Breakdown:** + +| Condition | Novelty | Flexibility (combined jumps) | +|-----------|:-------:|:----------------------------:| +| C4 Full Pipeline | **0.395** (highest) | **13** (lowest) | +| C5 Random | 0.365 | 20 | +| C3 Attribute-Only | 0.337 | 33 | +| C2 Expert-Only | 0.315 | 48 (highest) | +| C1 Direct | 0.273 (lowest) | 0 | + +**Critical Finding:** The attribute+expert pipeline (C4) achieves **highest novelty with lowest flexibility**, demonstrating that structured context-free generation produces **focused novelty** rather than scattered exploration. + +--- + +# Cumulative Jump Profile Visualization + +## Exploration Patterns Over Generation Sequence + +> **Method:** Track cumulative jump count at each response position. Steep slopes indicate rapid category switching; flat regions indicate persistent exploration within categories. + +![height:400px](../results/cumulative_jump_profiles.png) + +**Visual Pattern:** +- C2/C3 show steady accumulation of jumps → regular category switching +- C4/C5 show flatter profiles → persistent within-category exploration +- C1 is flat (0 jumps) → all ideas in single cluster + +--- + +# Flexibility vs Novelty: Key Insight + +## Novelty and Flexibility are Orthogonal Dimensions + +| Condition | Novelty (centroid dist) | Flexibility (combined jumps) | Pattern | +|-----------|:-----------------------:|:----------------------------:|---------| +| C4 Pipeline | **0.395** (highest) | **13** (lowest) | High novel, low flex | +| C5 Random | 0.365 | 20 | High novel, low flex | +| C2 Expert | 0.315 | **48** (highest) | Moderate novel, high flex | +| C3 Attribute | 0.337 | 33 | Moderate both | +| C1 Direct | 0.273 (lowest) | 0 | Typical, single category | + +**Interpretation:** +- **C1 Direct** produces similar ideas within one typical category (low novelty, no jumps) +- **C4 Full Pipeline** produces the most novel ideas with focused exploration (low jump ratio) +- **C2 Expert-Only** produces the most category switching but moderate novelty +- **r = 0.071** confirms these are orthogonal dimensions (human-like pattern) + +--- + +# Embedding Visualization: PCA + +> **Method:** Principal Component Analysis reduces high-dimensional embeddings (1024D) to 2D for visualization by finding directions of maximum variance. Points close together = semantically similar ideas. Colors represent conditions. + +![height:450px](../results/embedding_pca.png) + +--- + +# Embedding Visualization: t-SNE + +> **Method:** t-SNE (t-distributed Stochastic Neighbor Embedding) preserves local neighborhood structure when reducing to 2D. Better at revealing clusters than PCA, but distances between clusters are less meaningful. Good for seeing if conditions form distinct groups. + +![height:450px](../results/embedding_tsne.png) + +--- + +# Integrated Findings + +## What the Advanced Analysis Reveals + +| Analysis | C4 Full Pipeline Characteristic | +|----------|--------------------------------| +| Lexical | Largest vocabulary (1,992 words) | +| Novelty | Highest distance from centroid (0.395) | +| Cohesion | Tightest cluster (88.6% same-condition NN) | +| Diversity | High pairwise distance (0.395) | +| **Flexibility** | **Lowest combined jumps (13) = focused exploration** | + +**Interpretation:** C4 creates a **distinct semantic territory** - +novel ideas that are internally coherent but far from other conditions. +Low flexibility (3.2% jump ratio) indicates deep, focused exploration within a novel space. + +## Understanding Novelty vs Flexibility + +| Condition | Novelty | Flexibility (jumps) | Strategy | +|-----------|:-------:|:-------------------:|----------| +| C1 Direct | Low | Lowest (0) | Typical, single category | +| C2 Expert | Medium | **Highest (48)** | Experts = diverse exploration | +| C3 Attribute | Medium | Medium (33) | Structured exploration | +| C5 Random | High | Low (20) | Random but focused | +| **C4 Pipeline** | **Highest** | **Low (13)** | **Focused novelty** | + +--- + +# Critical Limitation + +## Embedding Distance ≠ True Novelty + +Current metrics measure **semantic spread**, not **creative value** + +| What We Measure | What We Miss | +|-----------------|--------------| +| Vector distance | Practical usefulness | +| Cluster spread | Conceptual surprise | +| Query distance | Non-obviousness | +| | Feasibility | + +``` +"Quantum entanglement chair" → High distance, Low novelty +"Chair legs as drumsticks" → Low distance, High novelty +``` + +--- + +# Torrance Creativity Framework + +## What True Novelty Assessment Requires + +| Dimension | Definition | Our Coverage | +|-----------|------------|:------------:| +| **Fluency** | Number of ideas | ✓ Measured | +| **Flexibility** | Category diversity | ✓ Measured (LLM + embedding) | +| **Originality** | Statistical rarity | Not measured | +| **Elaboration** | Detail & development | Not measured | + +**Originality requires human judgment or LLM-as-Judge** + +--- + +# Discussion: The Attribute Anchoring Effect + +## Why C4 Has Highest Novelty but Lowest Flexibility + +``` +C2 (Expert-Only): HIGHEST FLEXIBILITY (48 combined jumps) + Architect → "load-bearing furniture" + Chef → "dining experience design" + ← Each expert explores freely, frequent category switching + +C4 (Full Pipeline): LOWEST FLEXIBILITY (13 combined jumps, 3.2% ratio) + All experts respond to same attribute set + Architect + "portable" → "modular portable" + Chef + "portable" → "portable serving" + ← Attribute anchoring constrains category switching + ← BUT forced bisociation produces HIGHEST NOVELTY +``` + +**Key Mechanism:** Attributes anchor experts to similar conceptual space (low flexibility), +but context-free keyword generation forces novel associations (high novelty). + +**Result:** "Focused novelty" — deep exploration in a distant semantic territory + +--- + +# Key Findings Summary + +| RQ | Question | Answer | +|----|----------|--------| +| RQ1 | Attributes increase diversity? | **Yes** (p=0.027) | +| RQ2 | Experts increase diversity? | **Yes** (p<0.001) | +| RQ3 | Synergistic interaction? | **No** (sub-additive) | +| RQ4 | Experts > Random? | **No** (p=0.463) | + +**Additional Findings (arXiv:2405.00899 Metrics):** +- Full Pipeline (C4) has **highest novelty** but **lowest flexibility** +- **Originality-Flexibility correlation r=0.071** (human-like, breaks typical LLM pattern) +- Novelty and Flexibility are **orthogonal dimensions** +- All conditions show **Persistent** exploration profile (combined jump ratio < 30%) +- Direct generation (C1) produces ideas in a **single semantic cluster** + +--- + +# Limitations + +1. **Sample Size:** 10 queries (pilot study) + +2. **Novelty Measurement:** Embedding-based metrics only measure semantic distance, not true creative value + +3. **Single Model:** Results may vary with different LLMs + +4. **No Human Evaluation:** No validation of idea quality or usefulness + +5. **Fixed Categories:** 4 attribute categories may limit exploration + +--- + +# Future Work + +## Immediate Next Steps + +1. **Human Assessment Interface** (Built) + - Web-based rating tool with Torrance dimensions + - Stratified sampling: 200 ideas (4 per condition × 10 queries) + - 4 dimensions: Originality, Elaboration, Coherence, Usefulness + +2. **Multi-Model Validation** (Priority) + - Replicate on GPT-4, Claude, Llama-3 + - Verify findings generalize across LLMs + +3. **LLM-as-Judge evaluation** for full-scale scoring + +4. **Scale to 30 queries** for statistical power + +5. **Alternative pipeline designs** to address attribute anchoring + +**Documentation:** +- `experiments/docs/future_research_plan_zh.md` - Detailed research plan +- `experiments/docs/creative_process_metrics_zh.md` - arXiv:2405.00899 metrics explanation + +--- + +# Conclusion + +## Key Takeaways + +1. **Both attribute decomposition and expert perspectives significantly increase semantic diversity** compared to direct generation + +2. **The combination is sub-additive**, suggesting attribute structure may constrain expert creativity + +3. **Random perspectives work as well as domain experts**, implying the value is in perspective shift, not expert knowledge + +4. **Novelty and Flexibility are orthogonal creativity dimensions** - high novelty ≠ high flexibility + - C4 Full Pipeline: Highest novelty, lowest flexibility + - C5 Random: Higher flexibility, moderate novelty + +5. **🔑 Key Finding:** The pipeline produces **human-like originality-flexibility patterns** (r=0.071) + - Typical LLMs show positive correlation (flexible → more original) + - Our method breaks this pattern: high novelty with focused exploration + +6. **True novelty assessment requires judgment-based evaluation** beyond embedding metrics + +--- + +# Appendix: Statistical Details + +## T-test Results (vs C1 Baseline) + +| Comparison | t | p | Cohen's d | +|------------|:-:|:-:|:---------:| +| C4 vs C1 | 8.55 | <0.001 | 4.05 | +| C2 vs C1 | 7.67 | <0.001 | 3.43 | +| C3 vs C1 | 4.23 | <0.001 | 1.89 | + +All experimental conditions significantly outperform baseline + +--- + +# Appendix: Experiment Configuration + +```python +EXPERIMENT_CONFIG = { + "model": "qwen3:8b", + "temperature": 0.9, + "expert_count": 4, + "expert_source": "curated", # 210 occupations + "keywords_per_expert": 1, + "categories": ["Functions", "Usages", + "User Groups", "Characteristics"], + "dedup_threshold": 0.90, + "random_seed": 42 +} +``` + +--- + +# Thank You + +## Questions? + +**Repository:** novelty-seeking +**Experiment Date:** January 19, 2026 +**Contact:** [Your Email] + +--- + +# Backup Slides + +--- + +# Backup: Deduplication Threshold Analysis + +Original threshold (0.85) was too aggressive: +- 40.5% of removed pairs were borderline (0.85-0.87) +- Many genuinely different concepts were grouped + +Raised to 0.90: +- RQ1 (Attributes) became significant (p: 0.052 → 0.027) +- Preserved ~103 additional unique ideas + +--- + +# Backup: Sample Ideas by Condition + +## Query: "Chair" + +**C1 Direct:** +- Ergonomic office chair with lumbar support +- Foldable camping chair + +**C2 Expert-Only (Architect):** +- Load-bearing furniture integrated into building structure + +**C4 Full Pipeline:** +- Asset-tracking chairs with RFID for corporate inventory +- (Accountant + "portable" → "mobile assets") + +--- + +# Backup: Efficiency Calculation + +$$\text{Efficiency} = \frac{\text{Mean Pairwise Distance}}{\text{Idea Count}} \times 100$$ + +| Condition | Calculation | Result | +|-----------|-------------|:------:| +| C3 Attribute | 0.376 / 12.8 × 100 | 3.01 | +| C4 Pipeline | 0.393 / 51.9 × 100 | 0.78 | + +C3 achieves 96% of C4's diversity with 25% of the ideas diff --git a/experiments/docs/future_research_plan_zh.md b/experiments/docs/future_research_plan_zh.md new file mode 100644 index 0000000..48007c2 --- /dev/null +++ b/experiments/docs/future_research_plan_zh.md @@ -0,0 +1,342 @@ +# 研究發表計畫與未來工作 + +**建立日期:** 2026-01-19 +**專案:** Breaking Semantic Gravity in LLM-Based Creative Ideation + +--- + +## 一、發表可行性評估 + +### 現有研究的覆蓋範圍 + +| 主題 | 代表論文 | 我們的差異 | +|------|----------|------------| +| LLM 創意評估 | Organisciak et al. (2023) | 他們評估 LLM 創意,我們是**增強**創意 | +| AUT 彈性評分 | Hadas & Hershkovitz (2024) | 他們是評估方法,我們是**生成方法** | +| Prompt 工程 | Zhou et al. (2023) | 他們優化 prompt,我們是**結構化管線** | +| LLM-as-Judge | Zheng et al. (2023) | 這是評估工具,非核心貢獻 | + +### 本研究的獨特貢獻 + +| 獨特性 | 說明 | 學術價值 | +|--------|------|----------| +| Context-Free Keyword Generation | 專家從未看到原始查詢,強迫雙重聯想 | 方法創新 | +| 次加性交互作用 | 屬性 × 專家 = Sub-additive | 實證發現 | +| 隨機視角 ≈ 領域專家 | 視角轉換本身比專業知識更重要 | 理論貢獻 | +| 新穎性-彈性正交性 | 在 LLM 創意生成中首次驗證 | 理論驗證 | + +--- + +## 二、目前研究狀態 + +### 已完成 ✓ + +| 要素 | 狀態 | 詳情 | +|------|:----:|------| +| 理論框架 | ✓ | Bisociation Theory + Torrance Creativity Framework | +| 實驗設計 | ✓ | 2×2 factorial + control (5 conditions) | +| 管線實作 | ✓ | 屬性分解 → 專家轉換 → 去重 | +| 自動評估指標 | ✓ | 新穎性、彈性、多樣性、凝聚度、跳躍信號 | +| 人類評估介面 | ✓ | Web-based Torrance 評分工具 | +| 統計分析 | ✓ | ANOVA、效果量、相關性分析 | +| 初步實驗 | ✓ | 10 queries, Qwen3:8b, 1119 ideas | + +### 需要補充 ✗ + +| 缺口 | 重要性 | 說明 | +|------|:------:|------| +| 多模型驗證 | **高** | 目前只有 Qwen3:8b | +| 人類評估數據 | **高** | 介面已建置但未收集數據 | +| 樣本量擴充 | **中** | 10 → 30-50 queries | +| Baseline 比較 | **中** | 與其他創意增強方法比較 | +| LLM-as-Judge | 中 | 與人類評估的相關性驗證 | + +--- + +## 三、發表策略選項 + +### 選項 A:完整論文(頂會/期刊) + +**目標會議/期刊:** +- ACL / EMNLP(NLP 頂會) +- CHI(人機互動頂會) +- Creativity Research Journal(創意研究期刊) +- Thinking Skills and Creativity(創意思維期刊) + +**論文標題建議:** +> "Breaking Semantic Gravity: Context-Free Expert Perspectives for LLM Creative Ideation" + +**需要補充的工作:** + +| 工作項目 | 預估時間 | 優先級 | +|----------|:--------:|:------:| +| GPT-4 實驗 | 1 週 | P0 | +| Claude 實驗 | 1 週 | P0 | +| Llama-3 實驗 | 1 週 | P1 | +| 人類評估收集 | 2-3 週 | P0 | +| 樣本量擴充 (30 queries) | 1 週 | P1 | +| Baseline 比較實驗 | 1-2 週 | P1 | +| 論文撰寫 | 2-3 週 | - | + +**總預估時間:** 2-3 個月 + +--- + +### 選項 B:短論文 / Workshop Paper + +**目標:** +- ACL/EMNLP Workshop on Creativity and AI +- NeurIPS Workshop on Creativity and Design +- ICCC (International Conference on Computational Creativity) + +**需要補充的工作:** + +| 工作項目 | 預估時間 | 優先級 | +|----------|:--------:|:------:| +| GPT-4 實驗 | 1 週 | P0 | +| 小規模人類評估 (50-100 ideas) | 1 週 | P0 | +| 論文撰寫 | 1 週 | - | + +**總預估時間:** 2-4 週 + +--- + +## 四、實驗補充計畫 + +### Phase 1:多模型驗證(優先級 P0) + +``` +目標:驗證方法的泛化性 + +模型清單: + □ GPT-4 / GPT-4o (OpenAI) + □ Claude 3.5 Sonnet (Anthropic) + □ Llama-3-70B (Meta) + □ Gemini Pro (Google) [optional] + +實驗設計: + - 相同的 10 queries + - 相同的 5 conditions + - 相同的評估指標 + +預期結果: + - 跨模型一致性分析 + - 模型特定效應識別 +``` + +### Phase 2:人類評估(優先級 P0) + +``` +目標:驗證自動指標與人類判斷的相關性 + +評估維度(Torrance Framework): + 1. 原創性 (Originality) - 1-5 Likert + 2. 精緻性 (Elaboration) - 1-5 Likert + 3. 可行性 (Feasibility) - 1-5 Likert + 4. 荒謬性 (Nonsense) - Binary + +樣本策略: + - 分層抽樣:每 condition × 每 query = 4 ideas + - 總計:5 × 10 × 4 = 200 ideas + - 評審者:3-5 人(計算 ICC) + +介面: + - 已建置:experiments/assessment/ + - 需要:招募評審者、收集數據 +``` + +### Phase 3:樣本量擴充(優先級 P1) + +``` +目標:提高統計效力 + +擴充計畫: + - 現有:10 queries + - 目標:30-50 queries + +Query 來源: + - 物品類:傢俱、工具、電器、交通工具 + - 概念類:服務、系統、流程 + - 混合類:結合物理和數位元素 + +統計效力分析: + - 當前效果量 d ≈ 2-3(大效應) + - 30 queries 應足夠達到 power > 0.95 +``` + +### Phase 4:Baseline 比較(優先級 P1) + +``` +目標:與現有方法比較 + +Baseline 方法: + 1. Vanilla Prompting + "Generate creative uses for [object]" + + 2. Chain-of-Thought (CoT) + "Think step by step about creative uses..." + + 3. Few-shot Examples + 提供 3-5 個創意範例 + + 4. Role-Playing (Standard) + "As a [expert], suggest uses for [object]" + (專家看到完整查詢) + +比較指標: + - 新穎性、彈性、多樣性 + - 想法數量、生成時間 + - 人類評估分數 +``` + +--- + +## 五、論文大綱草稿 + +### Title +"Breaking Semantic Gravity: Context-Free Expert Perspectives for Enhanced LLM Creative Ideation" + +### Abstract +- Problem: LLMs generate ideas clustered around training distributions +- Method: Attribute decomposition + context-free expert transformation +- Results: Sub-additive interaction, random ≈ expert, novelty ⊥ flexibility +- Contribution: Novel pipeline + empirical findings + +### 1. Introduction +- Semantic gravity problem in LLM creativity +- Bisociation theory and creative thinking +- Research questions (RQ1-4) + +### 2. Related Work +- LLM creativity evaluation +- Prompt engineering for creativity +- Computational creativity methods + +### 3. Method +- Pipeline architecture +- Context-free keyword generation +- Experimental design (2×2 + control) + +### 4. Evaluation Framework +- Automatic metrics (novelty, flexibility, diversity) +- Human evaluation (Torrance dimensions) +- LLM-as-Judge validation + +### 5. Results +- RQ1: Attribute effect +- RQ2: Expert effect +- RQ3: Interaction effect +- RQ4: Expert vs Random +- Cross-model validation + +### 6. Discussion +- Attribute anchoring effect +- Value of perspective shift +- Novelty vs flexibility orthogonality + +### 7. Conclusion +- Contributions +- Limitations +- Future work + +--- + +## 六、時間線規劃 + +### 快速發表路線(Workshop Paper) + +``` +Week 1-2: 多模型實驗 (GPT-4, Claude) +Week 2-3: 小規模人類評估 +Week 3-4: 論文撰寫與投稿 + +目標:2026 Q1 Workshop Deadline +``` + +### 完整發表路線(Full Paper) + +``` +Month 1: + - Week 1-2: 多模型實驗 + - Week 3-4: 樣本量擴充 + +Month 2: + - Week 1-2: 人類評估收集 + - Week 3-4: Baseline 比較實驗 + +Month 3: + - Week 1-2: 數據分析與統計 + - Week 3-4: 論文撰寫 + +目標:ACL 2026 / EMNLP 2026 +``` + +--- + +## 七、風險與緩解 + +| 風險 | 可能性 | 影響 | 緩解策略 | +|------|:------:|:----:|----------| +| 跨模型結果不一致 | 中 | 高 | 報告為「模型特定發現」 | +| 人類評估 ICC 低 | 中 | 中 | 增加評審者、修訂評分指南 | +| 效應在大樣本消失 | 低 | 高 | 現有效果量大,風險較低 | +| 競爭論文搶先 | 低 | 高 | 優先投 Workshop 建立優先權 | + +--- + +## 八、資源需求 + +### 計算資源 + +| 資源 | 用途 | 預估成本 | +|------|------|:--------:| +| OpenAI API | GPT-4 實驗 | ~$50-100 | +| Anthropic API | Claude 實驗 | ~$50-100 | +| Local GPU | Llama 實驗 | 已有 | +| Ollama | Embedding | 已有 | + +### 人力資源 + +| 角色 | 需求 | 說明 | +|------|------|------| +| 人類評審者 | 3-5 人 | 可招募同學或眾包 | +| 統計顧問 | 可選 | 複雜統計分析諮詢 | + +--- + +## 九、成功指標 + +### 短期(1個月內) + +- [ ] 完成 GPT-4 實驗 +- [ ] 完成 Claude 實驗 +- [ ] 收集至少 100 個人類評估樣本 + +### 中期(3個月內) + +- [ ] 完成所有模型實驗 +- [ ] 完成人類評估(200+ samples, ICC > 0.7) +- [ ] 完成 baseline 比較 +- [ ] 投稿第一篇論文 + +### 長期(6個月內) + +- [ ] 論文被接受 +- [ ] 開源程式碼和數據集 +- [ ] 擴展到其他創意任務 + +--- + +## 十、參考文獻 + +1. Hadas, S., & Hershkovitz, A. (2024). Using Large Language Models to Evaluate Alternative Uses Task Flexibility Score. *Thinking Skills and Creativity*, 52, 101549. + +2. Organisciak, P., et al. (2023). Beyond Semantic Distance: Automated Scoring of Divergent Thinking Greatly Improves with Large Language Models. *Thinking Skills and Creativity*, 49, 101356. + +3. Koestler, A. (1964). *The Act of Creation*. Hutchinson. + +4. Torrance, E.P. (1974). *Torrance Tests of Creative Thinking*. Scholastic Testing Service. + +5. Stevenson, C., et al. (2024). Characterizing Creative Processes in Humans and Large Language Models. *arXiv:2405.00899*. + +6. Zheng, L., et al. (2023). Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. *NeurIPS 2023*. diff --git a/experiments/docs/presentation_notes_zh.md b/experiments/docs/presentation_notes_zh.md new file mode 100644 index 0000000..09743cd --- /dev/null +++ b/experiments/docs/presentation_notes_zh.md @@ -0,0 +1,178 @@ +# 簡報備忘稿 + +--- + +## 開場(1-2 分鐘) + +**問題:** LLM 生成創意時有「語義引力」問題 +- 問「椅子創新用途」→ 都是「人體工學椅」「折疊椅」 +- 想法集中在訓練數據的高頻區域 + +**我們的解法:** Bisociation(雙重聯想) +- 拆解屬性 + 專家視角 + 無上下文關鍵字 +- 強迫產生意外連結 + +--- + +## 實驗設計(1 分鐘) + +**五個條件,2×2 + 控制組:** + +| 條件 | 記法 | 重點 | +|------|------|------| +| C1 | 直接生成 | Baseline | +| C2 | 只有專家 | 專家自由發揮 | +| C3 | 只有屬性 | 結構但無專家 | +| C4 | 完整管線 | 屬性 + 專家 | +| C5 | 隨機詞彙 | 控制組:隨機 vs 專家 | + +**關鍵設計:** 專家生成關鍵字時**看不到原始查詢** +- 會計師 + 「便攜」→ 「流動資產」(不知道是椅子) +- 再把「流動資產」+ 「椅子」結合 + +--- + +## 四個研究問題的答案 + +| RQ | 問題 | 答案 | 一句話 | +|----|------|:----:|--------| +| RQ1 | 屬性有效? | ✓ Yes | p=0.027 | +| RQ2 | 專家有效? | ✓ Yes | p<0.001 | +| RQ3 | 有加乘效果? | ✗ No | Sub-additive | +| RQ4 | 專家 > 隨機? | ✗ No | p=0.463 | + +**意外發現:** 隨機詞彙跟專家一樣好 → 價值在「視角轉換」本身 + +--- + +## 核心數據(記住這幾個數字) + +### 新穎性(距離質心,越高越新穎) +``` +C4: 0.395 ← 最高! +C5: 0.365 +C3: 0.337 +C2: 0.315 +C1: 0.273 ← 最低(最典型) +``` + +### 彈性(組合跳躍數,越高越分散) +``` +C2: 48 ← 最高!(專家自由探索) +C3: 33 +C5: 20 +C4: 13 ← 最低!(專注探索) +C1: 0 ← 單一群集 +``` + +--- + +## 🔑 關鍵發現(重點中的重點) + +### 發現 1:原創性-彈性相關性 + +**論文說:** +- 人類:r ≈ 0(無相關) +- 典型 LLM:r > 0(正相關) + +**我們的結果:r = 0.071(接近零)** + +→ **產生「類似人類」的創意模式!** + +### 發現 2:C4 的獨特位置 + +``` +C4 = 最高新穎性 + 最低彈性 + +這代表:「專注的新穎性」 +- 不是到處亂跳(高彈性) +- 而是深入一個新穎領域(低彈性但高新穎) +- 像人類專家的創意模式 +``` + +### 發現 3:為什麼會這樣? + +``` +屬性錨定效應: + 所有專家都回應同樣的屬性集 + → 想法被錨定在相似概念空間(低彈性) + → 但無上下文關鍵字強迫新穎聯結(高新穎) + +結果:focused novelty(聚焦的新穎性) +``` + +--- + +## 方法論亮點 + +### 組合跳躍信號(Combined Jump) +- 舊方法:只看類別切換 +- 新方法:類別切換 **且** 語義不相似 +- 減少假陽性,更準確 + +### 彈性檔案分類 +| 檔案 | 跳躍比率 | 我們的結果 | +|------|:--------:|:----------:| +| Persistent | <30% | 全部條件 | +| Mixed | 30-45% | 無 | +| Flexible | >45% | 無 | + +→ LLM 傾向「持續探索」而非「靈活跳躍」 + +--- + +## 限制(誠實說) + +1. **樣本小:** 10 個查詢(pilot study) +2. **沒有人工評估:** 只有 embedding 指標 +3. **單一模型:** 只測 Qwen3:8b +4. **語義距離 ≠ 真正新穎:** 「量子糾纏椅」距離遠但不新穎 + +--- + +## 下一步(如果被問到) + +1. **人工評估介面**(已建好) +2. **多模型驗證**(GPT-4, Claude) +3. **LLM-as-Judge** 大規模評分 +4. **30 個查詢** 增加統計效力 + +--- + +## 一句話總結 + +> **我們的屬性+專家管線讓 LLM 產生「類似人類專家」的創意模式: +> 高新穎性但專注探索,打破典型 LLM 的「彈性=新穎」正相關。** + +--- + +## 快問快答 + +**Q: 為什麼隨機詞跟專家一樣好?** +A: 價值在「視角轉換」本身,不在專業知識 + +**Q: 為什麼 C4 彈性最低但新穎性最高?** +A: 屬性把專家錨定在同一概念空間,但無上下文關鍵字強迫新穎連結 + +**Q: r=0.071 代表什麼?** +A: 新穎性和彈性無相關,跟人類一樣,打破典型 LLM 的正相關模式 + +**Q: Persistent profile 是好是壞?** +A: 不是好壞,是探索策略。C4 證明可以 persistent 但仍然 novel + +**Q: 這對實務有什麼用?** +A: 想要高新穎性 → 用 C4;想要多元類別 → 用 C2 + +--- + +## 數字速查表 + +| 指標 | C1 | C2 | C3 | C4 | C5 | +|------|:--:|:--:|:--:|:--:|:--:| +| 想法數 | 195 | 198 | 125 | **402** | 199 | +| 新穎性 | 0.273 | 0.315 | 0.337 | **0.395** | 0.365 | +| 彈性(jumps) | 0 | **48** | 33 | 13 | 20 | +| 跳躍比率 | 0% | 24% | 27% | **3%** | 10% | +| 凝聚度 | 71% | 73% | 51% | **89%** | 71% | + +**記憶口訣:** C4 最新穎、最凝聚、最低彈性 = 「聚焦的新穎」 diff --git a/experiments/generate_ideas.py b/experiments/generate_ideas.py new file mode 100644 index 0000000..b8e9a58 --- /dev/null +++ b/experiments/generate_ideas.py @@ -0,0 +1,290 @@ +""" +Main experiment runner for the 5-condition idea generation study. + +Usage: + # Run single query through all conditions + python -m experiments.generate_ideas --pilot --query "Chair" + + # Run all pilot queries + python -m experiments.generate_ideas --pilot + + # Run specific conditions + python -m experiments.generate_ideas --query "Bicycle" --conditions c1_direct c4_full_pipeline +""" + +import sys +import json +import argparse +import asyncio +import logging +from datetime import datetime +from pathlib import Path +from typing import List, Dict, Any, Optional + +# Add backend to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent / "backend")) + +from experiments.config import ( + CONDITIONS, CONDITION_NAMES, DATA_DIR, RESULTS_DIR, EXPERIMENT_CONFIG +) +from experiments.conditions import ( + c1_generate, c2_generate, c3_generate, c4_generate, c5_generate +) + +# Configure logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s' +) +logger = logging.getLogger(__name__) + + +# Condition function mapping +CONDITION_FUNCTIONS = { + "c1_direct": c1_generate, + "c2_expert_only": c2_generate, + "c3_attribute_only": c3_generate, + "c4_full_pipeline": c4_generate, + "c5_random_perspective": c5_generate, +} + + +def load_queries() -> List[Dict[str, Any]]: + """Load pilot queries from data file.""" + queries_file = DATA_DIR / "queries.json" + with open(queries_file, "r", encoding="utf-8") as f: + data = json.load(f) + return data.get("queries", []) + + +def save_results(results: List[Dict[str, Any]], filename: str) -> Path: + """Save results to JSON file.""" + RESULTS_DIR.mkdir(parents=True, exist_ok=True) + output_path = RESULTS_DIR / filename + with open(output_path, "w", encoding="utf-8") as f: + json.dump(results, f, indent=2, ensure_ascii=False) + return output_path + + +async def run_condition( + query: str, + condition: str +) -> Dict[str, Any]: + """Run a single condition for a query.""" + if condition not in CONDITION_FUNCTIONS: + raise ValueError(f"Unknown condition: {condition}") + + generate_fn = CONDITION_FUNCTIONS[condition] + result = await generate_fn(query) + return result + + +async def run_experiment( + queries: Optional[List[str]] = None, + conditions: Optional[List[str]] = None, + save_intermediate: bool = True +) -> Dict[str, Any]: + """ + Run the full experiment. + + Args: + queries: List of queries to run (None = all pilot queries) + conditions: List of conditions to run (None = all conditions) + save_intermediate: Whether to save results after each query + + Returns: + Complete experiment results + """ + # Load queries if not provided + if queries is None: + query_data = load_queries() + queries_to_run = [(q["id"], q["query"], q["category"]) for q in query_data] + else: + queries_to_run = [(f"Q{i}", q, "custom") for i, q in enumerate(queries)] + + # Default to all conditions + conditions = conditions or CONDITIONS + + logger.info(f"Starting experiment with {len(queries_to_run)} queries and {len(conditions)} conditions") + logger.info(f"Conditions: {', '.join(conditions)}") + + experiment_results = { + "experiment_id": datetime.now().strftime("%Y%m%d_%H%M%S"), + "config": EXPERIMENT_CONFIG, + "conditions": conditions, + "query_count": len(queries_to_run), + "results": [], + "summary": {} + } + + for query_id, query, category in queries_to_run: + logger.info(f"\n{'='*60}") + logger.info(f"Processing query: {query} (ID: {query_id}, Category: {category})") + logger.info(f"{'='*60}") + + query_results = { + "query_id": query_id, + "query": query, + "category": category, + "conditions": {} + } + + for condition in conditions: + logger.info(f"\n Running {CONDITION_NAMES.get(condition, condition)}...") + + try: + result = await run_condition(query, condition) + + query_results["conditions"][condition] = { + "success": True, + "idea_count": result["idea_count"], + "ideas": result["ideas"], + "ideas_with_source": result.get("ideas_with_source", []), + "metadata": result["metadata"] + } + + logger.info(f" Generated {result['idea_count']} ideas") + + except Exception as e: + logger.error(f" Error in {condition}: {e}") + query_results["conditions"][condition] = { + "success": False, + "error": str(e), + "idea_count": 0, + "ideas": [] + } + + experiment_results["results"].append(query_results) + + # Save intermediate results + if save_intermediate: + save_results( + experiment_results, + f"experiment_{experiment_results['experiment_id']}_intermediate.json" + ) + + # Calculate summary statistics + experiment_results["summary"] = calculate_summary(experiment_results) + + # Save final results + output_path = save_results( + experiment_results, + f"experiment_{experiment_results['experiment_id']}_complete.json" + ) + + logger.info(f"\n{'='*60}") + logger.info("Experiment complete!") + logger.info(f"Results saved to: {output_path}") + logger.info(f"{'='*60}") + + return experiment_results + + +def calculate_summary(results: Dict[str, Any]) -> Dict[str, Any]: + """Calculate summary statistics for the experiment.""" + summary = { + "total_queries": len(results["results"]), + "conditions": {} + } + + for condition in results["conditions"]: + condition_stats = { + "total_ideas": 0, + "successful_queries": 0, + "failed_queries": 0, + "avg_ideas_per_query": 0 + } + + for query_result in results["results"]: + cond_result = query_result["conditions"].get(condition, {}) + if cond_result.get("success", False): + condition_stats["successful_queries"] += 1 + condition_stats["total_ideas"] += cond_result.get("idea_count", 0) + else: + condition_stats["failed_queries"] += 1 + + if condition_stats["successful_queries"] > 0: + condition_stats["avg_ideas_per_query"] = ( + condition_stats["total_ideas"] / condition_stats["successful_queries"] + ) + + summary["conditions"][condition] = condition_stats + + return summary + + +def print_summary(results: Dict[str, Any]): + """Print a formatted summary of the experiment.""" + print("\n" + "=" * 70) + print("EXPERIMENT SUMMARY") + print("=" * 70) + + summary = results.get("summary", {}) + print(f"\nTotal queries processed: {summary.get('total_queries', 0)}") + + print("\nResults by condition:") + print("-" * 70) + print(f"{'Condition':<30} {'Success':<10} {'Total Ideas':<15} {'Avg/Query':<10}") + print("-" * 70) + + for condition, stats in summary.get("conditions", {}).items(): + name = CONDITION_NAMES.get(condition, condition) + success = stats.get("successful_queries", 0) + total = stats.get("total_ideas", 0) + avg = stats.get("avg_ideas_per_query", 0) + print(f"{name:<30} {success:<10} {total:<15} {avg:<10.1f}") + + print("-" * 70) + + +async def main(): + parser = argparse.ArgumentParser( + description="Run the 5-condition idea generation experiment" + ) + parser.add_argument( + "--pilot", + action="store_true", + help="Run pilot experiment with all 10 queries" + ) + parser.add_argument( + "--query", + type=str, + help="Run single query (e.g., 'Chair')" + ) + parser.add_argument( + "--conditions", + nargs="+", + choices=CONDITIONS, + help="Specific conditions to run" + ) + parser.add_argument( + "--no-save-intermediate", + action="store_true", + help="Don't save intermediate results" + ) + + args = parser.parse_args() + + # Determine queries to run + if args.query: + queries = [args.query] + elif args.pilot: + queries = None # Will load all pilot queries + else: + parser.print_help() + print("\nError: Must specify --pilot or --query") + sys.exit(1) + + # Run experiment + results = await run_experiment( + queries=queries, + conditions=args.conditions, + save_intermediate=not args.no_save_intermediate + ) + + # Print summary + print_summary(results) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/experiments/novelty_loop/README.md b/experiments/novelty_loop/README.md new file mode 100644 index 0000000..3136f63 --- /dev/null +++ b/experiments/novelty_loop/README.md @@ -0,0 +1,253 @@ +# Novelty-Driven LLM Agent Loop + +An autonomous LLM agent that generates tasks in a while loop, using **novelty assessment as the termination condition** to help the agent "jump out" of its trained data distribution (semantic gravity). + +## Concept + +Traditional LLM-based idea generation tends to produce outputs clustered around high-probability regions of the training distribution. This "semantic gravity" limits creative exploration. + +This module implements a novel approach: use **novelty scores** to dynamically control when the agent should stop. Instead of fixed iteration counts, the agent continues until it finds something truly novel (a "breakthrough"). + +``` +Seed Problem → Expert Sample → Task Generation → Novelty Assessment → Continue/Stop +``` + +## Research Foundation + +This work builds on established research: + +- **Novelty Search** (Lehman & Stanley): Reward novelty, not objectives +- **Curiosity-driven Exploration** (Pathak et al.): Intrinsic motivation via prediction error +- **Quality-Diversity** (MAP-Elites): Maintain diverse high-quality solutions +- **Open-ended Learning**: Endless innovation through novelty pressure + +The unique contribution is using **novelty as a termination condition** rather than just a reward signal. + +## Architecture + +``` +┌──────────────────────────────────────────────────────────────────┐ +│ Novelty-Driven Task Generation Loop │ +├──────────────────────────────────────────────────────────────────┤ +│ │ +│ ┌──────────┐ │ +│ │ Seed │ "Design a better bicycle" │ +│ │ Problem │ │ +│ └────┬─────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────────────────────────────────────────┐ │ +│ │ WHILE novelty < threshold AND iterations < max: │ │ +│ │ │ │ +│ │ 1. Sample random expert (curated occupations) │ │ +│ │ e.g., "marine biologist", "choreographer" │ │ +│ │ │ │ +│ │ 2. Generate task from expert perspective │ │ +│ │ "What task would a {expert} assign to improve │ │ +│ │ {seed_problem}?" │ │ +│ │ │ │ +│ │ 3. Embed task, compute novelty vs. centroid │ │ +│ │ │ │ +│ │ 4. If novelty > threshold → STOP (breakthrough!) │ │ +│ │ │ │ +│ └─────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ▼ │ +│ ┌──────────┐ │ +│ │ Output: │ Novel task that "jumped out" of typical space │ +│ │ Task │ + trajectory of exploration │ +│ └──────────┘ │ +│ │ +└──────────────────────────────────────────────────────────────────┘ +``` + +## Installation + +The module uses the existing project infrastructure. Ensure you have: + +1. **Ollama** running with the required models: + ```bash + ollama pull qwen3:8b + ollama pull qwen3-embedding:4b + ``` + +2. **Python dependencies** (from project root): + ```bash + cd backend + source venv/bin/activate + pip install httpx numpy + ``` + +## Quick Start + +### Basic Usage + +```bash +cd experiments/novelty_loop +python demo.py "Improve urban transportation" +``` + +### Example Output + +``` +Iteration 1 + Expert: Architect (Architecture & Design) + Task: Design multi-modal transit hubs that integrate pedestrian, cycling, and public transport seamlessly + Novelty: [████████░░░░░░░░░░░░] 0.1234 + +Iteration 2 + Expert: Chef (Culinary) + Task: Create food delivery route optimization algorithms inspired by kitchen workflow efficiency + Novelty: [███████████░░░░░░░░░] 0.1823 + +Iteration 3 + Expert: Marine Biologist (Science) + Task: Study fish schooling behavior to develop organic traffic flow algorithms + Novelty: [██████████████░░░░░░] 0.3521 + +Iteration 4 + Expert: Choreographer (Performing Arts) + Task: Design pedestrian movement as urban dance, creating rhythmic crossing patterns + Novelty: [████████████████████] 0.5234 + ★ BREAKTHROUGH! ★ +``` + +## Termination Strategies + +### 1. Seek Breakthrough (Default) + +Stop when novelty exceeds threshold. Finds the first truly novel task. + +```bash +python demo.py "Your problem" --strategy breakthrough --threshold 0.4 +``` + +### 2. Exhaust Frontier + +Continue while novelty is high, stop when average novelty drops. Explores more thoroughly. + +```bash +python demo.py "Your problem" --strategy exhaust --exhaust-threshold 0.15 +``` + +### 3. Coverage Target + +Continue until N distinct conceptual clusters are covered. Ensures diversity. + +```bash +python demo.py "Your problem" --strategy coverage --clusters 5 +``` + +## API Usage + +```python +import asyncio +from experiments.novelty_loop.agent import NoveltyDrivenTaskAgent + +async def main(): + agent = NoveltyDrivenTaskAgent( + novelty_threshold=0.4, + max_iterations=20, + language="en" + ) + + result = await agent.run("Design a better bicycle") + + print(f"Found breakthrough: {result.breakthrough_task.task}") + print(f"Novelty score: {result.breakthrough_task.novelty_score}") + print(f"From expert: {result.breakthrough_task.expert}") + + await agent.close() + +asyncio.run(main()) +``` + +## Novelty Metrics + +The `novelty_metrics.py` module provides: + +- **Centroid Distance**: Primary novelty metric - how far from the average of all previous outputs +- **Min Distance**: Distance to nearest neighbor (detect duplicates) +- **Jump Detection**: Identifies significant semantic shifts between consecutive outputs +- **Trajectory Tracking**: Cumulative novelty, jump ratio, etc. + +```python +from experiments.novelty_loop.novelty_metrics import NoveltyMetrics + +metrics = NoveltyMetrics(similarity_threshold=0.7) + +# Add embeddings one by one +for embedding in embeddings: + novelty = metrics.compute_novelty(embedding) + metrics.add_embedding(embedding, novelty) + print(f"Novelty: {novelty.score:.4f}, Is Jump: {novelty.is_jump}") + +# Get trajectory stats +print(f"Mean novelty: {metrics.trajectory.mean_novelty}") +print(f"Max novelty: {metrics.trajectory.max_novelty}") +print(f"Jump ratio: {metrics.trajectory.jump_ratio}") +``` + +## CLI Options + +``` +positional arguments: + seed_problem The seed problem or challenge to explore + +options: + --strategy {breakthrough,exhaust,coverage} + Termination strategy (default: breakthrough) + --threshold, -t Novelty threshold for breakthrough (default: 0.4) + --max-iter, -m Maximum iterations (default: 20) + --language, -l {en,zh} + Language for prompts and experts (default: en) + --model LLM model for task generation (default: qwen3:8b) + --embedding-model Embedding model (default: qwen3-embedding:4b) + --temperature LLM temperature (default: 0.7) + --output, -o Save results to JSON file + --quiet, -q Suppress iteration output + --verbose, -v Enable verbose logging +``` + +## File Structure + +``` +experiments/novelty_loop/ +├── README.md # This file +├── agent.py # Core NoveltyDrivenTaskAgent and variants +├── novelty_metrics.py # Novelty computation utilities +└── demo.py # Interactive CLI demo +``` + +## Design Decisions + +| Question | Decision | Rationale | +|----------|----------|-----------| +| Output Type | **Tasks** | Self-generated sub-goals for autonomous problem decomposition | +| Termination | **Seek Breakthrough** | Stop when novelty exceeds threshold - find truly novel task | +| Perturbation | **Expert Perspectives** | Experts have task-oriented knowledge; more natural than abstract domains | +| Novelty Reference | **Centroid** | Dynamic, adapts as exploration progresses | + +## Connection to Main Project + +This module integrates with the main novelty-seeking project: + +- Uses the same **curated occupation data** (`backend/app/data/curated_occupations_*.json`) +- Uses the same **embedding model** (qwen3-embedding:4b) +- Builds on the **AUT flexibility analysis** metrics for novelty computation +- Can use **DDC domain data** for alternative perturbation strategies + +## Future Work + +1. **Hybrid Perturbation**: Combine expert + domain perspectives +2. **Contrastive Prompting**: Explicitly ask for outputs unlike recent ones +3. **Semantic Steering**: Guide generation away from centroid direction +4. **Multi-Agent Exploration**: Parallel agents with different strategies +5. **Quality-Diversity Archive**: Maintain diverse high-quality solutions + +## References + +- Lehman, J., & Stanley, K. O. (2011). Abandoning objectives: Evolution through the search for novelty alone. +- Pathak, D., et al. (2017). Curiosity-driven exploration by self-supervised prediction. +- Mouret, J. B., & Clune, J. (2015). Illuminating search spaces by mapping elites. +- arXiv:2405.00899 - Characterising Creative Process in Humans and LLMs diff --git a/experiments/novelty_loop/__init__.py b/experiments/novelty_loop/__init__.py new file mode 100644 index 0000000..fdae51e --- /dev/null +++ b/experiments/novelty_loop/__init__.py @@ -0,0 +1,42 @@ +""" +Novelty-Driven LLM Agent Loop + +An autonomous agent that generates tasks using novelty as the termination condition. +""" + +from .agent import ( + NoveltyDrivenTaskAgent, + ExhaustFrontierAgent, + CoverageTargetAgent, + GeneratedTask, + TaskGenerationResult, + ExpertProvider, + DomainProvider, +) + +from .novelty_metrics import ( + NoveltyMetrics, + NoveltyScore, + NoveltyTrajectory, + compute_batch_novelty, + find_most_novel, +) + +__all__ = [ + # Agents + "NoveltyDrivenTaskAgent", + "ExhaustFrontierAgent", + "CoverageTargetAgent", + # Data classes + "GeneratedTask", + "TaskGenerationResult", + "NoveltyScore", + "NoveltyTrajectory", + # Providers + "ExpertProvider", + "DomainProvider", + # Metrics + "NoveltyMetrics", + "compute_batch_novelty", + "find_most_novel", +] diff --git a/experiments/novelty_loop/agent.py b/experiments/novelty_loop/agent.py new file mode 100644 index 0000000..293f387 --- /dev/null +++ b/experiments/novelty_loop/agent.py @@ -0,0 +1,725 @@ +""" +Novelty-Driven Task Agent - An autonomous agent that generates tasks using novelty as termination condition. + +This agent operates in a while loop, generating tasks from diverse expert perspectives, +and terminates when it finds a task that exceeds the novelty threshold (a "breakthrough"). + +The core innovation is using novelty assessment to help the agent "jump out" of its +trained data distribution (semantic gravity), finding truly novel ideas. + +Architecture: + Seed Problem → Expert Sample → Task Generation → Novelty Assessment → Continue/Stop + +Termination Strategy: "Seek Breakthrough" + - Continue until novelty > threshold + - Find the first truly novel task and stop + +Research Foundation: + - Novelty Search (Lehman & Stanley): Reward novelty, not objectives + - Curiosity-driven Exploration (Pathak et al.): Intrinsic motivation via prediction error + - Quality-Diversity (MAP-Elites): Maintain diverse high-quality solutions +""" + +import asyncio +import json +import logging +import random +from dataclasses import dataclass, field +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Callable, List, Optional + +import httpx +import numpy as np + +from .novelty_metrics import NoveltyMetrics, NoveltyScore, NoveltyTrajectory + +logger = logging.getLogger(__name__) + + +# ============================================================================ +# Data Classes +# ============================================================================ + +@dataclass +class GeneratedTask: + """A single generated task with metadata.""" + task: str + expert: str + expert_domain: str + novelty_score: float + iteration: int + is_breakthrough: bool = False + embedding: Optional[np.ndarray] = None + + +@dataclass +class TaskGenerationResult: + """Result of a complete novelty-driven task generation session.""" + seed_problem: str + breakthrough_task: Optional[GeneratedTask] = None + trajectory: List[GeneratedTask] = field(default_factory=list) + total_iterations: int = 0 + terminated_by: str = "unknown" # "breakthrough", "max_iterations", "error" + novelty_trajectory: Optional[NoveltyTrajectory] = None + start_time: Optional[str] = None + end_time: Optional[str] = None + config: dict = field(default_factory=dict) + + def to_dict(self) -> dict: + """Convert to dictionary for JSON serialization.""" + return { + "seed_problem": self.seed_problem, + "breakthrough_task": { + "task": self.breakthrough_task.task, + "expert": self.breakthrough_task.expert, + "expert_domain": self.breakthrough_task.expert_domain, + "novelty_score": self.breakthrough_task.novelty_score, + "iteration": self.breakthrough_task.iteration + } if self.breakthrough_task else None, + "trajectory": [ + { + "task": t.task, + "expert": t.expert, + "expert_domain": t.expert_domain, + "novelty_score": t.novelty_score, + "iteration": t.iteration, + "is_breakthrough": t.is_breakthrough + } + for t in self.trajectory + ], + "total_iterations": self.total_iterations, + "terminated_by": self.terminated_by, + "novelty_stats": { + "mean_novelty": self.novelty_trajectory.mean_novelty if self.novelty_trajectory else 0, + "max_novelty": self.novelty_trajectory.max_novelty if self.novelty_trajectory else 0, + "jump_ratio": self.novelty_trajectory.jump_ratio if self.novelty_trajectory else 0, + "cumulative_novelty": self.novelty_trajectory.final_cumulative_novelty if self.novelty_trajectory else 0 + }, + "start_time": self.start_time, + "end_time": self.end_time, + "config": self.config + } + + +# ============================================================================ +# Expert/Domain Providers +# ============================================================================ + +class ExpertProvider: + """Provides random experts from curated occupation lists.""" + + def __init__(self, data_dir: Optional[Path] = None, language: str = "en"): + """ + Args: + data_dir: Path to data directory containing occupation JSON files + language: Language code ("en" or "zh") + """ + if data_dir is None: + # Default to backend data directory + data_dir = Path(__file__).parent.parent.parent / "backend" / "app" / "data" + + self.data_dir = data_dir + self.language = language + self._occupations: List[dict] = [] + self._load_occupations() + + def _load_occupations(self): + """Load occupations from JSON file.""" + file_path = self.data_dir / f"curated_occupations_{self.language}.json" + + if not file_path.exists(): + logger.warning(f"Occupation file not found: {file_path}") + # Fallback to some default experts + self._occupations = [ + {"name": "Marine Biologist", "domain": "Science"}, + {"name": "Choreographer", "domain": "Arts"}, + {"name": "Urban Planner", "domain": "Architecture"}, + {"name": "Chef", "domain": "Culinary"}, + {"name": "Astronomer", "domain": "Science"}, + ] + return + + try: + with open(file_path, "r", encoding="utf-8") as f: + data = json.load(f) + self._occupations = data.get("occupations", []) + logger.info(f"Loaded {len(self._occupations)} occupations from {file_path.name}") + except Exception as e: + logger.error(f"Error loading occupations: {e}") + self._occupations = [] + + def get_random_expert(self) -> dict: + """Get a random expert with name and domain.""" + if not self._occupations: + return {"name": "Expert", "domain": "General"} + return random.choice(self._occupations) + + def get_random_experts(self, count: int) -> List[dict]: + """Get multiple random experts without replacement.""" + if len(self._occupations) <= count: + return self._occupations.copy() + return random.sample(self._occupations, count) + + +class DomainProvider: + """Provides random knowledge domains from DDC classification.""" + + def __init__(self, data_dir: Optional[Path] = None, language: str = "en"): + if data_dir is None: + data_dir = Path(__file__).parent.parent.parent / "backend" / "app" / "data" + + self.data_dir = data_dir + self.language = language + self._domains: List[dict] = [] + self._load_domains() + + def _load_domains(self): + """Load domains from JSON file.""" + file_path = self.data_dir / f"ddc_domains_{self.language}.json" + + if not file_path.exists(): + logger.warning(f"Domain file not found: {file_path}") + self._domains = [] + return + + try: + with open(file_path, "r", encoding="utf-8") as f: + data = json.load(f) + self._domains = data.get("domains", []) + logger.info(f"Loaded {len(self._domains)} domains from {file_path.name}") + except Exception as e: + logger.error(f"Error loading domains: {e}") + + def get_random_domain(self, level: Optional[str] = None) -> dict: + """Get a random domain, optionally filtered by level.""" + domains = self._domains + if level: + domains = [d for d in domains if d.get("level") == level] + + if not domains: + return {"name": "General Knowledge", "code": "000"} + return random.choice(domains) + + +# ============================================================================ +# Novelty-Driven Task Agent +# ============================================================================ + +class NoveltyDrivenTaskAgent: + """ + An autonomous agent that generates tasks using novelty as the termination condition. + + The agent operates in a loop: + 1. Sample a random expert perspective + 2. Generate a task from that expert's viewpoint + 3. Compute the task's novelty (distance from centroid of previous tasks) + 4. If novelty > threshold → STOP (found breakthrough!) + 5. Otherwise → Continue with next expert + + Example: + agent = NoveltyDrivenTaskAgent(novelty_threshold=0.4) + result = await agent.run("Improve urban transportation") + + # result.breakthrough_task contains the novel task found + # result.trajectory shows the exploration path + """ + + def __init__( + self, + novelty_threshold: float = 0.4, + max_iterations: int = 20, + ollama_base_url: str = "http://localhost:11435", + llm_model: str = "qwen3:8b", + embedding_model: str = "qwen3-embedding:4b", + language: str = "en", + data_dir: Optional[Path] = None, + on_iteration: Optional[Callable[[GeneratedTask], None]] = None, + temperature: float = 0.7 + ): + """ + Args: + novelty_threshold: Novelty score threshold for breakthrough (0.0-1.0) + max_iterations: Maximum iterations before stopping + ollama_base_url: Ollama API endpoint + llm_model: Model for task generation + embedding_model: Model for embeddings + language: Language for prompts and experts ("en" or "zh") + data_dir: Path to data directory for expert/domain files + on_iteration: Callback function called after each iteration + temperature: LLM temperature for generation + """ + self.novelty_threshold = novelty_threshold + self.max_iterations = max_iterations + self.ollama_base_url = ollama_base_url + self.llm_model = llm_model + self.embedding_model = embedding_model + self.language = language + self.temperature = temperature + self.on_iteration = on_iteration + + # Initialize providers + self.expert_provider = ExpertProvider(data_dir, language) + self.domain_provider = DomainProvider(data_dir, language) + + # Initialize novelty metrics + self.novelty_metrics = NoveltyMetrics( + similarity_threshold=0.7, + jump_detection_enabled=True + ) + + # HTTP client + self._client: Optional[httpx.AsyncClient] = None + + async def _get_client(self) -> httpx.AsyncClient: + """Get or create HTTP client.""" + if self._client is None: + self._client = httpx.AsyncClient(timeout=120.0) + return self._client + + async def close(self): + """Close HTTP client.""" + if self._client is not None: + await self._client.aclose() + self._client = None + + async def _generate_text(self, prompt: str) -> str: + """Generate text using Ollama LLM.""" + client = await self._get_client() + url = f"{self.ollama_base_url}/api/generate" + + # Add /no_think prefix for qwen models to disable thinking + if self.llm_model.lower().startswith("qwen"): + prompt = f"/no_think\n{prompt}" + + try: + response = await client.post(url, json={ + "model": self.llm_model, + "prompt": prompt, + "stream": False, + "options": { + "temperature": self.temperature + } + }) + response.raise_for_status() + result = response.json() + return result.get("response", "").strip() + except Exception as e: + logger.error(f"LLM generation error: {e}") + raise + + async def _get_embedding(self, text: str) -> np.ndarray: + """Get embedding vector for text.""" + client = await self._get_client() + url = f"{self.ollama_base_url}/api/embed" + + try: + response = await client.post(url, json={ + "model": self.embedding_model, + "input": text + }) + response.raise_for_status() + result = response.json() + return np.array(result["embeddings"][0]) + except Exception as e: + logger.error(f"Embedding error: {e}") + raise + + def _build_task_prompt( + self, + seed_problem: str, + expert: dict, + previous_tasks: List[str] + ) -> str: + """Build the prompt for task generation.""" + expert_name = expert.get("name", "Expert") + expert_domain = expert.get("domain", "General") + + # Build context from previous tasks (if any) + context = "" + if previous_tasks: + recent = previous_tasks[-3:] # Last 3 tasks + context = "\n\nPrevious suggestions (generate something DIFFERENT):\n" + for t in recent: + context += f"- {t}\n" + + if self.language == "zh": + prompt = f"""你是一位 {expert_name}({expert_domain})。 + +给定问题:{seed_problem} + +请从你的专业角度出发,提出一个独特的改进任务或探索方向。 +这个任务应该结合你的专业知识,提供一个非传统但有价值的视角。 +{context} +请直接给出任务描述,不要添加解释。任务应该具体、可行、且与众不同。 + +任务:""" + else: + prompt = f"""You are a {expert_name} ({expert_domain}). + +Given problem: {seed_problem} + +From your professional perspective, propose a unique task or exploration direction to improve or innovate on this problem. +The task should leverage your domain expertise to provide an unconventional but valuable angle. +{context} +Provide just the task description without explanation. The task should be specific, actionable, and distinctive. + +Task:""" + + return prompt + + async def _generate_task( + self, + seed_problem: str, + expert: dict, + previous_tasks: List[str] + ) -> str: + """Generate a task from an expert's perspective.""" + prompt = self._build_task_prompt(seed_problem, expert, previous_tasks) + task = await self._generate_text(prompt) + + # Clean up the response + task = task.strip() + # Remove common prefixes + for prefix in ["Task:", "任务:", "Here's", "I suggest", "Based on"]: + if task.lower().startswith(prefix.lower()): + task = task[len(prefix):].strip() + + return task + + async def run( + self, + seed_problem: str, + used_experts: Optional[List[dict]] = None + ) -> TaskGenerationResult: + """ + Run the novelty-driven task generation loop. + + Args: + seed_problem: The initial problem/challenge to explore + used_experts: Optional list of experts to avoid (for multi-run scenarios) + + Returns: + TaskGenerationResult with breakthrough task (if found) and full trajectory + """ + # Reset state + self.novelty_metrics.reset() + + result = TaskGenerationResult( + seed_problem=seed_problem, + start_time=datetime.now(timezone.utc).isoformat(), + config={ + "novelty_threshold": self.novelty_threshold, + "max_iterations": self.max_iterations, + "llm_model": self.llm_model, + "embedding_model": self.embedding_model, + "language": self.language + } + ) + + used_expert_names = set() + if used_experts: + used_expert_names = {e["name"] for e in used_experts} + + previous_tasks: List[str] = [] + + logger.info(f"Starting novelty loop: '{seed_problem}' (threshold={self.novelty_threshold})") + + try: + for iteration in range(self.max_iterations): + # 1. Sample a random expert (avoid duplicates) + attempts = 0 + expert = self.expert_provider.get_random_expert() + while expert["name"] in used_expert_names and attempts < 10: + expert = self.expert_provider.get_random_expert() + attempts += 1 + used_expert_names.add(expert["name"]) + + logger.info(f"Iteration {iteration + 1}: Expert = {expert['name']} ({expert['domain']})") + + # 2. Generate task + task = await self._generate_task(seed_problem, expert, previous_tasks) + previous_tasks.append(task) + + # 3. Get embedding + embedding = await self._get_embedding(task) + + # 4. Compute novelty + novelty = self.novelty_metrics.compute_novelty(embedding) + self.novelty_metrics.add_embedding(embedding, novelty) + + # 5. Create task record + generated_task = GeneratedTask( + task=task, + expert=expert["name"], + expert_domain=expert["domain"], + novelty_score=novelty.score, + iteration=iteration + 1, + is_breakthrough=novelty.score > self.novelty_threshold, + embedding=embedding + ) + result.trajectory.append(generated_task) + + logger.info(f" Task: {task[:80]}...") + logger.info(f" Novelty: {novelty.score:.4f} (threshold: {self.novelty_threshold})") + + # Callback + if self.on_iteration: + self.on_iteration(generated_task) + + # 6. Check for breakthrough + if novelty.score > self.novelty_threshold: + result.breakthrough_task = generated_task + result.terminated_by = "breakthrough" + result.total_iterations = iteration + 1 + logger.info(f" BREAKTHROUGH! Stopping after {iteration + 1} iterations") + break + + else: + # Max iterations reached without breakthrough + result.terminated_by = "max_iterations" + result.total_iterations = self.max_iterations + logger.info(f"Max iterations ({self.max_iterations}) reached without breakthrough") + + # Find the most novel task as a fallback + if result.trajectory: + best_task = max(result.trajectory, key=lambda t: t.novelty_score) + best_task.is_breakthrough = True # Mark as best found + result.breakthrough_task = best_task + + except Exception as e: + logger.error(f"Error during generation: {e}") + result.terminated_by = f"error: {str(e)}" + result.total_iterations = len(result.trajectory) + + # Finalize + result.end_time = datetime.now(timezone.utc).isoformat() + result.novelty_trajectory = self.novelty_metrics.trajectory + + return result + + +# ============================================================================ +# Alternative Termination Strategies +# ============================================================================ + +class ExhaustFrontierAgent(NoveltyDrivenTaskAgent): + """ + Alternative strategy: Continue while novelty is high, stop when it drops. + + This explores the "novelty frontier" more thoroughly, finding multiple novel + ideas before stopping when exploration becomes repetitive. + """ + + def __init__( + self, + exhaustion_threshold: float = 0.15, + window_size: int = 3, + min_iterations: int = 5, + **kwargs + ): + """ + Args: + exhaustion_threshold: Stop when recent average novelty drops below this + window_size: Number of recent iterations to average + min_iterations: Minimum iterations before checking exhaustion + **kwargs: Passed to parent class + """ + super().__init__(**kwargs) + self.exhaustion_threshold = exhaustion_threshold + self.window_size = window_size + self.min_iterations = min_iterations + + async def run(self, seed_problem: str, **kwargs) -> TaskGenerationResult: + """Override to use exhaustion-based termination.""" + # Reset state + self.novelty_metrics.reset() + + result = TaskGenerationResult( + seed_problem=seed_problem, + start_time=datetime.now(timezone.utc).isoformat(), + config={ + "strategy": "exhaust_frontier", + "exhaustion_threshold": self.exhaustion_threshold, + "window_size": self.window_size, + "min_iterations": self.min_iterations, + "max_iterations": self.max_iterations, + "llm_model": self.llm_model + } + ) + + used_expert_names = set() + previous_tasks: List[str] = [] + novelty_history: List[float] = [] + + try: + for iteration in range(self.max_iterations): + # Sample expert + expert = self.expert_provider.get_random_expert() + while expert["name"] in used_expert_names and len(used_expert_names) < 200: + expert = self.expert_provider.get_random_expert() + used_expert_names.add(expert["name"]) + + # Generate and evaluate + task = await self._generate_task(seed_problem, expert, previous_tasks) + previous_tasks.append(task) + embedding = await self._get_embedding(task) + novelty = self.novelty_metrics.compute_novelty(embedding) + self.novelty_metrics.add_embedding(embedding, novelty) + + novelty_history.append(novelty.score) + + generated_task = GeneratedTask( + task=task, + expert=expert["name"], + expert_domain=expert["domain"], + novelty_score=novelty.score, + iteration=iteration + 1 + ) + result.trajectory.append(generated_task) + + if self.on_iteration: + self.on_iteration(generated_task) + + # Check exhaustion condition + if iteration >= self.min_iterations: + recent_avg = np.mean(novelty_history[-self.window_size:]) + if recent_avg < self.exhaustion_threshold: + result.terminated_by = f"exhaustion (avg={recent_avg:.3f})" + result.total_iterations = iteration + 1 + break + + else: + result.terminated_by = "max_iterations" + result.total_iterations = self.max_iterations + + # Find all "novel" tasks + novel_tasks = [t for t in result.trajectory if t.novelty_score > self.exhaustion_threshold] + if novel_tasks: + result.breakthrough_task = max(novel_tasks, key=lambda t: t.novelty_score) + result.breakthrough_task.is_breakthrough = True + + except Exception as e: + result.terminated_by = f"error: {str(e)}" + result.total_iterations = len(result.trajectory) + + result.end_time = datetime.now(timezone.utc).isoformat() + result.novelty_trajectory = self.novelty_metrics.trajectory + + return result + + +class CoverageTargetAgent(NoveltyDrivenTaskAgent): + """ + Alternative strategy: Continue until N distinct clusters are covered. + + This ensures a diverse portfolio of ideas across different conceptual areas. + """ + + def __init__( + self, + target_clusters: int = 5, + cluster_threshold: float = 0.7, + **kwargs + ): + """ + Args: + target_clusters: Target number of distinct clusters to find + cluster_threshold: Similarity threshold for cluster membership + **kwargs: Passed to parent class + """ + super().__init__(**kwargs) + self.target_clusters = target_clusters + self.cluster_threshold = cluster_threshold + + def _count_clusters(self, embeddings: List[np.ndarray]) -> int: + """Count distinct clusters using greedy clustering.""" + if not embeddings: + return 0 + + clusters = [] + for emb in embeddings: + found_cluster = False + for cluster_centroid in clusters: + similarity = NoveltyMetrics.cosine_similarity(emb, cluster_centroid) + if similarity >= self.cluster_threshold: + found_cluster = True + break + + if not found_cluster: + clusters.append(emb) + + return len(clusters) + + async def run(self, seed_problem: str, **kwargs) -> TaskGenerationResult: + """Override to use coverage-based termination.""" + self.novelty_metrics.reset() + + result = TaskGenerationResult( + seed_problem=seed_problem, + start_time=datetime.now(timezone.utc).isoformat(), + config={ + "strategy": "coverage_target", + "target_clusters": self.target_clusters, + "cluster_threshold": self.cluster_threshold, + "max_iterations": self.max_iterations + } + ) + + used_expert_names = set() + previous_tasks: List[str] = [] + all_embeddings: List[np.ndarray] = [] + + try: + for iteration in range(self.max_iterations): + expert = self.expert_provider.get_random_expert() + while expert["name"] in used_expert_names and len(used_expert_names) < 200: + expert = self.expert_provider.get_random_expert() + used_expert_names.add(expert["name"]) + + task = await self._generate_task(seed_problem, expert, previous_tasks) + previous_tasks.append(task) + embedding = await self._get_embedding(task) + all_embeddings.append(embedding) + + novelty = self.novelty_metrics.compute_novelty(embedding) + self.novelty_metrics.add_embedding(embedding, novelty) + + generated_task = GeneratedTask( + task=task, + expert=expert["name"], + expert_domain=expert["domain"], + novelty_score=novelty.score, + iteration=iteration + 1 + ) + result.trajectory.append(generated_task) + + if self.on_iteration: + self.on_iteration(generated_task) + + # Check coverage + cluster_count = self._count_clusters(all_embeddings) + if cluster_count >= self.target_clusters: + result.terminated_by = f"coverage ({cluster_count} clusters)" + result.total_iterations = iteration + 1 + break + + else: + final_clusters = self._count_clusters(all_embeddings) + result.terminated_by = f"max_iterations ({final_clusters} clusters)" + result.total_iterations = self.max_iterations + + # Find most novel task + if result.trajectory: + best_task = max(result.trajectory, key=lambda t: t.novelty_score) + best_task.is_breakthrough = True + result.breakthrough_task = best_task + + except Exception as e: + result.terminated_by = f"error: {str(e)}" + result.total_iterations = len(result.trajectory) + + result.end_time = datetime.now(timezone.utc).isoformat() + result.novelty_trajectory = self.novelty_metrics.trajectory + + return result diff --git a/experiments/novelty_loop/demo.py b/experiments/novelty_loop/demo.py new file mode 100755 index 0000000..cc4c523 --- /dev/null +++ b/experiments/novelty_loop/demo.py @@ -0,0 +1,313 @@ +#!/usr/bin/env python3 +""" +Novelty-Driven Task Generation Demo + +Interactive CLI for exploring the novelty-driven task generation agent. + +Examples: + # Basic usage with default settings + python demo.py "Improve urban transportation" + + # Custom threshold and iterations + python demo.py "Design a better bicycle" --threshold 0.35 --max-iter 15 + + # Use Chinese language + python demo.py "改进城市交通" --language zh + + # Use exhaustion strategy (explore until stuck) + python demo.py "Sustainable energy solutions" --strategy exhaust + + # Use coverage strategy (find N distinct clusters) + python demo.py "Future of education" --strategy coverage --clusters 5 + + # Save results to file + python demo.py "Smart home innovations" --output results.json + + # Verbose mode with detailed logging + python demo.py "Healthcare improvements" --verbose +""" + +import argparse +import asyncio +import json +import logging +import sys +from datetime import datetime +from pathlib import Path + +# Add parent directory to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent.parent)) + +from experiments.novelty_loop.agent import ( + NoveltyDrivenTaskAgent, + ExhaustFrontierAgent, + CoverageTargetAgent, + GeneratedTask, + TaskGenerationResult +) + +# ANSI color codes for terminal output +class Colors: + HEADER = '\033[95m' + BLUE = '\033[94m' + CYAN = '\033[96m' + GREEN = '\033[92m' + YELLOW = '\033[93m' + RED = '\033[91m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + END = '\033[0m' + + +def print_header(text: str): + """Print a styled header.""" + print(f"\n{Colors.BOLD}{Colors.HEADER}{'='*60}{Colors.END}") + print(f"{Colors.BOLD}{Colors.HEADER}{text.center(60)}{Colors.END}") + print(f"{Colors.BOLD}{Colors.HEADER}{'='*60}{Colors.END}\n") + + +def print_iteration(task: GeneratedTask): + """Print iteration result with colors.""" + status_color = Colors.GREEN if task.is_breakthrough else Colors.CYAN + + print(f"\n{Colors.BOLD}Iteration {task.iteration}{Colors.END}") + print(f" {Colors.YELLOW}Expert:{Colors.END} {task.expert} ({task.expert_domain})") + print(f" {Colors.YELLOW}Task:{Colors.END} {task.task}") + + novelty_bar = "█" * int(task.novelty_score * 20) + "░" * (20 - int(task.novelty_score * 20)) + print(f" {Colors.YELLOW}Novelty:{Colors.END} [{novelty_bar}] {task.novelty_score:.4f}") + + if task.is_breakthrough: + print(f" {Colors.GREEN}{Colors.BOLD}★ BREAKTHROUGH! ★{Colors.END}") + + +def print_result(result: TaskGenerationResult): + """Print final result summary.""" + print_header("RESULTS") + + print(f"{Colors.BOLD}Seed Problem:{Colors.END} {result.seed_problem}") + print(f"{Colors.BOLD}Total Iterations:{Colors.END} {result.total_iterations}") + print(f"{Colors.BOLD}Terminated By:{Colors.END} {result.terminated_by}") + + if result.novelty_trajectory: + print(f"\n{Colors.BOLD}Novelty Statistics:{Colors.END}") + print(f" Mean Novelty: {result.novelty_trajectory.mean_novelty:.4f}") + print(f" Max Novelty: {result.novelty_trajectory.max_novelty:.4f}") + print(f" Jump Ratio: {result.novelty_trajectory.jump_ratio:.2%}") + + if result.breakthrough_task: + print(f"\n{Colors.GREEN}{Colors.BOLD}{'='*60}{Colors.END}") + print(f"{Colors.GREEN}{Colors.BOLD}BREAKTHROUGH TASK{Colors.END}") + print(f"{Colors.GREEN}{Colors.BOLD}{'='*60}{Colors.END}") + print(f"\n{Colors.BOLD}Expert:{Colors.END} {result.breakthrough_task.expert}") + print(f"{Colors.BOLD}Domain:{Colors.END} {result.breakthrough_task.expert_domain}") + print(f"{Colors.BOLD}Task:{Colors.END}") + print(f" {Colors.CYAN}{result.breakthrough_task.task}{Colors.END}") + print(f"\n{Colors.BOLD}Novelty Score:{Colors.END} {result.breakthrough_task.novelty_score:.4f}") + print(f"{Colors.BOLD}Found at Iteration:{Colors.END} {result.breakthrough_task.iteration}") + + # Show trajectory summary + print(f"\n{Colors.BOLD}Exploration Trajectory:{Colors.END}") + for task in result.trajectory: + marker = "★" if task.is_breakthrough else "○" + novelty_indicator = "█" * int(task.novelty_score * 10) + print(f" {marker} [{task.iteration:2d}] {task.expert:20s} | {novelty_indicator:10s} {task.novelty_score:.3f}") + + +def save_result(result: TaskGenerationResult, output_path: str): + """Save result to JSON file.""" + with open(output_path, "w", encoding="utf-8") as f: + json.dump(result.to_dict(), f, ensure_ascii=False, indent=2) + print(f"\n{Colors.GREEN}Results saved to: {output_path}{Colors.END}") + + +async def run_demo(args): + """Run the novelty-driven task generation demo.""" + + print_header("NOVELTY-DRIVEN TASK GENERATION") + + print(f"{Colors.BOLD}Configuration:{Colors.END}") + print(f" Seed Problem: {args.seed_problem}") + print(f" Strategy: {args.strategy}") + print(f" Novelty Threshold: {args.threshold}") + print(f" Max Iterations: {args.max_iter}") + print(f" Language: {args.language}") + print(f" LLM Model: {args.model}") + + # Create appropriate agent based on strategy + common_kwargs = { + "max_iterations": args.max_iter, + "llm_model": args.model, + "embedding_model": args.embedding_model, + "language": args.language, + "temperature": args.temperature, + "on_iteration": print_iteration if not args.quiet else None + } + + if args.strategy == "breakthrough": + agent = NoveltyDrivenTaskAgent( + novelty_threshold=args.threshold, + **common_kwargs + ) + elif args.strategy == "exhaust": + agent = ExhaustFrontierAgent( + exhaustion_threshold=args.exhaust_threshold, + window_size=args.window_size, + min_iterations=args.min_iter, + **common_kwargs + ) + elif args.strategy == "coverage": + agent = CoverageTargetAgent( + target_clusters=args.clusters, + cluster_threshold=args.cluster_threshold, + **common_kwargs + ) + else: + print(f"{Colors.RED}Unknown strategy: {args.strategy}{Colors.END}") + return + + print(f"\n{Colors.BOLD}Starting generation loop...{Colors.END}") + print("-" * 60) + + try: + result = await agent.run(args.seed_problem) + print_result(result) + + if args.output: + save_result(result, args.output) + + except Exception as e: + print(f"\n{Colors.RED}Error: {e}{Colors.END}") + if args.verbose: + import traceback + traceback.print_exc() + finally: + await agent.close() + + +def main(): + parser = argparse.ArgumentParser( + description="Novelty-Driven Task Generation Demo", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=__doc__ + ) + + # Required argument + parser.add_argument( + "seed_problem", + help="The seed problem or challenge to explore" + ) + + # Strategy selection + parser.add_argument( + "--strategy", "-s", + choices=["breakthrough", "exhaust", "coverage"], + default="breakthrough", + help="Termination strategy (default: breakthrough)" + ) + + # Common options + parser.add_argument( + "--threshold", "-t", + type=float, + default=0.4, + help="Novelty threshold for breakthrough (default: 0.4)" + ) + parser.add_argument( + "--max-iter", "-m", + type=int, + default=20, + help="Maximum iterations (default: 20)" + ) + parser.add_argument( + "--language", "-l", + choices=["en", "zh"], + default="en", + help="Language for prompts and experts (default: en)" + ) + + # Model options + parser.add_argument( + "--model", + default="qwen3:8b", + help="LLM model for task generation (default: qwen3:8b)" + ) + parser.add_argument( + "--embedding-model", + default="qwen3-embedding:4b", + help="Embedding model (default: qwen3-embedding:4b)" + ) + parser.add_argument( + "--temperature", + type=float, + default=0.7, + help="LLM temperature (default: 0.7)" + ) + + # Exhaust strategy options + parser.add_argument( + "--exhaust-threshold", + type=float, + default=0.15, + help="Exhaustion threshold for 'exhaust' strategy (default: 0.15)" + ) + parser.add_argument( + "--window-size", + type=int, + default=3, + help="Window size for exhaustion check (default: 3)" + ) + parser.add_argument( + "--min-iter", + type=int, + default=5, + help="Minimum iterations before exhaustion check (default: 5)" + ) + + # Coverage strategy options + parser.add_argument( + "--clusters", + type=int, + default=5, + help="Target clusters for 'coverage' strategy (default: 5)" + ) + parser.add_argument( + "--cluster-threshold", + type=float, + default=0.7, + help="Cluster similarity threshold (default: 0.7)" + ) + + # Output options + parser.add_argument( + "--output", "-o", + help="Save results to JSON file" + ) + parser.add_argument( + "--quiet", "-q", + action="store_true", + help="Suppress iteration output" + ) + parser.add_argument( + "--verbose", "-v", + action="store_true", + help="Enable verbose logging" + ) + + args = parser.parse_args() + + # Configure logging + if args.verbose: + logging.basicConfig( + level=logging.DEBUG, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" + ) + else: + logging.basicConfig(level=logging.WARNING) + + # Run the demo + asyncio.run(run_demo(args)) + + +if __name__ == "__main__": + main() diff --git a/experiments/novelty_loop/novelty_metrics.py b/experiments/novelty_loop/novelty_metrics.py new file mode 100644 index 0000000..ac15e97 --- /dev/null +++ b/experiments/novelty_loop/novelty_metrics.py @@ -0,0 +1,269 @@ +""" +Novelty Metrics Module - Compute novelty scores for generated outputs. + +This module provides embedding-based novelty metrics adapted from the AUT flexibility +analysis framework for use in novelty-driven agent loops. + +Key Metrics: +- Centroid Distance: Measures how far a new output is from the centroid of previous outputs +- Cumulative Novelty: Tracks novelty over the generation sequence +- Jump Detection: Identifies significant semantic shifts between consecutive outputs +""" + +from dataclasses import dataclass, field +from typing import List, Optional +import numpy as np + + +@dataclass +class NoveltyScore: + """Result of novelty computation for a single output.""" + score: float # Main novelty score (0.0 = identical to centroid, 1.0 = maximally distant) + distance_from_centroid: float + min_distance_to_existing: float # Nearest neighbor distance + is_jump: bool # Whether this represents a significant semantic jump + jump_magnitude: Optional[float] = None # Similarity to previous output (if applicable) + + +@dataclass +class NoveltyTrajectory: + """Tracks novelty scores over a generation sequence.""" + scores: List[float] = field(default_factory=list) + cumulative_novelty: List[float] = field(default_factory=list) + jump_positions: List[int] = field(default_factory=list) + centroid_history: List[np.ndarray] = field(default_factory=list) + + @property + def mean_novelty(self) -> float: + """Average novelty across all outputs.""" + return float(np.mean(self.scores)) if self.scores else 0.0 + + @property + def max_novelty(self) -> float: + """Maximum novelty achieved.""" + return float(max(self.scores)) if self.scores else 0.0 + + @property + def jump_ratio(self) -> float: + """Proportion of transitions that were jumps.""" + if len(self.scores) < 2: + return 0.0 + return len(self.jump_positions) / (len(self.scores) - 1) + + @property + def final_cumulative_novelty(self) -> float: + """Total accumulated novelty.""" + return self.cumulative_novelty[-1] if self.cumulative_novelty else 0.0 + + +class NoveltyMetrics: + """ + Computes novelty metrics for embeddings in a streaming fashion. + + Designed for use in an agent loop where outputs are generated one at a time + and we need to assess novelty incrementally. + """ + + def __init__( + self, + similarity_threshold: float = 0.7, + jump_detection_enabled: bool = True + ): + """ + Args: + similarity_threshold: Threshold for semantic similarity (below = jump) + jump_detection_enabled: Whether to track semantic jumps + """ + self.similarity_threshold = similarity_threshold + self.jump_detection_enabled = jump_detection_enabled + + # State + self.embeddings: List[np.ndarray] = [] + self.trajectory = NoveltyTrajectory() + self._centroid: Optional[np.ndarray] = None + + def reset(self): + """Reset all state for a new generation session.""" + self.embeddings = [] + self.trajectory = NoveltyTrajectory() + self._centroid = None + + @staticmethod + def cosine_similarity(a: np.ndarray, b: np.ndarray) -> float: + """Compute cosine similarity between two vectors.""" + norm_a = np.linalg.norm(a) + norm_b = np.linalg.norm(b) + if norm_a == 0 or norm_b == 0: + return 0.0 + return float(np.dot(a, b) / (norm_a * norm_b)) + + @staticmethod + def cosine_distance(a: np.ndarray, b: np.ndarray) -> float: + """Compute cosine distance (1 - similarity) between two vectors.""" + return 1.0 - NoveltyMetrics.cosine_similarity(a, b) + + def compute_centroid(self) -> Optional[np.ndarray]: + """Compute centroid of all current embeddings.""" + if not self.embeddings: + return None + return np.mean(self.embeddings, axis=0) + + def compute_novelty(self, embedding: np.ndarray) -> NoveltyScore: + """ + Compute novelty score for a new embedding. + + This does NOT add the embedding to the history - call add_embedding() for that. + + Args: + embedding: The embedding vector to evaluate + + Returns: + NoveltyScore with computed metrics + """ + embedding = np.array(embedding) + + # First output is maximally novel (nothing to compare to) + if not self.embeddings: + return NoveltyScore( + score=1.0, + distance_from_centroid=1.0, + min_distance_to_existing=1.0, + is_jump=False, + jump_magnitude=None + ) + + # Distance from centroid (primary novelty metric) + centroid = self.compute_centroid() + distance_from_centroid = self.cosine_distance(embedding, centroid) + + # Minimum distance to any existing embedding (nearest neighbor) + min_distance = min( + self.cosine_distance(embedding, existing) + for existing in self.embeddings + ) + + # Jump detection (similarity to previous output) + is_jump = False + jump_magnitude = None + if self.jump_detection_enabled and self.embeddings: + similarity_to_prev = self.cosine_similarity(embedding, self.embeddings[-1]) + jump_magnitude = similarity_to_prev + is_jump = similarity_to_prev < self.similarity_threshold + + # Primary novelty score is distance from centroid + # Normalized to [0, 1] range where higher = more novel + novelty_score = distance_from_centroid + + return NoveltyScore( + score=novelty_score, + distance_from_centroid=distance_from_centroid, + min_distance_to_existing=min_distance, + is_jump=is_jump, + jump_magnitude=jump_magnitude + ) + + def add_embedding(self, embedding: np.ndarray, novelty: Optional[NoveltyScore] = None): + """ + Add an embedding to the history and update trajectory. + + Args: + embedding: The embedding to add + novelty: Pre-computed novelty score (computed if not provided) + """ + embedding = np.array(embedding) + + if novelty is None: + novelty = self.compute_novelty(embedding) + + # Update state + self.embeddings.append(embedding) + self._centroid = self.compute_centroid() + + # Update trajectory + self.trajectory.scores.append(novelty.score) + + # Cumulative novelty + prev_cumulative = self.trajectory.cumulative_novelty[-1] if self.trajectory.cumulative_novelty else 0.0 + self.trajectory.cumulative_novelty.append(prev_cumulative + novelty.score) + + # Track jumps + if novelty.is_jump: + self.trajectory.jump_positions.append(len(self.embeddings) - 1) + + # Store centroid history + if self._centroid is not None: + self.trajectory.centroid_history.append(self._centroid.copy()) + + def get_current_state(self) -> dict: + """Get current state as a dictionary for logging/debugging.""" + return { + "num_embeddings": len(self.embeddings), + "mean_novelty": self.trajectory.mean_novelty, + "max_novelty": self.trajectory.max_novelty, + "jump_ratio": self.trajectory.jump_ratio, + "cumulative_novelty": self.trajectory.final_cumulative_novelty, + "recent_scores": self.trajectory.scores[-5:] if self.trajectory.scores else [] + } + + +def compute_batch_novelty( + embeddings: List[np.ndarray], + reference_embeddings: Optional[List[np.ndarray]] = None +) -> List[float]: + """ + Compute novelty scores for a batch of embeddings. + + Useful for post-hoc analysis of generated outputs. + + Args: + embeddings: List of embeddings to evaluate + reference_embeddings: Optional reference set (uses self if not provided) + + Returns: + List of novelty scores (distance from centroid) + """ + if not embeddings: + return [] + + embeddings_arr = np.array(embeddings) + + if reference_embeddings is not None: + centroid = np.mean(reference_embeddings, axis=0) + else: + centroid = np.mean(embeddings_arr, axis=0) + + scores = [] + for emb in embeddings_arr: + distance = NoveltyMetrics.cosine_distance(emb, centroid) + scores.append(distance) + + return scores + + +def find_most_novel( + embeddings: List[np.ndarray], + texts: List[str], + top_k: int = 5 +) -> List[tuple]: + """ + Find the most novel outputs from a batch. + + Args: + embeddings: List of embeddings + texts: Corresponding text outputs + top_k: Number of top results to return + + Returns: + List of (text, novelty_score, index) tuples, sorted by novelty descending + """ + scores = compute_batch_novelty(embeddings) + + indexed_results = [ + (texts[i], scores[i], i) + for i in range(len(texts)) + ] + + # Sort by novelty score descending + indexed_results.sort(key=lambda x: x[1], reverse=True) + + return indexed_results[:top_k] diff --git a/experiments/results/.gitignore b/experiments/results/.gitignore new file mode 100644 index 0000000..af4380d --- /dev/null +++ b/experiments/results/.gitignore @@ -0,0 +1,5 @@ +# Ignore all experiment result files +*.json + +# But keep this .gitignore +!.gitignore diff --git a/experiments/results/cumulative_jump_profiles.png b/experiments/results/cumulative_jump_profiles.png new file mode 100644 index 0000000000000000000000000000000000000000..b94b707837aedd602f5f51a415ba0c8f4a3c584a GIT binary patch literal 100298 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
BB;Y|EY%0lgN~-pj2G8bbIAQov&HBfQDco= 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 literal 0 HcmV?d00001 diff --git a/experiments/results/embedding_pca.png b/experiments/results/embedding_pca.png new file mode 100644 index 0000000000000000000000000000000000000000..b0065af8cdc593de21e6da42a8652bd30adcc1cc GIT binary patch literal 283702 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≧lJ2CCwY6l%Z5n) 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

;95g;E_SoDVyE_E;}we{bA@Pmn*&v;g0Zz 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 CI&B63 literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_163040_diversity_boxplot.png b/experiments/results/figures/20260119_163040_diversity_boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..41d4091a4fffbb1bac5ef92970b354b132229f2e GIT binary patch literal 56645 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 MMfdU>RqOlz1F82jegFUf literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_163040_idea_counts.png b/experiments/results/figures/20260119_163040_idea_counts.png new file mode 100644 index 0000000000000000000000000000000000000000..4469c65fbecc01c432e5dcae67ff82e38ac0b116 GIT binary patch literal 64002 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 qFGuVD{qO%LnOpz2f9&sk~_y`TqcU-o{G+ literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_163040_interaction_diversity.png b/experiments/results/figures/20260119_163040_interaction_diversity.png new file mode 100644 index 0000000000000000000000000000000000000000..8335f9d841bf19d49bbb89bb476f6a6f1628e4d4 GIT binary patch literal 65920 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 R-sFT1{BY>|^gTa@{vEF{RlWcK literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_163040_metrics_comparison.png b/experiments/results/figures/20260119_163040_metrics_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..822edb11a0ec5e6602fa77aa46d3bab15ff3bec5 GIT binary patch literal 64845 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%0A17jOsOBFhpi@cn_hq~&^6Siw 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
nYv59+R3X4vIbF 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 literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_163040_query_distance_boxplot.png b/experiments/results/figures/20260119_163040_query_distance_boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..4662d47c23e2f966f824a6bc8ce962328096d83f GIT binary patch literal 54916 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 literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_165650_diversity_boxplot.png b/experiments/results/figures/20260119_165650_diversity_boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..c9232ab9b28f0b1ce246d82055f490740590a0ca GIT binary patch literal 76460 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 VYB6yIABKDb=PYe4%1?XW`age{sDS_g literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_165650_idea_counts.png b/experiments/results/figures/20260119_165650_idea_counts.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef3ba3a722af01860f3678d44db530216b8e96b GIT binary patch literal 62227 zcmZU52UHVj)OIYZ*hK|Yn!wtqqV#G3Q4kdAU15p@oF--(kP=o%5aFa~4(%lg!Nf-utvW&u{5z?c05PHwuN?cm0~iZ4~OS zW)y0h8^;d#iP&}R@9<5@Thr9r!2O=L-(638lpI^@U{2!a&mXOASr!L zQbGKLqqp}1FC{4{*Z+Nmq`Rks)E5h%RyfM82iMHJP$-^5$bVZLupRJT3!&FFE*bhK z%?#~~Hymfk|B92;{OilVhGL=-vcC2C(!RP~M_eMFpDNRcDs-{c5tqIiRr|Meq0S*? zxh_-NFV+WnjgN5M%3)fyRg>Rs#PS^ZKOBe6#NB)kAG5qg^ z4?pv5{#`WZzZaq&DQ^DV@b=yRUid%9&HnK9zZY(Ye3@g9&w0IK73O} z8Y`9PR+W=X+B%2dV0Q$SWr`KloL5)#|MP1Ho?XYBOSBQ0+k#qEM?OaXEq^mf6^mQV zNs1TN>DY}ML9|*wa}NTSL0gKd0i`v$^N^1CE4g9+(M77whLY+Ai|&M8Xui-kW*0hF zNhw>zm6#i3>FLJVpaa&H%kjyvR=#~Df4=U?lC-M&P#40?lql;JP7a*TaT=`faJsa+ ze>Ca&Eq>I)%F}R?sU#*XbR*H&%s!@sC=m3)CBO1i?Q*}%RFf3G`S;{$Z18IV^y+W# zwW+KulCg!vY}tUDQ-6t*6M9$kO{J;79|iEUmkL71U$P!<+kZ`d@WGY+4Ous_DOEny zST)w4Z!*qZ+1`U5#0)NDQ=#=42X!5Kq$ZD*%)Vpi|CT5p^t9hbS8%w;6Hol>see?( zPSmdr4!9BC=Z8;EG}3np2A|{i{&^|K zju<`V9?G;xu$d`plAIckv(Z}_4sw5NBQmTtf865$>hs2w>9_+5KlwUr{WeloshM~AM0P@%$;*A2|>)+@*YK-k}nFQFD`Vz%}5N2gbSp)G}$h) zb1+OG&@q3_HQNrODi<h4_$XlSJv)&Ocvv3XWY2nf&=a zfPa)*T`T_htn!5KF9I&Y$#!jR0%OPd2u-qEOcz`~BUtTOaEvHbv(#;o(R0?VJ*x^= z5&wyrUp>+D!j6Zu+@AjrHLqL`zp+m1%)+7*CNvi@g3`7c!^A>bw{_6$VwU>)*_GG= zQ8dOU+((7pe1RI$(j-|eev>E9=ag=O43X+t&#Cp{*oAvz>?QeOf4ja>E7Ipj+q|-^ zTYC%bI&X%qbqpRWMB!J_!2 zV3zi+neCn7oi+Ws?SRTHYEn*rroG;d^%t`*hX1UuEj0~rVfVE2up`9svwa4s$HnDv zzwk?W?imCg8x{A_MzMmV9_hMWDAZ3;Blt3%{NU>@uKAngRcyvGoMl0pNr82SQ31y`(!uA?aWKgRK5qFw{X!%U`-WF_7yugC0F^; zQrro&LRw?qXvoTt2@NfEq_cj}r$rsMR)@5i|L><_O1?9ufo@Y7aryo$Lw>m})nl)9 zChU0Hi0E)~?r=;F421}2}YFj-4^b(Dnl6bV!EPr0Z}ltrewxIPcg&Rx}KS)6DOI`6FGW& zX=Tf{9fmclBax*OiE*Rm73<3bxe{X5cCh#w)mLT*%10KOqzdSR)guvN3!{&B>=RX8 zULJ6#(9;wOlzpZRsY#V{RaEUxT5+3NKvjhl<y?(k52FJ80PDDTIovlJxL%fA$Bi;ybx4sgshVI;gZ#eEU z#%^ynQJF|QclWZ}`-NUR%y`c_i{3`RlRQ5-SV5~}dNxHJ9O$_Pzo6G2KuM;TX^@zc z?dhFkKi<$K0xgN3!wP9>uhG6-U+BU+M26rTI(4LK--^ZA;WtJFH@=fd?P1IwJliKP zV%0X3DE$I%6q?aw6N_t$#EpDApswP6#e-#+C>S{TelYs)*v_Aiw9;>@n5Sxtdl}-0 zY^CwH2A(H949j{fSF-b?jTPH(XWb)({H~;=G*PZ)(^wyKoXK+mic%?1`EOTaqvZO} zL>;?uN-%CRRFE_&ee_AcZDJMy1&omga2py9+KYOrkowa53*;0<+BWq=zn{ ze5bLc2O%O;iGu#~SgNY$Im<^H-GBx) z;XjmiTMpNJ#n87c>ZTgw!=l$>i(B~jqVyHt@Q{Pdw9H9)s~N1VjoeeaXvI^d?lw#; zS-(#pZL7Ly5ycpg20cXo{os)Z+^>YR)4_}D(ddzOof_Qa9)Yx#;3Rn?LK)QZQZFkj z>!q6TS;=yBiiV+*mVI#HzM(3gT-lZcm;84@U&D|#5anw*n)G7#;z5el;@tu#l97pS zHLWhlc^51)zZ`N%iyGtUYQts2Ut#$5S$F%a=P4A;(jY75Dcl;II4?l1i@e<1e6G4g z9&{C&zTM;1UMFH6_+;CDg%dj)$K5!ixm?diOyx$D2}=9_(iY2mJ5X-O@A&EHs&xM? znewAAOE@;l20fdUvId-U^R(~YZ|*#Tl(8a=RPAC%2A22yISO3X#GQ7*8|y3d^J&Rf z_ntB{TUDc_k%&;JY?do4!Vf(TeFoU4s9Vj-t#aIR;8kuxT~)u=CceoVwPeis;S&=q zO6<-qw%n4nKGk^fFh-!wh~KA6AHfkn*28TA z#$z^tjCE~b#>qI#^JJteWF-zvQ-*7UOa@w?g%AIDsyL)>L~**|vvd%H{`s`(a^IRp zhL7PzDX5*52iDs{*>slfV}%{ca}{>^V{YH6tv}GYYr!q++&nsI8$K1#GjOUaad_5A zvX-f}Nw!ioU3lxtNYedjy6~`_Px520AWL3PJ-IB~^?QDUkxRMM_1iXWEL-vstQ88C z_Z+bEoh@=+6U`lM(vEixhg#>jW5$dI z-rOH>CGTAqijDqB{+K5HAGK|2%nt}uJn&P&bL{)#V?ox5avrC~ExOdA4K|a~&8I&v zuZFGyr(~s(zG-ZZ7f|qTV_!zN*_@(uRJnqInlsv zabJI}va&T&;lS~JEqtB5{Fv%MSHx1H)t-zIh9{99l`3%PJZl;8Np=VKi-Z1pT%?&M@!}h2 zCu;z;Qj^#zL33wInc)Gu+q*wZlyxscx5~)8ZF$b|n)-r5zLr41KT0FvBHH8~j^Vv? zg?7Z)5Xl|KC3ZZra!B@R)HB%2J{Hn6I&!_etwxA6{+pM)dUb9VCSOsZ-!O^LG6jzPbrNmb7j^_8jR^brHvHF;WA;GW;_o3g8PubIE< zoDD@)cBO(nom||0=p7`K$CH`mf(uNc?W|rE#g& zsgd{|6{!i$q&H+ntDiOvYNNo(ExjNvSjjb=*aWavB{@~r3kA#qbl7| zDD!QbRgH(MMjBOPzZ-){ypF0u(0`VWa&nd|u7ciYKBzsV@^mFekFiprPzX@{gS1`4hs;Blyx`JHEfh69U!QMrM_-_2;ap`#g2MxZ z5AG+gb(bG6+3%tM_YQB>v6ol0f4dpR64?rju{U%Y(vi&rr!uI)Q3%;#)J@tAzx<+> z8$th5LvL;R?NxIxxM>9HlUM01=8@c}DS~+zDx$GgOSU)o$O>`7Di}6XXjlvgQD_G= z;kca{mQa?psbo|1I@N}9N!l*->cw>+1{1{5kf0tbzwyyN0J;H64kPQgmn^Xc9*;6O z8tu;Y0V6nP6VKss_ctJRyWuP$$%ir@^7f-H<{EE-FMeNloz~cz;y$hdB$G=uXjxph z6OI!hpc*)a<+1kv9TCbJ70jSCMDd!quo3w25zk)BaOy90iL-HkrOAC(mAf41WLCVB84s`hIuA6e<`1_JwOricu1Ga@6-x=O}1OD|cQd2-pc#&>=Y;Rde5 ztF?8b#@R0HPr&wI4UO+RE^~(5sz^yPr(7Kb(vq;EGZQ&d7-M2xIkLV&#^#1t*SPVO z!+I#{pP&8t{>oG-u=1veg1R-_aL*b*-rQLl(h1X~;l~nOAGDHe!fk7{9M+-ipr*aikC^ z%12m&b=fO5IZa7(>ZpgYsUXDMQ9BqCmfpb#Q)k_sv*M2_)IU~(^pUKTKwKBSQc|B^ zC2(=lQom|6S~(ML#DsH4c4o911%baxD}!DxMpIXxx*67|0Mo0CkVj*Z&c*uue#(;x z`!uinMC!i6_N%-Zpsy$vkXPzfYD-uPO_VR<=^cuq-_mD^?r3`AVuy~@IGQ5M)WsZ? z7FOpWErR0XnJ*l@^a2|SsD6UtY~03^7N{<|6dA&srlce~XGd;ukYo=jP@u3?DrB}T79PZ5txI~{Jg|lkdIVW>M`Uk zs0sO5VOjU77!cAXY&bQDglCRRht~^um42NDAw(A8Z5Q7}xbM&~6^NOjpYPrLDWbdm z{HGzBKQS8M3d?Kn2}P;LAzM)w4LV={1-guPJ1rRK_SEA8YTs2y(|K54ZK`pB%QH^y zKrfs()w|G3sojO+=A{6(M*iITA5kx+0{Cx2VJJD#2Q8cKOAOIzR>wz%94-e6gU>MeE5R^nl)xBHqIW3O zlUo(g^W|?B_5)~964f))qm@K` zraCe*Om;o|D;(~E<6n}MW3OcZGnNeb4rD;h`j}w?q9oyCVZ(7Jkf)~J+*G>`sQaej^!LN_kg-4c;=QJJ+P3 zHwcClLKwDH_b>+1y&-2$5u1!SoVn5##Ip#QOk9nu)1{0X>GyJT+<8 z5=RdA+9hKr_K5KueR3)b+e%bxeWbuMk`(SG()udLAgi_Wd|H9$eTN$K_8{qHjrrj| zXmXvi<>Zuv%OQ`^a!Uaw^qMt_`o_DfFOI%a9~~_gQM8Qo)pmMAX`2QvU(G} zzRU+!O*h3e_*oKqZHhrN`)DKX@cH2ur#97<8yK}U$3FWm7Vjb;pUf-!75|nfZa&Xo znR)&=NoS3Vvg~T%?i6>>WZRP0*lzWd-$=)Ja%9lVE(OR33$G=;-3(a|fqQy!c@F4Pcf*gH|QpUY;DgvL5 z`uR~5^^jZkUUU4l3-noN!&1sEpdD&=f-=EX9MTf9+;{q>vg6NG^R_6Yo%qcZ5{+j- z17}d8`IU{ui@pnI*w@d(Cy`?I6IiE{9$e0&)Uns75w2x@nTy9ka@!OSH31hd(6sn{ z43p_5Lk+8yl7+fHvtd$rR*@~}gau{%g;s=x(K7f=lVD(CTwb}oSspf>AI*wIVL{wLdMiNK(vUB|B5KW!{ z)eIYI?fCxb0{To!s=&%H+21`c|fIMs4@!>jGl*F(F z0gV_Hxyf%l_;7VA5i16TcpkuF&P2Qo9?b<8%d>cx-RSh|jQGX}okndSV@For%ja zqm3PabvJNG5z)pHtg5_omXGmbla2C7_*H^b;~WtYNegZc;@EjF2JR)g z8UuWPQN$dDYuMUpvR*?4$)L2YF*m;o*RDpVjJvy#@KGLAP_y$!t$WBUFcGp#Qfz|f zHT#@Usb|5DNqxFLbu+YaLx}I(or}qxGMaY;Hm*m1`VCrn^TsjBudTuyk*F~s%E`H( zRlXJrzf@T2G7wV(r;4>2CWtnj@5Hi8jy#Yty2D2FH1%@eBom*rP1zPR^l(h=I(%1u`R9|0KP2d4)>0J7XK$(uGZ#Z;Pf){>7 zw8)cH)CGlZwWLy^Yv->1xQTwf?X7LlH^jf{$>l(eQWDB~Z6jHO2$!7)_h{mm`i*2I zSwYaw*ei-Z-|_C`dvFom^5yYPlR>}|8J|zjK|yPYK>C13_bz>`=72z{2!cLxIz#m~1a9+;?}Tw~z~VPsmga3rLNDm}wNn7}RES zDpDU~{(bMSUauxmo+pcO;+*5UWU>7_v{_%YTjSfa3{{&a?}+?ayLSS zGiIv*1nB&pddBN!D)us|(|!}cBi&2vDn=j~<0N!>^^KlVj(6~=S61aVdZrRBf{t6= zi)pJGsflPyL4^Jzsj<~B&r2~s_Lfy-AO1ZBMb@IfOyLVki4K7Y~(jD$wR=l8u9S|J;HEKRXTunSk!vHhr z$-o~g6dbknnOA}~W7ZcrV^!_j(zY?FrH(@=gbu}{1{1nmj2)-gDn~A1d)ipf*sc;= zX}zr#XDpYB??AU@Y;_FY|3Xl`Zl*3GH1Pduy*9 z6CRPbiZVI6Vyy$GSiw(*eOhcT{E6Q9!@W_MC-$PxrJz>3$!+E{3vgL8M$7c}_Or5t zzaFLSmckw66*-6bd;;e=TB#5_&IcN|k1in6%cl-L$DgJjijQL| zn})l-pdduiyp47gUC$l zIU@_b4feXuKrr+IxkgVKz{^EI5fj*ScRxkgAKr6P7J7?uY%p>>1^aFBJzc;{O8^DR zI@YGkyMETK5D)UhN^YwGSw}-R;WO&!D6em!MxSw2cpIJ)M-cYz6E2 zEzKr$eQ9u@@~j4a0e~*<3tj8L`lLQT>@};|%FJQ+eO#0Vuz(EvSK7%{nf$)JLU|zi zGboceLq{T3tQMQ{bF=&moTuse`E6A;>(eF-_lqov@V2tdUIzqhH>nAPeA)nqe;i9y zrlp4k`Y-o6cwrYjqZLNNYxrd~1?P^w5i(roa|&Ozu;?K-jwp~=A0vmS=g|>uB~=r7 zRZ+ksZkC4hy=Y;59 zp9*uN90o_>pE}H=({?{Udm{FUim9oAKj1-~jY`axQ`9QWhqt!-MZNEx<2V#+gJu+U z)<3*2ooXIJB3QnI zs^F2*`G&a*j`8dgX4L^(@8GcsZvQ~B_t?9s=u@K3WpUh$oVr4~v^RH0HKC1jjr-EA zN{ZdfS^yKVR`+VMs7j|JTzBcpt~!WU4-&!>Y=5+IcX>htOA(cZ$r%Fee; zSL-80xvd1@87YU{yfU0z$Q6y=<2<$_mvt>w!tJ@4t}#Z&KRWA~IXThpRtal0xwK+Q zHD+X6l_%5Jdd2KXuXOwaMd|NO(*FNgD&$g&Wp-4HcP;s)=C{2!C6A0O53)kUPj`z* zYPYmFSk154LL?v{lvEmpD1RwPrALU(yR0@A+=nWlJ!6psX%y|x?{9RMBRtI$hV$;} zBV=vVPd+8NrrW58N?aRXFwVsjNUWoWVfke1-L=IjFIJ#n$fAB7*6M^njN>Q~b2BP0 zTP^Z|uin=F2HbRV;%vTq?WoF`)~A(bH0ZRlVTX*iwQ&4MFOm{{aYbMA*zfB`4k-cm z@@1lMzW~c9lZ6ef?V@BoOC7ckdj&lb5xtS_dEwt~9m&eS$-;XhADp?IB*^{~hA_#f zKl#@%rCY`u=>Js2qo|Hy@3)#P=zeyHR0 z`2rpNDfQE#f?HAxvo|-ymd`V|bsSoj1tw6!=*Fj5rZ$6xTdi7o%3~crpwT?%J04?_ z*@93+vMU~v6A zpfS7~Sk$<6I3_{Az3%I7v1Xs92)$&baqhEiD)bv}0|&o2ZMSXTJq|QAWPj_%pD^_g z-5(tJ7XW&VJvg&91F+KR0vArDp8HZAU0>Yo&h$ioz-2GL80GCG6b3>+>HxUxW#p2i z>@ffUy(vYRPDdvub4aIa-rkPqlwkv>`f`gA(u2K@FUH1so=MC8O7x z1Q$j9+Wz=F;{=y#ihZp}QZQ&33vHa98Wm>6r8isZ#>em1%r{KExX}7N1Sj&d3Q{Rv zZGSkDm&u_UiuwP1bY3Ev+(eYDDzHZAE)6|P@_qlj;j24hG#M4L*STz8j%aI6n(U>P zMk*qKdh-e2!1Wt{xK&zv&2WjQ38$oM;WgybGtSIj!`N}T$~ha;y8YNC4eQ2y1KEbr zfAEroz~<{s2?=T1a>E6j!&j9PCta+H&HeR;{ai^&=x(E-@|ME32(QAE?ENxvw!EV( z$(1~eqO3fY5j9^f%a&XpJFWf$tB63px(aUB>a-%2ugtXu`Lk@-uEEh7)TcY(4_(|N zwpNCKI3K;kvz#O9#p653xo6pj`AN0!^XvL_g#zPvLR>(5v-C~KzLO``^&)bs(c@p9 z!VhxSeAu|O+maebJCgv9`9wdGZF)Xknf)slY5}8?|4i{TI^xomrn75}tvQZXhiqQq zAws2ni9XX>+4nqBs9kOX5V4=z8&0EeuWD;A&%MG)1x-LvZJgczM7am2chilS9wx40 zx3kU9TB!);*{?0nCide-SUCU>R^~z7Hm14AP|#vuS!<$YkzPX4K8p_dIv#A23eUtp z#|Y?1R6+jo-%$bRa=E3DZcT#!yqO7Kq-{#(u!Dzqr151Dt>_yqdDDc<%r)an^DDxV zDoBhgY9XPR+3X&H&uhnxBWW-Rv#+3|Sy4(f+vpV+ccNM}Ass(qsMi+1=NO?M_S z^N!xA$d9~txA)WCjL4TBb0)5x`r*DO2u~k69zI{*bY|JY@OLb8S<~{!i?-hkGb^l5 zyW3g7dBSEaUB}iC?$9d{C^=kK`s+$Hx{{-VuF=lwd>ZQ=&%CwhunnHk;y%r4FsgLD zKM5P0<(fyMT_V|cFRh$VlaKhKM&+&NK^;#-_OogG6&dy$Gs9v&euu!UqFnEt$6c1fMrhYoZZiQ zjZn(K#W^nQ7l5JO#k6A6FjKdW zCam>p2-V=M7N6raJudkI3Cr;*{Kq;E+?kBsD@P}ba&XOU>KiN-Q|Fm)(9YD$4RZP$ z#LY+QeTn6P(Mr?V0qkaM96oQ}Pd(aihK|D!%T3a<7>FJaiopksAHg1LFAf0`kw8@4 ziSl~C73JuGcoZxknjmE7_*KPO2jj)?Zonth z0_rLXoF85um=Jr2fcuHVqky+>~)uubr5MtPJ1 zAQR35E1+z~h9oP^$d@`sZ9?c_p{=RxIYx>!6dI zAE1{>uM8xCIwGN6Pz(T*vVNpIfzkz#+^Rpig5YbUT5e+DS{ebOzr6pkd2}8_(IANe zq12oTkhiB*>O7)(+FJ6~CR|_8-SpaWH@!r1>PWGq+r0b7M8?u?nr z$0$C*WdzDy(l{|t?jLg3iu@!*hqIT>R37~Ltg_Cj#i#G9-fizo`3@^UEEZC)&RFvN zN*V+}NoCS(0l5YT^p%Y=ZmggYC1xAGJy%&F&X4fBd>O4S@SpIpc+>$)IqK{WB2d0rK?u90s0cW z+wLOwwUVG?cs(DxPZ^ijy8vEsF;vLwGR;+o}yMDn=4!nx!}Rf)1r%MMe?x&K-Vlek8)A; z?M?OWhbEoYmpDr0Q_ZkbC#Yd!x%ICfwfTbCJygjlp`Z3uC7JbP<(w+L_k`yS#YAbxuT{~kgl|qVVlXi{2`P~obRgy`GF49!y@57(GO1TxE=Xu zI-+iZp1z9lxj(w=bkfVmf2CGcI3D5QOIy+`Q8T??NSF~ew+yz%dUsr})YN*C^z-e= z)L@TM;cQVsI`q4tjT?VCS9+*tVY|4l)3&2Nx9Igl+XW8e5z=E1Lv%*`XDzN>`{ za8A(59AeNq{$!aK$)s^K!NMJmmx5$9Ol$B(1j~8$Kf8T*I6R_p0WnadZ6L-4@2Yst zd-A7@)c={t$aZRYacm0uxGrpkpyHXN$qPXp*H0s!eBT#Ts;1MAt?;Xc^!md$Km2%e zIt%Q&?8RP~FL<2-UW(G@%tdt^8Vk`<$f3k_fD-rm+aCzV3H!_qDlXB;>i7xh2)GtJ z7;PC`CYI7s$7Myyn5F{vR6wUnre&dJk6fesJog7Z}tlDCi$vN^0-66vFQZT^3I~Rp6WNV8d_Kn{E{Ag zQ+4U>XTFErqsn@44K7|Uv6=$PXO3o!^VXQ85gH+UYo1%GUGmTKJHgQYrqVHLxMfRl zhB{sfUFqO;uXzP2{IPJrd!sbM}A@Z`5WhACUpc<8$}Fl;JS4}Dxcy^ z<0`PozZtN78p)k@0OX0;=4ZZAc}V_Y<{_Tjquql@x)F788CEN0n#R#gh18p$A+r|D zlqm!@n|rrwI#lzdd#Z?jPcIK>siVAiC)Y99p#O8mmv^w2vB3-1)uKJxx2NV1G`rn~ zs>Tb?af7RLZ`aSi{yQ`n%41B95|`sLjTW}oZt((J z2pqSYS)M74OroG3&H(FgTme*)SE|)*>DA(l*K*uUMNM^PWdU$GOP)S{MyCEE7N$yc zAr<+g0T_1p|?0q z%Do;Zwz=s8>Ok*ImDW&>tssz}9u*IS4zDW^UwwoF*%2;;^YUE7oc}zj3N#0bygmi+0Ju}R zWk1vqYM!=atVRCGy%HAVW_&ip9ge%&zo}>t0t^l)h;M$JB4j3lOf(@=x{w$EExr7{ zF6Ucy(CM81{QBaAQC!G6!MCvnvPm7!{&L)9w1NKb(%s{%ZDKA?8SMU& zYm5$sY)NS*76SG8C)~ldHixi7uIdVym=t4iu)A);CNY5p+Ic@t9nD$|RtGo`FwBi| zp(1>!3B|tEe~V=8wJDd8#(rfL2pyXK06?oB4`1Cjy@{= ziGn2hm}XkCNVWotlwTx9XFTv&Q#LTzl?@(~ShZiet`6yQFaQt5bL2aZ_m!+eZsEW4 zehm&=7LsB`0{5;USX64O;OdYrt~jituPRVpISkX#+8X=A^ZOoiB?F< zFxlcr_;24zAj`M7?9p>=gH$vG&K~pw)-@p4h0KaN3ja6$=C}>i$2aa5JKMi)PQjUH zhx#pE#*fEZbU^k1yR+8{I$#H6Fk*&bl~qpPWy9pu2SL`aolf9;+=Re*ligNJxZN4n zR9QShf6=%gH`HH69>(K}+CZ(f+pH7$-n79=uW2$qbPY`1ctix~GKDhm6se>Xk9|l< zkO^M>;|=AdOZg^Ltu-h}Da5v z1ogXB&)&uesCM}DSjAl-Ls-r^+S(2ouLJR@WeWplf?oUfJ7w|JY5f`KtsS=ufegzx z7-^8txb%3(_$}prQD_hL0et^992H-MxMwrZK{qf=`0hXhSq`wNXIFwJ-_&~8PBNGl zMAjj%&-r!2VBxE7Q@bdY^|xmYp!+4iMZyZ^OggL=T`)R5Qznq??xu*zMkw6^4N75- zkG^of5ey+|GFJT8IYq91K*j^%`149-qoT&iMPm!s z7-TlcQlb`Oh;7TVXz<@MKuBRy4nu2>z9bRwkT9Mtk=X#Qxpa2vX=*Vof5= z(W1+jw@>KX*TH%ppE@pzt6u@EDHE_T=FOTXQa)8Xn}&j35R)t=xwoDjp}kgtiI_j< z+Fw!=YP&vCs;9ob*rCF?tYyD?zDe9*wiJm8)<_+IPlpT>I&WbjV`f1=uuxD)6VIpD zpbpFXS39Zx*S;?9QJneoP5W*@xSSw(&;D!%qA|>}kZ`e^(V>`jBzbjK`~ad;M8<>vAT0rLWyNy^qW{uBZ7k?kxp1%f z+NN%f!%VY;#SgUKJNb3ie+CKdiLuPQ?hXDaf9f+FF6B(Pc9kOlE zLpwo%?)f#Fx%A(7>cu^Mfz&(~Rqpk|Z;&KYA7E&KJxc?fYM^8?EwVdMZSB4MGmZps ze~0-d-C-gSW+v1|eq(ol}8|n78g~)SvTQdSOpJT zLhqq{$15O*e1iYCr+%qwwG%H+ zXyEX+#AnEEDI=cjb_K(LL2)cELR2qNV$(Zd=2H}oj!hpA9P$e$G-7I6J5@!}SYuBd zE@rmG>c2u0ucPl|6<#-L6j~sfvZr10L(=lBh0V5boU4wr8u#PZb1?t7)T$16u`4OU z#{wXamsreNJt{-!>jn+vzRJ@9CFtkBR4%V&U&Z`X-EknQkv{UTR(Qk;65~aNNLy70 zMIK@4xSd)E73fGW}%pN(bb|chGpMOi}-U!7kuH}|ORYDz-(&~U>qNvsM{3R1ypC5TP zxc%bh^op2b*rO8z&rhesBhzicp%Bv@yL6e7!M`u>3bpzPypMt8wP;e1%(H}B`B2^b?OS>xnRO~`0|r@bs-U{SG9^tT!^`gxPxr)-a;)#IzGh6ASW592h5Em;B7xT}?&iKei0+OB9U(wooho{y9c@08b znm!dwT(jCH&{1_CDzIX-S8IL0 zjEt&UWY!nPBeVuAs15|RKoBVwnQR-I>H)X41ZK9!o!5GwaZF#a>2G&M~ zwMaQ(2on$syxap?R{)j}*t2)lDRJ|*|JlG#NQq0`oFrE*8@X_iTK1$}XjKpiBO+sx z`}MG(B&eVq4X+b_#Ut_lMQ8<|=X40Fuwfc&N%2eN2>P?tQ^-HR@<6o-@fdtONjeaBMak&I)kyHztkWF9Og|O(T8>VhH64zqJQS`%`G*U+RZe_?x@tuyR@);$wb@QLIWRI)(KREwHs96ySNTbeS{(IRS_9kw97;r+oyx<8O^uT`y zefepy&Nk3MRGLzd~THqKs+h3aNO9eVQ-I;aM9N>8eY?nkgK*TZt zO}N#M6iODNA$l5GN|Yb+?qsb30`9Y=b|=)Mvjc7@dr!VZrXpluSi&2zSb;jlTDLH? z5%LP$*TAKtFvA2sKgwKe%cl?$-?rdZsk;myxc#S=Nx;Ul zNZtVavcPW8?yuLzA;Qb?AnALh|IklJpZXi7HiL9efs!gC!& zA$dF!-#~~49Z>}tA!bxoaGVEKAl6zl;Z|b7IkIc{kmstEL8bf}I3EcBvunEGK@=rW zwzA-`N<)CZr(lXo8yQ^ehtOrBQyw%o$Cl026wD4iAXf_8RB|0AlCMG3?LigL9OQWh zSY&FrE1|y5zE#5wk$ESChv48B5HjOC6pU*zj^{x_;c@w^hP9dn**M5ArtrnWHB(lF zVSp)6@N9;rSDV+TyWE-*G!dy^ncpgzVecvF4dyR>o4 zahB8SP#S)9aFJgsQ0*p!uaVJv#dsUYf_A`j8WN*noXPTpQr0x}E*miO2Qq6yUePXc z$>yI|nhR}6dkBOyx=yENiZ5`@EXcy1DzApPxlSut*fRPu$y4=fI=_zTy?6FFpBLGp zflm>;`zAuVfPtF~Hy~X)844Tn?2C`3buinYhYXXM!>Z|oz-hvs`*!4D2)4Fv@v}Rs z2D=pcJPjcaQ#*7^0DwLGFH;GT!^tVy-!D;L}6^@LsGdp^9F8l zahI5?WD#K0{gnn+??YmK_ALb1^NOfEOc?3bJ6mf!6Q(QI_cuNa7a?~+UsI4-lCQD| zm$!*p4ze*RQ1U#MhDW5`D)~!A>s{l zQ-m8Wlx%MqaZqQP4Ie9WF*1nD3WFB zMAA2M1nSc4fIL8NS10ggvdh*9RhkL{Ji5X^G4wm>QF4v5|G?8x3cSAyg}u#;`rH$FbWKKeHH*D#(=u06<@|Hw>5DxP6IFLeM;@bF_25$P zSNM0b;UM$O)?Q?2!DQtbOa>~L*pYz=SB@x~AC}iJyrMO^4&`p52YIl_Z6w>>h6gjK zQoG{dd#Amt$AvtM^z{X)haWvy^u&CsncOGv$ai~gyJFg4Dpo&6P{{8F&kAR7ST+uG zODV!yL;+Y_Cw;X2lJI4gd+;bPgMy>3Ai5oTfi8+GvLipsPAL%mO0GCsggkZzkc)!N z-)Aq+C}fF@v72nzuOoe3HuL_umFdUTYGC4u5&S&lu<8WFjp&4BEmM9)hZ^-XyQ@Ny z+$;c9O+1IwFzAx4qSo&4j15KRi=V3hE*|9hTN36@7t8VM5(qZ5&t(pjyJLIs4}jrN z=t82s=~+R09W8DMZrOl>lJuB?JNSzP;+S{>X7}q z$FI?C>6s?h0Vi#wpBL;}q>=I6bb`qq5U4xFse9q(Tx<%iPCuz}%hGT_E;jpb$*&6s zD@_bT!w{WeA9@Jz>RAV;cJ$wu2XMeriIETFHTJwpxEo;V)gs$@X(#{NZPdz~kC@MD z=C3t);}s4-Td%LGCp`2Q-#VG*tSrg>Bs)9*cx;#>rU;f|R=}=CumT9db1(Rn<=hR# zvksC5<19U|ABU`V6+CeRsPLJ!9%7(Yb*!iGKlxSaCLozw>I%*p2@^jaFCtQp#EfWK zBp!@eDNN$1fJdmP$9-KGSxOtd8ZLL{Y45WNQ%;G{ky?Ec%=x_~M{?Gggb1?1;ci*s z%;bR+=$7D&=izxaVzG-5NH~!LmrsuyP6nDPz3x78hgE`&M~Vz9W=Mj`7F&JpsuNsff;P>(JSv^yBnVy*u=rC@2(epr9|U7j*=~dOt^XecJ_yLp<~o) zlv@NE=|Kt85f*0o@AmTQ33@wQB*G@0q`kdQ|F?jdRZ<+MDUl|9(P2>^Ye6VV)ADag znHIwJBf7JRMV6!PA-tAOtZ8`ym6yu-+tctBk??p@;{UPt-ceDeUA|};5S3ON6;MH- z&16)9NHn4#APRzHMY4brEhMU#5HOGg5hMoz(IQ79O3pc`KouFGNJS{_-i6)s&74_x zt$Ws)b!VM5{?n~cRd2oT6ZZb4$3XK=tvH1*X{7r`qpR>O+RqolFMS4P``)l}tlHt4 zCZ%>~p@zOoC;wAAU*|`4RvxzQ8u!=%$&INwfssRJkL=e)`1<1b4V zj@~Wec|4?J%TLFF(zMH*(fh<^%{aVh?e{MTzOtO09g6e!%q^^3cVcu@O8pOoZATm` z2BtzE9@zsN`)8T&W*X-f!L3sfSjHNqs2sw;0ztlFVRKwH8|2SHNioq4r|pX9<_oml^{Y-;g`L$4Sbf6#hW_x~sI!OoyFisd1wA## zrX7F!7a!*T;#2Gjf}I>kC5?fS>nS$${zLh-ReEY zZ;EsIr3aH|UOeN?OKg2puXpn5G2^ffEA~rv6Yj!szLq_giy9<7&S;I$a>;!B(aDus zTw$SUnrAru+5CgUisV?&mQ0=aJcqKsWdEJz{w62e0uXM@$V_jyWBHtWa<_d$4J|0c2q?I;hyJZ+|n-q5qs!Zq(u2c6y@A3o==cKdZ{vE!t6aBFqC&f${V? z0AQXSo7}RQWEtpwUGHZb&y#}2y-DrHTi@xXCHYs3==oH=YQB4;;*i{=TW7hlBQb1! z`QXN0I%}vrxVv+P`OHBqXspem9!o5r>AR-x=mxn_-CPM-cYbPfXnyaleBbw) z)%&yf^byE5@FJ2-9xU%g1vPDqp+1ch$b7dY+fj9M*R=$zf&rKO*bLec`Lc^p8;!fU zPR3Zac#H);wX+>LWHB&zm;sPdZH}xh`v}^EC-36Tds$^)THSr1o}!oPSb`Zaqk~X{ zEWV!9p5XB(Mu#gMYfZls)p3f%@mzm#eD!7HQ0)tV3A&s^`oV-EAk3~YJZx}(Ve{~@ z%V*1)gYG_5>RIj9JsDN;73>F%-<$Xi(zYn?=Wp_1*?ygMSLOoxr=LxfL~N?bllkz= zeEWGDX;3<}y7I8ii3_}o=9lO8$rP+Hb_4rIj`O@ENVs&ohh>;n7DSoIjOLiqQZU zYC}1%p>=)JpSQj5f`b1QQ{xuKc$bvF*Ne1Fp}*+I}CMM)(sA#m+Tj>JmIRmu&y@wp|#J4sx4}^P<4L&VM=0ouzoG8 zdl1V>O5D@KA39PpTlp7&2KhS39XOUQq+Y=FbcBIpO z-w%CgW57@coFIA60Rnh>>Eks9Qb(t+0r^dyg9iEVXwmA=P{j0dohxCwo3Ppcv24-{ zgJ+DREUOk!Oug-Z6`t`DyjRN z{3ajLr+O>>gBte;l=A>P(OxW{s;a@ZmyGUiwYxXEH4E$*F4ej0sB@FaYtZhQ3txn4 zo<6n=(Nu-*(1?%YfBvv-k4ibQ+3uu|U*B^#07`q;QnuKpy+~MF2=$WPJ}$Oa)*!`% ztwhZ$nv+af>V$14Ua7z09#+`l;P-tN<*^oTKHq)#{`Af}ba2l;Z{tvG-nz_8P%`N; zV4e%Lq!KRsGo4eb-xza7)k?2=_UKn;>abtwSlTaxpehAt@Lh*JC2hHif~kNzNU*Sduu5u~fBr|^Kfz{aS!MVw|H~Nytqtb1fJ!8u@s{D-RQPtc3AlYhck6)U%1{=?g>vj$xbt`K5nWUlT z_(1>9y<>n#$fymnm8~1Q3sRCu>lTXNg02f&WKWXyqR1atE!4&JNtO3Av&3)m*5&UY z`JH`dDa{_zRS^oC4za?#?TT_x_PI@3yMGR%_5QeUx4(hxn7C(O`lhPSf#IQ*veWG{ zDib9SB4t)>x$pHy)M6zFk(zh3p&W#uFj&0@cKguM2&igTO$YGLDnWS(|Nh?D9REv* zOu4|w{Vcwfux`ELYU_u;g8}~Y*w9EhfU^V^WULwmrCH3K4w_X8&ONW+yhJ;ljb9xP zxqdG^ULG)cD9a?4hvJehXFwmmt)Tj;%nsn^k%)+~%tB5{El^V-9$?(QY1w74eNVLm zKR-Vz_3L6zKdVK4i)RoZ2}{eRDr}$u6eW84bXa`iVGFG4Tpp?qkzEK%wDy#-GQPvv zG|)fBfDMMsPfeJ5Az>XVyGpFgOwBcVcVX|wtT>yJjZ1ibx%#z?PaBncbV*A0ITg-7 zxRx)qd^~jNXQT(bERl&@!x^`Uu=H<)v!}h6^gl~fC?WFc|Lbk~Kb)=#x9xu};D7GG zfBQR7?5eSZN+QRAVZewlPpaNT+!|B@k{Hm6jH1Oq_;88Zp6j1jEx^e7 zE_|f=*aj8k#xRSe4sg`xx2Zs+N?X7Ewg+KViy%h^F&OD+N%f)uhZB~XJCKA?tqGm| zh{8IcdKCpI0DVg^_c*s-S9F2A*YhCfvU`lGPw_SvMk;c3E~&p5JxxmTv~Oy)2pM7k zWux>k{8IQRhu*h4@wz=56IGbW=(TZyMxqw7F#--l zn5XRnDyNM&TGp zk%8b_wS#G_aJ5v+qjPFQ$92}VELZr*=#^fJ%J)Uyt|eL2jVnahCjqlhqa(a*AIf(= zu4k?#!?{N;<7r0m|!%zeWsqXg98gRZEABB8J+0_EK#R43vR--Tfdhd+)Z z={Y&jpv<6R2yZ+s?Y)Tiug$@;+Bc`SlJeR9#CbZyw&NryK}ZK-k( zg3PKmZ6Ahi+Vf;xdb&X$kUFPPFXRF$AQbb3^MoCCwA2B&cpXfsmr(hQ8zVpG0xoD2 z+HqRdz-L4Ll?#8lBG3S^=;uIJjy9ZVrJwMj2{WW%Riq3sMW)Lm2wE9bkizY`nZQe;t{~HOcvq3l!TG%~S@a zi#k{tYSA{}55l&Aeh}tby#D;VqF!5$IpktC?b)@XC;+y*F9)5cW!;I-OEqG7mKSZC z)$1qB^ZBR;gmQMAH{J}=4WJTewyD7^_fT1M{R?A(v*d|fCciYMF({@(CMTW!{+|O0ycXK7zDIwj5}}~ zYTl2O;3;hWx53lqUOfSdkaFvbjMo?y{!tFJX%&WOO+ZRcPnR*F8WY7p!f)0ed3(JQ zAlCL6sa5+_S@=0d5&ivfVh{a%sR#Iwo$iMy%ao~R&^f=9fB+H)YK0`m|Hq-IAF1dZ z|K9^O*o&x-xxjyK6j4i3NCL^kmph~jN;V5{!kvb|cx4nHVLVKK4pQJ*7DSNFY`gh; zzPT)?Vvv*@sG80&Wac1lgWPJDB*-a~1qVTw0~BR(2yXi3XfwX2xvUq%8&?VFH3=CU zl;IWSFzPU-IUZCR^4l@;EF3cpPc z9R~---nCLU?NvR4=QrT9p9P#cjNE{AI7anA5@QZ9$~>{C=@81OKW70oXg}KiP*YP{ z>5NSVBIW(Su%5v+2zl?rprpp}aHwjKu^lP2HKguvi4nU6)sZYLYUia6jY8mOiv><# z+!aWmM~nkQ$n}>&O{io{mxGyzxp?!KS4Vl4hoCKlAH4@n$^5anOdav5i zyO(%ryEOUXhC$JH&8?(+XiPqvqQ%ZaPVJm~+q@;}9o6)>7q^iy~$%r>bPM2wl+TM$KL?cR#4X zF4^Rr%kWmdKP7NNn;Xr_C{K&S3LB-`)O-WR`w4yrKH(&u*kHHYSwCvw8;XMBt(9t? z?mq56zN4H++)^Xa@r=r6;~K;5_zF*^^U+LXWFK%~+I9T`FTFft`$iF8)(j2LO~LqF zyP{tR%!&sxj$i@xdd|cAgkAn!U{4LjDPLdYv8Y3R4ZRV~9hOy<%%uw=+4weobOjB3 z`2qmq^S>DT2WESjJU$iygK%t48({`d|wV@Id`h9f}ps$xp&PlkN&; zDMQJV{pdKZmY}AHg>;MTn#K)FUqVoHLk){7^sZ$E#VAk4T+R6#P^~az6UCv>E7+8u zAP-EMPoCQXwj74P$urU$+*p)3@bEOy4zq?T@=&GLl>0onV6_c;v(CaboA!tqDZ>Yt zpLR2ybRw9GUtuAvI|x3jbALJdFq1DqZe@SWGgYOE*uLl7m!_cy2v(J&^)Lis(8I)` z0;nRB8!wSSvW9g#E5JN)qvjAy1&`WQoL3)XdMHB;g&KrJxNu@9!(&B@j#UnM<|J4% z60OA;% zaPajcOhfavXonx~$)r&dbZVdt0z+{=h0gL1foki;D2iX0xqQ1y{COfU?A>}6m;0^_ zoD#3UH8Q+#o{cH**~seeJF44o={oNM<8FKbQ%Xi*r4E$<)@YuJyo1#&r%m=>U85i! zQpsI<`sMe$h<7@vc3~Xw?5|s$+gB{W;0uYLWYl(%!Q^dgaL4uAh9_^XC+!ht^}kbH~t?J1QO5a83m4N0Wtj~p5I&eOCh{nbHXR1_k)figlJkeQ7e zqlOG?U#<$YGu;*5#&{bYH6uDO&WE8#&4zU6W4i^k<4Uo7(Jp{Cb+ECg0z}yjAc*Q)wicx;o`B{ zYH9x6(loM#bYc7_2<_DH%dxSs#g<@JmIDyIap0Sf#nsXR%nMfKOFcuej8(+8Zy0w3 zTX-6lxFpOJ2ictzCLQ);!2!FZGB=mltqGKW5p@_}KSV^J90lo^4(k9>2R+64NtZs} zjRi~a{(F7u`j8g9pRvLc%AMKBz@MnX?6?F69VOkcL7~<{1>@UeRf#eI5P283sB+YO zA~D`w)NmD9Stvte2B_-{qa zZFg=!*8rWdQNlsOupbpt!$)HvMUX;4QJ(|oN#a5Cd~gzkk<65TJ{j$95G1J7HP<;^ zi|#W#q6fQxbB;u9l*wW)o{SLV_sgMBWxekYPO=U(@PW=#3F=P+cUR!@R6pL^pay~> z3uED>DqhFT$l$(_-XX@{ikC|OHsei9L?X>aVb6e4y26m{?2@tUzShq!#7j(@kXu4H`snQVF z0`M6F>BJfRcl$z0T}w?6Mm7kstvb-U>QWpK7eiJ5zjpR0ShavLl_n{;0Rk9KgDL9l zQlDUc)R~)jbM{xx22<${14%b|$AQ+wR%1i=SreBZvy|GIy(RH{JZh@L(oUy*CUkeL zU>ARH@serW}zk@t6EmOISoK zvxl=sE4kcOqONs?!ogK!Jh%kWUwaW8qxnN(WAnJhu9xb0ymTk4&)gk)b56%SnGJ4& z{UX=1IF(SHS+{rHnWq+-I3Ihsk3TJ`^N}og?BRDoWOROdSj=d_OC`IJAWCVCKWT?~ z*`U0R#q2%Y?@wVb<310cbq0M4t=MLxBSWADipcN3Kk}i5hDOZwX!w1mqMl7Om)m_gcGYCf37QD#~kaYPZu!=nV`qCKaG9UJYJAoaI)!hZft5n zUTm5i?Z6^^OqoZ#o1LJru+4FzqECemhXlr;OAnx9fdbg_@MO9~k43r#C=!%lDbpRO ze!sdIo^dsM!NMdp+=WxnQOCikiZpR}q4r#|P@v0%{vpSq_Wf?-vv($XcB{px87}TpJ81Rg^~8jx zT5O7YmP!gupful@)d$7RRKqR~ zPpfuFOa6cx$ihTMLnXv=6+S^F3L~I{VGoB-!qmooaNk}nKY?FHh(VSMbSFeMbj&)``N4&Yh!#PAWw)gh$RP(X;q@vpJWE}eP~ZUF zT|7p$L+0vkHC%K^Ht$R;lcsY-_MS0$&KnlVrq*(Rnld%9@ku4ab%(^`xy`O%5 zM1@Cg@lr-fbm+WCuNSjGmmT+ONNHq4(Rx=@O2gWWxTe4!*4G`>?3FyZ)G^f$@}qMq+F^uq9Q<6Z8Z5@EfvH*>#ufI`<@tYW>PU|9sl}f^(L^wPv=e zXAB$6Gu{qxe^ioJtfHn*=f8w`8tPHBSg)QlN+W%%tKFNXvQH(eCrLSuKDh4MJRxLp zIW=L|XhU+-)p(yH3dUF=L^@h&^-|LIx(9Zq)hfk`smwW9`0~7d9<(+6YJa-6He!&1v<5)lNTtdq9o!*o61ggGKA;3wD`2o$XR*pYWYOEbA zLQHh}J;9GhWhe!o;7}Tsquao`=U*2yy*IYsP*rXFVdqmF9FX*&XPrp;nRP+QM<`D_ zg&4dg_eyL3PyJe!Ci&nm@-&;!@v(sV!eetX`}!hPR>cQ8>q$BGwVS7}B#1pcIakIw zS`*vgVMqh(2fwHq)Sj*x6o?KAa|c~nd}X+FJb167mq0zSCsW(o;^~9yzh>R-Ys}M~ z{o*wkYa27U&8>qFsmVl!ck)On!MtHHI6w(q(D4{$gCX$pbilh}0gB#J5h^Z#!Akv5 zE2^O9gKWK2Ek&|sKv{c#zYJLiN=eSbYH->BRaQ4|3X~d+4lSWMge9OSbl6^T_=Bi9 zpO*E_obV0R%ePwJ7APMDrt)s(()OF8dV2*G{KjGDDMtQX1~{%H<5`id zkST@xG)5F?}O(0J6E)x`a~DHjz5{Jp8}KI=}j zyL4$U#gY&z;%Z8Z5#ers$fyVj?0v=am|B4pY8|M1I{yAmYY|a@ZZZO*=p@E|*0|s| z_L;&>29LWkq7<#T-QyW$t2S`I!1mASR~4Xdv9Oh7rL+H2=kv(ByS8FC1xQpV5CV3A zMEyYWztlD8Rzpkrw^z{F(y5F?ec(_UvBok6&7}Y(e)RUTwF0jn+rVS32b}tg%Mz+; zt_vOjc-(k&<_AWnN?;!<#)BTy-kB|xZi1p-G+T(in*i`N7M$TR=>~9)FZ^jW*g!?Y z0HP}W#Va^nIUK%9aBG%G#5Z&i`erQ2X%N_C+-6ujP|t!Bi5ps+w{@SX`@??| zsZe5rji=lG&!tL|#lgrOqP-;=l^M@Wp>6wbT(0#1!%YT`I8)^y^bPvO`x;OHqDy0Z zV?yyfM@SbG#P*v5v@|rfZ~?9lyC+Rjln4A#|mT00obpCRSgo@s(dgdu8HP7?&ez9w~W8-O1@VK;s9WvCurusEv=@D_Z%u_#?ofuQsbX!`mwTV34E)gGmbs&Ja#xp!Ch zRy(-*!9BGOT&${Y6u0umFpj`9Q6WI7+hyRG3e(Ynaz#eRB_`4l3Zr9EN~13s{n?{P6??>?v~wWDJS`!HMl>hPmY7 z0r*dn5U2UgfBkqJZ!|XQQ-%=-#ip_qnlLIM5@UCvPSy!WO@!k>Js*lQVoP?c_IEn2 z`EmRW28mpgUR46yr!&~~VRFzmoPl~A$~o42NDlatBU=XGlh$ws9td+Yt_Y$zk=Ibk z^;M`F|F<#FWbQ@O$olgAWv>m2K3l<_R}1Cii#dS^$Ht4$Iht!C-FG6Yj}KCHD93AT z^DVo^R#)vj?mw-j0&VftLjT?XE8=Es9#`3}sDAs;w-c2&Cj|-C=mm2g8Z(*YRH^-tqR?(H^I;P48SX`BwUpWV#2w*$;G+147D*4MFW$Gc ztLNIX*_`v=y>an8EP}SLgKtR;LSMAcyVd?DAZMqr!G{hrO+xL?$SY`cOej7jJ{C#* zE}r?$J(92%~5O539D6oyL^_INsf$n>~KKk)$;+?W@*x8=IGt8(DvOPfFSead5^nHhehQF5~9iGxd`dN23n*H z8ATSe5X@4CsU+(mM&qt9yG{YNyx4H7yg0P~UN@vFufc-?PQ5d&Py&HyscgB`Lr+jz zZ-!4vp1`^Rs4{V1uoxl7%GioDdvIC};JFb^H-LDdHX*>-^htM(*zSLx7RgaX;=p%o z(=gWqQb;&@BV|4mKOVqyr=iBW z^6qIo{Idf#&3?c^)!@!m8Co+Y7lvC|(X~&mBy(PUbHs+SoTUHHvo#;wCM)Vc(1gBq zeUR!9uYFiu3Yy?Pu7F_9m_Nyq1vjTv@$8;$5b%j-0ot=f0df<+N%hdBR6_y&dI*7> zmI{^7$@=sb!1M4`uf?lFXSiUWYUN*yc$H#BI#6#ee;qSU8BipU(N+H2L6=Od{($1z z4|eSP&|GTsah#FpGmf}0gRlS~EV#9pU>)`^BV{eXK#MZWJ+R-p&%!=4u5edfgz`cVEum~g9$~h0&M$}m9WeoQMFGFCta2qTH7T$*_~tBCGu3Zp%cH}T+e4Gp4l-Uv z$}QGAwS-5_$GjK1s8frqIvn2@glhO0Om&hQ0H9e7S-8VsDZwL@2VYD>y1^N+2HD^M z)4@O?)CXZGjj6r|CqN;O>DYQp_Mr zL%>ZP1U>}61Wtqm`ULX#c>q;a5$Rn2ol$_Gkf=Bxda3>rdHQvneAHo(51S#h&VU6m z0u1+V%C-C?fIatuI)cbJq8`Y)ieH10Tz`fib4w;z2ld#>gY&r&BNFJra)q2qYT+$o0gOR8+ zHHO6v&Nk$LZr~R)-wGU1=Agwt91vEqt14xAn8p2KvxnA@oRi3K&$kF zr;&ed8y=3tM#g)2RiNBVi^%=rMKvL1DJV{IUCVy__b6Opkb+vJ_$BT(R2z=<0< z+slC64FG|?-l$AXo6HMHC+LTtB{zypV@(d>zGqOO@hoj_{!G>QIHcmKYU7%tplta} zwww_*0^9~U!WnGnh>HY-k6@xc#!~c8hwLQ}!+}-|g%o0-Kr)A4<~SaRcs95fG9sr% z)1;dDNu;HyG_RbPdr~P6xXA<-Zdtfv6QZ_Z6Qc3rH6Q1_R}E+RC9VsF$fbS?to=Ea z{i<+cprscLDJ`se8Epk~uXCtNIa5(d@>ME!YXY}Ta%#YkS7 z?<5+06#l7h{!L{qW!L>1YOk;)P9OySyUjA8xcQbB?E_J^+Qv9X49TCr@%5~f}wP{iK42c4s(Iv z?^>ZwiLpUS0;$=Tw}C35(6+0S!HKc&P#&CTDY}qst2$Cth^T6?`V6+p1Y*yi^bA?$h6~GLgfD-yd$`zx8 zlr-+(32PwT*ouc3Q258N@9Kb_X0osn@e4SgXL3>a3^2v|&}#OBG+7PFJB$WZu3E<} zbBK8iVofztOjbb6{|W~wc_-^#Nbly;x~r9e0yv=THLPOKMSyR<54uVns3*p&Ktl6+ zN-uxpUxH1=)Y@SD3*q4a1nL9ij6l0ddHEAgqceZ{{&;j6ablnUuYx%G!d&odEPh-J z>cGnPM%|kMv5UP?r#3onxVoOhBe1CKb;1XgSIMd4a zGV;8-V6!~AuH5)n)t`aAs9_p0G*D%Yg4PMzWnY9t$eW<1*DM@`hZS8w-e1D?Ot;|p zYC3F_F^JZpR0To7j5vMZ!je*8VI+yWfZM0oHEK)3L7fD#xGmN8P*PU}_U=6S=oHAY z^sr*FQqdC3YWIAFxIT_!BRO@_WsB0aqku?cR(i?$^h%g2Z-Ft#FnNcl3Bu*l=T^qO#U3(b>`VpZM_DA5={(k_Pg6AbzfM_;RE6pIb1op4t3DAsd zCM$Trjje<3Kg`1bz?E^Kd|=@j9SL?LX{@)25R!>Gi=n8Ug;Q#3p$0RwYOyV(nc9@p zf=J1<6;NSwJ;sIlzlJ?pYDp0Xu^!6)il?}j5j9zZIJ}5poKp58qH+Z|*JpD9iZ{6b zBHkebC0lig#^@(0=JytT9O0YaXU1HEl&+6Dg!YQw8bc6L^V-iks%=pPpJ{knE~vo z9FZM3#_%5Us-_nW{@A!Jus5j;rtBat(4stel4)qhx^iHgTdy)!4-_pfrWMQ){F7#8 z56L+kWj=EF6f^7QKR>13-^V{C{4i=pOMR$dIseq!3mSr}_g&b`#>uX*`SFeuE^IN= z>!;n^-;G`zwUO9$=gzL7X{rqIs1v{*4?0_(!|H&04s`gQODG}yFY6VC)eQetVF}K| zpRYc^2+YHO<^8=8!OvH2UD~wZU;q5AyoaCP`UA$%(x27;yw{&c?*8);EB|?~`}<}V z;rL*Jr;Kf9J~7Xg4&LJH7!(~Q?@^en9(@-MZiq}i7poLxuwwLmS1G+H2?9=o=tThB zdJZX`Mvd_Z9oDe<6XPL`wzgm4?@{i98ZU}Y8cYbs ziaz$yn^jXaT;_B>K24e`c`S8o>YFWjVmI%mRa^_=9+ExVI2P>QDxdV77Cou_pMGK9 zr8rf%E&}69@qY-%AOAk382*3RKR0j3*MIKm|8LLdfA4aOrL-OwL7$P++%y1^8%9A>C<)!+p+oe_l)x{C| z@tlQ+L!;Y*rJBR_de3M{#ae!766qv;bxXhYX3lEzMwZLqTCErbb*&U_73X@ob^CQT zH9H!0f83GA(s#>H@0kl~n8pQw%IH=#Q77nQysMpPxxg6b0L1bQP|MG3!g|daHXW@{ zLAs6H-|5$^tOaMwe@S^ckrLKIsnzfwth1s1?5A6`h>YguYE3)#>b%@)UtYRDBIkLU zgVXydp_-CR+peFDDm?u~L5ovfR@bOTJjbyj_8bzu)UaiGo}{=*Zn`RtiEcGh^ii*A zHY@K!um3|LeY$t2UPKX(bK5Ozcn|9?a$L$nnTM~QM0t9~4J>o?jL^PB?er+P zTi#X;Nr7c*PWv8~%<`&mA-Kcc9k zTr2h3`>7N20gKGVPOZ5@*k++I+j4s`q4^o_>OpBfHZ>o}9_twov6w<+$#vBzavR zQ_!A8vXbhra`9kIfz-RKywvyBQZu@j44;{;AOk{{ZPiLjv}$=9yLkA!=L%P&13~}` zg>MKN1yaNYdXrRx0vG!Ag*nK1vInDu_o6}Endb#Fy1ZMVzNshxLC2a1T{x_Dv6lY< zfUC`m^4ldWYIijid3a>G-R${zWMWjxo;;HVBBeS=qi)~7)^Pbv zy%utOjw_92rbI&MSZ2I@fT#<7U$pRyVn>IyXO2{EjOnH8W-_Q2@x~DRsl594`Fpb4mpvUWsh4xC>i(*--LZCVT4OWGm;E~C zN6##}&E0LVnVd;mlrHfqnKQ~UcT|pjw&RH7JJ+7#t8|9OYFF~f*sxs1ut}$sQl72r zf|LUgS6lLxGU$)J)N7sEXk?c7v*^#)a;p63GAL zz#oJuA#bH1wYi+yMU}|YUID;j-p%pIH7fBCr$6MmcB=fk+>Mta5fb!Y@-WK|`=o8d zXTC#;?ct;I8~M&>>y=l1UVCy%E40A(Ct`!$O(E z-wrwsc=#4vII&OL=3pYbh9qpI-SXQW-?^YRE37Hua;UC-GynFyjRGF8cBC4mzpaUo z6nY@bknv76-i^G(9AvZYnT1X1=7;NEbCeo3vx#W$n5F*A?)H*>vUw|+N~xOe+Qd{A zdt>Zpp%X1hGkM$721{NrUn-%gyZpb-|C#1ZRfrvs~t@`>IT=#2r;a z#hq#6DGrY))?o)ZFy{Falab>FT;LW-jW)Q zZ}z35kA@>wNIe)k(-}}STlu2!j*M|negq7o#T2I${nVGzF{cj(i*%`GSq#sH82bc> z1Ps{f-q2&EWTsIUJ4wbXJmywD&Dh?OZhTMR?DwK^`8)x>1LaL=hCC@e;p|KmCzjb8 z***tmqrB>Zp<%Di2cbUB(`vaSqx7P9A+;!qE@j{pkaa{Od zRavlFUguEZ8I$9WuP15A0rJ;ZrL*kS8M}q;AX*I@>5|O1NO;*j8lm&H(}&pNs!Ti? z8syK_V_I}Qg~jRk0F6yh^L<0n0!voZRpYFmi^}sUA{%vYnY57SQ;VmXcRy;&wDF}& zdnoZq%8w8e);%~Ax6{96|IYX{!psJ@Co*P4I-8W+8imc>&+{!Pw_?7kbnI-6q&94= z%HDqDiium|QImFAUzeQmWd6MHu{P3nz zjZQJe+*gA4sub&)2w#DbX~AvGDH5mU$MkhAz*51S;J=wLTkt@rC|34a>1#d$rM*bL z@CUij{+<1iD}0xKEF|UK&GHyI$NxDfa^JRTYG#A-W%te;$9HXo*Bd;-%aqbN`|uVk zIL)|^ot-AXmJ`1AWWNe+$6Q|C2A5Bost<&s_4szb^$)w4A)a}sr!ic&Zcpmidb zv&@^lPj?s@M4w!@==S4-x5cV5=#+*_gM^fexmr{?9oBOlsvd67Ie7S$J*PiFU~ix*w7|jSs}ktBYax`Xr>ASuUhQ+INX? zK2*YY=o8D8U}$G)<#sGVR_|Is(3x8rC{V(s_3G%*y%Vkv*qO>c?$*Yuw!Jv>ZRh^? z<3BS(^Hz**4HDHBX7UNXZn9oVYL?oX_%Zs3eTw$Q`3j%?CBgDPKMdtM;Pqa+O)22m zB&ek@?-i%E=Z_%ev0Jwmi=(0K z>AYE``Q!fX>w_&4q3OspkoJ7>&TfceQ)5xRL2}I*$r~S3g&V$mHfP^EYIE~VN0aoZ+?YgDg2SdP*Rpe2 z=H2ssR(?s>ZY8VdHyX^SJQjrEBn(`*&xR1NhkP7?cH0q{Mjz98bj8S-gBC%HJYjN~ zXA%IVY^ZQ0OmA0#95?&tXPXkI}Hc*fV=vkytdzQZ2+>$`%5HkJ7vN=RuH62 zO1{*G5z=Ubb9YME_lhUHWZ_Na!w#fpZlIovTkccslo`5iO#@a-IpHwv}wU= z^Cu0$I2bCGLi$;T5<$rKd1YBF)EhN{>n?$R%MtkMm_=t$Jaqu(;}!&=m*Al&X-GU@ zlA@DQx&WH0nkJHY%?HiIbKZ+*3Fr8n`?jWj`xxEv^Ho(|#(8%KT`dtO8ViU0=Opp* z=e1H+dg7k#Q6FlyFKC&@ zY9vuCokzlBn-~Uyt&UeeZ-Rf;R81u3)+_5j-S}0QC}9LqM8R`u1(Sz)_X64T2}4l} z={dKCTIbJik`3h7gl`JB2U?`PpF0b1Cc=uBS@v$3J#U&h*2|@@*Rt_vBO9rl#^Ax= z=aw;X43Y_d_rD%O_}^<$|J!!dp7yD{9;iz*>XLA(l$frF5wfW-PqCSJZEe$%8(u>> zygl&etiJx92CF?n&E&$c{Lc$w*2!VC(e=}#t>HEmU&2$*q|c9h-^SGO`Cfc>nV-^i zrg2JJSrKx#kKL9anYrwj5h?Z&zHM)zL+p!fuo;gUPUO~lvyk^qccDpor$mm34d38H zj!Qq#ATYIV;wqvvyUu0KjF{Y^lu=wy()gG;u4nLXzE8B7sZSYsxuMBqj13>V)IA3N zW5nZZki6MheQ>k0cKA^`MJG#Gd0O0?<*;+z>CYV%d)b`DOBI**N;|I_37T%orQEZA z#64Y^7S{fbBiN3{R{?M3>9&N1z*~J|<*V_i(htflSK4vRR*1qM_@H8+*4g)>NE(9MZ=y!;F^Bq7yp0O{WAE+G$DEZb8Z*;Q+^knWsZa zSAL!24X0R6X=mMubZJ$gk;7sFrG{vvoBKn8airQCZI|6w zpwZpP@F-(eD1-*3bo^+QO|SKhD3YCR){kd%E~wm#oR+8Ch9w+mjgU^x#|$@D@371p ziWBL3h4=N_$Oq>3!rL@UvNG_Y$E8EDZTf8`TDekXJKm2kr-k2~d{{eDYV0%C1UIo* z&WCZ$Z~O;o{fDP}?+DSmbTgUuSM`rIb_6SW(1+iT)8{T$r9E6#7Hju>ekA#U?z~oh zuymjun-bgCFAOhjv-ID?=AyE5cFn7G(jSA;+WL!rrnGG4)Hckvi`UJzv;SZ(<9O+` z)?YrUc$2@LrrA#{MUUX$b}yk>Q`Z+#g}aNKO4`k)sxlEKC)f%67lDiam#qx{S3raR zZP(rZs=K?(xY)HWP6c&3*FZVte8Pv_Q8P*7IyktUeAtCb`;}o~Vf^Wdj9D83jdx3i zMctRlp_aN7!=ldc>tD8}x=ap?KxJbGl5TrYW&ldf*wW!uJ&)lvjFJzKDtkn-5XIvZ zGk?q}>q5E-aq%5*P0C#3{>I*UrFN?nyAC#{q(Zqt?*f0(_1#JV_vM^{?#hl+3Co4> zif^a@V@_L=2g4$H{^=eg2mo1~Wm>UKD_(WGq5JMmpt=W(HUQVdoQf1Y{&`%7zjx`w z%EbbxS=K~kmF!i0k*$@sWUqpsOK)~KeVIN_qut7WnDbit&P|1&OxJC9% zEbI<|l{kDmwRK*>W*p>fl!@I&l0pVW&x*F%`Q9yfx+l%3>+MVWYP%(Gg^~5u;hKevo^#^t82Hd~t0Y_X;@sHiTm^C37 zpPA~=U+doOiE4u^&$&9eR_p*y?? zhBeDS)Y0R5@qY-TX10H0P5!@8PF@AZ5G^sExO9s=_5A(-Y^B|tM$LofAcq0b-RAv1 z`g=6@99UWIbu|+PO;d`lq*kmFo8;AI(Z%Me;Wk>{isood0coe9?;@*t>%@p^9xxkw zj`Q5vb+pF`UN%(tZJgo^>YVGGk~R)yK|)l2Hhzt-W?@y~(!m?n@_rLC$ZuW%K0J>t z`&{0+NCmH}1;PYk31D395TnrnJ^q3DP*>V`&MhVu(?Q2&%~|Ge{~{`|1OA%kES4GxTKQ1v%Yiw6l_eEP%b z3a(y|LTLxbrP_hXw#pz^hd_M3XVChC!6wI*`GhNC!k16WzrFV3=rpLnbAeSn8DYG9 zea<>)5?IU?EZ61Bt^5#P0_wAD(3duBI0LC?R?{Gtq#1AKl?G{>8}D`nyCj2xTyR-@ zod47U-(=(ZQ=6Ux7cmF#*bYl)pHjfS^x#x>1sjbFOU8|zAu2_ob3wh>$`Esb$AG10};6R4!@N6fZIl%gu7Y3RgRl^;gdLbvcc{rXx3zi3G zLzFfosDE_qtA3Ab?Fh`OiK_j}?zP|blzPl0#;ds^?Wq97fuv)bHt(#?$L^+?e4zp{ z5NAP{Oas`8fj*Fu6A-YO&Ph0})Ef$J#XoVil!OSSzDSMm(-|8;KX#&gY%0GrJ3*fh z79d-#*T!pkY394bT3IvJ@Q+>@{se-lUQqq^pw=yu`MS)?sG5?Q1!fUsO1f0_^L1H)ynL z?i#E(>!$sJNPa#7!{Hj}!mb1N9VVckOG*a5NB(5^dEKCuMqTV4MQv4U9r*fWVUIB6 zKH?=1XsP}f2o(#tgw!*SehsFKTm#l<-Wk4x)KJp)nw6ogPe8EpVOqT24_*BXf(6Fo z2#6wmi3L;VpFn&@mq+~eWmDk?RQTtbqfW5!^r&toNX|~DUWn==s(k5ykmpp0xf=mt zm=i?zj8QJsssY`v4^qVWEs9$yuP-cn>Yu^KKY9VCZr25e(aw&vE6+m3t#UzN+$5h? zZueOQ4uqjZ)UCz9pSl82mKKUc8+*0i@|1exvr*tj#hco-Hp%4=l~NPzlZ>=r%Uodg zI{aw1xH@OTE7C7^x#70#q%Y>NN`YHmET21+!I_z;;yQOJybK}=vq8#SY!)bRTX`83 zQ2tpJ1xWTg-1VMI&hf1H^ z%+BBg$w5zND4V6j>uNs&u_;JM*L5ncm0-mK z_eo!O)I!lS|8#GQSf)83-=rQdJZ&BeCif5e&&)1`hGDKU{0GxjaNX z%v0eM;trM~smIq>mZz(o6a9AUf<+B=tVH{b^6eVHI$Jj=1e&~ZaT{<*YK-5$H&m$M z`vl}Wj2*F)wR!jEhkff)Ge;xG{8GWyoVtV@X)EO;HjaA&9bc`Fm52xX@bl4Ti>Kv> zeVroOYE2#YP1-i>mIs8*ZEGCtetBp)GCQ|##Ycm9J3*aW37HhI>ib*BBMB(UgnN7R z+>Qj}T*XI?M2qF)oK6nkH!xc! z4(o}nI*)?eN|S4JSTSm*6gZbzd50eO@X>hPq*cImcZihFfs5uQy9jKy$2V6gCqIzj*0?Alsg&P#6V7hX>t z>;B6m#Ol$?o^8wCYx>h2Ua4I6tF@ z6`?e`4MKcj5H@>xjKG$*4p`gmZWX{&-Uf9zGiG1B!ALPG?hSNt+*2uVprCPeuH#_j z)t0yKVQrmJ+t70vcAr0zG!lRQKgGRwJk|dj|8Im+QlzqbS4KufsK_dtWA9x$#?gsn zlpU3bNcP@)?+8gDWS(OjJC#kzaX2S@uh-}I`~Umrw?BK|Zr*vV=XE`<$K!r&%)u=_ z1mET($SSx5&mUmB(!k5>C1)-`pK&?`Om_QR+%le9ol+QFm%JAs?C6C}%EDWadHmt- z_$$0Akg02fqUc`VbvRiLl8}7J4#>2Ayh@$9IXQ=3pSd#a3`2A?Rl8R}*&CdhK$tAO zkHPov;0g{a*v1N_R2Cr42QLU3mn8766v!SyObsp$?sCLuy?`rO;vHVuYF2ng)1u=B zraA^>&-zBbh-pROL5%{>U9s2TMiUa$%X;1#-@bR`wT>?s*c71)+w&`LQHATD?H3Ox z*?Ie3aTt&uJb?=7Uf*4b<3oSp$kp(Wg=$I16}CtnLO!6_Gf@^NuBxV;=FOO{xO>MH zw)^hBl;s-J-fD!viXfyISbd`~uts(Nk)Mf!ZUhmo!&z>n%Vt#<8z4;LcVPwwnu|VD z5FwRIK(>$`v)U-o%MOAoM30@QL$M7oMEN*o6i}>KU6-|9$~`G-om%5*Tgq-bJP<~9#syGMT zj}zoufZFkKgp;)YAa>(iGl&-(p?JNIXvtM&>Q1M>nNz&CahxBIxDoaOlEWTi;zuBVOh^L7I8r6Kw~3qCF_C~aM72OLk% z7$Ku>f%7eJ{>wS3zFUJgG?_P~0M&quiu&^J^T_h>q>t^Ax7Su!8Db?W&^>Vpo+#`9 za;D7-!6d~~>VPjWJp1C&&2Yrsfh0YVdDEsO#gO%e|87Ox>1N1hw;a0-ESP&~!*+zR zWk_0hf>-c&@=$^M>$s~EL%gC9Bl=lz9!_52tKzT_%Kwd2$4o*sOA*r+8@bZpE66gh^Cy~IUFZUy1zpQP=T-~jNfIx(Lvv87-*M^n!S6FxoEKr)@Um*Od&{6 zy?-4WTC@4qDfSU=?9;Z|khNeQ^yljZ*>5)aQcEU-3O-nZW6bXoe{3jA?ClD1-R1g% zQg%s94DZC^3`bKz?`sWF_hsBylB&DEPlTRNj`zZ+X(5I6dz8!qiFf4Fjh)bjt@LCT z9C{b)QPt7`!HqrH@`TWBBmD@s2pL2ABAs+OIk`<(s?!l}VJM|-n5X{frwiU|utB}Q z)Vf(Z&&q()9oQk{dA59Nx1%(_x@u498qY$d9=S~nhL6gc^OK^7`O?@T_Oet$XG1Yvu*#{l6~Xy zxgzTYq`0$5zUHgVbR2u4fGQzqhHzsAuJx-H>o(C^MNGZBONdN5WAsuAqpnky*4i77 zv!(mL;rTsn5HL2q0rbH?L^T_qHOZN2$2+a!=hVJdVYZ$E@A$=JtPdjX>(al%;ip52BQu%gJaXSb{y z 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 T#HmT-AFZyetyFf~Ht7EVPc9S= literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_165650_interaction_diversity.png b/experiments/results/figures/20260119_165650_interaction_diversity.png new file mode 100644 index 0000000000000000000000000000000000000000..803e043e19c1d3005cce60b52ebbac4c41e788e8 GIT binary patch literal 65401 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%0Aw6M%O&FDi6ZbCbXRvSx3 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

g``Zvt9RmQ)h3TbYH;$|I08QJ$X0 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 a`P7Gc2WGn_*VmG#!+PtEE!kEF!~O|7;J9x9 literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_165650_metrics_comparison.png b/experiments/results/figures/20260119_165650_metrics_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..0a1fa26f47afb24f8bdd6b22df19bd61fcc8611d GIT binary patch literal 70466 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 literal 0 HcmV?d00001 diff --git a/experiments/results/figures/20260119_165650_query_distance_boxplot.png b/experiments/results/figures/20260119_165650_query_distance_boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..3e9ea593ed98c3549d0f1dae8a60f3568be5a97d GIT binary patch literal 78622 zcmeFZXH-*L7&aJ0Kt;p~0s`Kvf=ZRDbZn?J1*xGay(Dyy5+Yi7;-`qr$Ov)1)uBxmol&wktUJnw#aUrUYc5ceS% z490f%&P^Q{jHwLKnoK5OUU;o>eQCWiR$H$9$zOs7ZIFnU$sU$6r1Nv)a2(PgYe|@B8;}t4#abz|8ipvld7G z{G_5N@xSuZAWYTvGJg4q0{Pik1Fee|nZ)QP#!W1>*KLrftQI5J?gq#P{`~rKzF;8N zD7Cayir1q{^;Ppkb+sJoo^ws@4;RC8x8HPirQFanHXfenWQVB)-VC`0gU#w@=j2d# z>4CdRH5-j$4%-_`hxYGl?dTYI%EI@#AdtRbjPtN}E_j^eJrO1=v;S8lX8|GSuNxtD zBjv7f(vIkw&35PccWQhOG&MCN^5dCKBIu-NPv?egllloYYtro>ujw{~u(_-D{b&eX z_?#NvbIQOZMRx4Tjo?O$;qhHs?JnHY(-Ze2glA-3Q=MUA(!1M_Qcak)ywE&c^|a$i z-QZ5QX@T_V!}Iew1q0;KO6mmvZaF-W5f=0`BnWx}$;7}NAI$_gz447E+11rv?VQh_ z@6653y}F$$>bK-wOG}vUNXY5clGmJ?nyRkG(Z76tkUC;L`R$!3OwYt5mtY=fTDwCn z@EkC*wQu`yWoywnkT}2n=FQ<#Cr_5E8!#OWTutS#U}Z*oE)2}|Che5g{CXiayI#9n zt+f5?hTg-6<&4sPYou)x*}A85tS# zErLlNMm--~$5#^TF&&U3u8C?7L9{6^ISEYFg_1_b0Jo1-SXk^abksl#0&oq!u z6;(-yj_&U|*>z86a1k$BncMDJ>eOr1Zq6#o^9wLMbRvGt6Jl^bm&Fgd=nCc8eEwAGjS zJ|<>nj8RC$eYr&tyU8bIZY!i}!D8i9?ZjUqM~*S`&B7pv1Ji3oxpwlsKirdOABikZ z`FYJn&3p?E4DjT_3;coGMMO13rEwM;Q6NfC+l%F?FdiplD1eQwDWn!PD}N7SG-0!6 zHI}tyx#a{OtQp}TYGDe>s1tlYSSBW(uOz1_G zRFv2d&4N~J?M$ps0k#&Ja9Q&Gh;!tWubIzOboJUXqL@={=}b`)r-*Uiw56H%s3-Cx zYFuhJpp^0eZcBSJ#AOPMmhB)67G(C&#N^{I-|Dp_)Z_YROuTU?4!t;TWMqWwn9EEW zvl>zttDYn~Q#wCRp5_@hvA4H>-0|@mnu*Qh@IEuXX_OBbq-`z>;_f!D8dbIq6w!)QeF4+;68=)B0 zo}Z1cd78%EI~94y5`lr5e3@C17S>i*cYKo2@;XnwCsT=<^%cYl9&{MDbau;>{P?EU z>(2NQ{g!nFpKA-bCC7^loeHQ93f?V|7hYP3&mxK2eSLi))|O3g?mCU)${G>Ht`kjP zRatoZ#0Msp$~`;3eX}d4EaSz-9miHWmB+1k24z~>+MG6q)?TpiJxRVnQFknuTWaR_ zj))o&Z6SIU(L2|Q(9^>+PAk*xc}mUeHS3D99c#q!?7Te0hLitVNs=Zh0)!{?mtZ96 zDvsLm@kvE2Y7vAYdsn1eThh*I=2r%mGhO1fOEhcZ9RKcy+UpfW`~~I8mLd!y3Y+xg z=S%%sNhhS6(F9^Vmae#&V6o5@`GS>GW;1ul%YNHEARypp1G_Q_-Fe+F{OZpG>!)|u z19u7YA0`*n10qaZ>Y3PRaf>(Fp-44N@{`>h{V-C1kQWS$7@QI^-@Nw;xZ##6=YW-X zWNft<;@Zx}1e}h7yrYy4AF-A@aA$dW`8cJ9hRi7dldQDHb71+;*YcApKW!>412>u8 zvgWWLsc&Eqb6Vajmj^@~TCGTU#m3LqqsyBsGuR3?80<9Zzy}Zu&8!*ntqOktr%(D- zCE0Pcp}pw4)kN~#4s)BxthhJX1WPJxIO4wW{;)%6!y``8nQLxo@PNis1|({EOL9C@ z#_b5cgeRn;X6}8mw{G1c7Xg>Yv(Fybf%EHyb?{_F38SytMBBe&#L(`RmpAbR4p~}yo3@7QCPKYXQBX$ zB)NPdJj5bn6q&!|KInxB=E*TAKpwyt{kp>S4}IRC7Dw>+tI5*Mlxf=?r3AzbR{ME3 zEJrA9U36W@!wMiP7cl}WN*mvUZ=OBsvLaf&s>4}VN^dbt-YUk6y5oiKZw|nn%Qm-& zzM34#m}D~v6$b`2Kg|}@Jctq=4J!h?Prg4z4p9l_<3A^eN)8OT$@;`_Upke*Gq7M# zyQTNo9K`hV0-AA?e9g}Sw3X=|4KrKx^>OVp?rm4tRNZM66-|`&H(Zh?E`!s}6H8w~ z@H5}I?D7?m8wjwd%5jTRfWOkO+fMKvbFF^} z4;XQ6uAsLKE^H9Tcc!0}V%n4<){MxlV7HMs{)s?wP>l&cNZ`WYP<@1bc{Cyf6F_a|qV9nd@fV=r{ z_cc=+OOp2q7|f2B0c7r7IRP6D{4)Em$VL5l(yJ+3b~oLa`Sf)8NJgCwqWTA{;Mm+ivv7qQA$|X*#XAkI_ zKaIbPoNN1MO)5YW9qq_s8dnm`+H!?s6+wbBksIO#KH{T;sxPl21L zlX9Re;V(R9sXnHOf%@`&()D&G96 z<$LQTOxy9b`2+i=*W~}+G=|eYntJx@vC(u^C>fJaqXwpdi&FN)H%IVOj$ow5b|YCd zcXrlmu~!M0QQ*ernnnU>i>BP-vR*Jk6Ka<>?(Dh=`F!lQGDvXXsKfI2V@5Du9KZ|M zaY=*nM5RFXutu?Q18;x1K60XY&>ZA;5tSI@di_A$1vNgOw47ci>3nnFxpaS|p}Psv{i z=ao0+we{?aS{NDxVT+uflbu}}K;No%I32GpT9MYiUg)Fv^MX41qO`Q$IGyYb=k?y% zoT+rospfy(SSps=f$1+ql9hKRl%*U8guQ8Eft%`4)&pk=^Jn3COSXwVHU$;6yL8HE znKXrThj$*WG2a!NgjzE)2(7rF4S1_2zyx+W$g zT^i*jl-mAnjNFek`V!uJr}&0DA8Pdh;moi@8@#s*ZAkac=|pv@?l`lbnV*;w9M1j%J!rcNV!*4)1piK4Bwb5FpDj>+5 zEav3NlTuRqHJF8>%urN4f^hFXnSr+jV#PrSiE=v@mfVUgX}!|m1E!5}vO8c46GkfB zO^^0*(=NpSkUnxofJX~6Ihz`RT-pJ7u+#|B|83n^r`6fHK3(m_U$~mJVMn(1$F^-B zy5|EdiLE#Peuq-(l5`%c@`^Fi?P_v!bMsgmvc;Cy4mk#Z7s|7*L$Q4=*6Jwn*-lLEvX=ebQ}_{OhVAQvh?R3uoHTyZ4he5vySESR{! z8iWtLmNS>Z5&XH-zyWs|fX!+Y``nN`Hz|NgnnF$P#r^|8H5 zBimKq$9CU87cN}T+;`rzexFRscRwGW3NPTT<}Yx)&(6(tS}HPbbwh~Yw^Ks-bU9aMn$-C=QYr^*7f|pvnis#+<+IH`(PRF%8=0MKP@TRH9GViZn-d! z=l;}|^|Od6u1_)4dN|_rmFuau!`x!dvnpYm1~SW>y3(2$nwo~@PY7tt{@M}Em9_-jmf1Rf=&G!HMPwZKO7hT58IFePK17-uU|RMA?(2 z$KK+N`zAPGCCOeBLC)&wr`GgrORVB4@@oNJR<%X1t1*cleGk;;{y7)!vJiK;aA=W6 zuIwBgiz(sCm3pw!d7e39lHmkxY?w1PHkM2}>ApVdUD-w9pR zi9J0t#EzcXZ??pHQl6n!MjZ0z&TpQ9%3Qo1cKpR!^$@y=MOV(<Yq{x?9Or;k2w zWI&kz>LpbdFZ`D)$g*TwkWL>(hK!j_9jOr_L2o~f^JezR+H&=Bn)|y(NpQ6|x#MvP zi>1ANCxpKz96sPF(=a$DpEKvz%fEc(-@zeV7fwo%Mk zbblGrjK3leH$`i}`03cLJ)Km*pLG_Rs1}k^GVB^I9_VnnV-pKM$Rc0v`PXAh?E!;a?To2{gA;~4YZ%QbWR=mq- zrE$e2zZ4Pu*W+6!r8+Ka?~n_PSHo&+hgm-ej?2Sfg|ff55ddoD)XleaZmd*;AccYA zV17-RJ>R6GNn+!^0+AwPqDYa&OY0wT)6$PCUt7O}cWr_=oS735e>lJ}!$Mn%R%)>Z z75?7DeMv3rkIjvSSXd(kgRkjlB)jVNHfgfJ@rRwaYsv;ZdgE-oSXfsD@roWc{C5U& zv5f33(|)7rWw%ShVlFsdm9?dW^#@?;lB5Mj2sTM~Ig&LK4=(+DErwgZ#%ryrY*{wP zer@t?NVA>hGAKa4NlaDVbAy+anXXecUWSt>h$2F)|C?|p9-()AC&qb168?Ixpl)rx zmXfqRDM(%e`O{~;9Q`smj4NV!;E2Dmdq-1Q2Yf61UO?vseBt>5<=xFr?8db_0X2CY zJ_fSav}$U3N0lRuroFoGM<&nLX3DwU)_L^kQG*ON_$07IYY4tnDJa<@pqFg9LTnQ} z^`qoE+l|B}xJ-)VO4{Q~G~;FRQnVb^xfVFm0RBd+)#q2{@+fSBSC(1_I(W$DM ztkw#cV*Ij)GOb^T8Wtv}yl-L;_{B)5DmXWc=XN#`!n$@9x~3|zI+dM|EppP&H7p{y z$s0zFu;6Y;EQ~w&d6%~R!;};`w5h!PgB{K`?b%qf^4fg+Q=^j^>xMx52>~8|%)@=> zjNHCp9=Y+4CoL=M2M7*b?J0IA9(p3MUI}3#El=OOcU;R%(P)D3IgZZDMNMy~ScdSMx_WZ=FlQfyDS+D>UQL~r--$hw_uK65=rpa zbi6ZpWnyr>hN)qZHdGU8?B2v>TW(RXxQiWeQ-5tqf+f>Mix^pCYA&>l^Pr7tKt>ay zu`*q&&0UaG&8a^@&(6trkSs?Oq)1Xc-T3Eb&%in5d0OYQi45ZK%(Xa_jIyEAR0*jP zK*ptSej`Qbbi4YyLU;>RDg0#&siKKtzvDjpr-y`eAJ-eRelWW2yW-T^qKA-XT*EZ*{)Jy|QE| zlgVB9tPc@^t=Q@fTUayxUXq$?^~#zFj;Xb75-fRvs2nP`;z*MoSGQpoWVbWCT~xGQ zm0s5i(A`;y>h@clrjx~TQD%X3PtFfxgt!*oB~WrRi+umyhw1GwpH4iJx2#g zj@Q$LCNge8l<=W*P0umNLAAW;DFV-2rlIfGMnO^hXjK8|AHJ=ZGNnF-J)*{lbUCF9 zL>jfAuZ)fD*ifRZzf#moI-7*g5%ys?HcC2MyVdyfc7fTt(u|hrWed`d1Leus{+3@%dG+Rbw7CFk^WmS-2xFc#>ex78x;n@NQ1#g?KxR*R+<}pz0T>3K*4?Cy^rX zVzncqm?ix$7dHLAdLvlkBGW$)KTcwh?;6_hzU|kp z6ctH%u&l@kgXP@;dt~)kr^1TH-(q5&f8S$^A(2SW$0^QkCn!}bS~(HA4I`w1-hxo@-*CZdayyr#tH+S3AE2<*@ZrsyH(xiFCPo)(x8`$rniMuCqcr*OO+$@H zTN@hzvnM}Z=#MuH3{+HL)}BK3I!H3#gj~UlhOqGr6dv)a02Ic0+TRDie;sV;igr;axr1sf5X2f#2O^;CPFp6?CT9jj*W@_G%tq$c zCG5!~705RzC1c;(m6ervg%||9G9fWB5ril~V^sK;FJD5ez5LAAylFLsQ(l4UI{<+x zr`l}~Ic!(kEg*@t75N*&0Oo7vb2JQnqA>Ooz(9`9idqUwUj=A))yGr2?WC>*?raMr zwWr(&mDxnnS`BIQTa0{P=c83qTZKqH3a&nkT0~uIaEu z#jfrEgkIp#p+nr$!;VF+UiOGU^V$GZ1Lbd;6Jorkdejp;?%0Bw21tanw*m|n%*6$f z0iA^!TKKVQkj|J6q*JX;*V3gWPWSx$ z@d21OX83!U+!<8My|UptbhUGYW#&2@U1a@;Mi1ci8hj)QAC(XVAWt>H#4pgfYUwti zuES}lxUs(vY4WOBLQ%x8N8*}DW$(afVuM2^ys5(4-dj-KudcOddy7!(HAFz89MUbE zOmn+)qmSX1TR}zY>BKdSMk(2LoRJ-qFkd7c#DBy}p3c4GAOZI@H*{CV-z;;oBaU%U zN=c-gf*NBApu$2svF`0aYkQf8nQ^oJEO5Z zSJ#w`QNA>kH7zlr(TWyontSqr`jM;OVe4bwr9+uTl7b}ftOSO~3xKRNo+Eaeg0>W3c4=--XJ#H{V68 z6)_s?Yq5?xHiz@Jc6NHR9MAJ9;Qfl|tnyhgxmL7?)3N}{=5*Wdg0zN*t~7VdN&Vmi{92*!@`k!l1GKr3<@LV(T|X9=xaAJ{Hg)s zm0$6>==gPB`!#z8FH24DgJ?!rS54oMH{i~*CvtD+^*8bz=(sj>rWzE$hwu&R2RS#PQAP-6|lWAW_Ie&Z_Tb?oQ6KNwP`F47Fi}u>qe%tmst29 z5D4c2NC5y{tE?Q_W##iVe>YUItJ|OpjLWjI228*I4YpMkD``t6`2Q~@$M@#)|Ae5g zgMAYRFm(@rfD7zI?j)3>Y&3<}aiXdXN6gxmoIkoh}xH{LU#HQdHD~GV1dxvu% zjVS7${^!Ai$mr~VY#h!Q&=bAOQ~2nZn9N>nWz%>WL=S3xG&3{Nw{=w6XL(Xfahi$K zr0XYrXlN*};~EH=(jfL#lf^Dxob7Y}_s#km)UtipofK4dRb8@-P}GO&$!GP+mAe=s zvbW#Bd{Ls^JYaJQ+zfdC@j2=SzzGW`B9v=-SN=>0hElH;ZULb`)f`~x)ORMq+t*d(UvUHdZtdX@wP4E+m)J&RXvBU3T!(+b6oB6{Dgyvd z==W&x-+R*^fO{7|Zan0T0+F}0T)}4-%2KnM>6@K_`5@HaQA*O5wC(7Fu-CBDS3b30 z+w*b&Yr4$w+P)|4t{k;bR~ogos-+05dhbeJr{aS)(IW5>YPsu#u}NZ8AXv);-x0_B zij0;{12dm=DBCn(ua?GC6+sE+R>AI;*eC$??rAQ@#B=_+4|93|S2tT|16l6exzxrf zsC<_@dB}5iNlSiFD#7K;K{=54nBLw5e#nzjy^c#>zYt^c2~r~fserRY^Sye*hHeNF zhtUDBxk@VOoF8^9=m(62V|r%h!Wz+;(zODY@lzKjqJYBU@}*02T@!!CuCw5H-S|E- zQlfm{wCQ4pJY_^E2n9$AT+d~5+AzUn;K@o5s8GzuCT)e9-G;1Vpd=*!{2S>DWz1=t zo12Qu+`sP>R4@AO&gajczePKYl{v;ZI66k7(HZZ~sm;H=am2MqE~2@YnDbI8*POX6 z7;KAt09CpAoImbL0Nf#sssPfnBK&FdO0PT_#PDQsHPN!(3vU=W`A%&W6sit@Xn|BzA3GV*Q_{0KkKgSpKWHfpvK@UPrQ}^=5@|VrN1R_dpsI2V=jr$wAGNOi zLHto|V)Fvkq4oVGvR&WWB2oUNxU6obmM1|51QF<}s{zQdTR$HpUx~RgHVBx(0v_k8 z2j&}JIHjCsU0%G-et+PuWHVoG)`?7f(zJmmqHKU-n5vg!;6NRq;!-!XM9P2dYmbwD zjb&myXAv-)5{g>@{3o_?s)e>F^_s3{W;T{4>g(P9XVVvY7jCa4?N;G0%MR%N+Fk+M z%q&q|ANBnyOR4{+o8r>f6Ro@w*Eu_Oa9T?9ub0!e;uJcbkKBz@L?xngw?YSU&C+QU zKNVoiR&kbMX4D%1koibV$-6X7qtw|YTPi3cx?wb%qn{pyH&r~Oc|^;VN?&5td%;WD~ExnkzB^aafer}!N;mqPuR z@KL0lPF}a{4ECg~(HDP-7?*zQS76yf)hQ?{nvQP`U`G}qmXS>w-;ThJPQTiMue6_w zP$>Qp;P}N}mBPRMokf#xA=WmrJMx11n(q<6Hzgf%c$A%J#pLnzk9Qpha=RgVl=F-; z3HX!&NK(PgYRFN=wDxD&JjQ@&m~f%3o{<2bUQRfz?nO=C@+2`(UCV6^wl%GP^yu^V zatCz8`xFZiixDd_d2nnvmYH6A{&kVfN3p73&*WcONjHGhFt0scb|Fl5tm~g+=RANt z%5VYBjheSI0m1H^2$$;&p zX45)L|7E z^#BZOIeRZCN+669%0)z70vp(5%Sj$Qe|*2i`1u92IUtks!i(;)OQ#rX@+z7pDVNqL ztkB}ek?Td7QetIP`G*`;pR{YfuWk|Y7A>`e#qlu|hXWo7d@ zBYWdo%dkY#rL;;);lU(_^&$eoJaskqp)9}M9vA|>njoba;E(i;jpNW_=J|j@u4%kd zV%w>2k!G&042T>luUa=mnS(9v3JgwTJ^81Pk2}C3e7ZA947g_2f=C`Z zxcdn|m&(Blbo^y6jn6y$+8Ql5fjs@h=D0Y2`F}U$wQZEjeU9%*R|n*Gnw`|;q|VIk zZGXb|UI(;ph_yw0MG}L%!@sHM>7&A@kzp!}`$()5rS^ZdlNLdL{U?}&L7egLYyRD% z|8mv;|I^=V^8c^H|3}v$DD5HUx4q2XeR=b`BO$*Zz!uqn!MTs9kQ48L(=by_@Pe zTh*{iRvvrsBm26nlDvGphC56pB4tkS_sDB;Q~Du|5_l2AfW9m>$|+&(Vj7|%tYitu zW8794V6zARh^5mBMwK~^VjgPZ0=eVuI7nd>5W-K!!dh`4F7dB^-2%xyYA?Okk z62oji8DY#U+Rs+vwsNgxU2<0TO5D1ge{TMLh&kBlE64MON7gnr#R!-MY;gR;AY}%s>Sjr|5?X*$j2)WqFYuHsEC!4wg{H8E6BmZoq>0RR6?AkDO=E z_Dw~!7=#EWpAxGgkT-7ro#MT_6wad@KzagbpD^zOu|e0~s8jKv-B`HoHlhKq*P z)uV08vPu3ohz1DviJ8tM$}|8UPJI63x^bgmS9$(m;+*#m+%RoGQIyuh1$ZTl=4zz+ zZ#tHFYQ7U{cpN(wk|9(WqB1} zfkdx_^dPT@%ch2Yr1k~(>uuBd5V6$xh zZkz&$2ab-7Z5d#Jt#V1x_wOw-$Tj}l3;dP(4dVazuK!nj%6PV+Dm(ig5T;jWXvPcF zju!wV9iS7UJwT-^N4G@l>o%GBiK?0a3U2Y2tj%I{ zaJNM};ODcS&3t~jiGJj3Ou?$&yPz(~0Df-RI<6M5013WrP`T7#2?_u+PT?du&umD~ z0@S9hqq_h!m~WHp?5mhbT##tj)uk;8{K2AvRMXATR#{nD-30+uA#VVAQ;-MH@j3ap zd!c9C{sD5_Q`IXS@}rm|93NzrX+xdd&!(o|NOpADXC`E@@yN_VVqnb7zk9(WFMvxt zaIuU~YTL=D87pxM2(~xO@FERFh}jrj-hT1og{a@iJQ{upofr`CXDL+(3o+E|fbjg0 zA93~PKO8ZF6iB%)M=gh#S}I_*T7WPdw3=)I0)fQsgIU{V;q`di)6;_^ZT^eBRA+)p z9_uvpGru{EhwyWGk{&PXOzxX7b8nZ{45$HMjVHm>yTW%?acTR{xItsRVvN&2Tn0^T zt*ih9BPrQy8hSnDh+<;@8D)UFdVp#l_hvbaM;4cn=sn^Z3RQP({7NR7NddlC#ainU z?APK^L9LIUBO@b^DE`jKP^RaP+m|DDDf)VP)cGyYVSqLi&UpX+ef=qMiUTOGX3Q8! zpszu%H&dGc^>Y9iX58`kf97;pfi7XecbIw96L{o!wVaaT;_QfSt(C>@0n1VXOG%Jg9~)_FvF6CNZMW%OWFL~|K~8m8bA^Jw*Om2 zMQ9a)KL5Tq9c%>*1WWxDdZu{16O{erd>;NKEu~$+9E(miU&Pw+luMs{<|>8(uFfxm+JrF?P$wsu<` zEj+YvjdZ0$ZbA6M@q-XKL%zmSIiH;~LX{?%q?%TGNssITfw~?59LGKC7+AV40$zXb z+Ikl-wAyPZ*}-Y{L=_6^eObDo^~4D=R%Ha}mXO zrKa-JzxDHAb%fBGHLer44fNCV^R=4!1FMiVo72^ayTG-$)vp1AZDaZg*$r;y$yBs~ z31d_!pYNTlEV|dqpA^3?xmQfGEo_`Z07~^VAVTe6ssNneb1x+fyr>?~{@WhDvO6l9N^V zA~LZCC!k6EjYVP{8~WRyViHuW^@2%6hcGwRPsHWuNU*wW07be3`moMPw?Acg z#s_)W-$F$3e++}QbBvJIhQcLP)gg%(|E7bs4lOwEGM@!6P%U>z?_&}d_dQJ-!Q9Or z5$z|Tk6&qt`joKXzPh$-AniMH-uE=PnMD^=3#zc&dg$xxuMNut{&>Op(BwhtJC-w9 z^R0)nim%((yzye3Nj-A)VIz+@0mA-(lHU`Lv$iU&<%8ieLhFOq$8)}t%a$9x76xO_ zd2aNzwEoJ>F2-q5^2E9qa>jbY@28M)mhm0tF2@uPgF(gZo*Z9GlHW=Ltb~jeXfR|B zxpV%Lh4>&br(5vFUUs*(<^W@iqnr8=c(Fncim#Vsuz0Q=jG9_sOt_)To7ej#M#f<% zu27*Obe;unUTzn3Fw;ztg%?VU5|M22<>Di~ay68i$p(tRC=5{cWmFlkt z9H~*Y-6LE+IDmHJ5JcGQ7$5UqBK#5cIXJ;=~N?F@s*uZr7M@uAXpRm_dp!L3)Fp`_~cO&b8yLHk+Aptk?VHP3Db1nrk* zd)ty7NH|Av0kB~k)p`12uuD?fYot&5$_k&+Cx{)H&-ok--a=45WNAUFX~2R`G=&dj zEQ|1RI~%3(*R1|itm7d4Xyi1cKq3;3fg$VatamL9v&w<2T@UmffS$eOO@D}dJgBs$ z%xW8!A`59ZEsnZMzwA_k!(So$d$h?pIa$b}^8m+y7gjkfy0w4P?B3p7*=#s9+YCK! zeSUxE96VD?M>W7JbS6(^IMrOS;_f+ig`$*D)$_-@q4vMU1bOeZmpYoOsvx_kz{?z> z9k16Q)Qhsc^l}6q<~$Mp%lVZWPqB={rlYgn$nzp{U^v>G}DTnzV_f|Ibc=851sFVr`VKij7tehrw{JAR1lwb?R1Ff>` zgkh0N&#$E;M>^ppKG+_K5bSV69eIHjDz>_?d){JvJ;;kQ|3$}?b_$JmH-HT zo}Apg_k!Ni$kF57MCaOS1G>symY&6b;P7F6c8|Wnm&06_`+!}|Z%1WfHa9U_pJYVi zB2&931bQ04V5Af4vW;I}h?a~zn@Wzclh^i{A0iy~#RlIy5{ILkU90_w{ohh)15bQ}D@^Qjia_mEe!NHY2#+}ZOp za3$yI7UT7w+z4WoCZyG6*?Ib>SUG)D@i1^D@A#^A%|wWW`jFW*x1FAIh-2};l>Mq{ zm5e)X@VlBtPT1oB2P&*v1%S6+o}Vu`&F+7`nwyn+tefu5#b=rpf*u?qjGf`LDd zt*o4HV6{^0<1wPa0HbL`RAKdDl+H5$iJX=FFcpJWdnG8@>*|?|NBrX72FGK(Uaf@Z z#iz9{>a-&-9g9-9q~ja@{@qM#Vd+3a5alS07EC#syc_7%eR5ZqE%(D^NDBhC<+k9L z`KQB|I@DuC)A!uPuY-H=LETxaOg6aUeTQfJU_s$%sEX~t&1J-w+RXVT$gOCE@hcTI ztYF?Fd!lmq`d6>9%!0brF>+4Hq3@!%A7F`4Kb?$-GN-Tp7fky<`*IFCKt9&~pj|T#QS1WF4c@E7Z zF6<6o)kaHseKCYQkQ#v#YVfXu6*~<{jC$`fZrOR8q!`9Ebto85uwT`%-wATa$tiVj zpl!MI^9(<%sm2;W#ChFWi~6M!;EueVYIPm;3nG=?PPZ#mG-`n6qyGsT9=CDfojtPW zQ&k`UWw-Er#v`WY*1EP#` z@0Mv!sl(Kv#tGN;+B?4b*?)3^j~3T__gob-?0*N8Wsjf(O*T@L{O6A8y(d4^OL)i= z^|&Z5WJ;`RIj)Aj=)3@WvnC?I`2sN5Xw$RrAn`~Y$b)ABby+s()&~3-AdmqenqQyU zFPwRp)%V1nI|~9~pHx50(?K6Tx3 zE^S=*?iR3TG-sb1Z zwl{5aJD&sBe{-*VwkZ5<)fUpNok}z(&6cHX5Qz;MOkO^J+}&E;B=GY}G=lc|#|+eI zE;pSaW4!2)0{@?fI|?ZVUa*RGy%{;_lUjL7bS#;dqF6Bh3)%nh#i-{dCZcq)K~~RT z$+e*><%T;ql47!(7_y;|FCh2(X*C_33&2maawRtHZc}7sw&>{P2AZZ%*tAAP zl8e9f>ZYYAMeK{^GVXWE?^nWFY_*+<0A|%d+$(8LdqCKb1ry;!H0jx^HrOnYP^Ri&0=W|Fq->1?<4>tq6`DT9%4 zX&WjrPe1{>m&Gq=T~D7BhWSIs5fok$6C+?g{hb%+_!6z?@p{|n+OoAxWk~W}cK?+p z>FIa4?D^6sXBI+ukX;rSKrwF8sVp3OlM056v@W^$v4KV~{%HRc$3-*V=$}{g1kzlr zHC{eRU3@F4ztrc^zlj>wiO&`ZM)J^!Dd%*3{eEkMsv(oH=(@I3x!xK--D`2;V5pwH zS^j+XWq>zb(w~sXa#ss`ATFdHY*Zza9TVvK;E!Y|IR;7y4$E-}YY!~*X%vTUMk@+q zu?DHy*$a!OU|WyO|4EBS;#%lV)LkINgvwWN&O+B7z)C+3?Ozy-7vs=>nGRaDoHl$2 z^D`#=`+amu-BICVW;@xpBjVFQ^Q$9xhfWYcyDIb>3H10@Y>i+2PG8T?m~054)p*XI zpR%Fp8JT9T55&w;^(gjgpYMB*7HQ6imEQpy=J5iEgh*T4s=WWH0=&j}g!X(7It)4j zC724JMrhVJGFzif7W>wzZ*#VNG*Rg8a!zMZwxMa3{SE+{ z>Stz0w9RMp7i}v8sg4VyS9#c1?}Tg$6;yo!9@b&DD@AU1d&Lvrb@KqsAZ3R_Hr%C7 zTAfZH%CvA2^GdX@-Ya@SWN?XSPA$>?kn25Alf?^{wI9WK<{txxz^E8(fl~-PcTw!0 zJ*Y@cekI+Na5m-t5WbaJ`OzB{}E&PZryYRv(Mi-1-i z9S8w~stQOoGztx#99V3eoIR3nX&dgrHOc#EB0Tm=PkYH%poa;{Ujq=JgZHCvOn7DQ zZ&`c#hX6Qo!b!olE=6tMGz2UHyhjO$Vt*gpG59F7;_Md4!9G`2DWCvqGVtn@5N>`B zj00Oe>i97|ZdA_S0hu|?dqsrM?hbed7|zhO+v~#ho~l^EO39Jo$9TlYuyKq}ygcKP z*?}M*9esUt%~F{2EYzzT19dNxcPc40aJ4h8&jB`JHwqL6AZIhB_d#ReQ~^MJ{EGF4 zyg~Ps@9M5ABf$9wiR#l`9|G~ph=Yxfy9^R=ym}QmagyJ=+!G8(G&W-9?5KY90owWn$3wB9XCWMVvU^j(b(U&`X-e0?*g zHSqEIarb$_x_IxK24{faK;IRF@fr|D-tfq3%_REe>*(ls04&kI=?xcE`WOSOPU&E1 z!*H?nYsXfsFV(>tp-iO1x=t;xtfa4=sm9i%>8^~K8vLBD*aQq zXrB1U5SqyL0e*=?2>-YY4-^tQ)zks_7U(oAs0Bg(GB`;iOa+S|X26jZjdV$?;9ZzG7f$%$mr+UdfZvAgtd}UXFTEzj1&O^mO7V@FREWuPfZ?ejhsLS zmgC#wC2fy5L(AX>gh$zqIr7qi#+=cFg{i|=OS9c?9U$I+@E`?vWAVgjVEr0Sa#C3%FFDNYAvgzqhAN8re z^s3qN)$PkC4@Ku>i)PzBO2L!Q$a&Z~7svz!WP>_3wMnb5<9-T9P3Z&Mw%EbxCp7cA zrdzshQobWMp;WSY0C>&Ad~@|udE-U5fk}8i>A)>IzE6y91?I35RMCGP>Wjx}1G|rT zw39A|x|@}SP;UJ8?%Xvd;D@vd-?*}(LmiIaV?CnR@k_y{>XK$t8q2doM|jfj&w0K0 zLaq0tB{;QLFeH~K@I`chkUQ$BR)o$oO0jEKL)ZXE<^LPCZ~y=lQVFuym55*V{UOmn zx?~p09cb*e8QLfmjj~_{n}w!cyg?5j47vlT$rk`K9?&r~Ji>dJxk)UDA6-`l#EB4X zr)2eYu=?55U9VaZtgB4oZ6a)~8DfHVp1n3X>c80(7-MY&FI9{8eqL&`f~3!Fvf-w& z&JIH%ag72``?0ntc$*Zq&5adZaLF|N z2g|ez^BG?OivZA+=K#cc#>G~5_Z+faMsBV~_Xm^qZ-dl1hahJ;XHp?05RaCbb9 zjxS5^xSysLajM0QytpAc|5IYVk^Bz}j{Hy;sM2 z=k;Vq3!RK;o}&7i{;7AbG9FRn7FVABU|H%m)tc{n6};AcwA9YaD?aicOcSjFFA6Bd z?&Xb)FRkB%x%u)KbWERi*D%HAgFrF;RE|aiq#)(W~;!r z(C1a8QZW++`3ji$(as>Dix*uulePD^85Ef10WLFQRQPRRjig}76JJWhb``zpVyS$MN=-Zj+>wEadAFI`Gl zph&$1g#6DE)Flh#3xNBntn*0Py!rIv#i18?y}vFwJ~4Y8JH3bS47*em_b4Lyz-@wd z8lO!;O?S=(x04B~STrwbaKuUmMx|j;wa&;}r z&dxh%S8+W>;)2qpuE%Ujc{UaQ*$fzKz1m0ivd9HZZqfyZ`FVWth7LWrX8&D8u0B>c zWmzqW?Lz@bng9urG6uFy2u-y7`?HXsO>pLlAjD_*Zp~#_m6LP^}97H@v`or#I* zP-p`fgrvzj)u+vwC4HFaRdo5Zb6rNHC*a-4)zr>u$m;7kwlaDc#XRlJHAQ(NHn z1b^jm;XrU`1=Liu0FDnEbJVc0$v7fUDiq+F1q1J0hd&2xj_>YxLq|kG67bPU7!O8obmRy#{|mzNs8gi~$fI4$o%hKkci zT>-MBYi4FIya>eiKn(^5J^D{%}F(GA! z8+7^^1L~vrjq^=kRBw0X@Pavmw!wp|zfW%I4&thbZf zLsUI2$YwQSj?p<)q^@U|?)&oC&dtMNRS@EAT%RT1FfEDJR#j~qn}rIXJdU&J?{r*B zmHof_F%>mrb9>%UP&?HQ8aVf1B)>mD?TBo^FYR|YvCL+`*yM`y$VWU%oYT)k$~wi0 zywk*c6%pRd3*dTjMTB~>BFVaYh~-D0M8kpUU~!5HSXVejX~wZ_}W8U*%F0- z`@P7IL2NmHRU4H&py*~35=ZRa*pZ$W|2ZBWHGunUY>*_Yd^-b{sW`mj4hLn4x(bH- zT(9>^cx$~%47L}KBjFF9ph9sRq1dq0w}|GYM@K#Ue1=V$sG73Vfz~ig%C_>?+`N?F zOc=@dE){@qEwEtbS5?&ydxcG{bi?f$mh*S7xX3_IoiYPXAwGaB6n7EQHIK+X>Sv8e z&M9Pv#B8I|3RTw&pJqP13DS%@m)#KY_06@}HdnvtA@9nhcj#v}9?s5UkrQw=eXI1a zi1?kubl&aiOqn>lhV;xjt=xz7VQO!V_U|o7Zl*J7gF1|>k61kTv2PQog-C8lTTZ)z z==*the!;6SgHMCxYN(ccM5_qi0w-)NWur`7Go<>&I8sz3(SQc5rYxI+B(`qIS`gMyg`h$(S_AMpH1DvG zyPRN8=@&SoI@WqcI(4Sa29wg&N;+4f3P(mDBoQ&^ZQQDhtBrq5Y@7*D(9x=-+@3E> z`kD^;IAqF5(R#Gf_M8$sO6Z}Jen;z>9ZnF|JVZ7>a9fj2K{Omx$L)N;ov3}m3k%A2 z4v=%eTF1{MQsZoTULU?UFYeBI;fRd^o@;cX51w7yo^I{M*ynshal;v|K&yeUv|;L? zo>^kUY0A$xOinC5WE7+w$tu^DFCJ$3t9L0%&Re$S1{tb~UdR?Pcj{2P&XxlD)d1vO zBi2TozsDfJugPsdpuVa5ens!Etf$Af35Q#FumYG?tw~=WlN}+0Fx^=hWsx0izT*Dw zuQ#;JEJ@3DNbw!%!mWo&{!fb7+UIgI)OHa2!HDR=K?9@`kRigRY{FrR!IX7`4`uZJ zkGQ6oulqmZ8ZGU5#ZZ2Mz&B~P_Nhay1xt~Zkv3i`rbuVU&Lv^l?3Gi?&FCKe5+^yw z;X7^{9E<68=mb_^rzodhM8$8APXO=04JaI;Z{BpgQGqRF{XGOZTvQbP`}ezOv_5^C z{j9S@!jd7XYYC{Cd zGcz;3m=@c#S{ELYn||)=Wbr~EsOw`PW{3&gOT60=ry_G~ zl)jjkvF=gSu`CD*HikL+^oRV4Y=$I>6XG>rq3@n$3%)y~2o_JJ^XDLoY2Tuw6v_yV z9?x$QXp;VOKfHmR{8S+3XX2LwzqRePiM+E>6{jnT9$ZbZzc!wp9bt3o+N z%5f^7*b?n4QdCjaPA6R6c9E`Do<0rxo_1ysuNbc?tEz3Zm?PkMOY9f533YE zjNz%ZGkG;L7=pBSHETWww%F#K$>i+l(&`CUy19}z?{XkyZMG*tY;I-QlJy4K( z)jj?$!*p@&1 z$S08}g^F*YWfi-Hsc6zft7V)lQ~0swCaL+V{v(z8Y{7TneunsLfqoq+4W>Ye=fXUp z;CHC&jvpJMdnz9X-d{VwI0hfL5Sbnz8MgzDp0m-}1xEhVe91^R_@T8Bb;0{eGV5E} zJ&}zWcU;u)(%flU4<}KzD*M^1QDT)PJ-`NZ)DqG$7Oy&cq$@UPgWFv5RX=qk7k}*1 z5_`|v&WSbLEmvp(?T_%@YBKJI?N0<8LWk^|1Q1lCMtffwWjo?BWeCJ9x3w;9C!j=? z)owvjngZ4opN7ClS0%$gCH*X?!V-fVE8D>tb@jn&C;+#)tb|zvva~SiiWNoreW&yP zE<3L)bT!_{w7pG@k`Mo*89XDC!;QUk9VWkYU1*g~l8+ycGG-6DPLese8^}$lsIEo#i}jt}FGqk+6k!zxH$g~MNA+#31S_NP|yz0qXc%_FwT3PT}%_o=LG@#mM z2-M_e;MGPOYJPopSzESc#v94v<;TY23IOr`SacH@4XZjc_(t*vMzx|_->Z; za46HK-+AA|Xwv>G6EmklkJm6$R0WiaPuwb*e3}_#azjPL`v?i#BajcOw53lsE0RBeZA zw#Qp>TKcE{4+fNWvN{TzL7*u4ePd&$9L48W48!Q*+m>gfq}=H{Ei z1&q`>swMP89pIAK1w){$ImtW;R5R)~aSJ$;!SxnY zkIL5Mj2}Nd$JQjedR^1zW$olxKwIjmy3YhN(Zbcy^WMaH1RIgOu zr?F|rZ&I<(D@cEgL})?ft6NqxWJqcfu22;;TN?nj6n%a1FiOA`qCiUHyyQ&nVYXrU zFiWrIm%%o}pquK;g$q8Q)V-AK#_+;dst9wxvgLFil_81LPN6DvOtW@T1J9KJcrJ}! z$%Q1Zw}B~%h|P-m<{RR!USV(SB>W2C3Fp0{ir z+?acc^A2XqkGtb&XwR6_Bm3X9h^WX|oMJv*x$^(g@f#>)cMaH7Cf4%{ch6htCcpiI|7e#=L?H#dow*z&}6q=>0Cw$30>xR@Zqq4pvtiArIlAm zKq>^^7R2_d8!?d{_1S{&))>Mv@t$N=IDS}URD|yvFpfC6k*|~RP zRIm?=Rr(^Q1?|`axC*({la^HjzsG9w2&Dh|br2bNAaab~s8YwPrUtlda5*w;LU9l; z-GJBqZ%+g^w@P5Kf+1RS%-!v(Mb8|KS$pW{iEi~x?DcpP!y(l=r0oLs;wXyG1aWuw zgWFHvMid<)gvV)QGN@=S;h%nwb7c6E@B8i|&vNRA@r|pYdKE_fDUWP_s8v<%lh3i7 z!l@gkJmeR&_17kos{*16Q3dNwym}v0Q((*x897Z*NKo}-Uj#O{Q=L;&l!}VVV%u>( z%6kW|Pqsu)lCMfR&$R&~YL>l8vAlN-@#|xA%L2k=@x#6A9G=PGvkPXMWT?4lSj9aQ zr`b2sy9whMjl@gM^Q;fLIzJ398s;l}?RU9>l_u=uNb6J=))Cq6a$y!PUX0eg`4bhYEb1BZg;zLjil`5es-w5pruLu+ficiG>+C3S|-AEn1By(c@> zIfB+g;|r5Dzec6c9C2C@JsbL(YeKD1aAxMuopw)_SWvV-3fuGJn47`Qltj;;{>AoK ztVZF;+RlsbPex1lB=M;WBRl&>POfDgxuK}&zYkqo$%ja|%b~<}0{_!l1e4XQTKSlD zJOGoSKT(BynwOf~?IR*5SHs#3OA%ECy@1_S&pir{`2Cw9CGDd8T)h>16!F?RA^n6P zmyEM!4f`K#3418gZ9;Lx5X7aa!H6yt#`n(vTP5e~=fkHBFUUbHk>5%9BI3F^>bLfR zUd4jAy|xgZHq`T0v@UOM+LMvCd+(Bwu5KUp1!KqXx$ouWl7=A7X>4ftdd_Q!#)-0t zNe-MOSD`YUg82-cuzUB%6kxmXS{zM3CMKL4%E@X?S{riaogw0CI0vk`8FXY+i}D`a7v@dOW{muuwYw1;1OOpQXNqLPY3_^u$sAxr%wEp)e5 zL-@G%`t##QxmEI4?9?v^|KMP0gSyK?#UcnBU?pPNZi=Bi5G6iw^Wo;9OP{J0q~m_E zg*5I7TYQMN=oQ~IP95Gg4R^7u9cTr2=Hg@bq#X?@J% z4RfWzeD!N2daF{&$k%xI>OvwUe#Ai0jfzk&_Oo9ee`K8$>Cj?3c^Nm}b{$)aeSVJNb9gY$u zC4ReIu!eHP5*wSEqC3?|>9k3Fu6(%Y#!Jrcjcma~HaX<_u`;Lhr4*zFr8BMAo0CK7 zg^uZpQoGb<(-w#}+MOFx+MgWo~cR5`$* zqJ%O2Qo^R7Inq>Bji1e_F+%JoXtG8?9I~@!fOu9whHI#MwCPXVFO3PuXogGbS+M~jl|8Kbm3J=o;opgj}DsK=U#Ho0-_jWEA;-UA>U;&5S3JCfv6 z?)-Iyxw)#N%g<-tou{nQWr-2JcF$p%R1^3$zOyk9KFK&$LbifPuwVoX_A~zWzUFK` z%l5gx0>j)L(7LR7$%J?P*y=8+9=Gvci5|J1u4}_zK?Es{U5j{-^zvulo$LdX;7dyy zNU~!Eed}$Q12gq_ED)*oBq!fGXliQy$p1E9^t+Gpy3;)T6T|*(DbZGFLr2q@`~)&j zW!72EwC2$Gvp;TY*>vBaY`^eBX|2L)r*EMIQJW4($B%@W=G~nMTZ;*$eXIXxANDC% zAe)pHVl3<>Hv&N_^Dp6zgXnvKV>PZTW>w&B53u|PBi%W`S3vM&9p1@UvMhjj8<099 zB(Dndv^P3c4m&4;fRlkJU(?=@?y1o05BDB$!mgC!aPc7&?JWgcsC`ERqPw)Zc_P?5 zKc7sJ<>@XIw=$Xz)4lG-79K@ z)QvCNe#ohZ=k#fXAi3RAnuv2?mCz*=C+(VF-t@O6h57|PZ9*r^fmnk=tfH0(rhwm! zk^&(%0)896l=^Ty`1*_6`>N@eN&yxoqa{>RA$5$s?vHHBro9#oIl^r`K5Nk(wc13x z0-W<}K{D$Rd>Y?ZwpO2=^SFeV_t5a`+YOM|}tPp5~mfhtSMrEq7oM<}d*MvilQ z7yc~u4jK`5%AeO{;?;zQ2&Bd**uG;0}P>zvOcTJi;X-K0 zcQyX7w%8kijqe%#eRjgU0$i;&tB5y=w z2H82S$@POK@%ei^((Ec}6eCMl23uzD$FohXAk4ou@BC|-_$2?2$v}U=Jn5^c`UkEl zlVx|zpxQU-@{}g5N7KSW2z}4qA+()eh^hHT$J8h@uV9AbBL~*Fu&73teQlq2R-6@c zcCp{A-yFFaEh*uAT|7rg&WR{J-RVN@<}T`EbLW5rY@$~a@4zk~Dc$c)I&3>P7*15?3!s~hvGaXsIKgJ5|?l2)DHxR3S|03!JbNc*SQ$$s#|t> zl=>jegmd~*8YbKi&lk#aD`Amr+okr`u=`?{viQ&s@`?Eu^>+=ofNEyKQE=@yC?p`E zdGY--BqOBuibK>Y1#TXlk^swt#V4kIlt! z3kf_e-=y$^kbGe(qZg(9QIf>9>jAj9p#dOw(DBVr(QPskUZtNYR66bVa{GrtclVh= zi2%KQ!c*=(u|1fYltm!yk+hEMfU^By@vv_cL!msQF@bsr7u)aUv4I&50@Ia}aYiQT zfH~(CYHA7VW5;L}n;L(Uo-1jUte^%y7pR$8h`8(ie1R|3F5i_IsD_&1+w9tvJHc1|eP0^*qJJ;_#J~l}5V8v^D^D*UT3W7!>z`t5PCN;mIbE zU>xuLM_Dq@PdBF4{ZktEbOT`hxNGsXwc3VgPEM@hlh!YvzueNcEY0_lMTuFZ8ciUnyjsjUt9{cIjDO*QU-F&bo0^M|byR<0>VI=Kq^3RM-wI|5#Il z)mfjd?X_7$LlVPjl@2;!B-*^Kk#CBq*q1mQ03d@cTqcKTJz#TFJQEtyo;SCACMQtk z3~*y=x#kxA`gO9&6@>Np-?x9?c+oTVvBwvy`B9foz6Rs@n!m4mn_cU_sz-n?$Nsx_ z_7xV1R;`@4IPf%p`rs(6-?U4XjmN7?vxh_bc<9IchJ)25YgYZEDo7)Bw5eH(TXW9< zwXd2XN85=#=ey_@N{;) zrSN$7b_>lPL_8tge&tbJV;qaNf0`ao?7BDC2Ku5xd*}tzN-6yh+w3BHd-ZEF7E@@| zp(d*Vx#Wk5HY4&Jv=MO#^#RoFn!wp8EPSLLbP$TQ{=$x#7y2(4VBQW2Oa|_6>HTM$ ziF(v>L1d0jgLQTu>4y`~M{kZXT5(Et-6~JRJgQuWN7kC}`X!R}*ynA;U_biFJ z%k4+Y@zkuZZ$d9jphy5O^yEeNi1#1a(qw%a%e!rTk0#U|cwHvn3YzUwHZ|D^YW&0Y z*Yt}pq1u|3>dg*Or(3G;FVHV{qq$jl)$WX5!!7NR3t6~o%q`Ld z9f_g!;2Ip^U1GOv=mFpoBMG(OMyIhA>_!LO}rx6l>i7K!W z-@jE=z6=;L!P0z1^2hX}cpz!<0P`xru8h@Il;TZfjB{fWCgJ*NMw|QBuby@f#TH$m zcqHg;h}vf7OZvWI&doy5d~h@6W8mk|PaPr!(nk&{EwOC1S2q4kvC`L#0Zwe{Ipx## zpy4-RW<1>8I2a@ODKW%+*L!nJ1P(oa0#5tG%&Xp0>jW z6;+qT$KYY(UR6tR#|T%d0jJI_|)0Z*Muq{YoK3> z;B9i|EXLT zy5xN#_cwFdbyece;R!3eVL$o8PMEy%4&aow898wHD%1>KrkfRfIhAQ%o9YYkx6ZCwJ`6 za+9sn;7b_MOjjFYZKnGrTckKNdM&UDMZ2&2<2P8!5Y*E$ zCPi_q_uXhNaIMy{`><34b2}7M+GHzb4wKGZ3S_7@>qBgPW&6SnTZAhN6)K6jPF8tX z=kTWRi<*~=ulY?rdtbqr!`+kHnZP3BR#@z5zxTRP0FVF4-NkOZnNHFQN*k1Gytq*& z+#wSs@*weXU6>W~VkR^%T$osVsx5ol5(qE-F~0h_6(Z`{-`jKVI*BT-DNb9mH@p#y zJ6Deh6Q>K~(oHR+9I*DXv}CS3XYyx$fmY(PE<7#Tvc#Fs{fhJ76hVu0J!VTXak|=C zfs498`<}sL>#^SzJ2?mUZm;iMI#Z-Rju{6y7AEywzbU>-A`E#(woZ0HlJ4#<%JAY! zXms?z)u3YK3fXP#G;`csZz|BzM^=iD9u=1!{`72KZrFyk%*iS(u4HJ9m*>I34?FLw z$>Y~~ZKAWhf+^n*;k@tn(9EYZ~0<;skK#5}P% zE1pE|yCIULT6#HQCKsPcg9AN1WPhN$zK1&fTibG>Zm}ffbd{BNK@*j*yZ81x_dnvT znP^Hv_B-c2@o@^4WD^og_sJRC(|f2PP0-ZjXE%4CcoIrkq28fxc+C>+gu^O`LP$`* ze8BZbhV9Qt7CS`m2Ff%cy9)>b3K~?<0~&lAyzEw~{PBYx))e!mC&izeu7@{UBIbSw;T>>9w9Y*(6awN*G|& z>|O(WeqvE$w6l)iB+gnlDIs#&rdqVwGQ;u<$P5<*QEi8J<>kNLh+4mbWw@VW=BjkR zQrZ%z<7Zm+$b?FDP6d->YGI%^%l$PX-PppC0a*zehh8vY9RXS6&fE4oqEF|9t@{hl z%DJpUZL{72^}ML?`y}hkVO7Jzas`L`gT-_sjw^`VDwV2@6H2VJe}|+zeh27F;=cDl zpX(tPkU*1Rng1)*D{*x;qi$o9pgIEKC-t|OTuVza8xa|5E2apL$Y=+~mRSxtQ`GJ@ z((W6FutCsd4A<1tU3RVx`th;vq4A0MTf&OKG%m#B@uBHT+#Nk-7j8jgreI6n1rdMB z%kj_JBPK|Sue32%;a1~v>^7nugTDcR);PHu{n^(P#|-8MK13}6a=UC7Q|xuz@}Exx zHL!Lpyy$_<{98UXL)hThyr~L3(v;H7m5djLeYJ`{J{A;d3L+FcJ4C zv>8c`5Qq`t>^#WaNWJw7_8Nmo+trW@PV&&2hbL<#CFLsBGOvR=dDSR7ul7MiGRd| z(eqQa8G>mczOYjhqLEf1UNI#Yi}U51waV??+aD{!BRcR8i}=K!`?*8(GGHf=ce~~% z{ycCa*=^7xUWKYT`;m^dbv80`Vq*pBY=k%GQUM}R=z1=!gJ)+Fc$Z`w*BBubdj#*C zf>8${Ba4f8G#Loea!+gmdXNsIcoE0W1s59;7AJFia80WiY1JxtE6k57kEX0k!!U9m zIRF{otu8d$zkW<{$!(nO57O&(n;BTWuV1o-0e;3nXv;ORA*mx=)5|Ys)G-`Pa+TP2 ztNjIY&AOrY>Il-J=}Ec0GFf0Ci|JOIHXK2iAkYJF1M4D9BO?MO4O6Mf7BayMnb7w8 zBvo(5mSK*frj(gz>CE;G0Z$=bpw2{f*T;Bt=DFhK3K9Fy=_V zof0$Dnw#97&FO(*35aR$0wcdT(=BhXf*p)NHkz@IfgPZG&jPP*0i(*&OiWqW~R@(Kq!!HdVsTc_xkYJ4q5APY9^{-0;77!q4&uRSi6cq9N=NVtDXwB8|V646U%h{jLs`BdZ9R>JC8FpY@}SQ(ylTbJz5bW zASPxBl(dEL6QqkiCVhGIbpX9ie5IIHrp~Fe@d&r$|`;zvU6&kp=I8TXOse&a@1y!-mvGFFH(2!BmO@EEdZW);C}CYy6xfTo$;c zJAS=-v}|W~W@dGFXK@y6o)++3zwf&zcxaVT(}-hLOiS=H_|PyMA>p1c_MsQyZ^HC_ zX($^We}~yx+LtapIwbv59`bd1{_8c(Ldg6K#9DL;m@z#FLlyk2GJ%=p)TF4WIB3b> zyoGp2eT?eL)JA4z+t)dhzEns;xGA96Mh#<)^U(DgfAu-6XVy~qWB6#t>%o)#D@*KX zU;N-^XQ8GrP#1_??+395iNGE2LS_sBBek1&->GFD+@BJG3NQ^evPo8(mU663{NAtu zB4*A6Jpeo4X!Fx$4x1^*9_4Rk#uaD-7w2z)6nYWLzOEsd@PYcqY@iaA@A%SjERg>u z(?cv%CukK&hdr-oUJg?j-!p3}xNd4?Zs8Ygz81*S0=U%eA*T9b)D}2!l+TWm&_;PV z4K1w+7LR?triD?u!*4)d4aCNdf4hK~r-FhEc zW}$PSbL&Bdj4WS(-xX4ou~*mJHgN?S<@PZ?{-w`1+cOrSra*Zb*K(*{O}>mC#X^&Z zE!KQYLz)L7Y+;W46<8qEU?i`g~aKlfYo=H5X(2&Em3YdzjQJz%|y*xA67h@i}Z zmpTKVsIFk|=Lj+v=~%lliVU)Ytg13T1Tpb6_e}W*Izs z=>r31Lvgrztt&lL&CyaonMXRTr2T{a2>kgejV~Tw()_C3OMgxCR8{d#Dd4T{N-iE< zy!qbUT^YKX`BMLlLXwzsXT$~T$DCFkN1FPP_v*tU0Aviw0K0A?h($AX`J6py1+ToP ze#XauKa^Qst_pN87D-3$=p#d{LWoCss!H52nht4ytX}*Yab59dMh)sFPuv_UO41at zV1Fj9OkvHGq5kZ-!+io~QThl#l$3zQBvTGbqbzt3w*%1xNy?5VjV;VPIcb(PPvqTv zeJLH#NBUFjxaU5?`126UR|^LtRA4APL>0p|JLF!XOi+!~W<3ADggFsVERaAv0JK8% zF51>Vo&voBLk6wY&iecx&0iA*tgp0l%-$#N2sb0t3ac(W8X-_s zgSc@PoXNUi^bRgIb{MTf`X1E2{Y}S!6#9)^3zLGu;|c2jN*#TQ;lY<7o|=`e%wgTV z6097A17(Zs)#h#1WGkU6GZK0meT!Zj6$|Ywv$yp@sDwtKPB^xCXtWOJlINcLoiZU9 zPVh7hF9Y6g<&h0dguaU|&C|bwk4wO(F+ta!*?EI5OC;?PXq4J6!M6sqaGEDFas-+ z_1?YTw;L!VF!J}BC36OK&(osJyXKjZ6TelFvOwt*M;USmm7Lgesa|0NBUj?2_ioxQ zs9&%!(*W+H{m}{{jMtlnHig~2`*YBj4IsKI{ysUB9eBtfu47=9ef91gYr(#${Lh(K zUdHTf=fBA_!0M4#QZEY90#zL{GfNHfHJVUxUR!bx%!_Fi1URM~u|M>Lv3d3mx1n*0 z3^^thGo&y1M*Exn@~_xy$0!85C$v;pZjoF>pnfXnH1PszL0JeNo$RJbK;81h1Q5Xy zzNjS9LIyKC|7Cvoi;#8T+x z{5NM=oA~Z-xKWPwBl%jkR7B^?;($naEL~NGRf^28l9K-P@piPBGDvlQRm%#% zxA?Fhp?(Gv)3Yp`QWydhU+D1!tHyjvvN)sc-l#NAV`_10_?U1JoK2j`r3d6=Q#hY3 zAS@YJ;=V{CbVHc$usGX+G+n01FyrI>dWBc<2b(e_4<1bAle(b5!vmGrf%zAm>Cy%X z7U}BGy1H1x<&56@9vZKLM?Q4w_@T_KtY^(jciuD5hFp9l`=^k~&6{dKvQI-iH%k+$Nry1DLqUK*>If^s67IlrTRTc0nnzsX+kS!zec}86-qmiI403JXC&dCc7$_krv)Cd& z;^=_9imNUEc#p{1TuGJAX5c9SzohU}yg^UVl~p<&`PAv)0w*tChG__Vf*pXVQh0p1 z;tQS2{z@4<8ToRzc8hjoN<2Qke!>{UbtdPB?z9@jDLp+skUQ_Qs{NJx=5{+UtONef`U1fOu>+iKMY@gRX?OR%NRq-+h9}tz!h$_E1tNi_?`0DN2 zU(hD+goy^Mh`C}2ENV!RdL}jzrFXcYb0n}*9Dzpl_p`m0@^1kAWB4^ZT2Bx0s`n8z zeNa*#aFh;j9d+Z3Be?cjmYRni`usMPo=&zNXL24bik4jKrXQTQs#&F{Y^SjKwZa$I z?fY3$InK$40P}!+m!4P~Uplw184Tew5w;e|NTH7M=oB~*bZb{HGa}On+F_W%U<9;V zbrADHWb$r>I)4MdLp1c_z+NnafDbuRgfKTv%~LZ)40Po<lR#-3UF!Ak4${?ikRq;v3KYX{r9bBD&)%Mk`=1c z1J4a7#0)rNfiDDZ(Nj35PbUsVM1wJbHq1aNUu{=HGE9*_>h-rV5}->Yj?#IzL0MBR zr-D$0;#uqG;@YlU2B9krO#JaUrG}goJMrtc#v|4@rI~ts$7hG;DPBeL+WLcg#{qdN z9giH?sIC`xA()Bk109X)Y*XYv!qBmu{nie(pUFKnEA?RQRstlP7JHXbbl*;0%_Gwq z@`(u;B}{v0Je7pxFs+fI5Rzh&g}@ z0QO+@0#T1mq2jY`%_doLgJC*zBTj?X6}i?vyLFAPbj~`d0g%Nr(z}0qhlzxNv zpoXFTyvFJ;Aq`#eL*T-q}DX@^5?U_p}>JNS>wmc?sk+Q!LNRS|=X?;(nTtihHz zEj`?g&w&Aa=xTZS$VeG)Jao~fyqF>uGVGfWL+LQOVtl&e8|vjlgI2D-Ipe6cun^_O z&r20sp}rrh6KhYvb@-gkcd$1-FgBp{POro@9HGNA9Lh{B?xy_AY93}wlt=`aBb2E# zqVjy=5cnGO8viw;A+tDJvrw=<;iA~W`|r5MW79ovFFHJ=&u#tful()l<&%s@kMijm zW@xGy;6xwP-+l0m*NR~^jr&--Iu`5iQSAeSE|RPtCwm0|4L&};00DR#*Y%-7`uK_? zsjd4UVkELXcrs0lr>gxe&NA--cn8cq%>!O4%Od$Y(3Fu!!OM59r#n$V-CD<}%W|&G zG3CcZx~WQ0qNo!-ozStM*z|MxMr?Y!2eaY|rUJ3yyPbO+HY7%xS0Lu-E5ElBgLsv! zJ`w>lIAE{qHUDqpE(nW1duCO*P%j#Fe!@h#DSCl?l8M{6 z#53@}6yCiYBoiB-OU;TQr11|WCax=ICS7Blm3|ko~Qq0sMsFE6RXt3(ar)&Nj5iKYGeHniSJbh32t@2)8|6)@7?~X9A z(PfItAw_u1=;Z#G*eYPNa+rV`3+!3!G0Run85#8=JIzzAP z?p;3pFm$dcs|%ig%WK-nI&JoRU}D!iC}{114zh^k zewN0vh=CWNf$hQ2i;%>@@H&&5H*bc8gxsB;o@Sz_zjxrkfv|`Oi)_83{O8Z#2{Z%h z^_q2!d!{GHwka&7FKj;QeEIvC9{hc^;KOBRVSGB(m>u>4e?MKK+u9Il+)(nmhl_p6 z3T;P*v7PC66ntqP7`v*)+qTBajCxqbH{ZB@+c{tgi&C_rNKQ%71%n<|50JoCgZ)Yi z<(Hk+>3h}##R3Z*@Vyv$1B17sw=7IE)wTM=*aoZzUS(@lVXp?{sDC|`bZU@14zEiP z=5OTJ&NUdY0)izfp8tS;?Jscd%7x(8M)?kEFAP8m#dvgN>;Z<4V6$w!`E#@wypx+g zf3}PK0Zeq4zVSw3L`>f#Jp!o_$kw~JHx_NdF=;FaiuXf0fiqnK<(Db-3!DQ}7W*;L z&dGhL^HLk#CSRM2pIa1AFA-=1gquk3S3Ey8d_B;e9WiI1(lG;uXOh7ms!yBkDVut- z_056q=8&SztCbaD9S#4l2UY}z8DU`UR6aj8Hr5~l>*G$siHA+4TE+K1IS&+C7NpGg zV+XT@WKUwh{Krw0N90RE8=+TJrOc49P&&1ni0FY0Du2{ zIGJHEJh4`e63N?lkVVJT)RZuOrtq(?f|p3pME1_Rr{6Xpn<@s}cLNvwYvuw4XJq3m z?l+QeeQBBRLRc&YHb~1s5yq#D#jCSDt)AY<^tXGVPiubH(kPR08Ix)lfojJ_&HYv6 z8~sB5Y2G`CFitzDl6(B6=FVGn=*N=I?ZANun0O^&;78sV^Wnpll6|$n)XjncAzFEN z>peC=>+14zXJM#<|xc@MUmY#9Jf z*Sqy?`(U&*!Fw-bH5e+O?HfY+7y217^ z)twz(|LM~JV(v>GPyH4){I-Mg(|Z1afkhw-tXLK>kMk_1!T*I^aNi+YLHy2zFI=!* zo%$+h!jAXcS$77wz1*iPzX@kam`DAHwUo7JJ8_gd4*32l$;moyZsqkKKImM&{Fu+S zGasWgQ0Bnp4RToIh(EKhnM);hF8`jxz9xm~B6v_0+fAtD)cf|hdtd(=R_LQ}TG)W9 zzt}oj6c*OVd|_bm-#0Y=*1l#i4Y8^ruIpD1AY-Jgk>UY4Tj~VT??N&M}g4hsw>+ ziXoLzE9?W2}fQn%+R7qh=^l|DM7%Fh~i5&DQ6vszk?evKl~Ls zLp`NbCF2Uw7&-fkv=Myr)vyWQccNWG-nmdw{MVR)yX)g+pr;N^C@^gZ zNvszA`{SHkCa@O-ReXXSw;7q2@%Y<7iLHw<^8bpmI86hX7yz7UOx`wa~Z z>(JThFHn)e*8CD`?B?>e);}8P5VWn^O2;Dd*&2C`LyunlBGfwll>T-u_|^_2goK5e z$+)i>6AVfEcO>=0)M?5 zua!L$>kXQwIbeIcL{3n`=;sdb7#d&KX!`}-)XxqTz|bf+aRqMrAVasL(@g24-1gMz z*`bOOL-5)W?5Mo_ESLBKUL+ri)R*9VGa}JcUPQops?6NYJKwjHmCdSMKyxIz_w$mH z^~^6_o1M+ghgOh|?IF1WcZa`0NQ%V#aMgf-1TPG%vlr44EE#f+E`nU|?CrM}FzkoB z6Hyu3B6CY(fUoD=z!^U0qE9(74)=_9U(+~<5%U4s=wUi%G&fU$tTfJNjohz}Uu?%f zDmk2^9pL$RJT|sxw*U4(5R8$TN1kmcCPmmp7CIgS$c}3}JSgcrSK2z;_%jUV=`hTc zf>~BUW&k3}m~*MXG=-JTJ?Ik9<_WW_LUKYoAiwZ7HK2nR9VghlW4T_O;YFu;L`vnvT8jog}DA9-+KwvXx7?{g2Mcjjio{poV zqs}k~{Ar0^O~p26f|F>|N+W;k%>gzSQ|pou7&dZf`yz73>N7O=HER+-_H;{nu0yWo3Z*TbYH`NXIx@N2e1di?YVo9d<~&kxqs| zus!rE7V^LXuB_T9MUinMA}UHReheA=BUqaKOo>k`>*41Sxt#hpAU?i}WJB<3GEGTv z8;i7!P47K#JOGbs>R&*yWwjE;nwJv07UMa{zsa}xLeiTG z?P*A^c#WASMpv88)%3#3HGyol00Kf@sS2`^BrFUr);;G|8i~4pgGZP0 z6mWACPGzO-o%S+=OO`jnYv!2<0%A-Nl4`JsSbR&pZ{*a4uIs6WFkAtg-}{hyQ?0VYWFq?@I057ldq69G!~M9m zIB4m$eaE3!@60^0I~%5N^I!nlSEn}(N=HZ!IrIoUeG6|-fn@_LzksL8qxG-O9g{Y8 zJCJ#g#mAk7D^@iVZnmx7GIIxKR(^1O;h%f?l6IpCyz^uLe4XS!d9n^Bq;#LEX$5be zadwdB_81s%v_jooE&oX$-1>GJTVOk~hIm+3y$4}`!Rymo4Go$dq@Joxh`+ipD`IhX zRwKL*7G}0_4inSi!@-m5Gfh?%tLa#+k~{QPefgYws>sdnco%jDk>w9S6=VTgPiL|* z0OB3utQq9BauJON)vD1@g-Z#n>=N!&;SUZ7sm@&*lsD_{#|6?eqJ0Ld3sLEBJ(e3_ z*eXPGJ(z_(cq#z4I85+gH-zE%A|#eqHLWljleQ%#HHM+)sb#+xE$qtXHFZvKCh`3H zp%_Apo{DN2gQt4T{S5l~TUm>^s1Jg-ON2U&AJ=z%eD z9?LIiKJd{SE+#As=+*uJx7j>uM#b?cJn}@wU|*lu9*2RR`N*d8q29{+`yj^b(XE2# z+y(w!&3Gq!j85opXbUxdRp)d$Wn^LorJREH2SI#qua36ZICzE>K+4!EOI+2+R7>(* zTO1idDi@?$c)}wr+>RuJ?r>ua?RJssmluuig~Z+T2^C#2P(zmEt4TZI35Gv7L@ZuI zP1gpUO;a8o7>E^XbN>8!!plUaP0bejM$o>a;-z2gf66o|i-Nt-K5`6{+H``CGvf2f zdu0ctL`Az;#BJszCjm7WeK;W8V!nKai|gn{M*JV@Jf{Q*d`NCU0ca*_RRI<1IM@V9 zg8ePg`=ZU~V49Tn!VkdPzc{dV(T%`fj<6aI_WXA6hTl-lSIi#-%a(PhpnD-oOwRc4 zP@W5i?F>?ntjskS+G`sA0^u+JD^VtM=;G`-^_I78860K?Kq2=dR(qP!*lQfpUZ;RN zkg}XNu>GBcH~xu!WeE970Ot<_7Aq4U;6<@* zpCMDH&r+j7$-g)l;eMUXDU?)g!^^NA=fWm-HzNDCp|uo6Mb^!o)NaC>n%4Q^#QEC; z)|nG&z4?7j_lb#X#S_m&#lAI?!M-5ATZ-}t;Q%{s9O`W%3Casa6cn zX}lt)xUclVz5jeCyuZb#@A-+|k5Nr07FMlyz;+p0>QhEO3JFl7i417)*q#k^R_&yO&l(iTx>BFNQdf1LO3bZiAOe>iXj zvNO@YUp~dWr%(ULJYra{)pE|jk`XSl5LP9ppviEG($O8Lh^>KD8ig)zlFUNUa0-_9LCal4W^l)?CI zYcNOY&eT2^097-9EM@0By`j9U=m~xCy9PUfzbD1!05{ zc#d;m@BP1@`@PqC*0bI(?>nCin7QVP^E{4U9q+y&Ady|f{4NyZUw7}q?2M*kH9ged ztp!E~`Y;l;j7H$r{SqQbr;O}~ph4p2=B^XSPcQq-`!I3Fj=Dl4u_z6&zba4cEWH(0 zXHkgs$*WLt>n6oTj?;zZC>UZDGDV6cJ=YGmxl>{6+NdTB)zw3~aRww~4o>pzboee5 z^P>OlA#(`AYU+p$q->n;HgVv;b)SoQN24!dy-J9?&Ks|k|P#K$5QBVC8^in-_# z`zmcCT725L+1+0yC@|;WY*7!;O2R7dY>N?hE}CVSaiExS$$p+6n8$*3CD^dl7>c?_ zW*Zd__f+J5pw2CKp4R+I?5z6n;|GG$^x)3MDh^v`nx_2r_K_?L6v^)RgP-C)R8H5) zce#y9E2xqC0kFUl=Y~pcQopOZugvV4)I-%A#^($fH?^J?%IwAazK*)_IHXKrnxG;f zUb62LZ*t-+%YtOv%_SLsntrHI4Xlrv?K%+Zqp`I-%X`##z{~;{h}-IezHYD;Ac$Pp zVFIQX$mec!&p+RIcs%CL5`!`yfPfmV`pN1c95^4MZ_imR11C=kjIt%w1j?_V4;z6s z*9Eq{QgU8CtS|EPT3vp1j)z5cbH?g~7bRB4tv=xo@v8Rkvy#uP$V_t;mxe=t)=sD$~`Igejx8&tdF~5fO_ZDNs zCa60_jcYLFASxfs=u3^g4;7X8+wKA-#qSOU?mC2IZtjGlydk*DbV zeyfhEbXcQ}S?(laUGE2EN5ze8Z8i?D1j03H-kwF|(U&3$`mw1@EvdKM+&V zui1PvFH1U1R_=;!=r>+qzR<6N!UdI=?lm5ZUq1mP5Z4b38b6dK-9nAn`@H~_am^Le zz!$N@bh)C5hX3Ldde8uI|M5qOEJmX@!a2xiQC7w-)YzcJE&*C5i#WUt+J-K`oZtAY zv^^~?%MhYs0$Eo(X+ACc9z1l0D77SmL{B07+bfh__5ITRmLk*g;wWmN=3|Mlbz819 z{`@0zz|Pil40bVQ;&;mP51e-APza-ku17XtS~{n4B??A*4vM+XSwk06fXE7o9EQ-G z>J0)SA6~wE=>ndEJ}5ihE#uJ@VQK>yc(!gbu4s9wUazTVWad4qj?46F^Ndk=p*?~) za-xa;12#~1{05Nk=+}S$Z#0+5$DX?YJg1L|GPh2AJJy;2BAfK>O1wg55SLLWMLHQSJq!M1iVWu zsxZp$=yJ7;phwI^6}Sl42lBybUifP>G8x`VT4x`K=3v~d75h1xLcm8l);(aXZod&E&P0n?g%x23dNMRJ zO`&5iZWQ!}sZDRUE^Z(X7z_AcScKl8KSx!lTF0|70dL3i>a8aGc<>FuJh(m1=#_@< zJuasW7{DxqCOH>1fxr2?P)oVf_kCMcobnZ@<4yOf;DxbD2`d9d?(99`teq4J(Jzv1NKk3T#A7PcJx$Si0;=U6vp0P`ss26Be^EjU_dQLzb8 zF=ZlhV`F18ApI`{6ny}mN?Sh7oB~F1s<0@|+$J9#^#?kGiAADrYpp$RZb?jcratE@ zriuUADcyIv^Od#kqOFU}?N^inzazt{>b+t&>yKVQT}*rzO%sVYKVP*-AAt<|qE6qG z5$AmPHmKS2qiw7Dp|rID=TE;OT!$E0IXT^-69U;bEPj+L&t1D01FR(kED{KyK>4_S>Y_vWYr81VIVjjTf;e;UJWGZ{#yy z(bQyBD~0knzW{Rdc(7o~1Jn zR%?FI?3wztWIgw*UDUPKiCxs=0gxV0u7^0#JtNKz^a3RKRN=K$V-u^+$g8OF?S(hB zWyEIhkE>Drg|{!5!BLDF2Nqto2LFT$_!~H;pqh`@S3}*w8Uv@eOBU*4LHwjE4%__D zG*;<+@3UF=%sTZ8O{%6!dG@D=@>>7oeg7Upgu->6YS#Ay_K&KYa4cQCliK5CuXS48 zE7?ibQ)3b?lU7pw?q663ezWLd>&n!LX>rRHKoEu-D!R$SfrKc~hTPf!>81(E4O~K` zi<7f}_6QskwdnW*5zxE80)*9Xd{!GGUpX*F+<48(A#lMhe}GH6Kf$bm zSh?n67pRlpIrGF1c4jelvuLJ2i0Mq&zkmOyHA-b3dwcsi`&mK}sUii>&HI-BI96++ zlq0&gygo3LI2RuMs%qAkh-w{ApW*?5=Ld;R=W7(0b-?k z(o~L@LtaR>+tS46`+D(B*A*4%kIx8__;6>qXCs6rHpW>LIMv31@45sSI*$*_f!F%Tsy8>Bi}}o;Wg-8?mz( ztsZb>vT$S|OUQ$q`3|s^pPU{nEpS)V$;;5Gg2`LqfAS?=eU1mn&ACjq)Eg6fqOws;=y!m5v>wfE-2VV%SZL&+o2mz1|{@j&fI9wzI^uXL?Iy41$6havxvj%74yP(Iqjm@x)7W*}JIe zvIWKimLnU|2gYe~T?ls%yh0AbCa;CJN>zNFFF}MxSMSP|2LL-YDfDZ~4FH^Q2c~lr zHOkR0Y*O%mjKD_~VDv0dAIuRxDL^vl&~$?|@izk#=3^spPPX)Hf@o_16yf!RsgFg1 z4Rz-@@p0S$7rSW5{CS5F+u&3W_YkK&qC`QtqP6-O==1F=m9%_cQn zRQ1N%^a?DG{eTCUAVm)p7C}Kl2u^PYq+w1zD_gs$2NspvpFX`35H@CIxkYYWZ3lC! z8u?FdO~c>`0?EgGTY^8bE3AM7lz>9@SSd8@e$N!Nw%}h2-2(oM3(A3p2jG3aapQ*L zG=}+MekVnIJj~^}gE(hW!}Xwh8BUGBQRol6p?*}fkZT(BU8I}eYyr`Run0U9F!qA_ z2h>N1`RD(Xc%;lyz+Lx^9h6sy&ViE5S4f5;Ju8c!ErfS!1G9&TF2D*ORE2&W!()5w zo%4}ywT-W@lxBc6EJiFFnuEo4b^omBvp{De|U`2>$L&MG<0cRrDZK)%4R zi9cX)1aY$Cpq61_TSOJ+ZmKFRD#W;NglWSKPQN~RszH+cNw7?+23+t-L^L(57z7Ym zSVON(O*rW!F3`1g^I}G8_MD-W$8^(ahTU^=DugzmR0OkfH3u9eBEK8~C1R@8Avc4t zEa<(wk$={zr%8Ze1xOX0&J=~AR_f$+_4|}Hn@0OVRZs+&bU&2j{yLLD<1~pB=*uhv z+hkInf;m!LE7Gj568$nbc&z7oTNEuXRkEm@zjGlM`B)zuHLmhlbs$DSVLxkzk?q7| z^`=Lvt5FXCKrZxP$Z?nc?xK|piZ2RK$AiAdn$`0(w*n5cvKzbCC@h%?+fnzU>W@(wNFx|8g z%3j|_+)-Brg0LG33Ppv5XT!NO_}c(oW*byp4TH#~0pKpjR{Fuzx5YSfNbgDrR(Kci zJeOOqfL}zIaHvqCXXGVFdjHlgYtoUhk>|pnd$r7 zW3+eeD7qbP{MmiXEQ0F%J+|d|8Gmb-ss|;(8_xzF5No{C#ammz7V$L>hM9F8RnGO8 z`*1U}ed@gU#G7HwqbGWVI$ZldinkVo76cEvEDs#MBf?%(_#}He+w|etfhvh^7<6i4 zTk#_x`V&Ha^^)a7f6ny75lN zVN*6HuhuBo=Lfu6isuQ>xTOeg*r|b6N|F|!n9oy)Ip1zmI?jp;xz#UQZyieaIc7rw z%&q`S#=?-8x}o^qG?jPHE-qdZ|NiFH4A?^$d-W(VKKeYu`Unz*MMP4&%Cl1}dcE0u zh$yKocz^xltNR1H>Aj0sGJ6QgPuT~+?E=0G#R9-Z`Y*$nN(HhyR=U)ohGGeVLI-Mm zsi5xma+I3ne>`W~qhW=j>>MbZFm+138GcrP#gjrjuiw1s)IYniMy)LN?S9X;IBqyA zM^3vZmch#IZn!bvx-R#<-i@8YF?0bjGfPtn$mdmJsV88$tnX~ePlEI*h6ot!)Y?;E zrd0gxIqTtzU!DkO0r{bssVTtr1SRFszww4KcXJ=g;kFaK^>)W}U*4TxUQ`&_4EwBn zMqO=ndS{DU?XW-uJ$X_HQ&&L9)~P>Qp%f=s`*0s7#N*I!dAN_0j*H!OAMO=^YqF?M z%4UBNJEFumNG@15ogWP2;^c zR#Q=yA8G>1K`W01i1{v#vhK?GE97XTDFl;&{t2isnhjh^^P7N67!ztOwi&X7LwEKq z0P)F>dFl|#vH)Q!)Aqc6w&}r2;cf}dY@Ktx>xp-64|x%crh10T4J@aI0jhu(&*{L! zXEtHIwf-?y*Hdh3L_&_!5iH9!@1^E*Lr;q>lb#(E{s5}BLC{e6P<`CqreXCI*1Dg3 zyDqRFZ_$^V5Y3p_!2}aeoVRiM5XwWp0t3%9UKD|0ov&xf5HDhm~_jy zp2H0v6lF5555*xPK$|zOhW&wZKE3x~0R9p)qn`DJ| z8Q-b*`ghXobtQU9@2*HK-MbIXQNg3P(n#zF2KBxn;!ocJoi+(&(bcQv%3wzYl9X#r%rk-?X@suGR@ zlyswQ(BJ355?NehcFWw|B;3jy!yRoJV2*uR1Z|=t+s)z&rY>KvS7u+jnf3bqmrncz zlb6{sp?Bvum#i~KCJtowrzOu0m$g`GTq{;$`+XNY2rtB2VD^PE8eeF?DMr4NLSo5t z6Z9FE-gZb5;FN+X&;|~G%|3cqt?Pfh zTpL<|*(U==g^w>k>hrrEM~HHhDnG5WQ0+-xaOlG7KYU=Fo+t0B(&=;&R6GXEJiR^| zx2Q(SUFThNG9NM)Qt?PaiR4&NQ)oONs9}YLbs;R~V!sfTsYs?)!K;>8D?L?K0$w0m zKv1y7vKKe|FGUECWdRk4I}iN%){}x~b>F^yNWzBXl~&+@^(A($G@M0;ua&Y2%f9|~ z?rfR(eECCXI!D8ClbjNqcGH1hi!o=&=VAO41$EQhSckM z6oa~|)D)zW9t|O<@Gw$btMymKQVX9(kXOdn9l|0 z?l1tNR3l9}x6uvmUR>A@fb%T5ynZEUWb1bGYT;&BcXTtn07{+!de)&t-AuFd;s2fD$B64tVAi{%1!}nA#8J$CK2wyJ=kC_)hkbIJmV1e%Q+=1 z4wr>PDUv`JKb=`<-WD%oAGcl0$e*H|;0eV+)k$fl9l<5@6v%eyj`&wZ&ZqDsE(_F5d05In|x{ zXckGj;N{c7pI@T1^=H&&`)rd3@Go0~e9?dP1u>9!GW6$vCeCAWwH|ItphM+34ub;) z{w0zSLwDlD2e_TK5h;_sd-v9PM!}CtKSq+YuTaTwNThx9+Y@5e{pmSI^p< zl!*W(NSbWd5v zvP61N-G{sLbHz6L&4SmgZy&EeU6j6LR{D>e8?$k;!y7H7@jrXEq}BhU%4zEaDoB~FbJ0GM5FzXTrS+BeZXO-vbxxTW5A+Umg z$r=gr5oBg1O#6*vhFa>g z&>e{QUq1+6byOOP?gn3Iar6pIp8{Uc2Zo+GW(``t z*6rb4_<=+v?V(m>>-2gpcfFHu!Mpl&@S~YbhC0(h&1^M z$?J^KMXe$%RN10GOa04{5YtW z@V>OMi82yEY*UuZNR8>Qe{(%xLE%8xjn{ItJk8eyzNHY)PNeCEiUaXBpI~kuKVay$ zZ{J2*D}jadsB!Z6R?Lbl+}}yJ@7yu42!%(bY@S|z;Hs=FizPH>%K1D8a1W))GTQjj zYe%UY($H#HQ|ve4D;+OQG8e}hC0wH3hK(@FvFNr=14cy~It~2*q;#e$d=3|=L9iE; z2k0g3b_snR^DmrHb(Kbzc6+D}k}SkVP9Vwy=^E0kwmkDbivfq=ys)ydO|lX@ZbP2J ztiyA7!iqpATP`b6RFmrWmG@mDrqqbxCW*X_V=&{4=p-QhkL=Z}18}VT0s`QfVL3un zp9C2`y7Mm7I&2+Dh}I6cgwos^s2#I>!N-GZvNw6bw-Z+<9;z`6^O4qVlKwtP=(xdV z%QLR3re?5GB2*9M_E320%|*}wl+;Oiu9WyqZoTW)`K%MQ9iEvAo(CbQN#vwP+{NR^ z-HnD07SJsuizlI=dpYfexYOEC z6;+1rvqfh%QlwoPPLLfeeAhbN*&GE)WIW}QVD@CE5L3O5Sal5xD$?q z6#Y{@+2yTEfJ@Oe&hPpv7vySLb8Y+aRSPKHXtnaTj3n3705kkyya6a(dHg*v|6pN3 zt{okLfl+s$yDM)z3xPS8s_IolSHTZA3!P*U9m~dMYr@0*D0bBya+YTyx*zFNxO>;Z zH((az>2xgz^;tTAx#2iXz-P&jQs{c#@p`un%O@AG9E7*f;oHE zT%JE)HWDDBEd4cPBliIJbgcTc-5IJ8Stw(-j%ZvaogpGezqCU_6vj{Y_O361A{OMx z^JUY5$SSiA*ri|}N`A8HOnF)fA{n>2B^1!)_ymoZU4fQ&UTuPUCtD~TN>`X2Eba6( zQYIJ{oS-X!r4zlB4MQ6K!cjg9)>@xH#AHTstVk@`?6Y`Q_3E(xF#v5PdB8&I2v1z^e0(#v>hypi3 zv3O9Uw}fh|oN&8z>5^}L9Y{9y*+Ee12^()uwfCk65m5b>CG8E5+;hN34>z=%hVt#; zFS`_fb6w}Gc7bC(6M5TDPA#{#=sxuP>Ek?*scDaco6#ir-1&+!0llhj7wip@#=h_P zPXe9#_1%BE&JJ3z+_{}q`3QSQc<#28}%fys#j)&yU zDYbdrU^8;DPcHeR=Y_>}jU%c)7dN~|a!4au2c7zLOedQ@dK+&E3o$&x+&a(1rg(_I zAf|s}t<2j{WQmrdpvv})O zp@G-2Hle&)f_6HgDGE`#-6a{af|IJOCNsm>)76WC-C25rW?P+sPe%qQ(lwHPfgv;( za$ny=k8qz|+{OA#G%3<7HV?QKdSIdTLpBpV(1Y-wIC0`vMSdF^g;QQ98A_c~Bl-5UfN;mkl@DOe z`_2@>_p#DpNNylc+&GlCUe6<2H!QOE!(P)LMN>K-K0L+W=@l$CYJ8VZ+k0nsP|@0> z?j~mcd~s(7RuByjxo$IR zTKc~8wf?kv;J?vNDHG}iFXp6BZ)kQV%1&d^H&_38AEY}o6VbMKFvAflM__M7oPStU zlqFQoPNb0KCx(X)2q*&LCCGL@M@N__?W#ynq!QA_XpkOlRBs#klohEa^78UT0UZn% z*nr^ge$YWo$t(TblIxE7^-$Y?e#lmK#1)KI^s#)`4AWJ)QJm8ZdOkte)D9h1I5rOI zWCBc~xZRnmR17MJKBzSGL13+Q@Bnp3Xc5!Q^No?arlw`_t}?V*Apg^fHz2_%v#tB< z?a5>DKQ%+HLHpzU97HO0p1jr6}Rro zt!?%)@6PC!k*M#u3phGj56k_?2Uk*cz~*eh%V$` zs{$>&4Yh&1G&nQpSa?hRc~fxj$498AtJcASdl$MvJn(>&vw)UX<~J5?5qcP(g`>ty z%=@XUkbMYl11A$rSXU$d(WF};p(puu#Dn+24{Z$HDQKNhmkHuUFh7lRLaAU0M4n5~ zeM?^@>Q8{7P%MHYtGIGydw1Dm2<6mm%_KR-pl8qU;L_IC)r|tYUV1LQrId0UDzzqZ zj5qp}npznsrYM+q*un_$*}lAY-KW4NNp5B0^~v%g6YZ_T@$rA;b3yqMl%Wp%+lU6n z?pxlslUx7&f6z&@9h~_4XQ4XX{-g0}p{DJNf`*GQ3&3u_IDeD zMcq}AA|HaaTJwH5*7t{TM9;nq+Qh1{Dgp)_jQy3nmz9f4Ddhs)!@rRVpMBR6!Ivqw znujeT{CKLE-#HKmvTZM~$)MTEx#6 zu~OHhG~{x%$JR{z+?#&nHCioA`uQK{=ZAA6@Y2|FHQ_ATp&ruE#*?HL`{%-1zsETB zdOE$_;iezo6C=<-XSoHiBP-9pFpU0!7&KDde<)qMmJ9A>6kdiC`JkqzHk5>KZeY;1 zcAD`TNtFxLowGMvdsa!(_$v>9exjGO44P&~e%UF5BVgd;%j4MP1`)i~<)}txtp#x* z-nXpv0!81|yb1%JvTMU$kp)Xs|H{*#Ajju)_p|~7@yi1}{lx{yE;^)yoxE#=4SbuNQy(c#X}DmM-w03z-`&=A6OECHfXGc*B|AE`!D` z=tQs8MNO32RuG7~&glm=WEscZT>Y3&8QDMl1ui|d?|tt~ z6Vqh>Tj!-AN4mtuw?#|YxAm#RKQS@?`$*hsMd*HKMRre_sor#da<3%4izu$UYo8vm zkSn;lXmx4Dh6`RzXR9Hn)p}vH77uRJQAyoCwW0Dqia$X2Z%GA?SX1?isrBWZn5^p8{@Zq|bTO{$*^&kM>s9mUT^6&Ejw z6Y)!8%lP-2C;L}lpT_snRAGC6R-7tP@ISOmvr?Xs?ZNZEgss|2d;vcQ_BLQX@Xu=U zRt_yxWU=MNVrq%Y-YWw~%V>KhUfrG@xm#jja~k>@UM# zE0l7@7UY;c%`45E+)=DkWRd)Iem8<7uEppJ5VfvMYeHervHvXnNuDUhZrPzU&cC4ogkU6u+23F1!fsb=*Hcp?`bL! z(bMYReWR)fcame$GI3J>8uQ29+}l_!=79p3Q)d;Mb6K7B*et8VmURc_x+HA8BViG7 zKYYg6rxN&iga9K=Zx(P4E-<4@Zz#$+8~eq@MK@JA3s4HpY8i>*^_Ci!^3|~De1Ri$ z%*_9ut`qRkqJaqE;+pF}>Xk;=tz=jR#X+GWMMc>;}9B9unxZ&`2*U6H4=m?n2 zH(|zec|CISwM{bI`;Q9&@RUXdht;Rd$&#!eer+y}y-j%yMR&5VKIfb(MZ{ZTQWDa) zz~)-AK9|#r$V0S62L8u`sFEH+^K?q@N=*OmPb0cV_VmrKkewtn@XP}$KC}dPO%ZsY z%jcn8d~Mc-z^7{IG|Sgiva*bSZ#B1)4t+s{`($sG@zNxBbh9X|q~Us9!o^4#GHEN1 zkHTi?z!EaJ5zD&TMHvU7$UvWpH$M}fJ72!oz-MsA6Q~VxFo)+ZHtg=hJISdu=p4Px zfMuu0yCziBqi?5Pp>>tOZ?7s2xao?rdIwaW zywgXbk!_BRlbyY>`VXd^|7>u#ps+j_^!zz_hd>WXd%)crvBHgzx5W=8ErErDBPscO zP%A9P)GoHguR^O}gUBK92I?Uq6;bmgCFemxVi^X({ht9$+PbVYG6_e1Atps96nq8S zR_ni|%m^*KSjce0keRs}G#*22cDeu50(NcN7*~kX%R0|(dH`6q9sgYR|572`{d-Hm zNdNuO7@x|mSSWNP{{iy5zr6K#Wr6wU1YlNnE7+XOmjG%|HS>JK$AL>++DVH-751wulZE;%KIfVvex zlfnQGsHy-<#K8ZAv&+*17JI4y=AGRDh7(+%<@~6**9AU+Opm+H4SxTB!rIZb3xSow zS2aurXY2;~8T7%KKjmBU`FKC6LSLwrAzSN+<>KH_NZG#5FP?w=Es9{;Xno{ugkJ)5 zY%xm(x8=hmY-lP6($*q1{Hpu;7dswwu zE9c*^tWO0L9`d_P9`hOFg!mpNY=iCSkYAibU-#uU^z7QdHoN}!+d5oDZyR{%m!M@l zvV_8m$M&yyisUOme8>U_2F_*rqBw9?5w;{e80lePk&>@~l+j?+9fW7BJ9liMzbw4! zc3TR{zrRhIYI2}PhWaPCT-G2Xq9$C0??k4Nw?4`3xG_`6J~|IjO^-kr(6@#xP%{46 zdec!N2Lby3`I)>klOh=In~;M9rUh-ZivgVi`h;ylaT(S=x?nKsP<{pV_cr1VA7Z?T z4)!Ma$oR#?2%tTBD!i4D z`K%cRWN(@AJ)o-SpYR>vJb3Usz6RH@a2*fq4Cekl84oG zyK`%dXgPQ$M>)Z-?!yON@U>?HD^=@L>eXYl{cC~GcCyPq-45l*&I0vA6gjg7T+@&o zl?xA;F6bNw=U)Rv11gT9hxBZ^ATUFe*?mYz8u3_qIzU7=U}#&Ji8;!*zuD4ky)`o{ z1u)PJ`I;`yI!N7x!j!OsCGFIoKxS*O8mbI_J?GYwfX|J(eH-=N5Hwk~-EKk;^P(m+ zC72HsVGyPOjL@X=jzTzgvi3R|25H4Kzj`WhiL00%Q+e#8TAo;uVU!{Es*(9S$0D2X6b33@#sH{=lXp$BIl zQgoOttNl!qwhxf!06cJis>NS~&5pW-{tn;>w6if=zv#307pzxJsOuIL?SYH})wFdu zjV^61f2RgLCx0wh5g_NnlAe{H$F8RYk2EDRQs=hbBmQE#^598Kh$}26`6%TE@F;;( zr#{_ZnXv$Dz|Dqh=Z-;__V)JLNpN+I#cH{+nPl&yEG^VtfDT|mzEP< z#j;>lnDb7p5U!I7+d^%KbB!K(`$;qst+(L0X;VR`IAS40ara!9N%7=-KgLS_A zNU8j76tqS?#1f)DszUMU9g}!d)#iq~I1D&0m<4;Z` z1rQ6u2pc2D!Ec)xtW3)Tr>G2MenCkGT_=#`z1#N!QyJCM^e{p&KMMMy4|JU+bR$zW zfEDAPL59aS$?PUwTN_pI`sq$c_Oo(4RTiI+!G8UX+7c zdT^zK+uSxp|qt zg1pS}<;c}>-4IWlwM%!nW?Q>jt}2B+bu)@PwkE+N@3sP!K3UNRVJEzcq*u2LCBFx& z$Lklc08OdiQ)2mwZx1eVHz?4G0FN%ml*^a?$)FH9+=z8&PP*D5{oHRJ==%?4RolRTascH7-Ns{i^{*eKszC{NiGzqMpUZ~_ zZ~%Fx{f2Ze=E3T>0yr#ZFp+kp7?Z|YpfRdX?*=4OKX4p}2MsBlLXR~(HNDMKu212* zb>J8ieq&sGf;vwBLT_)VFCVz5ABy2vXVhN|T8&gyRsy}(1Ck>DwGB6c4{45|KYdIe zmH1ov6IXW)ag%mAx$cez&9%)`SO6wz9Kh8&%9^!I;V7^pgRoJ$?%idT;oq{!z4cik zCJ-ZsYjRNuZ8$VR8zkhS5jYN@b1tNRdAkUoIM@&*6*{~b3RsQ`(7Amwa3=F{xOb$oUW%%>lfAAy&AjZCf z2FRnOiiYX%y=x;}+^_OWmJab>P)11^^fu=JtD^qU+0g--q|xk6J>E>!Y+aE7kdH2i zP`5!{Y6TgpO{~l#mF~stFI3i-0Ad$AAK{prcJpOE3=>B$pN=%(CDz9RK(b_o$UqI! zs`Tn;l8~39gy)DG6pOTDA<4o+%RKmy)>R}g9gUtO2JHYV0FHiN0SLeMq zt!SgCNTfsCg`Tv98n4wqWXnyHu8Fhvf0`51{*!1Kb=2LV9wayil~ol~7jU0!U2BZb z`Y-$zfVY-cj5u3i9uLLY)wUaChn(0A+ z#>~Ew&HBP;Y*=h#AP%871(jX{*kZ8M8)0FkNF69f*;}h{2lYupNDG+?0Iiw$NAF$C zw8);kTzdutF2qeDQU^o4;n%We*!Qg46J>GwLGrjX&8mjt-=MR{sRz+Gq6yZfk_b;n zBa5}3Zz`{2x4z02?=xOSnsZ!^1uKUoBGCcf)62X4kp57H;S%5~1=yUjR@ip!oMSJq z1Ntut{5M<74EPNi^^G8-rcuB5Sm2t@xS&JWsItToibjHY%KMAk#*htR_%g)`@U{Ko z^A&ekctZ$Mr&lhEl_Tgog?cbAVUb!+o>)C zIfA`oah_{GcL{QC(`m+=^4KfqpiubmoNGS64hCLJkRS&>8*mt)6}`igGmUS_=tCAA zP&8APQhfJtM@lJ&8}?LBL|M&1UN#z4JX>IN_wE}{fO5!W#^`U5bbt0sV>57iNngX| z_Vp$0=VCdXRNpvcEy5r^e#km-&|LF@sj@XF^FWwy0R)We=H}Uf1hA_2BwgK&Vs_~5 zw%h23d-m?!LHV$s;?c8K21P~1iB?0!Zw?*{wX{Qi`3--7=w{N(f0(cVgp{4k5?p8m z8t)9=+8^TwE!}{gAw#S|jD<@pPxR{g{h=Nzk-QaTlGW%>ZG_S!SlsNaa3rw!M! zW&?FPqdXDv^vF11@@zT}_BvcjDJ7Kjr*-n*hhp2`#?pmZxm$*AZ^ERoGKQHAycOn`l~w;Q5g1cebiBW}cQlX{ar}d0V*b5){}YMy ze}K3sFWxmVVIiK{J^|zV4uTtFKlu1yXNDw5CZgk!J+Mh`-%}0L&@}AI_awQH(O0ka zHBpxtZQ>yCLm<7xge>at!Jdnwd^6CVY&g3kYZ_*)bUPzuPrUnd3msc%f1~$#sK#C@-NTCtpTvF^9;nu8?(B#-1`e{ zPc9%`(u3lBCdRQP56P{N?3s9o%I&464751S0KY^d?}b|qY}x;;W)#Al)kF%cG_7{f0ITw@hGrC^4F;U=nAGGd@%px@*s$q$f{&m zV2KqpKWUi`f9rASOjM z57}KP^VS*y+E&0((g`sb*-(btusf@+|NH~oX)V)3n_0%;e#2@hH|@FiF;}Rjvr?C# zy3cQ_;p5JskzP&+0ed%ee0HaD)xaLc*mTB&z-&yLr7@DrBDnDiAVsMkvrrln)tP-)oZShx%t zxDJ^>&5$u&Z>~4047Buv^!M`L{IuPui#1GTxwX2kYvfLse0k=`wR7tHl>g=W4qAV) z2s)4N6B^EPAUtVgHVKC}=t@YPz%<75G(fcCt(z8^vjZVFO2A?bSY&TlYyVNxs# z43;19)$$V8!vzhPe%S7aFG)E!*&P7!Og)gtGAGnj#Oeo%w%75hcHX3ckr@#5F_{M3 zCuqX;?>Gfaj*0Em8WH;rdc7eA%^@>=`#Kh&{-2JnT)4r>Z&237{X0zn#1f%57TU{r z5`3LG=AoZ;p|UyTLoe|`q*wooX-3+cx4;(6aBcp&iWjAk{uCAyGc&dqI?+Kh>1Lvo z$M1K=e_kl=Y?U8YnJ5ve&8*m-@8P(h$ z@N1>6_~=?kbBf<^!!hD-h0Of?!iCh7i&hJU%q1O#X4JK34-iotv1HIB+sc$gjJ%eYo^RK!cdj z2UxflU6p5`^OOW3EH)D_tL}Bw>9YfdJG?>K^21+q5>6bGvYxx^F8?fXC)&6UJ;GC2 zvi~fgndwedVYuSSRCF4J10gVH1s19Dji7!0%rV4z7HR@OCU=QzFer+t)|P1oM8xB< ze%B?s+67hxS@nS>*mg{;q&V+?J6g>14ZO5m`fM^BU63_-j$1c5 z?tufH^rs{%jdMv2i#V;ESoSMg;_((AQQO|HSz2_|tHyAoHTqmDQgwx&%J99Hjg1$* zQhU1H%hIt+@G+%!0@Z!G2gsFG#Eno%cSY;z9+PLEi;DHmIAV9tQRlq zBOx&c?eemi z-9bIb!qeLd!s0<&H#Q9SBism>Valrll)64eip-fsnA1F_={&1u$Q{|`1$parm2>l2 zXOk4L4`{}bzLaLHyM7OKn@D`lkxJX+9^RLwGS}NYUkEih+wM5Lk0L$>&Hajp6e?dJ zMQ8xv3!5#16Ht;9^HU$(>r1z)m&_JgkAbq<&O{SzMxp#!KQ^eQd>X{^ z9Z?29h3h)(y25tw4zxB^s}t7Pk0To^#hz;?EKmO={DzPxHp6=f;vbL|8;=D6totlv zgzmN;uDDRr3JBevG}!t_;pSt6lg>TxBjsk~*a{#e*AbA6+f0~6IJP!OB#)BZF*|n; ziC6p@3z{qQ8ug{kuY`B1rhX=|qTOrs>Ep+plAGXkr$&aSIs2}#2LQV}W1l=rt$I#= z@Fxr7IKg(MZ}b%e$&44FF2Q+2j@(-*K4tk|+I4XHIMQ^BGRng)llDmp{(!&-Y7{t$ zb6*w*zwp7CVuk}}jto>bfE;^p2_TCG7X~Gw)O}B|1d(D|;i^+|h&k; zWdC_*=-5k*2@r#;AHVb(e2~z_(fFzWqcsWs(lxyCeXg!(u zEY;?wbCYn(`FBGYF8lX;1<#}8Q~!-(jB=rIDc3i+*VK(+FR$%I!Zq9`u>Hl&uoT2$ zF$(JpBLQjE@jk`#^S_~4_C@7okyKg2a+lHf;mUF=Hn2_+FT^1c0(E)Uyb60q-kqzx zBRYAvsW&U6cZF%)ZiX_33Nc9-!NT1_AY*jJP9s^MM(v~&>?*F_NqCcQZ3%Owg@uL2 z$_DF)DpO>G_K657A=hswbPT5@!#zJrg4-I*zDU`qppUT8`zBFWz%THj7B&?8$QRP7#!vC?Q&n9+^dGIF13-Re*mz2sF=}uQW=_(jC@dpCa=;wajPs9XA7 zyHBhJE5xQ;&+tl15wU#vncb$O_Vpuzu#xux=}!rgZvnda_@lh39Wdp=*!$}2^ojWn zKo2>XM5rH=SEs8D_fhqhoo#}(a!}%FRj)))Lq%HGTNs=9eeI}N)kwXX-kbZAZ=-mn zKaKTXQn5I(%;)qJB9MndFRSc2Vbt@9C=4Ytm1{GfX5w;)dXheootJ7ELix%|K7tS; zcGgRl`^y!Rs6Ps4veyL4j5@4g0mB~$QQ7zmvL{TaafmBhABEMhrTd5a ztfKR0TWFEW_YjM^s9Li=1d(vU-`vKKgyK}X94PqW^*SC$NGbplTBG6+U=_rDX{ z-M@d(;p?V4Z%11effEbN7;tMA=`A_*I-$NxA+h?P`ktG$wgT~>=dh(FYWdv2z90w~ z3?#f(rfzV$Nu7RHImM;k^{^-77zECnWy;Kq%!5kU+4=g&y)TTt!{#d0KpWXR(uJJS z9g#j4tm~vE;=g2hnb|{iLC^C6Tt(rMY8y^qoyKU!*EeEq1X&o=MlO3EqMno}I%;{t zNjU5N`&jSl^0~6c?CN-8$7=d()#?WrHf4ujMan;ut7_1yd8B-DU?1b#bbM~GOX1Vh zsz;PVhkUf!2CcweapQz)^<^s41gF+SqT0Zh`S2?;fkN@hEsw8iSB#54{GVf%dE8BF>hD&jys+}{6p7V+kcIq zbp1)}e5Seb@DkRy=X_h#uE5!}%7*K^F3Vr(O8jQ&?c@K{=YqTlbzZkj=j~`ZYrZ92 z8ONs%sHYLkRO1k)4h@-&XNoa0R_aPu7Y(!F@!X^5#6V5x?pLc76q{sI3| zQ26u^39WIJ&kcJY1rBTJu+a5!LDM=H(a@qgshU(oHyk7uQ&o_8mAdXH#i&s^fW8JU z;gVMhP*h; zWq;!;&mRSPzdeHnVPK-5IgWH<=myG-UiJ)GNb-rI94|Yky1An!VcPbWWc`NZJC+gU z-*;hgw~-6nM=P?V;E$DO?kcLb`}}tFrt7k}lXt>O-AM1RIx$c2&;DNk`!~Q#mnjJ` z3|;MdWitpD*m>PI48*7Lxq@@UJ!sZs_I!kBsU4rGW-fz>` z;-Lw#lr`lxT0m~@=%4Wh22M z29qkCJg}LH<}Le#Fo8YK%xOLX%5a$f)tl(Ies^DIa98_3WdfT^WrOe~cLo9B)Gu(K?ci>H+r8cfxgrLea|b+-4K|T4>C)&-xTIPJXKZ+i|U~0l<==b z1-b~Uus~Rfx#-4er+*jWtnH;1QflurPE2#2IJ+@6a8XJ-_29DCo>nd;Y;X%23{>lW zder!s@iWy==c1-O(rYy|Ln$xO$@A$QD{OiU?jprE(xsC8fPFk1{g~#}!;^w<)*(o9 zG`Af}gj|$E3f=CHg{q_=%e?oL2XwFor*=3WbH0-~+ucUm?E`>d*-KrKl??Z+XUTrI z!u1^<4?wbAYf+UasfDNOlGa3P ziuokZbFRe@Uc@k8Q>)j&M)n9Vgc#rsP4Wt}9J)sI&`YV6`Z0O+0(JbtqSgMcM>{L= zznhrie!OO*E^ub#%e+Bl`_SUDhuy`q#&eBD4`Xu(XG7CpwL#>x8C}(6(-__Q>-R*7 z->dBb80!7^6;9>8d4GU9VZDqZp`hVX4&RXYx3cap8-y1?A(aI`EqewN%x{FhNh*5v zvqGp+BU9gZ8Yp*Kvm_pKTnAr5fdX?yhuim3wDPvJ*Lbu@msPVZI=3vBohH5+xxD@i z_N)n?jFtHLph zmXauYW^;~=gJU-+^Oz@F*~cu7aZdQXuFw7b-G6o)b-~DZp3lcq_b(c6??Sfh zo_l0Qjv4d%%Ng^$H%+86b#*97#f|4vdgv^kUSoZ*`0yaPUDqw($;hEI>$?x0IJFnC zyutWZIVw=~nBKcbC9hfsyV@L_$U-L(tU-TrrFv$0kN>ISd6}Z(>%ORUT7G^vwm+-|PEQLo^UfO_r0NQ|1n9cN^o;Gi zO!HDddCXJTlk@nk3@%lNRWfw@;ttpTT8W^$ zsW8efPAZoBD6yPW!D>{OgVXiA=Av&HdOqPPlWp6XN>-z&qDBj!2q?**=2KbF=Fto< z2U>S1KN|JdiE%jQ28>_YKFsYtv;Uakryx=Ft?ELpQ*k>meP$SjWScKo-BtglkW5?5 z;};_LjO(-ojqW@b-XYzdU_ivTH$7~h7*L6$995udHSQVH*qur9W19};HrUo`=OCjK zB0B47W1Avu^h6Dc-R&xtWvRCAtioK#mcK5fEp&fFuzEkGV1+PMi*c;dW_nAVN7rSm zK4Mt*Z_3(IulO<8W;B|0^GSK*URcU%VX#uJL&FGr6+J0`hbnI0rz8E_7Z-_N>lK;; z7XwdlXl4z&cKrG?#YdzW*Vd;_Sp_C}eAoSjIP2TRpKw{Fi}*R{_w#LZ)DJW^N*A$+g`O9G zpD(9@-A(Bu+%9}m)SbgXzAUYkkd~z(H~#nhvY{LMR57;Er^22?(qhG!rglRkeGKyu zRa8my)+u{uiRc^}h?nzMA+?&4AIZj8%0D4l&u~eyp#>+SgukcRU%?A&c3}0`72jw@ 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 F{{UlYJyrk! literal 0 HcmV?d00001 diff --git a/experiments/visualize.py b/experiments/visualize.py new file mode 100644 index 0000000..8940c57 --- /dev/null +++ b/experiments/visualize.py @@ -0,0 +1,521 @@ +""" +Visualization for experiment results. + +Generates: +- Box plots of diversity by condition +- 2×2 interaction plots +- Bar charts of survival rates +- t-SNE/UMAP of idea embeddings (optional) + +Usage: + python -m experiments.visualize --input results/experiment_xxx_metrics.json +""" + +import sys +import json +import argparse +from pathlib import Path +from typing import List, Dict, Any, Optional + +import numpy as np + +# Add experiments to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from experiments.config import RESULTS_DIR + +# Try to import visualization libraries +try: + import matplotlib.pyplot as plt + import matplotlib.patches as mpatches + MATPLOTLIB_AVAILABLE = True +except ImportError: + MATPLOTLIB_AVAILABLE = False + print("Warning: matplotlib not installed. Visualization unavailable.") + print("Install with: pip install matplotlib") + +# Condition display names and colors +CONDITION_LABELS = { + "c1_direct": "C1: Direct", + "c2_expert_only": "C2: Expert-Only", + "c3_attribute_only": "C3: Attr-Only", + "c4_full_pipeline": "C4: Full Pipeline", + "c5_random_perspective": "C5: Random" +} + +CONDITION_COLORS = { + "c1_direct": "#808080", # Gray (baseline) + "c2_expert_only": "#2196F3", # Blue + "c3_attribute_only": "#FF9800", # Orange + "c4_full_pipeline": "#4CAF50", # Green (main) + "c5_random_perspective": "#9C27B0" # Purple (control) +} + +# 2×2 factorial structure +FACTORIAL_2X2 = { + "no_attr_no_expert": "c1_direct", + "no_attr_with_expert": "c2_expert_only", + "with_attr_no_expert": "c3_attribute_only", + "with_attr_with_expert": "c4_full_pipeline" +} + + +def extract_metric_values( + metrics: Dict[str, Any], + metric_path: str +) -> Dict[str, List[float]]: + """Extract values for a specific metric across all queries.""" + by_condition = {} + + for query_metrics in metrics.get("metrics_by_query", []): + for condition, cond_metrics in query_metrics.get("conditions", {}).items(): + if condition not in by_condition: + by_condition[condition] = [] + + value = cond_metrics + for key in metric_path.split("."): + if value is None: + break + if isinstance(value, dict): + value = value.get(key) + else: + value = None + + if value is not None and isinstance(value, (int, float)): + by_condition[condition].append(float(value)) + + return by_condition + + +def plot_box_comparison( + metrics: Dict[str, Any], + metric_path: str, + title: str, + ylabel: str, + output_path: Path, + figsize: tuple = (10, 6) +): + """Create box plot comparing conditions.""" + if not MATPLOTLIB_AVAILABLE: + return + + by_condition = extract_metric_values(metrics, metric_path) + + # Order conditions + ordered_conditions = [ + "c1_direct", "c2_expert_only", "c3_attribute_only", + "c4_full_pipeline", "c5_random_perspective" + ] + conditions = [c for c in ordered_conditions if c in by_condition] + + if not conditions: + print(f"No data for {metric_path}") + return + + fig, ax = plt.subplots(figsize=figsize) + + # Prepare data + data = [by_condition[c] for c in conditions] + labels = [CONDITION_LABELS.get(c, c) for c in conditions] + colors = [CONDITION_COLORS.get(c, "#888888") for c in conditions] + + # Create box plot + bp = ax.boxplot(data, labels=labels, patch_artist=True) + + # Color boxes + for patch, color in zip(bp['boxes'], colors): + patch.set_facecolor(color) + patch.set_alpha(0.7) + + # Add individual points + for i, (cond, values) in enumerate(zip(conditions, data)): + x = np.random.normal(i + 1, 0.04, size=len(values)) + ax.scatter(x, values, alpha=0.6, color=colors[i], edgecolor='black', s=50) + + ax.set_ylabel(ylabel) + ax.set_title(title) + ax.grid(axis='y', alpha=0.3) + + # Rotate labels if needed + plt.xticks(rotation=15, ha='right') + plt.tight_layout() + + plt.savefig(output_path, dpi=150, bbox_inches='tight') + plt.close() + print(f"Saved: {output_path}") + + +def plot_interaction_2x2( + metrics: Dict[str, Any], + metric_path: str, + title: str, + ylabel: str, + output_path: Path, + figsize: tuple = (8, 6) +): + """Create 2×2 factorial interaction plot.""" + if not MATPLOTLIB_AVAILABLE: + return + + by_condition = extract_metric_values(metrics, metric_path) + + # Check if all 2×2 conditions available + required = ["c1_direct", "c2_expert_only", "c3_attribute_only", "c4_full_pipeline"] + if not all(c in by_condition and by_condition[c] for c in required): + print(f"Insufficient data for 2×2 plot of {metric_path}") + return + + fig, ax = plt.subplots(figsize=figsize) + + # Calculate means + means = {c: np.mean(by_condition[c]) for c in required} + stds = {c: np.std(by_condition[c], ddof=1) if len(by_condition[c]) > 1 else 0 for c in required} + + # X positions: No Experts, With Experts + x = [0, 1] + x_labels = ["Without Experts", "With Experts"] + + # Line 1: Without Attributes (C1 -> C2) + y_no_attr = [means["c1_direct"], means["c2_expert_only"]] + err_no_attr = [stds["c1_direct"], stds["c2_expert_only"]] + ax.errorbar(x, y_no_attr, yerr=err_no_attr, marker='o', markersize=10, + linewidth=2, capsize=5, label="Without Attributes", + color="#FF9800", linestyle='--') + + # Line 2: With Attributes (C3 -> C4) + y_with_attr = [means["c3_attribute_only"], means["c4_full_pipeline"]] + err_with_attr = [stds["c3_attribute_only"], stds["c4_full_pipeline"]] + ax.errorbar(x, y_with_attr, yerr=err_with_attr, marker='s', markersize=10, + linewidth=2, capsize=5, label="With Attributes", + color="#4CAF50", linestyle='-') + + # Annotate points + offset = 0.02 * (ax.get_ylim()[1] - ax.get_ylim()[0]) if ax.get_ylim()[1] != ax.get_ylim()[0] else 0.01 + ax.annotate("C1", (x[0], y_no_attr[0]), textcoords="offset points", + xytext=(-15, -15), fontsize=9) + ax.annotate("C2", (x[1], y_no_attr[1]), textcoords="offset points", + xytext=(5, -15), fontsize=9) + ax.annotate("C3", (x[0], y_with_attr[0]), textcoords="offset points", + xytext=(-15, 10), fontsize=9) + ax.annotate("C4", (x[1], y_with_attr[1]), textcoords="offset points", + xytext=(5, 10), fontsize=9) + + ax.set_xticks(x) + ax.set_xticklabels(x_labels) + ax.set_ylabel(ylabel) + ax.set_title(title) + ax.legend(loc='best') + ax.grid(axis='y', alpha=0.3) + + # Check for interaction (non-parallel lines) + slope_no_attr = y_no_attr[1] - y_no_attr[0] + slope_with_attr = y_with_attr[1] - y_with_attr[0] + interaction = slope_with_attr - slope_no_attr + + interaction_text = f"Interaction: {interaction:+.4f}" + if interaction > 0.01: + interaction_text += " (super-additive)" + elif interaction < -0.01: + interaction_text += " (sub-additive)" + else: + interaction_text += " (additive)" + + ax.text(0.02, 0.98, interaction_text, transform=ax.transAxes, + fontsize=10, verticalalignment='top', + bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.5)) + + plt.tight_layout() + plt.savefig(output_path, dpi=150, bbox_inches='tight') + plt.close() + print(f"Saved: {output_path}") + + +def plot_survival_rates( + metrics: Dict[str, Any], + output_path: Path, + figsize: tuple = (10, 6) +): + """Create bar chart of deduplication survival rates.""" + if not MATPLOTLIB_AVAILABLE: + return + + by_condition = extract_metric_values(metrics, "survival_rate") + + ordered_conditions = [ + "c1_direct", "c2_expert_only", "c3_attribute_only", + "c4_full_pipeline", "c5_random_perspective" + ] + conditions = [c for c in ordered_conditions if c in by_condition] + + if not conditions: + print("No survival rate data") + return + + fig, ax = plt.subplots(figsize=figsize) + + # Calculate means and stds + means = [np.mean(by_condition[c]) * 100 for c in conditions] # Convert to percentage + stds = [np.std(by_condition[c], ddof=1) * 100 if len(by_condition[c]) > 1 else 0 for c in conditions] + labels = [CONDITION_LABELS.get(c, c) for c in conditions] + colors = [CONDITION_COLORS.get(c, "#888888") for c in conditions] + + x = np.arange(len(conditions)) + bars = ax.bar(x, means, yerr=stds, capsize=5, color=colors, alpha=0.8, edgecolor='black') + + # Add value labels on bars + for bar, mean in zip(bars, means): + height = bar.get_height() + ax.annotate(f'{mean:.1f}%', + xy=(bar.get_x() + bar.get_width() / 2, height), + xytext=(0, 3), textcoords="offset points", + ha='center', va='bottom', fontsize=10) + + ax.set_xticks(x) + ax.set_xticklabels(labels, rotation=15, ha='right') + ax.set_ylabel("Survival Rate (%)") + ax.set_title("Deduplication Survival Rate by Condition\n(Higher = More Diverse Generation)") + ax.set_ylim(0, 110) + ax.grid(axis='y', alpha=0.3) + + plt.tight_layout() + plt.savefig(output_path, dpi=150, bbox_inches='tight') + plt.close() + print(f"Saved: {output_path}") + + +def plot_idea_counts( + metrics: Dict[str, Any], + output_path: Path, + figsize: tuple = (10, 6) +): + """Create stacked bar chart of raw vs unique idea counts.""" + if not MATPLOTLIB_AVAILABLE: + return + + raw_counts = extract_metric_values(metrics, "raw_count") + unique_counts = extract_metric_values(metrics, "unique_count") + + ordered_conditions = [ + "c1_direct", "c2_expert_only", "c3_attribute_only", + "c4_full_pipeline", "c5_random_perspective" + ] + conditions = [c for c in ordered_conditions if c in raw_counts and c in unique_counts] + + if not conditions: + print("No count data") + return + + fig, ax = plt.subplots(figsize=figsize) + + # Calculate means + raw_means = [np.mean(raw_counts[c]) for c in conditions] + unique_means = [np.mean(unique_counts[c]) for c in conditions] + removed_means = [r - u for r, u in zip(raw_means, unique_means)] + + labels = [CONDITION_LABELS.get(c, c) for c in conditions] + x = np.arange(len(conditions)) + width = 0.6 + + # Stacked bars: unique (bottom) + removed (top) + bars1 = ax.bar(x, unique_means, width, label='Unique Ideas', + color=[CONDITION_COLORS.get(c, "#888888") for c in conditions], alpha=0.9) + bars2 = ax.bar(x, removed_means, width, bottom=unique_means, label='Duplicates Removed', + color='lightgray', alpha=0.7, hatch='//') + + # Add value labels + for i, (unique, raw) in enumerate(zip(unique_means, raw_means)): + ax.annotate(f'{unique:.0f}', xy=(x[i], unique / 2), + ha='center', va='center', fontsize=10, fontweight='bold') + ax.annotate(f'({raw:.0f})', xy=(x[i], raw + 1), + ha='center', va='bottom', fontsize=9, color='gray') + + ax.set_xticks(x) + ax.set_xticklabels(labels, rotation=15, ha='right') + ax.set_ylabel("Number of Ideas") + ax.set_title("Idea Counts by Condition\n(Unique ideas shown, raw total in parentheses)") + ax.legend(loc='upper right') + ax.grid(axis='y', alpha=0.3) + + plt.tight_layout() + plt.savefig(output_path, dpi=150, bbox_inches='tight') + plt.close() + print(f"Saved: {output_path}") + + +def plot_metrics_comparison( + metrics: Dict[str, Any], + output_path: Path, + figsize: tuple = (12, 8) +): + """Create multi-panel comparison of key metrics.""" + if not MATPLOTLIB_AVAILABLE: + return + + fig, axes = plt.subplots(2, 2, figsize=figsize) + + # Extract metrics + metrics_to_plot = [ + ("survival_rate", "Survival Rate", axes[0, 0], True), + ("post_dedup_diversity.mean_pairwise_distance", "Semantic Diversity", axes[0, 1], False), + ("post_dedup_query_distance.mean_distance", "Query Distance (Novelty)", axes[1, 0], False), + ("post_dedup_clusters.optimal_clusters", "Number of Clusters", axes[1, 1], False), + ] + + ordered_conditions = [ + "c1_direct", "c2_expert_only", "c3_attribute_only", + "c4_full_pipeline", "c5_random_perspective" + ] + + for metric_path, title, ax, is_percentage in metrics_to_plot: + by_condition = extract_metric_values(metrics, metric_path) + conditions = [c for c in ordered_conditions if c in by_condition and by_condition[c]] + + if not conditions: + ax.text(0.5, 0.5, "No data", ha='center', va='center', transform=ax.transAxes) + ax.set_title(title) + continue + + means = [np.mean(by_condition[c]) for c in conditions] + if is_percentage: + means = [m * 100 for m in means] + + colors = [CONDITION_COLORS.get(c, "#888888") for c in conditions] + x = np.arange(len(conditions)) + + bars = ax.bar(x, means, color=colors, alpha=0.8, edgecolor='black') + + # Simplified labels + short_labels = ["C1", "C2", "C3", "C4", "C5"][:len(conditions)] + ax.set_xticks(x) + ax.set_xticklabels(short_labels) + ax.set_title(title) + ax.grid(axis='y', alpha=0.3) + + if is_percentage: + ax.set_ylim(0, 110) + + # Add legend + legend_elements = [ + mpatches.Patch(facecolor=CONDITION_COLORS[c], label=CONDITION_LABELS[c]) + for c in ordered_conditions if c in CONDITION_COLORS + ] + fig.legend(handles=legend_elements, loc='lower center', ncol=3, bbox_to_anchor=(0.5, -0.02)) + + plt.tight_layout() + plt.subplots_adjust(bottom=0.15) + plt.savefig(output_path, dpi=150, bbox_inches='tight') + plt.close() + print(f"Saved: {output_path}") + + +def generate_all_visualizations( + metrics: Dict[str, Any], + output_dir: Path +): + """Generate all visualization figures.""" + if not MATPLOTLIB_AVAILABLE: + print("matplotlib not available. Cannot generate visualizations.") + return + + output_dir.mkdir(parents=True, exist_ok=True) + experiment_id = metrics.get("experiment_id", "experiment") + + print(f"\nGenerating visualizations for {experiment_id}...") + + # 1. Survival rates bar chart + plot_survival_rates( + metrics, + output_dir / f"{experiment_id}_survival_rates.png" + ) + + # 2. Idea counts stacked bar + plot_idea_counts( + metrics, + output_dir / f"{experiment_id}_idea_counts.png" + ) + + # 3. Diversity box plot + plot_box_comparison( + metrics, + "post_dedup_diversity.mean_pairwise_distance", + "Semantic Diversity by Condition (Post-Dedup)", + "Mean Pairwise Distance", + output_dir / f"{experiment_id}_diversity_boxplot.png" + ) + + # 4. Query distance box plot + plot_box_comparison( + metrics, + "post_dedup_query_distance.mean_distance", + "Query Distance by Condition (Novelty)", + "Distance from Original Query", + output_dir / f"{experiment_id}_query_distance_boxplot.png" + ) + + # 5. 2×2 interaction plot for diversity + plot_interaction_2x2( + metrics, + "post_dedup_diversity.mean_pairwise_distance", + "2×2 Factorial: Semantic Diversity", + "Mean Pairwise Distance", + output_dir / f"{experiment_id}_interaction_diversity.png" + ) + + # 6. 2×2 interaction plot for query distance + plot_interaction_2x2( + metrics, + "post_dedup_query_distance.mean_distance", + "2×2 Factorial: Query Distance (Novelty)", + "Distance from Original Query", + output_dir / f"{experiment_id}_interaction_novelty.png" + ) + + # 7. Multi-panel comparison + plot_metrics_comparison( + metrics, + output_dir / f"{experiment_id}_metrics_comparison.png" + ) + + print(f"\nAll visualizations saved to: {output_dir}") + + +def main(): + parser = argparse.ArgumentParser( + description="Generate visualizations for experiment results" + ) + parser.add_argument( + "--input", + type=str, + required=True, + help="Input metrics JSON file" + ) + parser.add_argument( + "--output-dir", + type=str, + help="Output directory for figures (default: results/figures/)" + ) + + args = parser.parse_args() + + input_path = Path(args.input) + if not input_path.exists(): + input_path = RESULTS_DIR / args.input + if not input_path.exists(): + print(f"Error: Input file not found: {args.input}") + sys.exit(1) + + # Load metrics + with open(input_path, "r", encoding="utf-8") as f: + metrics = json.load(f) + + # Output directory + if args.output_dir: + output_dir = Path(args.output_dir) + else: + output_dir = RESULTS_DIR / "figures" + + generate_all_visualizations(metrics, output_dir) + + +if __name__ == "__main__": + main() diff --git a/research/research_report.md b/research/research_report.md index 197b91d..94c0f52 100644 --- a/research/research_report.md +++ b/research/research_report.md @@ -162,7 +162,6 @@ Result: Novel ideas like "pressure-adaptive seating" | **Curated** | 210 pre-selected high-quality occupations | Controlled | | **DBpedia** | 2,164 occupations from database | Broad | -Note: use the domain list (嘗試加入杜威分類法兩層? Future work? ) --- @@ -470,3 +469,10 @@ Our Approach: Query → Attributes → (Attributes × Experts) → Ideas - `research/experimental_protocol.md` - `research/paper_outline.md` - `research/references.md` + +--- + +# Discussion + +- Futurework: Domain, 杜威分類法 +

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 literal 0 HcmV?d00001 diff --git a/experiments/results/embedding_tsne.png b/experiments/results/embedding_tsne.png new file mode 100644 index 0000000000000000000000000000000000000000..04e911f654b7801ba76c1ef03ba5c1f12348772c GIT binary patch literal 291842 zcmd?RWmHvL8#XKgXcK z&TjXg?_hIqwqS44b^8IXg68;C+vUz3B0Tti2o~u-)$SnNxg#qrq3)TwIgRS6yL8IC z`($!*FCvYiq!Z=ibtz&f-d{g~dq{%`iTwMrXHb-ozpfxH?F&JY{Oby|FwqbMn!hih zO4S_j`tM6*=}O1HzW2auICkB{4hj2}H=xqP9w3o1x*v-s;n z3PnL=hu9+{BhJ^C$33b~DCk?lagq)WTxAs%6KJHuI_JWv*gU4)l5D4Io}Wc&8oZPd zTdCUV`eHx1=R>1FmA=njo9x~F;^x^nv8$@Cnh&+cS5Gw!eardNl&Y`JHoi18G`#W- zxqVVEJa0{hJMg+t^_HL?UP>}#OGrqV>wsd{=&}8(ds#X&X4+<^9jqf#Hv~@}LmAdu~r{-9ppQc@h6usgy zSTzXD<$ZRWP@U%^8RcYTWKKARv-(%wn)M{EZN1`~8R(G8RB3h-IT(;4#j9{jadvio zv?+hzOK@ht^oO84<;z9f)5+PZuM+=M@F7;-%?5!PARr7*RlD$zlZ*M)g}rENYttbq zx0~dx_Xlrfarl|?2=&V8N_x@^B7qCDM&4`xiv_BD161%HUp$|6^MLrR^rsghjQ_Go zpU&(rH*P_}(!s^19X|KJ-nm}0D5$8=$jQk$C=KiXb(cslBU9g{&cLA-*@eCS;EhH* zL(NuczbNNqOtbItG$UnPR^Oz=?H&|Cy4`&1dmnv|v`;q-uXDscmDudfw>h7!WywoO zNW7J6mcka0{^)mRrCnkgSrPPkX0Et{@~t>^2CJ!yi;K`fwTfLh2h@0xG2I77;CXp= zh@ss74=gr(fj^yehm>>6$Fu(I`o@*h?nBpv-90@^p+p9&Z|taV_CD-K z$ITwkCgJb$->zQi9>|m`e@@?CBK4ri>u~+^5d~8SrO&R!FaPVya$mZjPy{5D&cP>C z`CDuY+LiWcu_o@Tnc>|(gm&^+F}b<8Oq)Z{Cf-036#7EV!ztX8?-3HNpIAaT+ha)R zN-g>mQ7JveNl8g{E@wX3&9~r)u{55vvEOHAmUkeI-ZH#C8^hj*)iANLDt3r_gU7)u zIIh_!7&?6%Oa9B&roHnrx&jv98{92XryQy9;gM``vz9_t#2&^oHMKHy%mmHjDHr7_ z^xUkEUUHR_Wsw(0lMX!DaPC_@otv}DC-ygDpg5N!;+#-=-#kk|F5)kCrM$V)7U-=$=5zS!&7@R#!3 zf>+m<+~mun)lYHmzj$w(yz0t}o9_PZJ4`0p^v`0K*SycrSH%~lzsg=wBW79+eeD`E z^iOlV&Npl{_^OnavxS1&p212ZiCfm-vsFG;HoxZ4c&^`ThAU~{Hu8L;0J6)8 z$Zl8=*v(eENqc>{<8Q(i%^M9$rKIliXi`m04JJV}VNE;ib9p#c{_4ICcE#w!tW?~4QWc4!g8 z;+fx7q~meHm8Af)|4%T__{_RrUM6FeaouuMs`1ixI3{GUtE_Kcvd+`@*RhqT$kYoFh` z>f8?rgG@jJXne%SL+sj*j3^-F{rn3tpIb653+w(wX&_#$Df|EQ4IaP`%p$49?)L?w zf=|0WB!kNDBr{LHmUr0;_jQI2exQkbd;IzDV4MTWLZXrQ{KIxK2g?L1Nh)=Z7eafY zGy^RsKJVYZpFsH&g0D2d!JYW?r`ojprXg~S7UenR7K3VAWPkHkKMo-e*v-LZng#}dauToku=YWWa9XRh&y`tsuzf8BUv&jT&rS)YBy=#MxwoYe2? zHcNUA8gnbYpTD~PIM>Zw_^u#8h5UMY&gIqXe-Ox70DQBkQn|Na@ns-Cbr`g--Qx9~ zT5}BpFR`NK00x7pC@CphH%n^=bHA zIk|Hj?*7Y+NdIUpD?PS)I-K13X|_n3Q#;ArnAf!1SX=4}d@!t4S69v-wheis6>)pAQ1;5xm?dao% zwn;Xmo)@Bd%s;;>rbxQi>StZ<#rZ3oOps$gvFu4?u*C! zLW)UkD~!0MSX90Ts@be^^72x_C|Kx)>>?r}uAoJ)`{RRJlFP2Ds`}+7y%X0KO%%>T z7%dvsh*o@Ln0HKA*p`RkAB~QIu`uI4>w6qB`N(NrTEG8r%y4$zSMr~!g~NOUD(5|y z-&-6|vf_5cQ8l)>sxzl~%)E3uPA4J4dTy0X8GU!5&-g-AT`g1JqGVuwSe-(qlB7*5 z`0EE&gD<+e86yvwvR=S}#v$d1*-rhjK`)bJnZ+x6naFMlZb}naPOp|q9}4kMLAeS^ zM2<++(S(iL^<$y+>`%=jCfSM6s68D)Inv@OV`pb)y9?R(q@Obyv9xI|j9vohGhFdS zf3A(laG3X-rD{}S<(>hz4s71HjX1bCqZub5p*Xo)xeh1a>JTm8j$lHKm}`!R^v zY`L%yAQP^ze7bgt7)pPf%+3g0y5=T%3$Dp1-e`EaPo4Hw$TadI(JZYFelk%adt|9{ zveLPSJZLbCESrCt=k{n{hZFln-7&?&*_;cmfd3;FDhEB;QU@qY2em4a#Y}4U~$wcQhOSl=qx+(FoWi%4r?{%90NPW1! z-1jztS<`wTfEtBBuIfux)`riZNyaNu9yv(M+UFs z_J~X*%s8)v+Nx3^C(%(+t_p*5E#VukArX5_aweg%U%ie%i&YTRvSt73Twa=*537D^xy$>iOOl@Nq7;qn2!X}@30FqcGxGA_(0`+LjQ8+o?Dwc_Rm0heV< zqrf7>OzH_C7}sj`%Euwzi0n7H1qIs&$1`OlZ5!MKiV)SJd`P5<+lU%Iqtfs>kIm>) zFr|bXINdxLsAKcGZS6)J>!7n+?u_NwA(4>NhO>2MtVKmP+migpxD2#UWuEWCacEi> z@}{}}En8IGX}`gL50q*}xUnfFLfi2jNP`gRG&TlIJH%SYU2ueV0|3&p3U}Ir;_)7n zLN$!^$#`uCig!4|$e9iXYVJLk%a6D8msa9Kkp0~Cma#|ld~@it^)8r`L*8XpF;fm* zlJd{L3#wB5A_cEuE0UU*a_9%osEtj2r(5}Q>F8kZkxXUDR*dgkOztBiU8bkTfJ(`R z9(Rd{7LvH&HJO#z2^H^L?S_l3_FL*l?L8EV{^g&>lSuc^Y-YWk&74LoMf&c)=!GjZ zg~41j?(KlHGe`OM)xD!P#ZC*4>(jZ+XlJ*<_hS^;093VAr%Q%U$Z zNhP1+-+RxwHvb$KR)U_H^h>Pqa?3%tTmeq#sZlvy?r5h8zMx$7Pw{pVIE-|6-XUciU0wscy@Mf8YcDNB^sr6i6JT?K)Bz z{hk~jDKpgU0ZBkRc5yv?=I&lG;}0Mg=Ss(ZJBBpg^Y1dTJmx{45+!Tf;LpyPb$QzF zkFCiL5PTEo%IQd<-xoVfP9?f#xfr4Fy|MYebcJM_iDEY03WXp13z&99?;*=Vmj^>F zjdYm268HvErqNmpeSEXSqw$X253`LPeRW(#-vlG6+`T&A*?HHk8WQ}q8+R-GpH6aYa@$EznWk0VhYidPNZ};lh@MdE z`G#byW&~r)@mCNt1rDg;H+6%bXZOE8pZ!u-CoD`M(WdKA|3zXXhJ^bAOY{no!u3%4 z)qOWNw>dLt`^D__rQuX@vmf~Oo=C=z57-+{U}4GenRkQQ;28bv9QO(NV9qh+9DN1a zh@yF~SlM#jDlFO*@Y%C-w=sRjhYufeCOzRvu=-VH)D+~HY|T`sgA_PTpsANBW|AtS zZXgQQQBg-|-uJtAgcCMk@S3M!fl~5XLJT1RO8j#njxq#@y{G#t;ZhQ1Puuuox6sb< zSxq(bv@&<1(LSpVMvMg?m(tTbyI+>YQ;4zQ@KC*ZzMjX9-JxnO%&{}fyKW3X-|#EH zwJ%BC-vg1paBtP_G>{t6-ZLmMl`TC-*fDcKFr+=6@h-$9<5jpOlXfH%NM!VDKM(DX zuwu2<39D#*xst|6_at_hV@5sS{XV|WC!X~xrv<@_)7w6lO$LGQu|s3NDMutcvHG?@ zpcX>T4mXHCGP1I=zKf5~6tgfl4+9kT*KQdAURy;M%Y7+Q-dp9Go|MsTu#KMXZgjD* zNid62SXK_bqyXNxEYSlvt<$=Eedh_elk_TFDoH;E7>J?gBS2t^qp!AJ`CwH6Y$c+u zt2+tvH5-jSf2$-Y>tFH9wnl$kv~(Lle35$)WW0intaLwgc9Y6UDWDi+9_@D0#cl5D z?0szW+62sR*7&q`yC%2GrpZ|;i~HhyvFq)j$g3L;a{$_S$26~xD4wrI(N=taT3Q-~ zbG6>tKKS^qlk+0sr{quk2{T|Y+F`&HcD?rZ_uVL}eD~Uj=1z-PzMAL{3R5btw&E*e z79yp$boSHPXQetv`Pt+9+Rw|HU(-8-Nwo0?NGfhqF9CyJ+pQ2Jj~xJW@bL6#+GCbb zWUPxZeQL4P^olUK5hMP56=2?&YHV&C0}tW-m41hk2Cbc~Cse-oKE@t@Dk|cb+lm$1 zjyTox+$oBUW^bsHIS=|ronh0s(fxS1uO{F;-(}^;h#Zr;Yi1C(9Saew&V4w)#@lX` z2uA4wd&BS)s70)Rh>xx_sk3KJpe@{^bQ@N6?iV=@VP3;5vxYOcavd9>jf~F5GyguN z^jf8PdBZVT2-RJ|qx(8<7I#?lKyz|cL?WE}2HNpWu6+T$ee?0-%=$59;Yt%K)v%n% zCVrj`Kz5_+((1UpV-2nV_?ArC*M@dL$vKPy%1~oWPQWDG5EZ%DZ82LN$gG)Fi3~m7 zDQdwULg!HT(DyrC5@PZ1qEA}Y@&ar=hb{UTomKmI!iK&2e7klDkdeXTGCHG4vGYyt zON9&>W+u&W94a>W-d)-#Y)ni|P1VRJ>Y3Yj`_sj^A^M#^$n&y_UdVuMq6*BX(m%}@ z?5m>EhfFz7oZ@B&mG*)3kmRRS+YAP8?(uk-rwQh~h|KdfxQqtGh$t}nsggOl--fyw z2|ul4hhsGjl7&W#P5Dimn5Kw++zIqg^Cjgf#nxA3vMB8=ENpB_p3yw+4=B9>M@rdz zax1j1U$Q(!tM#ITzq@RQUo~#ID2@=KS+EUviG8H=12q~UKgaU4>C%1v$a?BYT2o5; z>g@*bc0xq|>4pwQcW(qPH^G?D2uEl_NVfHTYYg?g7vxVYVAj0hE`=Q^18=qV#a&|@Qzq0THvNf_lz(^=SPfMMrPNM1 zkD4aExJ~6TYzH22$l4rqg}@UoNuNE?^b-gef)LTCL4@ zXKCK!`pcGpDLsGo3?Ca6105Z%@Y(W`&EBP5$43kdP}kIymz9mQovcv&IW%;*V`Oow zfZbG$v~(IeV>=BWpC$nBRmYLp$^cxQRrc>3%ge}w8ax{OgL zxG3uw-PU~bJ@oSq)PJuOxZ^sY1AvIKp|BC@wOw~Da;a}#ji`(l>|Z&Sf2nVOYF z`Eb6|*q92YB_?|$ZBfu)CQUYKS8wk-z&W2#0t|c#rr;7#wzk(5-vCkgxWwnwS>R~g z1inrW(Ek1;FauU%Oj+4iPe^?bWSz!8QxDN=VTp+jl@A&{li)j2^sJ zATM}SuYFDVTvJmsRAB-nGv{8;j;BgWu^KEtk~yVj{LZ(k_B+Ue9RU$II{}S}1qj29 zra)Kud3d-n#xAV<;NBZJ(sTZffV#T><@4vxlf4DEw8O(g&h-A3eXF}mpmDqDk86H< z5|;?~2XdJZ7Vg99AM~d1DOa{k37XVBhHb|Xg#1%*;IHA0cOzblUHzk7AKnQ5(wWXM z&S)_wFrAJLkS@vAt4Q;z2C}9eb09zztWXl0y*HZzJ8j04-hEt13iZvk2WM#%)i0Z z!lI|lYUp4uU$?SbXs7Pe^Q4pM)tJkt!)dpg#BBk=4DK3JH#hC@X~@1z(?nVMENAca zRg0AnElg5PbtM6d;81PFDs?C5@`;V*cmfj>)8ffO+?eAofE=#@Mpw@pz2-rvBf>`NY7d%)Jf<4 zz6T(jRgG;Vz}fFd&v~@zFfev_>Uw2}^gqx2?tRYPTG(V)OW5<(xh?8o0$2z-!nUys`3P(g8 zDBmRvbJUwaa|Xh}z}#e@bv^Ktx;o?Oc&KASzT1P%XglK7FR+qI(Jaw8%U(I_SF3>_ z3e=f7M`)^2))X*3&c=bpk&_TsWY$B7bq4xkSZw?pHLx`*yufqe{q3m^+aL$ioLcLL zRuIT6QBOp*2X$~#>>K;Bj3vzYU;EaJ0e7OduJ2*0V>22M_uZ5I0H-RmuD47hwHt)V zsA*_00B912;ypN^aW7wznVGq~?Hd{gQeXheH(&}nj8s5zbz}bP@~X0{sV&6+B#o;e zk2O9WdGbrLoEt*5T_ZE=1 z0oOoF>hI~@;RkVv=gyw0N zK4wtG)f`-muZnw|8xi(%}_c=emSLaJ?qeV|*hqT-6PyTLf`i$?H7mT>3x7 zhUmejR3Cnc|3g=GXXKPaEOA2)mBRJ)jM&-gC;b`_2!7yKyS6GT$uoV z!hInjUD4A;{BPOWPp#i;mzuAQN9@$?D^*Qf(kf*=+qv}fPpM4G=KCL$yB=jCY+Ha< z6UFpP=dxU-2IQ}|y8I)J`SkSk Lm&oxHU8YKQ*8zLug_@k4oS=^o^m`@@hrrAK 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