Input Actions

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.

Properties of an 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.

Intent Properties

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.