Skip to main content
How a person speaks on podcasts, and how that moves over time. It reports the share of their lines on each axis:
  • Sentiment: negative, neutral or positive.
  • Certainty: hedged, neutral or confident.
  • Specificity: vague, neutral or specific.
  • Temporal orientation: about the past, the present or the future.
Each axis is shown for the whole window (the last year by default) and per week or month. Use it for questions like “is Sam Altman more cautious than he used to be?” or “how often does she make predictions?”. The labels are the ones speaker statement characteristics puts on transcript lines. Shares are of the person’s scored lines: lines spoken by them, in any role, that carry characteristics. Lines too short to read carry none. low_sample marks a share with fewer than 20 scored lines behind it. Read such a share as an example, not a distribution. To find their lines said a certain way about a topic, use particle_podcast_search_transcripts with person_slug and speaker_statement_characteristics. Resolve the person first with particle_person_resolve.

Inputs

Output

A markdown document headed ## How <name> speaks:
  • **Window:**, **Scored lines:** (with the number of episodes) and **Characteristics version:** rows.
  • ### Overall: one bullet per axis, listing its labels in order with their shares.
  • ### By month (or ### By week): a table with a row per bucket, zero-filled. Each row gives the scored lines and each axis’s label shares. A bucket the window cuts through is marked (partial). A bucket with fewer than 20 scored lines is marked (low sample).
  • With include: ["examples"], a ### Strongest lines, <bucket start> section per bucket. Each bullet reads **label** (axis): "text" — Episode on Podcast (episode_slug …) <link>.
The strongest line for a label is the one reading furthest past the label’s cut. Neither the readings nor the strength are exposed. Sample (person_slug="sam-altman", interval="month", include=["examples"], truncated):
With output_format=json, the response is the REST body of GET /v1/people/{id}/statement-characteristics. It has:
  • scored_lines, episodes, low_sample and characteristics_version.
  • characteristics: one array per axis of {label, lines, share}.
  • buckets: each with the same fields, plus examples. Every example carries the line’s speaker_statement_characteristics and its episode.