Was this written by a machine?
Paste anything. The model scores it, and then shows you every word that moved the score — because it is a sum of word weights and nothing else. It runs in this tab; the text is never sent anywhere.
Loading the model…
The number you should not trust
Length is doing most of the work
The same book, scored in passages of different lengths. Every one of these is Jane Austen, and the model's verdict reverses entirely depending on how much of her it is shown at once — because a short passage has too few features for the L2 normalisation to mean anything, and whatever is left gets amplified.
| Passage length | Mean p(machine) | Flagged as machine |
|---|---|---|
| 40 words | 0.722 | 10 of 12 |
| 80 words | 0.470 | 5 of 12 |
| 150 words | 0.286 | 2 of 12 |
| 300 words | 0.233 | 2 of 12 |
| 600 words | 0.123 | 0 of 12 |
| 1,200 words | 0.016 | 0 of 12 |
Measured on Pride and Prejudice (1813), twelve passages at each length. This is the sort of thing an accuracy figure on a held-out split will never tell you, and the reason the offline number and the deployed behaviour are two different measurements.
What it actually learned
The strongest features are function words, not ideas. That is the tell: it is reading register — sentence shape, connective density, formality — rather than meaning.
Pushes towards machine
Pushes towards human
Why this and not the original model
The 2023 version ran roberta-base-openai-detector behind a Plotly Dash
app. That model is around half a gigabyte, which is not something you hand a browser,
so a faithful port was never on the table. A linear model over word features is — and
it has a property the transformer does not: every decision decomposes into
per-word contributions, so the page can show its working instead of asking for trust.
The arithmetic has to match the library it was fitted with, or the numbers here are decoration. Forty held-out texts scored in scikit-learn ship with the page, and it re-scores them on load and reports the largest disagreement — that is the line above.