markus-hinsche / ambience

WhatsApp Chat Analysis WebApp

Home Page:https://ambience.uber.space/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ambience Build Status

Ambience is a WhatsApp Chat Analysis WebApp.

Given you have a long English chat conversation, you can export and analyze it. For each single message in the chat, ambience predicts an intent and provides an overview of used intents. How does this help? For example, it can provide an overall impression which chat participant is more likely to propose something, or who asks more.

Find a deployed version here: https://ambience.uber.space.

An overview of the conversation will look like this: Ambience

The frontend is a React web app. For message classification, we use Rasa NLU. The predictions are transmitted via a lean Flask webserver.

Local Setup

To build the frontend, run:

yarn --cwd frontend

To install the pip requirements, and download the NLP model, run:

pip install -r nlp/requirements.txt
./nlp/get_mitie_models.sh

Usage

To start the frontend, run:

yarn --cwd frontend start

To start the backend, run:

python nlp/server.py

To verify that the setup works you can open http://localhost:3006 and upload a chat file like data/chat_en_short.txt. Of course you can also take your own exported WhatsApp conversation.

Train your message classification model

In order to (re)train the Rasa classification model, run:

python -m rasa_nlu.train \
    --config nlp/config_mitie.yml \
    --data data/training_data_mixed.json \
    --path nlp/projects

Intent list:

Analogously to rasa intents:

  • goodbye
  • greet
  • affirm
  • deny
  • argue
  • propose
  • ask
  • explain
  • other

Similar projects

https://chatvisualizer.com/

Deploy on Uberspace

In order to deploy this to our Uberspace, we followed the the instructions in deploy/README.md

Resources

Rasa:

About

WhatsApp Chat Analysis WebApp

https://ambience.uber.space/


Languages

Language:JavaScript 82.8%Language:Python 8.3%Language:HTML 7.8%Language:Shell 0.8%Language:CSS 0.3%