Detector-aware academic manuscript humanizer — rewrite LLM-generated scholarly text (thesis chapters, journal sections, cover letters) to reduce GPTZero, Turnitin AI, and stylometric classifier scores while preserving numbers, citations, and facts.
Not another synonym spinner. A closed-loop, segment-scored rewrite pipeline with ONNX AIGC detection, domain lexicons, and fidelity gates.
Keywords: ai humanizer · academic writing · gptzero bypass · turnitin ai · manuscript rewriter · stylometrics · burstiness · onnx · offline nlp · research paper · thesis humanizer · ai detector evasion · scholarly prose
git clone https://github.com/drmikecrypto/manuscript-humanizer.git
cd manuscript-humanizer
.\humanize.ps1 your_draft.docx # → your_draft_humanized.docx
.\humanize.ps1 your_thesis.pdf -InPlace # overwrite + .bak backupSupported formats: .txt · .md · .docx · .pdf (Word/PDF need pip install -e ".[full]")
pip install -e ".[full]"
mh your_draft.docx
mh thesis.pdf -i # in-place (same file, backup created)
mh score your_draft.pdfMost GitHub "humanizers" are:
- a ChatGPT prompt in a README, or
- a thesaurus that breaks citations, or
- a perplexity/burstiness toy that detectors stopped caring about in 2024.
Modern detectors (GPTZero, Turnitin, Pangram) use ML classifiers on overlapping segments — template Methods prose, uniform sentence rhythm, stock transitions (Furthermore, Moreover, rule-of-three lists).
This project targets those signals directly:
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Your draft │───▶│ Segment detector │───▶│ Sentence heatmap │
└─────────────┘ │ ONNX + patterns │ └────────┬────────┘
└──────────────────┘ │
▼
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Humanized │◀───│ Fidelity gate │◀───│ Bootstrap / │
│ manuscript │ │ nums · cites │ │ targeted rewrite│
└─────────────┘ └──────────────────┘ └─────────────────┘
| Subsystem | What it does |
|---|---|
| ONNX segment detector | AIGC classifier on sliding windows + per-sentence heatmap |
| ZeroGPT proxy | Offline scorer calibrated against live ZeroGPT sentence flags |
| Bootstrap one-shot | Deterministic academic templates tuned for detector pass rates |
| Lexicon service | 370k-word dictionary + medicine / veterinary / engineering terms |
| Pattern analyzer | 36+ academic AI-tell regex patterns |
| Stylometrics | Burstiness, opener diversity, parallel clause templates |
| Fidelity validator | Blocks rewrites that drop numbers, citations, or length |
Default engine: segment with template warm-up + targeted passes — no early exit on a half-finished rewrite. Short letters/abstracts use calibrated outbound rules; long manuscripts run up to 25 segment passes.
.\humanize.ps1 examples\demo_manuscript.mdpython -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[full]"
mh models download # ONNX model ~120 MB, one-timepip install -e ".[llm]"
export OPENAI_API_KEY=sk-...# config.toml
[pipeline]
engine = "llm"
one_shot = false| Command | What it does |
|---|---|
mh paper.docx |
Humanize → paper_humanized.docx |
mh thesis.pdf -i |
Overwrite same file (.bak backup first) |
mh humanize draft.txt -o out.txt |
Explicit output path |
mh score paper.pdf |
AI likelihood + sentence heatmap |
mh models download |
Fetch ONNX detector |
Formats: plain text (.txt, .md, .tex, …), Word (.docx), PDF (.pdf).
Output keeps the same format as input (PDF layout preserved; DOCX paragraph structure only). See docs/formats.md.
Exit codes: 0 = fidelity pass, 2 = finished with warnings.
Copy config.example.toml → config.toml (optional; defaults work).
[pipeline]
one_shot = true
target_ai_score = 5.0
max_passes = 1
[detector]
engine = "onnx"
calibration_offset = 8.0See docs/calibration.md for manual ZeroGPT verification workflow.
src/humanizer/
├── analyzers/ # patterns, stylometrics, ONNX segment detector, ZeroGPT proxy
├── rewriters/ # bootstrap, transforms, targeted rewriter, lexicon swaps
├── validators/ # number / citation / meaning fidelity
├── lexicon/ # domain-safe term protection
├── templates/ # calibrated academic rewrite rules (JSON)
└── pipeline.py # orchestration
data/
├── lexicons/ # WordNet, domain terms, protected academic core
└── templates/academic/ # bootstrap + section templates
pip install -e ".[dev]"
pytestUses examples/demo_manuscript.md — a synthetic AI-draft benchmark, not a real study.
- Built-in score is a proxy. It can disagree sharply with live ZeroGPT. Always verify externally.
- No tool guarantees 0% on every institutional detector.
- Follow your university's AI disclosure policies.
- Do not use to misrepresent authorship.
Built by @drmikecrypto
MIT — see LICENSE.