Machine Learning Data Bot
This project is the small demo to create Conversation Agent which can perform tasks on data and also can give you important insights from data. The bot is created using opensource NLP & NLU framework
Rasa which gives ample foundation to create Knowledge based chatbot by intents, entities, slots etc.
You can see the demo from below GIF where I am asking the bot questions regarding different datasets and it is answering me and also it is doing changes in datasets as per my messages.
How to Run the Project
- Install latest version of
rasausing the instructions given on official website and
Pythonversion in your system must be
3.6 or greater.
- Clone this repository with following command.
git clone https://github.com/ashutosh1919/ml-data-bot.git
- I have not uploaded the pretrained model file because of its size but you can train model using following command.
- Note that, you don't need GPU to train model.
- Also, the model will take 1-2 minutes time only to train on ordinary machine.
- Now, the model is trained and you can talk to model.
- I highly recommend using
Visual Studio Codeto run the project.
- Run following command in
rasa run actions & rasa shell
rasa run actionswill start the server from where you can access the custom actions (API call, Database fetch etc.) for the bot.
rasa shellwill start interactive session where you can talk to your bot and you can give different commands which bot has to perform.
- ALso, you can add more functionality which bot can do in
actions.pyfile. Right now, bot is capable of doing following functionalities:
- Find number of Columns/Rows
- Find Categorical/Numerical Columns
- Check if data has NULL values
- Remove raws which has any attribute as NULL
- Replace NULL value with mean of corresponding column.
- Label Encode Categorical columns of Dataset.
- Standard Scale Numerical columns of Dataset.
- Bot can perform all above functionalities individually with any dataset which is present in
- You can add more example stories for current functionality in
- You can add more valid intents in
- Also, please change
domain.ymlfile as per the change in intents.
- You can add more functionalities bot can perform by adding addtional methods in