- 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 <noreply@anthropic.com>
73 lines
1.8 KiB
Python
73 lines
1.8 KiB
Python
"""
|
|
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,
|
|
}
|