/simple-chat-bot

💬 Simple Chat Bot made in Python 💬

Primary LanguageJupyter NotebookMIT LicenseMIT

💬 Simple Chat Bot 💬

Create your first Chat Bot with Python



📝 Problem Description


Chat Bot Image

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 from Kaggle;

Dataset URL: 3k Conversations Dataset for Chat Bot.


📫 Reach Me

Email: csfelix08@gmail.com

Linkedin: linkedin.com/in/csfelix/

Portfolio: CSFelix.io

Kaggle: DSFelix