How to read the cards, the status badges and the four groups is explained on the Comparisons overview; every statistical term links to the Statistical glossary.
Measured by script on Rates are per thousand words. The feature list was fixed before any comparison was run.
For the rarer punctuation and formatting features most posts score zero, and the groups differ as much in whether the feature appears at all as in how often. The listed "AI tell" words are a fixed vocabulary of terms widely reported as over-used by language models; the per-term counts are in the released data. Vocabulary diversity is in the next section.
Vocabulary at two scales. Within a post, MATTR (the moving-average type-token ratio) is the share of distinct words in a sliding window, averaged over every window position, so it does not fall with length the way a plain distinct-word count does. The first card uses a 100-word window and is one of the pre-registered text features; the second repeats it with a 300-word window, which asks about variety over a longer stretch and is exploratory. The third is the share of each post's words that fall among its own group's 2,000 commonest, which says how much a post draws on the group's shared stock. Across a group, the questions are how large the vocabulary is at equal corpus size, how much posts overlap with one another, and which words mark each side.
The 100-word MATTR is computed by the feature script on whitespace tokens; the 300-word MATTR and the coverage share use cleaned tokens, lower-cased runs of letters with apostrophes allowed, from the plain text of the body, so the two MATTR values are not on exactly the same footing. MATTR-300 has no value for posts under 300 words. A low coverage share means the post reaches outside its group's common vocabulary more often.
A curve: posts are drawn in random order and the number of distinct words seen is plotted against the number of words drawn, averaged over orders with the band showing their spread. Groups of different size are compared where the curves end, at the smallest group's total. A lower curve is a smaller working vocabulary: the same amount of text, fewer different words.
For every pair of posts in a group, the Jaccard overlap of the vocabularies of their first 300 words (shared words divided by all words either uses), averaged over all pairs. Higher means posts in the group draw on more of the same words. The interval bootstraps each post's mean overlap, a rough guide since pairs are not independent.
Above, words much commoner in fully human posts; below, words much commoner in fully AI posts. Words are ordered by the of rates per million words and sized by that rank within each panel; the table gives the numbers. Only words found in at least of the two groups' posts qualify, which keeps out words that are merely rare; words passed. Hover a word for its rates and how many posts use it. Personal names (Sarah, Jason, Mr) are a genuine human marker, not an artefact: each appears in dozens of posts from as many different publications, almost none of them AI-labelled.
A on the text features above (rates log-transformed, then ), trained to tell fully human from fully AI posts. Scores for those two groups are out-of-fold (), so each post is scored by a model that never saw it; mixed and detection-off posts are scored by the model fitted on all labelled posts. The question it answers is where the detection-off group sits: a histogram shaped like the red row says those posts resemble AI posts on the surface, one like the green row says they resemble human posts. It is a resemblance score, not a detector, and the circularity caution applies: Pangram may react to these same features.