Reads chat.txt and splits each line into time, sender and text.
Reading Honest Signals
The symbiont tool: run the code from the book straight in your browser.
Run the four cells in order, change them, and watch how the result changes. You don't need to install anything. The full code is on GitHub.
The chat: class trip to Lisbon
Five students plan their study trip. The same 33 messages as in the book are preloaded below as the
file chat.txt — you may change them.
The word lists
For each symbiont role a small list of typical words. Remember Chapter 6: these are roles, not labels for people.
| Role | Typical words and phrases |
|---|---|
| Bee | idea, new, what do you think of, we could, imagine, what if |
| Ant | finished, done, i'll take care of, here's the list, specifically, status |
| Butterfly | beautiful, look, design, fit, mood, vibe, logo |
| Capybara | no rush, let's, no stress, thanks, sounds good, everyone, i understand, mediate |
| Leech | showed my parents, impressed by, we pulled off, a highlight for me |
The workshop
Four steps, four cells with a shared memory. What you compute in Step 1 is still available in Step 2 — so run them from top to bottom.
A dictionary (dict): the keys are the role names, the values the word lists.
wordlists.The heart of it: for each person, count how often words from each list occur.
A bar chart: five bars per person for the five roles. The first time, matplotlib loads briefly.
Try it out
Change a word list in Step 2 — add the word suggest to the Bee, for instance — and run
Steps 2, 3 and 4 again. How does the picture shift?
Or load your own, anonymised chat into chat.txt above, in the same format
(Day HH:MM - Name: Text) and run it all again. Where are the limits of
the method — and what does a plain word list miss that a language model would catch?