| 659 | |
| 660 | |
| 661 | def parse_args() -> argparse.Namespace: |
| 662 | parser = argparse.ArgumentParser(description="Run the Natural-Language User Profile main-experiment baseline.") |
| 663 | parser.add_argument("--input-dir", required=True, help="Clean baseline input directory.") |
| 664 | parser.add_argument( |
| 665 | "--output-dir", |
| 666 | default=None, |
| 667 | help="Output directory. Defaults to <input-dir>/../main_experiment/nl_profile.", |
| 668 | ) |
| 669 | parser.add_argument( |
| 670 | "--roles-file", |
| 671 | default=str(PROJECT_ROOT / "data" / "roles.json"), |
| 672 | help="Initial role/profile metadata used for fixed NL profile construction.", |
| 673 | ) |
| 674 | parser.add_argument("--top-k", type=int, default=DEFAULT_TOP_K, help="Number of papers shown per episode.") |
| 675 | return parser.parse_args() |
| 676 | |
| 677 | |
| 678 | def main() -> None: |