Hidden Signals · Companion site ← Overview DE·EN
Chapter 7 — interactive

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.

Bee — the creative Ant — the doer Butterfly — the shaper Capybara — the harmoniser Leech — the taker
Pyodide is loading… (10–20 seconds the first time)

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.

RoleTypical words and phrases
Beeidea, new, what do you think of, we could, imagine, what if
Antfinished, done, i'll take care of, here's the list, specifically, status
Butterflybeautiful, look, design, fit, mood, vibe, logo
Capybarano rush, let's, no stress, thanks, sounds good, everyone, i understand, mediate
Leechshowed 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.

Step 1Read the chat in as a file

Reads chat.txt and splits each line into time, sender and text.

Expected: “Found 33 messages in total.”

  
Step 2Write the word lists into the program

A dictionary (dict): the keys are the role names, the values the word lists.

Defines wordlists.

  
Step 3Count the words per person

The heart of it: for each person, count how often words from each list occur.

Needs Steps 1 and 2.

  
Step 4A little visualisation

A bar chart: five bars per person for the five roles. The first time, matplotlib loads briefly.

Needs Step 3.

    
Bar chart: roles per person in the Lisbon chat

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?