An input action specifies the allowable intents that a user may give at this point in the dialog. It also specifies which actions should be taken in response to each intent, which is what effectively causes the dialog flow to branch. An input action may also specify what actions should be taken if no intent is recognized or if the intent is invalid for this input action.
Property | Required? | Description |
---|---|---|
name | Required | The name of this action, which may be referenced in other action lists within this story. |
intents | Required | List of intents for this action. See below for Properties of each intent |
alert_word_required | Optional | Set to true if the alert word should be spoken before recognizing any intents for this input action. The alert word is defined in model_config.yaml. |
no_intent_actions | Optional | The actions to execute when a user’s input is not a valid intent anywhere in the model. |
invalid_intent_actions | Optional | The actions to execute when an intent was recognized as valid for this model, but not for this point in the dialog (i.e. it is not listed under intents for this input action). |
ambiguous_intent_actions | Optional | The actions to execute when multiple intents were recognized from the user’s input. This may be an indication of a poorly designed model. |
Property | Required? | Description |
---|---|---|
intent_id | Required | Filename (without extension) in the intents folder |
required_slots | Optional | The names of any required slots for this intent. Diatheke will prompt the user for them if they have not yet been given. |
slot_prompts | Optional | Override the default prompt for any required slots in this intent. |
actions | Required | The actions to take when this intent is recognized. |
For an example, see the List Filters story in the tutorial.