Related blog post with more in depth write up of the process used in this repo.
The above image is a screen cap from a limited Plotly Dash app created to interact with the bot. The app code is in dash_demo_app.py
.
The file live_test_rasa.py
, allows a similar experience from the command line instead of via Dash in browser.
data/generic_rasa_train_data.json
: taken from the rasa intro restaurant chatbot example; all of the restaurant intent examples were removeddata/app_chart_data.csv
: table of top chart apps; the relevant column is just the list of app names to use as entities in training (table was created byutils/downloader.py
)
-
Generated domain specific training data with
gen_training_data.py
andgeneric_rasa_train_data.json
- Parameterized phrases were created to fill in the blanks with randomly chosen entities
- eg:
'show me the {ordrank} most popular {chart} app'
- eg:
- Created
N
variations of the parameterized phrases and added them to the generic training data - output saved to
data/app_train_data.json
- Parameterized phrases were created to fill in the blanks with randomly chosen entities
-
Train the rasa model
train_rasa.py
(generic train script from rasa docs)