Function word analyser

By Jack Stovell · published 2026-09-24

A function word analyser reads the small words you use without thinking (the, a, but, I, you) and maps their pattern. ScriptGrain splits it into five of its 45 voice attributes: the article mix, a preferred contrast word, the I/we/you mix, connecting phrases and paragraph openers. Each stored value is the extraction model's reading of your samples.

Analyse your function words attributes free

Your free voice profile measures every function words attribute among all 45, from a sample of your own writing. No card needed.

Try the six-signal check first

At a glance

What the function words group measures

The function words group captures the small words you use without thinking about them, the ones that carry little meaning on their own and still shape how a sentence feels (the function words glossary entry has the linguist's definition). ScriptGrain files five of its 45 voice attributes under this label: code counts two of them when a draft is scored, a model judges one, and two are lists of your own words. Three of the five move your voice match score.

Article ratio is how your uses of "the", "a" and "an" split between the three. Nobody sets this balance on purpose, which is why it works as a marker. When a draft is scored, code counts its three articles and compares their shares with your profile, at a voice-match weight of 0.75.

But, however, yet is your preferred contrast word. Some writers default to "but" every time; others reach for "however" to sound formal, or "yet" for a literary lift. The profile stores one label (but, however, yet or mixed) as the extraction model's judgement; no code counts the three words, and the label never moves the score.

Pronoun distribution measures your I / we / you mix. A writer who leans on "you" is doing something different from one who hides behind "we". When a draft is scored, code counts its I, we and you forms and compares their shares with your profile, at a weight of 1.5.

Discourse markers are the connecting phrases you lean on to move between thoughts, things like "so" or "here's the thing". The profile keeps up to five, quoted from your samples. They feed the shared signature-phrase check (weight 2), which looks for phrases from your profile's word lists in a draft.

Paragraph opener words are the words your paragraphs most often start with. Also a list of up to five, quoted verbatim. It does not move the score, but it still shapes drafts: ScriptGrain's generator lifts its bans on stock phrases for any opener the profile lists.

How function words features are scored

Function word features are scored by comparing a draft with your profile, and three of the five take part. Every stored value, shares included, is the extraction model's reading of your samples. When a draft is scored, code counts its articles and its I, we and you forms, turns each set into shares and compares them with the profile's: similarity is 1 minus half the summed absolute difference between the shares, weighted 0.75 for articles and 1.5 for pronouns. Discourse markers join the shared signature-phrase check at weight 2. The contrast-word label and the paragraph openers have no comparator, so they never move the score.

The profile behind these five holds 45 attributes in 8 groups (lexical, syntactic, tone and register, rhetorical, punctuation and format, function words, content patterns, quirks and cadence), all built by the same extraction model, Claude Sonnet 5, in two passes. Pass one reads each sample and returns every attribute; pass two synthesises a single profile with a narrative and a confidence score from 0 to 1.

When ScriptGrain scores a draft against your profile, code counts sentence, punctuation, pronoun, article and word-length features, Claude Haiku judges formality, humour, structure and rhythm, and a weighted comparison passes through a fixed calibration to give one number from 0 to 1. The app calls 90% and above Excellent, 75 to 89% Good, 60 to 74% Fair and under 60% Low. Across the whole 45-attribute model, 28 attributes can move that score; in the function words group, that's article ratio, pronoun distribution and discourse markers. For the full breakdown of what counts, what's judged and what's descriptive-only, see the writing voice attributes reference or the voice measurement framework.

How to analyse the function words of your own writing

You can analyse all five by hand with a sample of your own writing and a tally for each:

  1. Pull a writing sample of at least a few hundred words, ideally something unedited by someone else.
  2. Count every instance of "the", "a" and "an", and work out each as a share of the three combined.
  3. Search for "but", "however" and "yet" and note which one you default to when contrasting ideas.
  4. Tally the I-forms (I, me, my), we-forms (we, us, our) and you-forms (you, your), then turn each into a share of the three.
  5. List the phrases you use to move between ideas, things like "so", "and to be fair", "that's why". Keep the five most frequent.
  6. Note the first word of each paragraph across the sample and see which ones repeat.

ScriptGrain's free voice profile reads all five from a writing sample, alongside the other 40 attributes.

How to make AI writing match your function words

Getting AI-generated text to sound like you means feeding it your function word patterns explicitly, because models default to their own. Try this:

  1. Work out your article ratio, your contrast word, your pronoun mix, your discourse markers and your paragraph openers (using the steps above, or a tool that reads them for you).
  2. Give the model your contrast word, pronoun mix, connecting phrases and openers as explicit constraints rather than vague instructions like "sound casual".
  3. Paste two or three real samples as well, so it copies the habits nobody sets on purpose, such as your balance of "the" and "a".
  4. Ask it to check its own output against your patterns before finalising a draft.
  5. Repeat across several drafts, since models drift back to default habits.

That's a lot of re-briefing for every new chat. A ScriptGrain voice profile sends all five, with the other 40 attributes, into every draft it writes as hard constraints, and lets drafts use the connecting phrases and openers it lists. The same profile reaches ChatGPT, Claude and other tools through the API and MCP server: `GET /v1/profiles/{id}` and the MCP tool `get_profile` return all 45 attributes as JSON on every plan.

Attributes in this group

Questions

What is function word analysis?

Function word analysis is the study of small, largely unconscious words (articles, pronouns, contrast words, connectors) and what their patterns reveal about a writer. Unlike content words, function words resist deliberate control, which makes them useful markers. ScriptGrain reads five as part of its 45-attribute voice profile: article ratio, contrast word preference, pronoun distribution, discourse markers and paragraph opener words, each taken from your samples by the extraction model.

How do function words identify an author?

Function words identify an author because they're used automatically, below conscious style choices, so they tend to stay stable when the topic changes. A writer who leans on "you" and opens paragraphs with "So" usually does it whatever the subject. ScriptGrain's extraction model reads these patterns from a sample and stores them as part of a 45-attribute profile, with three of the five function word attributes (article ratio, pronoun distribution, discourse markers) carrying defined weight in voice match scoring.

How do I analyse function word frequency in my writing?

Count "the", "a" and "an" as shares of the three, tally I, we and you forms as shares of those three, and list your five most common connecting phrases and paragraph openers. That gives you article ratio, pronoun distribution, discourse markers and paragraph opener words by hand. ScriptGrain's free voice profile reads all of these, and the full 45-attribute set, from a single writing sample automatically.

Which function word attributes actually move a voice match score?

Three of the five: article ratio (weight 0.75), pronoun distribution (weight 1.5) and discourse markers, through the shared signature-phrase check (weight 2). But, however, yet and paragraph opener words are stored and shown in your profile but don't factor into the score itself. Across ScriptGrain's full 45-attribute model, 28 attributes in total can move a voice match score, on a calibrated 0 to 1 scale the app bands from Low to Excellent.

Related

Sources