app_rasa_chat_bot
app_rasa_chat_bot copied to clipboard
a stateless chat bot to perform natural language queries against the App Store top charts
Rasa NLU to query App Store Top Charts
Related blog post with more in depth write up of the process used in this repo.
Output
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.
Input Data:
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)
Training process:
-
Generated domain specific training data with
gen_training_data.pyandgeneric_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
Nvariations 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)