alexa - 如果您说一个随机单词,为什么不会调用 Fallback Intent?
问题描述
每当我进入技能并说出一个完全随机的单词时,都不会触发回退意图。回声只会发出声音,在 Alexa 模拟器中,它什么也不会显示。但我知道我仍然在技能范围内并且会话尚未结束,因为如果我尝试说出映射到特定意图的话语而不包含单词 Alexa,它会正确响应。但是,如果我尝试说两个完全随机的词,则会触发后备意图。例如(这已经在技能中),如果我说“披萨”这个词,它只会以奇怪的声音回应并留在当前会话中。但如果我说“pizza pie”这个词,它会映射到 Fallback Intent。
我在一项具有许多自定义意图的技能中观察到了这种行为,每个意图都配置了许多话语。但是,当我尝试将“披萨”一词输入到只有 3 个自定义意图的技能时,后备意图可以正常工作。
解决方案
如果,当您说出域外单词时,您得到一个重新提示,然后会话结束,这意味着 Alexa 对该话语到意图的映射分配了非常低的置信度。这也适用了后备意图!每次构建模型时,用于回退的域外模型都是并行构建的。该模型应该捕捉域外的话语,但它并不完美。只有与回退模型匹配的置信度高的话语才会被路由到回退意图。这是设计使然(针对当前版本),这意味着当回退是候选时,并非所有话语(低置信度和高置信度)都会触发回退。所以你在这里看到的是一个对回退产生低置信度的话语(回退是最好的选择,但置信度太低)。随着回退变得更好,它将更有效地捕捉这些案例。一个相当尴尬的解决方案(我猜这违背了回退的目的)将使用与您正在尝试的单词类似的示例单字话语来扩展回退。希望这可以帮助...
更新:最近添加了 FallbackIntent 灵敏度调整,所以现在,如果您在语音交互模型中将其设置为高,它将按您的预期工作!
推荐阅读
- kotlin - Kotlin Flow,使流程有条件 - 仅在 true 时进行调用
- c# - 画布子属性绑定
- c# - 为什么未指定动作名称时不调用索引方法
- user-interface - 这张图片中的两个 H2O.ai 有什么区别。以及为什么在某些文本字段中输入文本时自动加粗
- java - 如何使用递归打印三角形?
- ios - 根据标签大小自定义 UICollectionView 单元格大小
- javascript - 存储一个值以允许迭代 - Javascript
- javascript - 无法在 React 中的状态数组上使用 pop 方法
- javascript - chrome 扩展:jquery 不适用于新添加的项目
- vega-lite - 将参数传递给 vega-lite 规范?