Humanize AI Text
Comprehensive CLI for detecting and transforming AI-generated text to bypass detectors. Based on Wikipedia's Signs of AI Writing.
Quick Start
# Detect AI patterns
python scripts/detect.py text.txt
# Transform to human-like
python scripts/transform.py text.txt -o clean.txt
# Compare before/after
python scripts/compare.py text.txt -o clean.txt
Detection Categories
The analyzer checks for 16 pattern categories from Wikipedia's guide:
Critical (Immediate AI Detection)
| Category |
Examples |
| Citation Bugs |
oaicite, turn0search, contentReference |
| Knowledge Cutoff |
"as of my last training", "based on available information" |
| Chatbot Artifacts |
"I hope this helps", "Great question!", "As an AI" |
| Markdown |
**bold**, ## headers, code blocks |
High Signal
| Category |
Examples |
| AI Vocabulary |
delve, tapestry, landscape, pivotal, underscore, foster |
| Significance Inflation |
"serves as a testament", "pivotal moment", "indelible mark" |
| Promotional Language |
vibrant, groundbreaking, nestled, breathtaking |
| Copula Avoidance |
"serves as" instead of "is", "boasts" instead of "has" |
Medium Signal
| Category |
Examples |
| Superficial -ing |
"highlighting the importance", "fostering collaboration" |
| Filler Phrases |
"in order to", "due to the fact that", "Additionally," |
| Vague Attributions |
"experts believe", "industry reports suggest" |
| Challenges Formula |
"Despite these challenges", "Future outlook" |
Style Signal
| Category |
Examples |
| Curly Quotes |
"" instead of "" (ChatGPT signature) |
| Em Dash Overuse |
Excessive use of — for emphasis |
| Negative Parallelisms |
"Not only... but also", "It's not just... it's" |
| Rule of Three |
Forced triplets like "innovation, inspiration, and insight" |
Scripts
detect.py — Scan for AI Patterns
python scripts/detect.py essay.txt
python scripts/detect.py essay.txt -j # JSON output
python scripts/detect.py essay.txt -s # score only
echo "text" | python scripts/detect.py
Output:
- Issue count and word count
- AI probability (low/medium/high/very high)
- Breakdown by category
- Auto-fixable patterns marked
transform.py — Rewrite Text
python scripts/transform.py essay.txt
python scripts/transform.py essay.txt -o output.txt
python scripts/transform.py essay.txt -a # aggressive
python scripts/transform.py essay.txt -q # quiet
Auto-fixes:
- Citation bugs (oaicite, turn0search)
- Markdown (**, ##, ```)
- Chatbot sentences
- Copula avoidance → "is/has"
- Filler phrases → simpler forms
- Curly → straight quotes
Aggressive (-a):
- Simplifies -ing clauses
- Reduces em dashes
compare.py — Before/After Analysis
python scripts/compare.py essay.txt
python scripts/compare.py essay.txt -a -o clean.txt
Shows side-by-side detection scores before and after transformation
Workflow
Scan for detection risk:
python scripts/detect.py document.txt
Transform with comparison:
python scripts/compare.py document.txt -o document_v2.txt
Verify improvement:
python scripts/detect.py document_v2.txt -s
Manual review for AI vocabulary and promotional language (requires judgment)
AI Probability Scoring
| Rating |
Criteria |
| Very High |
Citation bugs, knowledge cutoff, or chatbot artifacts present |
| High |
>30 issues OR >5% issue density |
| Medium |
>15 issues OR >2% issue density |
| Low |
<15 issues AND <2% density |
Customizing Patterns
Edit scripts/patterns.json to add/modify:
ai_vocabulary — words to flag
significance_inflation — puffery phrases
promotional_language — marketing speak
copula_avoidance — phrase → replacement
filler_replacements — phrase → simpler form
chatbot_artifacts — phrases triggering sentence removal
Batch Processing
# Scan all files
for f in *.txt; do
echo "=== $f ==="
python scripts/detect.py "$f" -s
done
# Transform all markdown
for f in *.md; do
python scripts/transform.py "$f" -a -o "${f%.md}_clean.md" -q
done
Reference
Based on Wikipedia's Signs of AI Writing, maintained by WikiProject AI Cleanup. Patterns documented from thousands of AI-generated text examples.
Key insight: "LLMs use statistical algorithms to guess what should come next. The result tends toward the most statistically likely result that applies to the widest variety of cases."
1---2name: humanize-ai-text3description: AI 生成文本人性化改写。将 ChatGPT、Claude、GPT 等生成的内容改写为自然流畅的表达,可通过 GPTZero、Turnitin、Originality.ai 等 AI 检测工具。基于维基百科"AI 写作特征"指南,让机械化的 AI 文本变得自然且不可检测。4---56# Humanize AI Text78Comprehensive CLI for detecting and transforming AI-generated text to bypass detectors. Based on [Wikipedia's Signs of AI Writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing).910## Quick Start1112```bash13# Detect AI patterns14python scripts/detect.py text.txt1516# Transform to human-like17python scripts/transform.py text.txt -o clean.txt1819# Compare before/after20python scripts/compare.py text.txt -o clean.txt21```2223---2425## Detection Categories2627The analyzer checks for **16 pattern categories** from Wikipedia's guide:2829### Critical (Immediate AI Detection)30| Category | Examples |31|----------|----------|32| Citation Bugs | `oaicite`, `turn0search`, `contentReference` |33| Knowledge Cutoff | "as of my last training", "based on available information" |34| Chatbot Artifacts | "I hope this helps", "Great question!", "As an AI" |35| Markdown | `**bold**`, `## headers`, ``` code blocks ``` |3637### High Signal38| Category | Examples |39|----------|----------|40| AI Vocabulary | delve, tapestry, landscape, pivotal, underscore, foster |41| Significance Inflation | "serves as a testament", "pivotal moment", "indelible mark" |42| Promotional Language | vibrant, groundbreaking, nestled, breathtaking |43| Copula Avoidance | "serves as" instead of "is", "boasts" instead of "has" |4445### Medium Signal46| Category | Examples |47|----------|----------|48| Superficial -ing | "highlighting the importance", "fostering collaboration" |49| Filler Phrases | "in order to", "due to the fact that", "Additionally," |50| Vague Attributions | "experts believe", "industry reports suggest" |51| Challenges Formula | "Despite these challenges", "Future outlook" |5253### Style Signal54| Category | Examples |55|----------|----------|56| Curly Quotes | "" instead of "" (ChatGPT signature) |57| Em Dash Overuse | Excessive use of — for emphasis |58| Negative Parallelisms | "Not only... but also", "It's not just... it's" |59| Rule of Three | Forced triplets like "innovation, inspiration, and insight" |6061---6263## Scripts6465### detect.py — Scan for AI Patterns6667```bash68python scripts/detect.py essay.txt69python scripts/detect.py essay.txt -j # JSON output70python scripts/detect.py essay.txt -s # score only71echo "text" | python scripts/detect.py72```7374**Output:**75- Issue count and word count76- AI probability (low/medium/high/very high)77- Breakdown by category78- Auto-fixable patterns marked7980### transform.py — Rewrite Text8182```bash83python scripts/transform.py essay.txt84python scripts/transform.py essay.txt -o output.txt85python scripts/transform.py essay.txt -a # aggressive86python scripts/transform.py essay.txt -q # quiet87```8889**Auto-fixes:**90- Citation bugs (oaicite, turn0search)91- Markdown (**, ##, ```)92- Chatbot sentences93- Copula avoidance → "is/has"94- Filler phrases → simpler forms95- Curly → straight quotes9697**Aggressive (-a):**98- Simplifies -ing clauses99- Reduces em dashes100101### compare.py — Before/After Analysis102103```bash104python scripts/compare.py essay.txt105python scripts/compare.py essay.txt -a -o clean.txt106```107108Shows side-by-side detection scores before and after transformation109110---111112## Workflow1131141. **Scan** for detection risk:115 ```bash116 python scripts/detect.py document.txt117 ```1181192. **Transform** with comparison:120 ```bash121 python scripts/compare.py document.txt -o document_v2.txt122 ```1231243. **Verify** improvement:125 ```bash126 python scripts/detect.py document_v2.txt -s127 ```1281294. **Manual review** for AI vocabulary and promotional language (requires judgment)130131---132133## AI Probability Scoring134135| Rating | Criteria |136|--------|----------|137| Very High | Citation bugs, knowledge cutoff, or chatbot artifacts present |138| High | >30 issues OR >5% issue density |139| Medium | >15 issues OR >2% issue density |140| Low | <15 issues AND <2% density |141142---143144## Customizing Patterns145146Edit `scripts/patterns.json` to add/modify:147- `ai_vocabulary` — words to flag148- `significance_inflation` — puffery phrases149- `promotional_language` — marketing speak150- `copula_avoidance` — phrase → replacement151- `filler_replacements` — phrase → simpler form152- `chatbot_artifacts` — phrases triggering sentence removal153154---155156## Batch Processing157158```bash159# Scan all files160for f in *.txt; do161 echo "=== $f ==="162 python scripts/detect.py "$f" -s163done164165# Transform all markdown166for f in *.md; do167 python scripts/transform.py "$f" -a -o "${f%.md}_clean.md" -q168done169```170171---172173## Reference174175Based on Wikipedia's [Signs of AI Writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), maintained by WikiProject AI Cleanup. Patterns documented from thousands of AI-generated text examples.176177Key insight: "LLMs use statistical algorithms to guess what should come next. The result tends toward the most statistically likely result that applies to the widest variety of cases."