How to map different entities to one Slot

Hello Team I’m looking to make a “Voice Assistant” for my Android App, since most of the things will be in the Android side, I think I don’t need to do much for rasa, just NLU and forms. I’m new in this, I tried to read a lot but there is some things that I can’t understand, I hope someone can guide me/help me.

I want to use this AI just for request, example, call mom if they say “Call” the bot will ask , “Who you want to call?”, I already did this but I’m facing an issue with location/address

I want to use something like "navigate to “Starbuck”, navigate to street 23, take me to home How is the best way to “extract” this info I have something like this

- intent: navigation
  examples: |
    - navigate to [home](location)
    - start navigation to my [work](location)
    - [street 98](address) navigate
    - take me to [berlin](city)
    - navigate to [paris](city)
    - find the best route to [5th avenue](address)
    - Take me to [123 Washington Street](address) please
    - go to [alhambra 611](address)
    - let's go to [Irish bar](location)
    - navigate to [Street 34 in Washington](address)
    - take me to the [airport](location)
    - could you please go to [Walmart](location)
    - go to [mc donalds](location) please 

for Rules

 - rule: Navigation place Received form
   condition:
   - active_loop: navigation_form
   steps:
   - action: navigation_form
   - active_loop: null
   - slot_was_set:
       - requested_slot: null
   - action: utter_navigate_to_place
   - action: action_reset_all_slots   

Another question is, can I have in the Rules optional list? for example my intents has “location”, “address”,“city” I want any of this for my rule, how I can make it?

And last question, where I can find the information about the entity types? I can see location, city, and address used in the blogs/website but I can’t find what types ara availables. I hope someone can help me!! thanks in advance

Regarding your entity extraction question, there’s a good blog post on the best way to extract entities with Rasa here.

Regarding your rules example, this would be better accomplished with forms.

I think you are confusing entities and slots. Entities are extracted from a user utterance by NLU entity extractors as described in the blog post above. You can then choose to have entities stored in slots. This can be done automatically, in the slot definition with the auto_fill: true option or the entity can be stored in a form or custom action.

You also have to be careful about use of the word type with regard to slots. For a computer scientist, this means a data type but with Rasa and data science, we’re talking about featurization. Rasa slot types are used for slot featurization (not data typing). Slot featurazation can be used in stories & rules to help with dialog flow.

If you want to validate data types, you need to do this in forms or custom actions.

1 Like