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.
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.
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
cd OptionDecoder
python3 -m http.server 8000
# Open http://localhost:8000/src/cet{4,6}/*.pyparse exam HTML → emitdata/cet{4,6}/*.jsonsrc/cet{4,6}/*/v*.pytrain ML models → emitanalysis/cet{4,6}/*.jsonandanalysis/figures/*.png- Browser
app.jsfetchesdata/cet{4,6}/*.json+analysis/figures/*.pngand renders into the corresponding tab panel
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.
- The repo never contains copyrighted exam content.
raw_papers/,catboost_info/, and any*.html.bakare gitignored. - The token used to push this repo (if any) is not committed. Use environment variables or GitHub Actions secrets for any future automation.
MIT.