Apr 16 2020
Putting chat transcripts to work
I’ve been writing about how to get more from chat transcripts for a long time. And a recent count in Evernote shows chat history back to 2013 (105 of them containing notes from one-to-one conversations with learning partners). Recently I’ve found a couple methods that make a chat even more useful.
I want to throw away the chaff and keep the wheat. (I’ll use a few lines from a recent chat in this example, showing only the things that I wrote; in most cases there would be postings from many people interleaved.) Here’s an example of what Zoom saves:
14:23:31 From John David Smith : https://fullcirc.com/2020/03/31/moving-online-in-pandemic-5-this-is-the-time-of-creative-destruction/
14:26:15 From John David Smith : Distributed leadership is MORE important!
14:27:52 From John David Smith : Transformation steps…
14:27:52 From John David Smith : ==========================
14:28:22 From John David Smith : Being able to observe services…
14:29:47 From John David Smith : Emotional impact of being in a breakout with someone from Bangkok
Here’s what I want to save:
JDS: https://fullcirc.com/2020/03/31/moving-online-in-pandemic-5-this-is-the-time-of-creative-destruction/
JDS: Distributed leadership is MORE important!
JDS: Transformation steps…
JDS: ==========================
JDS: Being able to observe services…
JDS: Emotional impact of being in a breakout with someone from Bangkok
Putting the same information in a table (e.g., in a Google Doc) makes it much more useful:
In a Google Doc several people might go through the chat and make comments, noting insights from different perspectives:
Sometimes I add a column to the table and gather comments in a third column:
To do all of this, currently I use a TextMate macro as follows:
(
{ argument = {
action = 'replaceAll';
findString = '^[0-9\:]*\t From ';
regularExpression = :true;
replaceString = '';
wrapAround = :true;
};
command = 'findWithOptions:';
},
{ argument = {
action = 'replaceAll';
findString = ' \: ';
regularExpression = :true;
replaceString = '\t';
wrapAround = :true;
};
command = 'findWithOptions:';
},
{ argument = {
action = 'replaceAll';
findString = 'John David Smith: ';
regularExpression = :true;
replaceString = 'JDS: ';
wrapAround = :true;
};
command = 'findWithOptions:';
},
)
Not so pretty. And the formats for different chat systems have changed over the years. 🙁
And that wont’ work for you if you don’t use my text editor. I’ve struggled to figure out how to share this technique of saving and formatting the wheat of a chat transcript. I found that the Unix sed utility, for example, is not standard across platforms when it comes to inserting the tab you need to plop the text you want into a Google Spreadsheet. Then lo and behold, Louis Sweeny, a member of the Liberating Structures community, figured out how to implement a snippet that I’d shared in the Slack space! Put the following snippet into a Google Sheet and copy it down as long as needed:
=regexreplace(Regexextract(REGEXREPLACE(B3,"^From ",),".*?: ")," : ",)
When you put a Zoom chat transcript in a spreadsheet, the above code cleans up your transcript and you have a table that you can cut and paste into a text file. Click here to get a copy of the magic spreadsheet to do this. It comes with instructions and everything!
2 responses so far
Hey! Thanks. I’d love to chat some time….I want to experiment with this: http://wordcloud.cs.arizona.edu/. Perhaps you are curious also.
it seems crazy to me that we have tools like chat and mural, but only very basic manual tools for categorization and re-categorization.
Hi Louis,
That’s the best wordcloud tool I’ve seen! Very sophisticated set of controls.
I threw a chat transcript from a bilingual group and I had to chose between the two languages (for stop words) but in either language grouped the “other language” together and came up with very reasonable (e.g., interesting) word groupings.