I’m making a script for navigation service. The training phrases can contain names and categories:
USER: Find a KFC (placeName)
BOT: Look here.
USER: Find a cafe (placeCategory)
BOT: Here are some places in this category.
I made a response which depends on which slot is filled (“placeName” or “placeCategory”). But I don’t understand how to correctly set a form that would work when at least one of the slots is filled.
# SLOTS =====
slots:
placeName:
type: text
influence_conversation: True
mappings:
- type: from_entity
entity: placeName
placeCategory:
type: text
influence_conversation: True
mappings:
- type: from_entity
entity: placeCategory
# ENTITIES =====
entities:
- placeName
- placeCategory
# FORMS =====
forms:
destination_form:
required_slots:
- placeName
- placeCategory
# RESPONSES =====
responses:
utter_search:
- condition: #The condition must work for any correct and not null value in the slot
- type: slot
name: placeName
value: true
text: "Show a list of places with a name {placeName}"
- condition:
- type: slot
name: placeCategory
value: true
text: "Show a list of places with a category {placeCategory}"
I want to get placeName or placeCategory. The option with different responses is not suitable, because there are more slots and their combinations on a real project.