https://github.com/csfelix/simple-chat-bot
💬 Simple Chat Bot made in Python 💬
https://github.com/csfelix/simple-chat-bot
chat-bot data-science deep-learning machine-learning python
Last synced: 24 days ago
JSON representation
💬 Simple Chat Bot made in Python 💬
- Host: GitHub
- URL: https://github.com/csfelix/simple-chat-bot
- Owner: CSFelix
- License: mit
- Created: 2023-04-22T16:23:47.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-25T22:34:47.000Z (about 3 years ago)
- Last Synced: 2025-10-08T05:43:51.794Z (8 months ago)
- Topics: chat-bot, data-science, deep-learning, machine-learning, python
- Language: Jupyter Notebook
- Homepage:
- Size: 1.03 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
💬 Simple Chat Bot 💬
Create your first Chat Bot with Python
----
📝 Problem Description
Fig. 1 - Chat Bot. ©Cloudinary
You have been hired by CUMI (*Central Unity of My Imagination*) to construct a Chat Bot model to talk with people in **English**, **Japanese** and **Portuguese**. The bot does not have a especific purpose, that is, it should just answer simple small talk questions.
You received a dataset containing more than 3k questions and answers to train the model. You can use any programming language and library, however, you have to explain each project step.
In the end, save the model in a pickle file to others be able to use it!
----
📁 Files Description
> **conversation.csv** - contains around 3K simple small talk questions and answers to train the model.
----
❓ Features
> **Id** - row id to identify the (*question, answer*) pair;
> **Question** - small talk question.
----
🌟 Target Feature
> **Answer** - small talk answer.
----
📏 Metric
There are inumerous metrics we can us to evaluate Chat Bot models, such as *Number of Active Users*, *Users Satisfaction Score*, *Number of Total Intections per Conversation* and *Time/Lenght of Conversation*. In this project, we will be using **Goal Completion Rate (*GCR*)**.
*GCR* measures how good the model fills its role. In our case, our model goal is to answer simple small talk questions, so, after training it, we will do some conversation tests and se how good and coherent the model answers.
----
🛑 Limitations
Nothing is perfect in this world and Artificial Intelligence and Data Science are not exceptions. Always there will be limitations in our projects.
The first - and most obvious - limitation we have here are the languages! Our bot will be able to understand English, Japanese and Portuguese only, so, if the model's accessibility becomes public to any person around the world, this person must now one of these three languages or use translators (like *Google Translate*) in order to interact with it.
Besides, even though our dataset contains around 3k small talk questions, it does not contain all possible questions in small talk and our model will probably not answer well some especific questions - yeah, I believe that we won't be able to ask about animes and shows spoilers. 😥
----
🎯 Goals
> **Goal 1** - make a word cloud about the questions and other one about the answers;
> **Goal 2** - make the model answer simple small talk questions based on our dataset;
> **Goal 3** - generate a sqlite database with all knowledge acquired by the model.
----
⚙️ Setup
***Tools***
> Python Version 3.9.x+;
> Jupyter Notebook;
> SQLite3;
***Libraries***
> Pandas, Numpy, WordCloud;
> ChatterBot.
----
🎉 Acknowledgements
> Dataset by [*Kreesh Rajani*](https://www.kaggle.com/kreeshrajani) from Kaggle;
> Dataset URL: [3k Conversations Dataset for Chat Bot](https://www.kaggle.com/datasets/kreeshrajani/3k-conversations-dataset-for-chatbot).
----
📫 Reach Me
> Email: csfelix08@gmail.com
> Linkedin: [linkedin.com/in/csfelix/](https://linkedin.com/in/csfelix/)
> Portfolio: [CSFelix.io](https://csfelix.github.io)
> Kaggle: [DSFelix](https://www.kaggle.com/dsfelix)