alexa - 如何在自定义 Alexa 技能中禁用某些意图?
问题描述
...
CountryIntent{ ... };
CityIntent{ ... };
YesIntent{ ... };
FallBackIntent{ ... };
...
我正在构建自定义 Alexa 技能。用户从CountryIntent调用CityIntent。但是,如果用户不小心说YES,他会从CountryIntent调用YesIntent;那将是不正确的逻辑。如何禁用YesIntent以便用户在不小心说YES时调用FallBackIntent?
解决方案
您不能禁用意图。通过建立意图,您可以教授您理解人类所说的特定句子/单词的技能——一旦被教授,就很难忘记。
您实际上可以做的是构建一个状态机并将对话的当前状态保存在SessionAttribute
. 然后在每个意图中,您必须检查对话处于哪个状态并根据您的逻辑行事 - 因此,当您期望城市并且有人说“是”时,您的技能应该再次询问城市并忽略“是” “ 回答。
推荐阅读
- r - R:随机抽样将学生分配到相等的组。了解 rep() 参数 length.out 到 sample()
- c# - WPF - 从第二个窗口返回到第一个窗口
- python - GridSearchCV:获取模型的属性
- java - 谁能解释一下“GeofenceErrorMessages”类发生了什么?
- html - SVG 不需要的填充
- julia - 用 put!() 切换produce()
- regex - SAS 中的 Prxmatch - 使用 $ 来限制结果不起作用
- python - 熊猫df中的Python多列匹配然后删除不匹配的行
- jquery-ui - 如何在 C# 应用程序中制作徽标设计器?
- javascript - 如何在 angular.json 的脚本部分使用 glob 模式?