Welcome to the WhatsApp Chat Analyzer! This tool allows you to upload and analyze your WhatsApp chat history, providing insightful statistics and visualizations about your conversations.
Live Demo: WhatsApp Chat Analyzer π
- Top Statistics: Get an overview of the total messages, words, media shared, and links shared in the chat.
- Monthly Timeline: Visualize the number of messages exchanged each month.
- Daily Timeline: Track daily messaging activity.
- Activity Map: Discover the most active days and months in your chat.
- Weekly Activity Map: Heatmap showing the messaging activity throughout the week.
- Most Active Users: Identify the most active participants in the chat.
- Wordcloud: Generate a wordcloud of the most frequently used words in the chat.
- Most Common Words: List the most common words used in the chat.
- Supports 12-Hour Time Format: Specifically designed to work with WhatsApp chats exported in 12-hour time format.
Make sure you have the following installed:
- Python 3.8 or higher
- Streamlit
- Required Python packages:
pandas
,seaborn
,matplotlib
,plotly
,wordcloud
,emoji
,urlextract
,nltk
-
Clone the repository:
git clone https://github.com/machinelearningprodigy/WhastApp-Chat-Analyzer cd WhastApp-Chat-Analyzer
-
Install the required packages:
pip install -r requirements.txt
-
Run the Streamlit app:
streamlit run app.py
-
Upload your WhatsApp chat file:
- Export your WhatsApp chat from your mobile device.
- Upload the
.txt
file into the app.
-
Data Preprocessing:
- The uploaded chat file is converted from bytes to a string.
- Dates, times, and messages are extracted using regular expressions.
- The chat data is then processed to separate user names and messages, which are stored in a pandas DataFrame.
-
Analysis:
- Top Statistics: Computes the total number of messages, words, media files, and links shared.
- Timelines: Visualize messaging activity over time using monthly and daily timelines.
- Activity Maps: Understand the most active days of the week and months of the year.
- Wordcloud & Common Words: Generate a wordcloud and identify the most common words used in the chat.
- Heatmap: Displays weekly activity based on the time of day and day of the week.
- Most Active Users: For group chats, identify the most active participants.
-
Visualization:
- Interactive plots and charts are generated using
matplotlib
,seaborn
, andplotly
. - A wordcloud is created using the
WordCloud
library to highlight frequently used words.
- Interactive plots and charts are generated using
- Streamlit - The fastest way to build and share data apps.
- Pandas - Data manipulation and analysis.
- Seaborn - Statistical data visualization.
- Matplotlib - Plotting and visualization.
- Plotly - Interactive graphs and plots.
- WordCloud - A little word cloud generator in Python.
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Analyzing! π