Using RASA in education to build "social practice" dialogues

Hi @fkoerner

Thanks.

Have you envisioned how the user would enter these different scenes?

The idea is to foresee, for each “scene”, an “invocation sentence” (at worst a button) that triggers the scene context.

I’d see a scene as a social practice situation (e.g. being at the post office). In each scene, the learner could be act different dialogues, following different (related) topics/tasks.

In terms of RASA programming, I think about some main intents that trigger the scenes:

nlu:

# Scene: At the post office
- intent: post_office
  examples: |
    - let's go to the post office
    - At the post office

# Scene: At the grocery market
- intent: grocery_market
  examples: |
    - let's go to the grocery market
    - At the grocery market

So I presume I need some main stories/rules to select the scenes, maybe like:

rules:
 - rule: activate post office scene 
   steps:
   - intent: post_office
   - action: utter_post_office_intro

 - rule: activate grocery market scene 
   steps:
   - intent: grocery_market
   - action: utter_grocery_market_intro


do you imagine common story snippets in these scenes (for example greetings, asking how much something costs, saying goodbye…)?

I imagined, for each scene, many different RASA stories. By example in the scene post_office the user could make many different operations, by example sending a parcel, paying a fair, buy some postage-stamps, etc.

I believe each operation/situation could be realized in RASA with one ore more stories. Right?

By examples:

stories:
 - story: send a parcel, talking with the employee 
   steps:
   - intent: greet
   - action: utter_greet
   - intent: send_parcel
   - action: utter_ask_address_to
   - intent: inform
   - action: utter_ask_money
   - action: inform
   - action: utter_thanks
   - intent: goodbye
   - action: utter_goodbye 

 - story: receive a parcel, talking with the employee 
   steps:
   - intent: greet
   - action: utter_greet
   - intent: receive_parcel
   - action: utter_ask_name
   - intent: inform
   - action: utter_ask_address_from
   - intent: inform
   - action: utter_ask_money
   - action: inform
   - action: utter_thanks
   - intent: goodbye
   - action: utter_goodbye 

This is an example of what could it be a dialog flow:

> At the post office
< Scene 1: At the post office. 
< You are inside the post office, in front of the post office employee, Mr. Rossi.  Please ask him what you need!

> good morning
< Good morning! How can I help you?
> I would like to send this parcel to Wien, Austria.
< No problem. I need to weight the parcel. 
< Ok! Weight is 1Kg and 200 grams.
< It costs 11 euros.
> here you are
< Thank you
> Thank you. Good bye
< Have a nice day!

Now, using RASA, what is not clear to me is how link each story (specific exercise) to the scene triggered with a rule.

By example, consider that the user selects the post-office scene : how can I activate the story “receive a parcel, talking with the employee”? I do have to do anything else than writing stories?

Any suggestion is welcome.

Thanks