{"id":24154894,"url":"https://github.com/jenson073/intent-based_chatbot","last_synced_at":"2026-05-10T01:57:11.185Z","repository":{"id":270972251,"uuid":"909897430","full_name":"Jenson073/Intent-Based_ChatBot","owner":"Jenson073","description":"This project is an intent-based chatbot built using NLP, machine learning, and deployed with Streamlit for interactive conversations.","archived":false,"fork":false,"pushed_at":"2025-01-05T12:41:01.000Z","size":297,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T22:28:15.822Z","etag":null,"topics":["ai","chatbot","intent-based","nlp","random-forest","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jenson073.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-12-30T02:22:58.000Z","updated_at":"2025-01-05T12:41:04.000Z","dependencies_parsed_at":"2025-01-04T13:48:44.022Z","dependency_job_id":"c8fcf1d5-052e-447b-91f3-5d89438d0b34","html_url":"https://github.com/Jenson073/Intent-Based_ChatBot","commit_stats":null,"previous_names":["jenson073/intent-based_chatbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jenson073/Intent-Based_ChatBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jenson073%2FIntent-Based_ChatBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jenson073%2FIntent-Based_ChatBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jenson073%2FIntent-Based_ChatBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jenson073%2FIntent-Based_ChatBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jenson073","download_url":"https://codeload.github.com/Jenson073/Intent-Based_ChatBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jenson073%2FIntent-Based_ChatBot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286079811,"owners_count":27282121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-27T02:00:05.795Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai","chatbot","intent-based","nlp","random-forest","streamlit"],"created_at":"2025-01-12T12:26:37.145Z","updated_at":"2025-11-27T03:01:38.563Z","avatar_url":"https://github.com/Jenson073.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 Intent-Based Chatbot with Streamlit\n\nThis repository contains two intent-based chatbots built using Natural Language Processing (NLP) techniques. One chatbot is deployed using **Localtunnel**, and the other is deployed directly through a **Streamlit account**.  \n\n---\n\n## 🌐 View the Deployed Chatbot\n\nTo interact with the chatbot deployed using Streamlit, click the link below:  \n[🔗 Chatbot URL](https://intent-basedchatbot-jenson.streamlit.app)  \n\n---\n\n## 🛠️ Running and Setup Instructions\n\n### 🧪 For Localtunnel Deployment\nTo view and run the chatbot deployed using Localtunnel, follow the instructions in the provided Jupyter Notebook (`.ipynb`). The notebook contains step-by-step instructions for:  \n1️⃣ Setting up the environment  \n2️⃣ Preparing the data and code \n3️⃣ Running the chatbot using Localtunnel on Streamlit \n\n### 🌟 For Streamlit Deployment\nTo run the chatbot with a Streamlit account:\n1. ✍️ Create an account on the [Streamlit website](https://streamlit.io).  \n2. 📁 Copy the `app.py`, `requirements.txt`, and `intents.json` files to a GitHub repository.  \n3. 🔧 Go to your [Streamlit account](https://streamlit.io), and click on **Create App**.  \n4. 🔗 Connect your GitHub repository and fill out the required fields.  \n5. 🚀 Streamlit will fetch the details from GitHub and generate a public URL for your app.\n\n---\n\n## 🧩 Code Explanation\n\n### **1️⃣ Data Loading and Structure**\n- **Patterns**: User input phrases (e.g., \"Hello\", \"How are you?\").  \n- **Tags**: Intent labels (e.g., \"greeting\", \"goodbye\").  \n- **Responses**: Predefined chatbot responses for each tag.  \n\n### **2️⃣ Data Preprocessing**\n- 📝 **TF-IDF Vectorization**: Converts patterns into numerical data.  \n- 🔢 **Label Encoding**: Converts intent tags into numerical values.  \n\n### **3️⃣ Machine Learning Model Training**\n- 🤖 Uses a **Random Forest Classifier** for intent classification.  \n- 📈 Predicts user intent and retrieves a relevant response.  \n\n### **4️⃣ Streamlit Interface**\n- 💬 **Text Input**: Users type their messages.  \n- 🗂️ **Chat History**: Displays conversation logs.  \n- 📊 **Model Evaluation**: Includes accuracy metrics and a classification report.\n\n### **5️⃣ Deployment**\n- 🌍 Localtunnel for public URL generation.  \n- 🚀 Streamlit for seamless web app deployment.  \n\n---\n\n## 🛠️ Troubleshooting\n\n### ⚠️ **Bad Gateway Error (Localtunnel)**  \n- **Solution**: Restart Localtunnel or reload the URL.  \n\n### ⚠️ **Issues with Streamlit Deployment**  \n- Ensure `requirements.txt` and `intents.json` are properly linked in the GitHub repository.  \n\n---\n\n## 📋 Requirements\n\n- **Google Drive** (account for storing files)\n- **Google Colab** (Any Python environment supporting Jupyter notebooks)\n- 🖥️ **Python 3.6+**  \n- 🌐 **Streamlit**  (For running the interactive app)\n- 🧠 **NLTK** (for natural language processing)  \n- 📊 **scikit-learn** (for ML model training)  \n- 🚀 **localtunnel** (for public URL generation)  \n- 💾 A GitHub repository with the required files.  \n\n---\n\n## 🚀 Steps to Deploy Streamlit App\n\n1. **Prepare Files**:  \n    - `app.py`: Main Streamlit app.  \n    - `intents.json`: Chatbot data file.  \n    - `requirements.txt`: Python dependencies.  \n\n2. **Push Files to GitHub**:  \n    - Upload the above files to a GitHub repository.  \n\n3. **Create a Streamlit App**:  \n    - Visit [Streamlit](https://streamlit.io).  \n    - Click **Create App**.  \n    - Select your GitHub repository.  \n    - 🎉 Streamlit will generate a public URL for your chatbot.  \n\n---\n\n### 🌟 Enjoy chatting with the bot! 🤖💬\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenson073%2Fintent-based_chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenson073%2Fintent-based_chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenson073%2Fintent-based_chatbot/lists"}