A Flask web application that analyzes WhatsApp chat exports using NLP techniques.
- Upload and parse WhatsApp chat export files (.txt)
- User activity analysis (top contributors, message patterns)
- Sentiment analysis with VADER and TextBlob
- Topic modeling with LDA
- Emoji usage analysis
- Interactive dashboard with visualizations
- Clone this repository
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate - Install dependencies:
pip install -r requirements.txt - Download required NLTK data:
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords'); nltk.download('wordnet')" - Download spaCy model:
python -m spacy download en_core_web_sm
- Run the development server:
python run.py - Access the application at http://localhost:5000
- Upload a WhatsApp chat export file and explore the analysis
WhatsApp-Chat-Analyzer/
├── app/ # Main application package
│ ├── __init__.py # Initialize Flask app
│ ├── config.py # Configuration settings
│ ├── routes.py # URL routes and views
│ ├── models/ # Data models
│ ├── services/ # Business logic and services
│ │ ├── parser.py # Chat parsing module
│ │ ├── analyzer.py # NLP analysis module
│ │ ├── visualizer.py # Data visualization module
│ │ └── nlp/ # NLP components
│ │ ├── sentiment.py # Sentiment analysis
│ │ ├── topics.py # Topic modeling
│ │ └── emoji.py # Emoji analysis
│ ├── static/ # Static files (CSS, JS, images)
│ └── templates/ # HTML templates
├── tests/ # Unit and integration tests
├── data/ # Sample data and outputs
├── logs/ # Application logs
├── notebooks/ # Development notebooks
├── venv/ # Virtual environment (gitignored)
├── run.py # Application entry point
├── requirements.txt # Project dependencies
└── README.md # Project documentation
MIT