{ "patterns": [ { "name": "negative-parallelism", "description": "'Not just X, it's Y' and its relatives. The most recognizable machine construction.", "suggestion": "State the correct thing. Leave the wrong thing out.", "severity": "error", "budget": 0.0, "patterns": [ "not just [^.!?]{1,50}?,? (?:but |it'?s |it is )", "not only\\b[^.!?]{0,60}?\\bbut also\\b", "(?:isn'?t|is not) (?:about|just)\\b[^.!?]{0,50}?[;,] it'?s", "it'?s not\\b[^.!?]{0,40}?[;,] it'?s\\b" ] }, { "name": "inflated-significance", "description": "Announcing that something matters instead of showing what it did.", "suggestion": "Show what it did, with a fact. Cut the claim of importance.", "severity": "error", "budget": 0.0, "patterns": [ "stands? as a testament", "(?:is|are) a testament to", "plays? a (?:vital|pivotal|crucial|key|significant) role", "underscor\\w+ (?:its|the|their) (?:importance|significance)", "leav\\w+ a lasting (?:impact|impression|legacy)", "watershed moment", "cannot be overstated", "solidif\\w+ (?:its|their) (?:position|place|status)" ] }, { "name": "participle-tail", "description": "A clause tacked onto a sentence to fake analysis.", "suggestion": "Explain the consequence concretely, or stop at the fact.", "severity": "error", "budget": 0.0, "patterns": [ ",\\s+(?:highlighting|underscoring|illustrating|reflecting|emphasizing|showcasing|paving|cementing|signaling|marking)\\b[^.!?]{0,80}[.!?]" ] }, { "name": "editorializing", "description": "Telling the reader that something is worth noting instead of noting it.", "suggestion": "Just write the note.", "severity": "error", "budget": 0.0, "patterns": [ "it'?s important to (?:note|remember|understand|consider)", "it is important to (?:note|remember|understand|consider)", "it'?s worth (?:noting|remembering|mentioning)", "no discussion would be complete without", "needless to say" ] }, { "name": "hollow-conclusion", "description": "Restating a passage the reader just finished.", "suggestion": "End on the last real thing there is to say. A piece can just stop.", "severity": "error", "budget": 0.0, "patterns": [ "\\bin (?:summary|conclusion)\\b", "(?:^|\\n)\\s*overall,", "\\bat the end of the day\\b", "\\bto sum up\\b" ] }, { "name": "throat-clearing", "description": "Warming up instead of starting.", "suggestion": "Delete it. Start with the first real sentence.", "severity": "error", "budget": 0.0, "patterns": [ "in today'?s (?:fast-paced|modern|digital|ever-changing) world", "in the (?:ever-)?(?:evolving|changing) (?:landscape|world) of", "let'?s (?:dive in|unpack|explore this)", "here'?s a comprehensive" ] }, { "name": "engagement-bait", "description": "Nudging the reader instead of informing them.", "suggestion": "Cut it.", "severity": "error", "budget": 0.0, "patterns": [ "let that sink in", "read that again", "this changes everything", "here'?s the thing\\b" ] }, { "name": "vague-attribution", "description": "Claims with no named source.", "suggestion": "Name the person, paper, or outlet with a date, or drop the claim.", "severity": "error", "budget": 0.0, "patterns": [ "\\bstudies (?:show|suggest|indicate)\\b", "\\bexperts (?:say|agree|note)\\b", "\\bresearch (?:shows|suggests|indicates)\\b", "\\b(?:some|many) (?:critics|observers|analysts) (?:argue|note|suggest)\\b", "\\bindustry reports suggest\\b" ] }, { "name": "promotional", "description": "Brochure register.", "suggestion": "Replace the adjective with a fact, or cut it.", "severity": "warn", "budget": 0.0, "patterns": [ "rich (?:cultural )?(?:heritage|history|tapestry)", "stunning natural beauty", "nestled in the heart of", "must-(?:visit|see|read|have)\\b", "\\bbreathtaking\\b", "\\bworld-class\\b" ] }, { "name": "transition-crutch", "description": "Connective tissue that can usually be deleted with no loss.", "suggestion": "Delete it, or use a plain connector: but, so, then.", "severity": "warn", "budget": 4.081, "patterns": [ "\\bmoreover\\b", "\\bfurthermore\\b", "\\badditionally\\b", "\\bon top of that\\b", "\\bthat said\\b" ] }, { "name": "copula-avoidance", "description": "Swapping 'is' for something weightier.", "suggestion": "Use 'is' or 'was'.", "severity": "warn", "budget": 0.0, "patterns": [ "\\bserves? as\\b", "\\bstands? as\\b", "\\brepresents? a\\b" ] }, { "name": "assistant-residue", "description": "Chat-assistant phrasing left in published text.", "suggestion": "Delete. This should never reach a reader.", "severity": "error", "budget": 0.0, "patterns": [ "\\bas an AI language model\\b", "\\bI hope this helps\\b", "\\blet me know if you (?:need|have)\\b", "\\bfeel free to reach out\\b", "\\bas of my (?:last )?knowledge (?:update|cutoff)\\b", "\\bI hope this (?:message|email) finds you well\\b" ] } ], "cadence": [ { "name": "flat-cadence", "description": "Sentence lengths vary less than human writing typically does.", "suggestion": "Rewrite one sentence in every three-sentence run to a different length. A short sentence after two long ones does more than any word swap.", "severity": "warn", "direction": "low", "threshold": 0.2367, "min_words": 120 }, { "name": "uniform-paragraphs", "description": "Paragraphs are all about the same length.", "suggestion": "Break one paragraph early and let another run long. A one-line paragraph is allowed.", "severity": "warn", "direction": "low", "threshold": 0.5227, "min_words": 120 }, { "name": "no-short-sentences", "description": "Nothing in the draft is short.", "suggestion": "Cut one sentence down to under eight words. It changes the rhythm of everything around it.", "severity": "warn", "direction": "low", "threshold": null, "min_words": 120 }, { "name": "triplet-habit", "description": "Reflexive lists of three: 'x, y, and z' over and over.", "suggestion": "Use the number of items that exists. Two is fine. One is often best.", "severity": "warn", "direction": "high", "threshold": 5.1787, "min_words": 120 }, { "name": "em-dash-habit", "description": "Em dashes used as a default connector.", "suggestion": "Use a comma, a colon, parentheses, or two sentences.", "severity": "warn", "direction": "high", "threshold": 1.4888, "min_words": 120 }, { "name": "repeated-openers", "description": "Consecutive sentences starting with the same word.", "suggestion": "Vary the opener, unless the repetition is deliberate.", "severity": "warn", "direction": "high", "threshold": 0.2222, "min_words": 120 } ], "meta": { "calibrated": true, "corpus": "HC3 human answers (informal) + human scientific abstracts (formal) + wikitext-103 articles (multi-paragraph)", "n_documents": 2602, "informal": 1000, "formal": 1000, "structured": 602, "min_words": 120, "target_fpr": 0.05 } }