This project is a social media chat analyzer built with Python and Streamlit. The application provides various analyses on a chat log, including top statistics, activity timelines, activity maps, word cloud, most common words, emoji analysis, and sentiment analysis. The analysis can be done for a specific user or for the overall chat.
- Top Statistics: Displays the total number of messages, total words, media shared, and links shared.
-
Activity Timelines: Shows the monthly and daily activity timelines.
-
Most Common Words: Lists the most common words used in the chat.
-
Sentiment Analysis: Performs sentiment analysis based on the text and emojis used in the messages.
- Clone the repository:
gh repo clone amitkedia007/Whatsapp-chat-analyzer
- Navigate to the project directory:
cd Whatsapp-chat-analyzer
- Install the required Python packages:
pip install -r requirements.txt
- Run the Streamlit application:
streamlit run app.py
-
Open your web browser and go to
http://localhost:8501
. -
Upload a chat log file using the file uploader in the sidebar.
-
Select a user from the dropdown menu in the sidebar.
-
Click the "Show Analysis" button in the sidebar to display the analysis.
-
app.py
: The main Streamlit application. -
preprocessor.py
: Contains thepreprocess
function for preprocessing the chat log. -
helper.py
: Contains various helper functions for the analyses. -
stopwords.txt
: A text file containing common stopwords to be excluded from the word cloud and most common words analysis.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.