为什么我的句子返回我的意图,即使它们不在我的意图的话语列表中?

Why are my sentences returning my intent even tough they are not in the utterance list of my intent?

我们正在开发一项技能,我的调用名称是“call onstar”

我得到一个意图“CallOnStarIntent”

我得到了接下来的话语

"切换到 onstar",

"访问 onstar 紧急情况",

“访问 onstar 顾问”,

"访问 onstar",

“连接到 onstar 紧急情况”,

“连接到 onstar 顾问”,

"连接到 onstar",

"我想使用 onstar",

"打开onstar",

“呼叫 onstar 紧急情况”,

"呼叫 onstar 顾问",

"呼叫 onstar",

"使用 onstar",

"开始onstar",

"onstar信息",

"onstar 服务",

“请onstar”,

"onstar 紧急情况",

“onstar 顾问”

这些是列出的话语,当我尝试话语“call square”时,它们工作正常,我得到了预期的 Amazon.FallBackIntent。但是,当我尝试使用“ping onstar”、“play onstar”或任何包含 onstar 一词的语句时 returns CallOnStarIntent。

有人知道为什么会这样吗?

提前致谢。

意图的语句列表不应被视为一组封闭的值,如编程语言中的枚举。 它们只是用于训练您的 Alexa 技能的样本。 documentation page 中描述了示例语句的最佳实践:

"Alexa also attempts to generalize based on the samples you provide to interpret spoken phrases that differ in minor ways from the samples specified."

您的话语由机器学习算法处理,该算法创建的模型也将匹配相似的话语,因此这是正常的(您的额外话语似乎足够相似,模型可以确定匹配)。但是,您可以采取一些措施使模型在匹配时更加精确:

  1. 您可以extend the sample utterances of AMAZON.FallbackIntent包括您不想要匹配的那些(例如“ping onstar”)
  2. 您可以尝试 change the sensitivity tuning of the AMAZON.FallbackIntent 到 HIGH,以便匹配域外话语变得更加积极

来自 Alexa 开发者文档:

“您可以使用更多话语扩展 AMAZON.FallbackIntent。当您识别出少量调用自定义意图的话语时添加话语,但应改为调用 AMAZON.FallbackIntent。对于路由的大量话语不正确,请考虑调整 AMAZON.FallbackIntent 灵敏度。"

要将 AMAZON.FallbackIntent 灵敏度调整为高,您可以使用 ASK CLI 或 JSON 编辑器更新 interactionModel.languageModel.modelConfiguration.fallbackIntentSensitivity.level 设置JSON 用于您的交互模型。将 fallbackIntentSensitivity.level 设置为高、中或低。

{
  "interactionModel": {
    "languageModel": {
      "invocationName": "...",
      "intents": [],
      "types": [],
      "modelConfiguration": {
        "fallbackIntentSensitivity": {
          "level": "HIGH"
        }
      }
    },
    "dialog": {},
    "prompts": []
  }
}