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: Humanize AI-generated text to bypass detection. This humanizer rewrites ChatGPT, Claude, and GPT content to sound natural and pass AI detectors like GPTZero, Turnitin, and Originality.ai. Based on Wikipedia's comprehensive "Signs of AI Writing" guide. Makes robotic AI writing undetectable and human-like.4---5
6# Humanize AI Text
7
8Comprehensive 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).
9
10## Quick Start
11
12```bash
13# Detect AI patterns
14python scripts/detect.py text.txt
15
16# Transform to human-like
17python scripts/transform.py text.txt -o clean.txt
18
19# Compare before/after
20python scripts/compare.py text.txt -o clean.txt
21```
22
23---
24
25## Detection Categories
26
27The analyzer checks for **16 pattern categories** from Wikipedia's guide:
28
29### 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 ``` |
36
37### High Signal
38| 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" |
44
45### Medium Signal
46| 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" |
52
53### Style Signal
54| 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" |
60
61---
62
63## Scripts
64
65### detect.py — Scan for AI Patterns
66
67```bash
68python scripts/detect.py essay.txt
69python scripts/detect.py essay.txt -j # JSON output
70python scripts/detect.py essay.txt -s # score only
71echo "text" | python scripts/detect.py
72```
73
74**Output:**
75- Issue count and word count
76- AI probability (low/medium/high/very high)
77- Breakdown by category
78- Auto-fixable patterns marked
79
80### transform.py — Rewrite Text
81
82```bash
83python scripts/transform.py essay.txt
84python scripts/transform.py essay.txt -o output.txt
85python scripts/transform.py essay.txt -a # aggressive
86python scripts/transform.py essay.txt -q # quiet
87```
88
89**Auto-fixes:**
90- Citation bugs (oaicite, turn0search)
91- Markdown (**, ##, ```)
92- Chatbot sentences
93- Copula avoidance → "is/has"
94- Filler phrases → simpler forms
95- Curly → straight quotes
96
97**Aggressive (-a):**
98- Simplifies -ing clauses
99- Reduces em dashes
100
101### compare.py — Before/After Analysis
102
103```bash
104python scripts/compare.py essay.txt
105python scripts/compare.py essay.txt -a -o clean.txt
106```
107
108Shows side-by-side detection scores before and after transformation
109
110---
111
112## Workflow
113
1141. **Scan** for detection risk:
115 ```bash
116 python scripts/detect.py document.txt
117 ```
118
1192. **Transform** with comparison:
120 ```bash
121 python scripts/compare.py document.txt -o document_v2.txt
122 ```
123
1243. **Verify** improvement:
125 ```bash
126 python scripts/detect.py document_v2.txt -s
127 ```
128
1294. **Manual review** for AI vocabulary and promotional language (requires judgment)
130
131---
132
133## AI Probability Scoring
134
135| 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 |
141
142---
143
144## Customizing Patterns
145
146Edit `scripts/patterns.json` to add/modify:
147- `ai_vocabulary` — words to flag
148- `significance_inflation` — puffery phrases
149- `promotional_language` — marketing speak
150- `copula_avoidance` — phrase → replacement
151- `filler_replacements` — phrase → simpler form
152- `chatbot_artifacts` — phrases triggering sentence removal
153
154---
155
156## Batch Processing
157
158```bash
159# Scan all files
160for f in *.txt; do
161 echo "=== $f ==="
162 python scripts/detect.py "$f" -s
163done
164
165# Transform all markdown
166for f in *.md; do
167 python scripts/transform.py "$f" -a -o "${f%.md}_clean.md" -q
168done
169```
170
171---
172
173## Reference
174
175Based 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.
176
177Key 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."