NumMenu Bot

NumMenu Bot is an example chatbot showing a way to design a number-based menu assistant with Rasa. This type of bot is very useful on platforms like Whatsapp where buttons may not render well. The goal is to give some design ideas and the bot could be further optimized.

Install dependencies

Run:

pip install -r requirements.txt

Run the bot

Use rasa train to train a model. It is also possible to generate training data for scenarios (stories) by using interactive learning with the command:

rasa interactive -m {path_to_a_model} 

If there is no model already trained, you can remove the argument. Rasa will train the model with actual data.

Then, to run the bot, first set up your action server in one terminal window:

rasa run actions

In another window, you can talk to the bot by running:

rasa shell --debug  

It is also possible to do the two above with a single command:

rasa run actions & rasa shell --debug  

Note that --debug mode will produce a lot of output meant to help you understand how the bot is working under the hood. To simply talk to the bot, you can remove this flag.

Overview of the files

data/stories.yml - contains stories

data/rules.yml - contains rules

data/nlu/ - contains NLU training data

actions/actions.py - contains custom action/api calls code

domain.yml - the domain file, including bot response templates

config.yml - training configurations for the NLU pipeline and policy ensemble

Things you can ask the bot

The bot is based on the mood bot to which has been added a menu that appears when you greet it. The menu offers a list of Deep Learnig frameworks and displays a small description of the chosen framework based on this article from Maruti TechLabs.
From there, you can use the option numbers to choose a framework.

The bot does not support a natural language formulation of any of the options. Only the choice through numbers is supported.

Don't forget to leave a star if it was useful to you ?

GitHub

https://github.com/DerXter/NumMenu-Bot