The machine clusters the words — you name the meaning
Your text-analysis journey has been a ladder of bigger questions.
Counting words asked what appears most? Sentiment asked how does it feel? Today you climb to the biggest one yet: what is this whole pile of text even about?
The deepest distant-reading move in the course — and it works by a move you should be suspicious of.

Drop into a conversation halfway through and you figure out what it's about in seconds.
Somebody keeps saying budget and deadline — it's a work project. Election, campaign, vote — politics.
You read the repeated words, the keywords, the tone, and you infer the subject without anyone announcing it.
And when you can't tell, you do the one thing that matters most:
"Wait — the group project or the internship?"
That instant, unconscious sorting is exactly the skill we're about to hand to a machine. Watching it try is the fastest way to see what's easy about reading, and what's quietly hard.
Here's the gap. You bring tone of voice, facial expression, cultural memory, and the prior conversation to every sentence — and you can always ask "what do you mean?"
A computer gets just the words on the screen. No tone, no context, no cultural knowledge unless someone programmed it in, and no way to ask a clarifying question.
Closing that gap is the whole field of NLP.
Language fights back, because it was built for humans, not machines.
Ambiguity, idiom, and sarcasm are easy for you and brutal for a machine, because they live in the context it can't see.
How does a machine find themes in text it can't understand?
Imagine sorting a library with no time to read a single book. You'd look at which words appear together on each cover and back, and infer shelves: history, romance, science fiction.
You never read for meaning — you just noticed what co-occurs.
That's topic modeling. We'll use LDA from the Gensim library, and it rests on two assumptions:
LDA works backward from the finished text to guess what clusters produced it — reverse-engineering a recipe from the plated dish. That is all it ever does.
Here is the move to be suspicious of, and the most important sentence in this lecture. LDA hands you back lists of words. It never hands you a name.
Topic 3: money, dream, green, light, decay, gold.
The algorithm does not know this is "the American Dream." You know that. Naming it is your move, not the machine's.
The computer discovered that those words travel together. It has no idea what they mean, that they're about ambition or disappointment or Gatsby.
Interpretation is the humanist's job — and it isn't neutral. What you name a cluster depends on what you already know, what you're looking for, and where you stand. Two readers can label the same word-list differently and both be defensible.
Before LDA runs, you tell it how many topics to look for — num_topics. People assume the algorithm will reveal the right number. It won't.
Ask the same comments for two topics and unrelated themes get mashed together; ask for ten and one real theme splinters into fragments.
Neither answer is "wrong."
Choosing the number of topics is a research decision you justify — by how interpretable and useful the result is, not by a truth the model uncovered.
It's the course's recurring lesson in new clothes: a knob you turned is doing work that's easy to mistake for a fact the data handed you. Make the choice visible, and say why you made it.
A toy corpus — fifteen constructed comments in the style of sports, music, and food forums — topic-models beautifully: three obvious subjects, three clean word-lists you can name in a second.
That clarity is a setup.
Now point the same machine at eleven short comments written to sound like our Texas Ten Commandments debate, where every voice argues about one law, in overlapping vocabulary. (Also constructed; the real corpus comes in HW4.)
The topics come back muddy. LDA still hands you three tidy word-lists — it always will — but here each one is just more of the same argument, not three distinct themes.
There weren't separate subjects to find, so the model imposed structure anyway.
Part of your job is judging whether the output means anything at all.
And because LDA is stochastic, rerun it or run it on another machine and the groupings shift.
Which is why we pin random_state — just to be able to talk about the same result twice.
The bird's-eye view is real power — you can see across hundreds of documents at once, a scale no close reading reaches.
But hold it to the same questions you've asked all term:
LDA assumes topics are stable categories. Culture is fluid and contextual.
So use the model for what it's genuinely good at — a map of a pile too big to read — and never confuse the map for the territory.