{"id":23293267,"url":"https://github.com/jayanthpotluri5513/chatviewapp","last_synced_at":"2026-04-13T03:39:08.900Z","repository":{"id":236758243,"uuid":"793109661","full_name":"jayanthpotluri5513/ChatViewApp","owner":"jayanthpotluri5513","description":"The ChatView App is an interactive tool for analyzing WhatsApp chat data. Utilizing TensorFlow, Keras, and Streamlit, it allows users to import .txt files, perform sentiment analysis, and visualize chat patterns and keyword trends, enhancing understanding of conversations.","archived":false,"fork":false,"pushed_at":"2024-10-28T19:10:53.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-18T13:08:05.800Z","etag":null,"topics":["deep-learning","keras","machine-learning","nlp","scikit-learn","tensorflow"],"latest_commit_sha":null,"homepage":"https://chatviewapp.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jayanthpotluri5513.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-28T13:03:00.000Z","updated_at":"2024-10-28T19:17:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"f29b212b-a4b3-4e08-bb27-78ef94717fa5","html_url":"https://github.com/jayanthpotluri5513/ChatViewApp","commit_stats":null,"previous_names":["jayanthpotluri5513/chatviewapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jayanthpotluri5513/ChatViewApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayanthpotluri5513%2FChatViewApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayanthpotluri5513%2FChatViewApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayanthpotluri5513%2FChatViewApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayanthpotluri5513%2FChatViewApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jayanthpotluri5513","download_url":"https://codeload.github.com/jayanthpotluri5513/ChatViewApp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayanthpotluri5513%2FChatViewApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31739050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T03:27:07.512Z","status":"ssl_error","status_checked_at":"2026-04-13T03:26:53.610Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","keras","machine-learning","nlp","scikit-learn","tensorflow"],"created_at":"2024-12-20T06:14:16.315Z","updated_at":"2026-04-13T03:39:08.884Z","avatar_url":"https://github.com/jayanthpotluri5513.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChatView App 🗨️\n\n## 📜 Overview\nChatView is a chat analysis application that leverages advanced natural language processing (NLP) techniques to analyze WhatsApp conversation data. As digital communication continues to expand, understanding the emotional and thematic content of chats has become essential for users wanting to gain insights into their interactions. ChatView aims to assist users—whether researchers, journalists, or everyday communicators—in uncovering patterns and sentiments within their conversations, thereby fostering informed communication.\n\n## 📁 Dataset\nThe dataset consists of user-provided WhatsApp chat logs exported in .txt format. Each file contains message exchanges with timestamps, participants, and message content, enabling comprehensive sentiment analysis and keyword extraction.\n\n## View the application here\nhttps://chatviewapp.streamlit.app/\n\n\n## 🔧 Dependencies\nEnsure the following dependencies are installed:\n\n1. **TensorFlow**: Deep learning framework.\n2. **Keras**: Simplifies building neural networks.\n3. **Scikit-Learn**: For ensemble learning methods and model evaluation.\n4. **NLTK Toolkit**: For text preprocessing and tokenization.\n5. **Streamlit**: Web application framework for creating interactive dashboards.\n6. **Pandas**: Data manipulation and analysis library.\n7. **Matplotlib \u0026 Seaborn**: For data visualization.\n\n```bash\npip install tensorflow keras scikit-learn nltk streamlit pandas matplotlib seaborn\n```\n## 🚀 Project Setup and Execution\n\nTo set up and run the ChatView application, follow these detailed steps:\n\n### 1. Clone the Repository\n\nStart by cloning the ChatView repository to your local machine. Open your terminal and execute the following command:\n\n```bash\ngit clone https://github.com/jayanthpotluri5513/ChatViewApp.git\n```\n\nThis command creates a copy of the repository in your current directory. Alternatively, you can download the repository as a ZIP file and extract it to your preferred location.\n\n## 2. Navigate to the Project Directory\nOnce cloned, navigate into the project directory using:\n\n```bash\ncd ChatViewApp\n```\n## 3. Install Dependencies\nEnsure you have Python and pip installed on your system. Install the required dependencies for the project using the following command:\n\n``` bash\npip install tensorflow keras scikit-learn nltk streamlit pandas matplotlib seaborn\n```\nThis command installs all necessary libraries for running the ChatView application. Make sure to install these dependencies in a virtual environment to avoid conflicts with other projects. You can create a virtual environment using:\n\n```bash\npython -m venv venv\n```\nAnd activate it with:\n\nFor Windows:\n\n```bash\nvenv\\Scripts\\activate\n```\nFor macOS/Linux:\n\n```bash\nsource venv/bin/activate\n```\n## 4. Prepare Your Data\nBefore running the application, ensure you have your WhatsApp chat data ready. The application accepts .txt files exported from WhatsApp. Place your chat files in the data directory within the ChatView project folder.\n\n## 5. Run the Project Using Streamlit\nWith the dependencies installed and your data in place, you can now launch the ChatView application. Execute the following command in the terminal:\n\n```bash\nstreamlit run app.py\n```\nThis command starts the Streamlit server, and you should see output indicating that the application is running. By default, it opens in your web browser at `http://localhost:8501`.\n\n## 6. Interacting with the Application\nOnce the application is running, you can interact with it through the web interface:\n**Upload Chat Data**: Use the upload feature to load your WhatsApp chat files.\n**View Insights**: Explore sentiment analysis results and visualizations based on your chats.\n**Download Results**: Export charts and insights for further analysis or sharing.\n## 7. Stopping the Application\nTo stop the Streamlit application, return to the terminal where it’s running and press `Ctrl + C`. This will terminate the server.\n\n## 🏗️ Instructions to Run\n\nStreamlit\nOpen your terminal and execute the following commands:\n\n```bash\ncd ~/Desktop/\"Your Project Directory\"\nstreamlit run app.py\n```\n\n## 🖥️ Tech Stack\n\n### **Frameworks**\n- **TensorFlow**: An open-source framework for building and training machine learning models.\n- **Keras**: A high-level API for neural networks, simplifying model creation on top of TensorFlow.\n- **Streamlit**: A framework for creating interactive web applications for data science projects.\n\n### **Model Architecture**\n- **Natural Language Processing (NLP)**: Techniques used for text analysis, including sentiment analysis and keyword extraction.\n\n### **Text Preprocessing**\n- **NLTK**: A library for natural language processing, offering tools for text processing tasks.\n\n### **Python Libraries**\n- **NumPy**: For numerical operations and handling arrays.\n- **Pandas**: For data manipulation and analysis using DataFrames.\n\n### **Data Visualization**\n- **Matplotlib**: A library for creating static, animated, and interactive visualizations.\n- **Seaborn**: A statistical data visualization library built on Matplotlib, enhancing plot aesthetics.\n\n### **Additional Libraries**\n- **TextBlob**: For simple NLP tasks, including sentiment analysis.\n- **VADER**: Specialized for sentiment analysis, effective on social media texts.\n\n### **Development Tools**\n- **Jupyter Notebook**: For interactive code execution and data visualization.\n- **Google Colab**: A cloud-based platform for running Python code and machine learning experiments.\n\n### **Deployment**\n- **Heroku/Streamlit Sharing**: Platforms for deploying Streamlit applications to a live environment.\n\n## 🔍 Step-by-Step Process\n\nHere’s a complete breakdown of the project flow:\n\n### 1. Data Collection and Loading\n\n- **Data Import**: Users upload WhatsApp chat data in .txt format through the app interface.\n- **Loading**: The application reads and structures the data for analysis, converting it into a suitable format for processing.\n\n### 2. Data Preprocessing\n\n- **Cleaning**: \n  - Remove unwanted characters, punctuation, and stop words using NLTK’s stopwords list.\n  - Normalize text by converting it to lowercase to ensure consistency.\n\n- **Tokenization**: \n  - Split the text into individual tokens (words) to prepare for analysis.\n  - Utilize NLTK’s `word_tokenize` function for efficient tokenization.\n\n- **Vectorization**: \n  - Transform the cleaned text into numerical vectors, using word embeddings (such as Word2Vec or GloVe) for contextual representation.\n  - Create a matrix representation of the tokens to facilitate further analysis.\n\n### 3. Sentiment Analysis\n\n- **Sentiment Extraction**: \n  - Apply NLP algorithms to determine the emotional tone of conversations (positive, negative, neutral).\n  - Utilize sentiment analysis libraries like VADER or TextBlob to classify sentiments accurately.\n\n- **Keyword Extraction**: \n  - Identify key terms and phrases within the chat data, highlighting important discussion points.\n  - Implement techniques such as TF-IDF or RAKE for effective keyword extraction.\n\n### 4. Data Visualization\n\n- **Summary Statistics**: \n  - Display total messages, unique users, and interaction trends in an easy-to-understand format.\n  - Provide insights on user engagement over time.\n\n- **Charts and Graphs**: \n  - Visualize sentiment trends and keyword frequencies over time using libraries like Matplotlib and Seaborn.\n  - Create interactive plots that allow users to explore data dynamically.\n\n### 5. User Interaction\n\n- **Filtering and Searching**: \n  - Users can filter chats by date, participant, or sentiment for focused analysis.\n  - Implement search functionalities to help users find specific discussions or keywords easily.\n\n- **Exporting Results**: \n  - Provide the ability to download visualizations and insights for further review in various formats (e.g., PNG, PDF).\n  - Enable users to save their analysis for offline access.\n\n### 6. Model Evaluation (Optional)\n\n- While the main focus is on interactive analysis, implement techniques to validate sentiment accuracy and extraction quality.\n- Use cross-validation or hold-out testing to evaluate the performance of sentiment classification models.\n\n## 📊 Results and Visualization\n\nThe application provides real-time insights into WhatsApp chats, showcasing:\n\n- **Sentiment Analysis Results**: Overall sentiment distribution visualized through pie charts or bar graphs.\n- **Keyword Frequency Charts**: Visual representation of frequently used terms, highlighting trends in conversation topics.\n- **User Interaction Metrics**: Statistics on messaging activity, such as the number of messages per user and the most active participants.\n\n## Live deployed link\nhttps://chatviewapp.streamlit.app/\n\n\n## 📜 License\n[MIT](https://choosealicense.com/licenses/mit/)\n\n## 🤖 About Me:\nI'm Srijayanth Potluri, an aspiring data analyst with a strong interest in machine learning, deep learning, and NLP technologies. This project exemplifies my commitment to harnessing advanced algorithms for insightful communication analysis, combating misinformation, and promoting meaningful digital interactions.\n\n## 🔗 Links\n\n[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/srijayanth-potluri-437519259/)\n[![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://twitter.com/SrijayanthP)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayanthpotluri5513%2Fchatviewapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjayanthpotluri5513%2Fchatviewapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayanthpotluri5513%2Fchatviewapp/lists"}