No. 3 · Title Stylometry
The Word Association Network
· titles through
2,764 words and phrases from 277,545 video titles, joined by 11,880 edges. An edge means two words share titles far more often than their separate frequencies would produce, and not because of one channel or one busy week: the test compares titles only with other titles from the same channel in the same week. Click a word for its partners and its months; a legend chip shows one community alone; scroll to zoom, drag to pan.
1. Which Titles
The corpus is the one every title article shares, described on The Corpus and the Counting: every video title that 275 political YouTube and Rumble channels published between 1 January 2026 and 14 September 2026. For the network a title is a document, and a document is counted once. Three kinds of repeat are folded before anything is counted: a title a channel publishes verbatim more than once (the loops of live news streams), which takes the 293,697 titles in the window to 285,013; then a title an organization posts on two of its channels, and two spellings of one title that differ only in case or punctuation, which drop 7,468 more. That leaves 277,545 titles (95 %). No channel is removed: all 275 are in, and the floors below apply to words, not to channels. A headline two unrelated outlets both ran is kept twice, because two outlets choosing the same wording is two decisions.
| Step | Count | Share | Of |
|---|---|---|---|
| Titles in the window | 293,697 | ||
| After a channel's verbatim repeats count once | 285,013 | 97 % | the window |
| After an organization's cross-posts and spelling variants count once | 277,545 | 95 % | the window |
| Channels | 275 | 100 % | the channels in the window (none removed) |
2. Which Words
The words come from the normalized title, not the raw one: the channel's show name, episode number, date stamp and brand tag are stripped first (a segment that opens or closes more than a fifth of a channel's titles is not content, and was removed; the rule and its list are on the shared methods page). The text is lower-cased. A word is a run of letters, with apostrophes and hyphens allowed inside it, so a number, a hashtag sign or a stray symbol is never a word and $29 billion yields only billion. A possessive is folded into its word: Trump's is trump. One-letter tokens are dropped.
Stopwords are dropped: the ordinary function words (the, of, is, and, to, with, about) as scikit-learn's English list has them (from sklearn.feature_extraction.text import ENGLISH_STOP_WORDS, 318 words), and the corpus's own non-content words on top, the words that describe the video rather than the story (live, news, video, full, show, watch, podcast, ep, pt, vs, ft). Everything left is a content word, and it counts once per title however many times it recurs. Presence, not frequency, is what the test sees.
Nothing is stemmed or lemmatized, and nothing decides what a word means. Every distinct spelling is its own node: war and wars, strike and strikes, file and files. No dictionary, no part-of-speech tagger and no model looks at a word to say which sense it carries or whether it is a name; the pipeline never asks. What a word means is left to its partners on the map, which the reader can inspect. The corpus shows why merging by rule would be worse than the cost of not merging. war (18,953 titles) pairs with russia-ukraine, powers and civil; wars (305 titles) pairs with star: it is Star Wars, and a stemmer would pour it into the war node. strikes pairs with retaliatory, centcom and overnight; strike with hunger, refinery and boat: two vocabularies that a rule would fuse. gates pairs with epstein: it is Bill Gates in the files, not a plural, and gate has no node at all. The same absence of rules is the only protection names get: bondi, kirk, graham and rubio stay whole because no rule touches any spelling, not because anything recognized them as names. The price is two nodes where one might do, an error the reader can see; a merging rule would make errors nobody could see.
One more rule follows from the letter-run itself. The pattern that finds a word stops at any character it does not treat as a letter, and an accented letter is not in its set, so left alone it would read Nicolás Maduro as nicol, s, maduro: the run breaks at the accent, the one-letter s is dropped, and nicol survives as a fragment. So before a title is read, every accented letter is folded to its base letter (the text is decomposed and the accent marks dropped): Nicolás becomes nicolas, Orbán becomes orban. This is a merging rule, the one kind allowed here, and a narrow one: it maps a letter to its own base and never one word onto another, and it makes a name spelled with and without its accent one word rather than two. A letter with no base to fold to (ß, ø) is left as it is.
Phrases are terms too. Two content words that stand next to each other, or one stopword apart, become one term when they appear together in at least 50 titles from ten channels and their normalized pointwise mutual information is at least 0.5, meaning each is far likelier beside the other than on its own. That rule finds 510 phrases, 9 of them with a stopword inside, such as strait of hormuz, need to know, board of peace. The most frequent are white house (3,552 titles), strait of hormuz (2,421 titles), world cup (2,200 titles), supreme court (1,927 titles), jd vance (1,483 titles), middle east (1,471 titles). The 89 name-like pairs the year article already binds (lindsey graham, charlie kirk) are phrases whatever their score.
Pointwise mutual information compares how often two words appear together with how often they would if each appeared on its own, at random: the share of titles carrying the pair, divided by the product of the two words' own shares. A pair that turns up exactly as often as chance predicts scores 0; a pair that is far more common together than apart scores high. The raw score has no ceiling and favors rare pairs, so it is normalized by the pair's own rarity, which puts it on a scale from −1 (never together) through 0 (independent) to 1 (never apart). We set the cutoff to be 0.5 and above.
N titles counted n(a) titles carrying word a n(b) titles carrying word b n(ab) titles carrying a and b adjacent, or one stopword apart PMI(a, b) = log( (n(ab) / N) / ((n(a) / N) · (n(b) / N)) ) NPMI(a, b) = PMI(a, b) / −log( n(ab) / N ) a phrase when NPMI ≥ 0.5, n(ab) ≥ 50, from ≥ 10 channels
This cutoff is what keeps a pair under study from being welded shut. white and house score 0.84: white in these titles is nearly always followed by house, and house is very often preceded by white, so they are one thing. iran and war sit next to each other in thousands of titles, yet score 0.2, because both words have large lives without each other: iran is in tens of thousands of titles about talks, strikes, Hormuz and the regime, war in titles about Ukraine, Sudan, trade and Hegseth. They are two things that often meet, not one thing, so they stay two words and the network can measure their association, which it does: within the same channel and week, a title with one carries the other at 8.5 times the rate chance would give.
A phrase is a term beside its words, not instead of them: a title that says epstein files counts for epstein, for files and for the phrase. Two rules follow. A word is never paired with the phrase that contains it, and never with the other word of its own phrase; those pairs are one thing seen twice, not an association, and they are dropped before any test. A phrase with two stopwords inside (state of the union) is not caught, and its halves then show up as a very strong pair; that is a known gap, and the strongest pairs on the map should be read with it in mind.
Finally, the vocabulary floors. No word was chosen for spiking, for a story, or by anyone's hand: every term that meets two floors is in the network, and a word that sat at one level all year enters on exactly the same terms as one that spiked.
- At least 100 titles carry the term.
- At least 10 channels used it.
The channel floor matters more than the title floor. Ten of the 275 channels publish four titles in ten, and a word one channel repeats a thousand times would otherwise pass on volume alone: of the 57,251 distinct terms the titles contain, 3,837 (6.7 %) clear the title floor and 3,673 (6.4 %) clear both, so the channel floor removes 164 terms the title floor alone would have let in. Of the 3,673 that pass, 278 are phrases (55 % of the 510 found), and the map shows the 2,764 (75 %) that have at least one edge. The words of a big story have the most and the strongest edges, so the stories that spiked dominate the picture; that is a property of the titles, not of the selection.
| Step | Count | Share | Of |
|---|---|---|---|
| Distinct terms the titles contain | 57,251 | ||
| Passing the title floor (100 titles) | 3,837 | 6.7 % | the terms |
| Passing both floors (and 10 channels): the vocabulary | 3,673 | 6.4 % | the terms |
| Of which phrases | 278 | 55 % | the 510 phrases found |
3. Which Pairs Become Edges
Every pair of terms, 6,743,628 of them, gets the same test, and it is designed against the two ways a pair looks associated when it is not. The first is time: two words that both peak in the same week share titles more than their yearly frequencies predict even if no title ever connects them. The second is the channel: a channel that says both words in most of its titles manufactures the pair by itself. So the titles are split into strata, one for each channel in each week (9,363 strata), and inside every stratum the number of titles carrying both words is compared with the number expected if the two were independent given how often each appears in that channel that week. The stratum differences are summed (the Cochran-Mantel-Haenszel statistic), which asks: within the same channel and the same week, does a title with one word carry the other more often than chance? Shared timing and channel habit cancel out by construction. A stratum with a single title is skipped, since one title cannot show an association.
for each stratum s (one channel in one week): n_s titles in the stratum a_s of them carrying word A b_s carrying word B o_s carrying both E_s = a_s · b_s / n_s expected co-mentions if A and B were independent V_s = a_s · b_s · (n_s − a_s) · (n_s − b_s) / (n_s² · (n_s − 1)) its variance (the hypergeometric) summed over the strata: O = Σ o_s E = Σ E_s V = Σ V_s z = (O − E) / √V the Cochran-Mantel-Haenszel statistic; p two-sided from the normal lift = O / E co-mentions over those expected within channel-weeks weight = log₂(lift) the edge's weight
A pair is tabulated once it has 20 co-mentions (31,460 pairs do). 19,159 of them share titles beyond chance at a false-discovery rate of 1 % (Benjamini-Hochberg over all tabulated pairs), and 2,093 avoid each other, which is its own finding: a title is usually about one thing. The false-discovery rate turns each pair's p into a q, the share of pairs at or above that rank expected to be false if all were declared:
m pairs tabulated, their p-values sorted p(1) ≤ p(2) ≤ … ≤ p(m) q(i) = min over j ≥ i of p(j) · m / j Benjamini-Hochberg; a pair passes when q < 0.01
Because the nominal rate assumes titles inside a stratum are independent, and templated titles are not, the rate was checked by permutation: the title-by-word table was reshuffled 10 times inside every channel-week so that every title kept its number of words and every word its count in that stratum, and the test rerun each time. At the cutoff the shuffles produce 1.2 % as many passing pairs as the real titles do, and 0.07 % at four standard errors: the rate holds.
Three more gates make an edge. The pair must replicate: the channels are split into two random halves, an organization's channels kept together, and the pair must pass in both halves with the same sign (13,877 pairs do). Its lift must be at least 2: at least twice the co-mentions expected within channel-weeks, so that a statistically certain but tiny excess is not drawn. And at least 5 channels must co-mention it, so no edge belongs to one or two channels. Only positive associations are drawn; the avoidances are kept in the tables. 11,880 edges pass. An edge's weight is the base-2 logarithm of its lift: 1 is twice the expected co-mentions, 3 is eight times.
| Step | Count | Share | Of |
|---|---|---|---|
| Pairs with 20 or more co-mentions | 31,460 | 0.5 % | the 6,743,628 pairs of the vocabulary |
| Sharing titles beyond chance (q < 0.01) | 19,159 | 61 % | the pairs tabulated |
| Replicated in both channel halves, lift ≥ 2, ≥ 5 channels: the edges | 11,880 | 62 % | the pairs beyond chance |
| Words with at least one edge: the map | 2,764 | 75 % | the vocabulary |
4. Communities, Layout and Measures
Communities are found by the Louvain method on the weighted edges: groups of words with more edges among themselves than a random graph with the same degrees would give. The run the tables record finds 31 of them at a modularity of 0.59, which is strongly grouped. The largest are strikes, hormuz, iranian, attack (274 words); president, uk, state, visit (262 words); senate, hearing, epstein, secretary (240 words); ice, killed, fraud, dead (226 words). A community's label is its three strongest words, a property of the network, not a name anyone gave it. The page runs the same method in the browser, so the resolution slider re-groups the map and the reshuffle button reruns it in a new random order; the groups that survive a reshuffle are the firm ones, and the ones that move are at a boundary.
The layout is a force-directed one (ForceAtlas2) over the edge weights, computed once with a fixed seed, so a word keeps its place. Distance on the map is only a suggestion; the edges are the evidence. Three measures are shown for every word. Degree is how many partners it has; the busiest are senate (126), epstein (113), ice (112), shooting (112). Strength is the sum of its edges' weights, which rewards a few very tight pairings as much as many loose ones; the strongest are senate, hearing, shooting, epstein, court. Betweenness is how often a word lies on the shortest path between two others, a bridge between stories; the biggest bridges are shooting, epstein, senate, iran. Degree and strength are recomputed from whatever edges are on screen, so they answer to the month and the lift threshold; betweenness is the year's, precomputed on the unweighted graph from 500 sampled starting words.
w(i, j) = log₂ lift(i, j) the weight of the edge between words i and j
degree(i) = number of partners of i
strength(i) = Σ_j w(i, j) over i's partners
betweenness(v) = Σ over word pairs (s, t) of σ(s, t | v) / σ(s, t)
σ(s, t): shortest paths from s to t; σ(s, t | v): those passing through v; normalized to 0..1
modularity of a grouping c, with m the total edge weight, k(i) = strength(i), γ the resolution (1 in the tables):
Q = (1 / 2m) · Σ_ij [ w(i, j) − γ · k(i) · k(j) / 2m ] · [c(i) = c(j)]
Louvain moves words between groups while Q rises, then merges groups and repeatsThe month view uses each month's own edges, tested the same way inside that month with lower floors (ten co-mentions, three channels), because a month has a ninth of the titles. A word's strip shows its titles and channels per month and its partners in each.
5. How to Read It, and What It Cannot Say
- An edge is co-mention within a channel-week, nothing more. It says two words were put in the same titles by the same channels in the same weeks more than chance allows. It does not say one caused the other, or that they rose and fell together across the year; those are different questions with different tests.
- Most of the map is stories. A community is usually one story's vocabulary, and its strongest edges are its own words. The interesting edges are the ones that cross between communities: two stories meeting in the same titles.
- The strongest pairs are often names the phrase rule missed. A pair at forty times its expectation from a dozen channels is usually a fixed expression; a pair at three times from a hundred channels is usually a story.
- A word means what the titles mean by it. Andrew is one node whether the titles mean the former prince or a debater; state is one word in state of the union and secretary of state. The partner list usually tells which.
- Sparse words are absent, not unimportant. A word below 100 titles or 10 channels is not tested, and a pair below 20 co-mentions is not tabulated, so a real association among rare words is invisible here by design.
Data imported on 25 September 2026 from the corpus through 14 September 2026. Every table behind the map is on the Datasets page's repository; the method in full, with its checks, is the pipeline's word-association protocol.