Skip to content

badhope/OptionDecoder

OptionDecoder

OptionDecoder · Multi-Exam Option Pattern Research 选项解码器 · 多考试选项规律研究 CET-4/6 today · more exams tomorrow

🔗 https://badhope.github.io/OptionDecoder/

A statistical & ML decoder for multiple-choice option distribution patterns across standardized exams. CET-4 and CET-6 are the first two covered; more exam pipelines (driving tests, language certs, etc.) will be folded in.

Site

Single-page SPA with 4 top tabs (URL never changes, just the theme color):

Tab Theme color Content
CET-4 Mint #2a9d8f 30 sets / 700 questions · 6 ML models · 3 Eras
CET-6 Amber #f4a261 36 sets / 695 questions · 5 ML models · 26 figures
Compare Violet #a78bfa 14-dim CET-4 vs CET-6 comparison table
Method Slate #94a3b8 6-step pipeline + The One Truth

Toggle the 中 / EN button in the top nav to switch the UI language (default English). Data rows that originate from the actual research (model names, era notes, audit findings) remain in Chinese for fidelity.

Repo layout

OptionDecoder/
├── index.html              # Single page, 4 tabs × 8 sections each
├── styles.css              # DECODE LAB theme (4 accent color sets)
├── app.js                  # Tab switcher + i18n + JSON fetch + counter + reveal
├── README.md
├── PUSH.md                 # Deploy steps
├── robots.txt
├── sitemap.xml
├── assets/
│   ├── favicon.svg         # OD monogram
│   ├── og-image.png        # 1200×630
│   └── og-image.svg
│
├── data/                   # Source of truth (JSON)
│   ├── cet4/               # 6 JSON: eras/models/rules/audit/basic_stats/folklore_audit
│   └── cet6/               # 4 JSON: eras/models/rules/audit
│
├── src/                    # Reproduction scripts
│   ├── cet4/               # 7 scripts (utils/ + v4.1_baseline/)
│   └── cet6/               # 20 scripts (utils/ + v3.1-v3.5/)
│
├── analysis/               # Intermediate results
│   ├── figures/            # 26 analysis charts PNG (1.2 MB)
│   ├── cet4/               # ml_v4_loo / ml_v4_summary / final_audit
│   └── cet6/               # era / distractor / folklore / v3.2-v3.5
│
├── plans/                  # Research plans
│   ├── cet4/sources.md
│   └── cet6/               # RESEARCH_PLAN v1/v2/v3
│
└── reports/                # Final reports
    ├── cet4/               # 4 files (README / FINAL / AUDIT / ELIMINATED)
    └── cet6/               # 8 files

Local preview

cd OptionDecoder
python3 -m http.server 8000
# Open http://localhost:8000/

Data flow

  1. src/cet{4,6}/*.py parse exam HTML → emit data/cet{4,6}/*.json
  2. src/cet{4,6}/*/v*.py train ML models → emit analysis/cet{4,6}/*.json and analysis/figures/*.png
  3. Browser app.js fetches data/cet{4,6}/*.json + analysis/figures/*.png and renders into the corresponding tab panel

Why the rename from CET-Option-Strategy?

This project is no longer CET-only. The codebase, data shape, and audit pipeline are exam-agnostic — drop in a new dataset of question stems + answer keys and you can decode its option distribution. Future work will add more exams under the same data/<exam>/ src/<exam>/ reports/<exam>/ layout.

Privacy & data hygiene

  • The repo never contains copyrighted exam content. raw_papers/, catboost_info/, and any *.html.bak are gitignored.
  • The token used to push this repo (if any) is not committed. Use environment variables or GitHub Actions secrets for any future automation.

License

MIT.

About

Statistical + ML decoder for multiple-choice option distribution patterns. CET-4 / CET-6 first, more exams later. Single-page SPA, real data, no hand-waving.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors