The inspiration came from a Spark bot we made during the TechCrunch Disrupt Hackathon 2016. The bot would classify topics in a chatroom as either being 'on' topic or 'off' topic, and return the messages back into the chatroom, suppressing 'off' topic messages and enlarging 'on' topic ones.

This gave us an idea: what if we could summarise the topics of conversation and display them in a visually striking way so as to give the user an idea of what has been discussed? This would be particularly useful for chatrooms used by students to study and revise for exams, as topics of conversation change rapidly and it is sometimes very hard to keep up, especially if you have just joined a chatroom full of messages.

In addition, having the whole chatroom broken down into a series of topics, with messages corresponding to those topics displayed in a separate window, will be very useful for quickly searching the chatrooms for relevant messages when it comes to revising.

What it does

We have therefore designed a web application that lets you sign in to your Spark account, navigates you to your chatrooms, and lets you select the chatroom you would like summarised. The messages in the chatroom are then clustered using a machine learning algorithm, and the clusters are displayed as a wordcloud. Each wordcloud will then lead you to all the messages that were related to that topic.

What's next

We would like to expand on the user interaction with the app and make it more interactive:

  • link key words and messages to relevant online sources
  • allow users to click on specific words in the wordcloud and extract all messages related to that word
  • allow users to make notes and post images into the room of clustered messages
  • choose how the messages are clustered by either choosing the topics you would like to see, or subdividing clusters into smaller topics
  • using the topics and messages from the web application to navigate back to sections of the chatroom

Download the app from our GitHub, install the dependencies, and give it a try!

Share this project: