Skip to content

Feature: Tricolon Detector — Rule of Three Pattern Recognition #70

@craigtrim

Description

@craigtrim

Overview

Detect tricolon (rule of three) patterns in text at multiple syntactic levels. This is one of the core AI stylistic tells identified in #69 — LLMs use tricolon as a default organizational skeleton with anomalously high frequency compared to human writing.

Background

Tricolon is the classical rhetorical device of three parallel syntactic units:

  • Phrase level: "life, liberty, and the pursuit of happiness"
  • Clause level: "It's not what you say, it's how you say it, or when you say it"
  • Sentence level: "He came. He saw. He conquered."

The AI tell is not presence but density — where a human uses it once deliberately, an LLM reaches for it as the automatic shape of any three-part thought.

Detection Strategy

Surface Form (Oxford Tricolon)

Regex detection of comma-list-of-three patterns:

X, Y, and Z
X, Y, or Z

Clausal Form (Parallel Clause Tricolon)

Sentences containing exactly two commas that divide the sentence into three roughly equal-length segments. Pragmatic proxy for parallel clause detection without a full syntactic parser.

Sentential Form (Three-Sentence Sequences)

Consecutive sequences of short simple sentences of similar length within a paragraph — the "He came. He saw. He conquered." form.

Metrics

  • tricolon_density: tricolon instances per 1000 words
  • tricolon_type_distribution: breakdown across phrase / clause / sentence forms
  • tricolon_paragraph_rate: proportion of paragraphs containing at least one tricolon

The signal is deviation from a human baseline corpus — anomalously high density is the AI fingerprint.

Dependencies

  • Requires paragraph-level segmentation (see companion issue)
  • Feeds into compound AI-tell co-occurrence scorer (see companion issue)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions