Messenger apps are a big part of our lives, and we spend a significant amount of time chatting in them. This is bound to create massive sets of messages that can be a hassle to navigate and comprehend. This is even more apparent in group chats, where we can easily miss the flow of the conversation if we don't read the chat for a while, and forget what we had talked about during the last three months. What can we do to make chatting great again?
What it does
WotHappen is a bot integrated in the Cisco Spark platform that compresses conversations to give you a concise summary of the entire chat history. Powered by NLP and big data analysis, it's like an incredibly detailed set of notes on a lengthy classroom lecture, concisely describing the occurrences inside a timeframe and providing a systematic overview of an otherwise uninspiring stream of text.
In addition, it analyzes the ongoing sentiment and mood of a conversation by leveraging Microsoft's Cognitive Services API to identify emotions in the messages extracted from the chat history, and conveys them in a easily readable way (with emojis!). So now, you know which chatrooms are the hubs of heated debate, or wholesome appreciation, or plain, calm discussion.
From the manager of a company to a normal user of the platform, anyone can benefit from these data insights to understand their conversations better, and further connect with others through chatting.
How we built it
We used Python as a scripting language to connect to feed the raw data we extracted by using the Cisco Spark API via HTTP requests to the Microsoft Cognitive Service API to obtain the sentiment analysis. On the conversation summarization side, we used a NLP Python module called Sumy to perform extraction-based summarizations. We then created a bot on the Cisco Spark platform that can parse simple and intuitive commands, and created a webhook to connect this bot to our Python script. From then on we detected messages in chats that called for the use of our bot, and processed the requests through our bot.
Challenges we ran into
Testing. Bug fixes. Using 2 APIs. Merging each other's code.
Accomplishments that we're proud of
For all of us, this was our first big project using Python and we were surprised by our ability to learn and code our way through. Additionally, we learned a lot about how bots and APIs worked through our exploration of the documentation.
What we learned
Code review is important.
What's next for WotHappen
Extend functionality for Facebook Messenger, WhatsApp, etc. We also had a sentiment graph feature that we'd hope to integrate into the bot.