0

如何设置带有AMAZON.StartOverIntent话语的槽?

例如:我想以自定义槽值开始技能,如Alexa, ask <my skill> the definition of <custom value>

我读到AMAZON.StartOverIntent不能有自定义插槽,所以我这样打破了它:

DefIntent {Term}
AMAZON.StartOverIntent the definition of
AMAZON.StartOverIntent define
AMAZON.StartOverIntent what is

当我用 Echo 测试它时,这似乎不起作用。你如何去宣布这样的言论?

4

1 回答 1

0

你为什么要覆盖 StarOverIntent?做事的正常方式是使用你自己的意图。如果你愿意,你只需要使用内置的意图。而且,即便如此,这也只是一条捷径。您仍然必须实施它们。它们实际上并没有内置功能。

对于您想要的,您可以声明以下意图:

{
   "intents":[
      {
         "intent":"DefIntent",
         "slots":[
            {
               "name":"term",
               "type":"TERM"
            }
         ]
      }
    ]
}

这将创建一个具有一个插槽的意图,该插槽是自定义类型的 TERM。您可以创建要在计划文本文件中查找的术语列表,并将其作为该自定义类型的值上传。然后,您可以声明话语:

DefIntent the definition of {term}
DefIntent define {term}
DefIntent what is {term}

那应该给你你想要的。

或者接近你想要的。我想您希望用户能够对 {term} 说任何话。但 Alexa 不是听写机。它不是那样工作的。它期望使用适度限制的词汇来产生最高质量的识别。

您可以通过提供包含十万字的自定义列表来伪造它。或其他技术来创建“通用插槽”。但它不会以高质量的识别执行。你最好重新考虑你的设计,这样你就不需要通用的听写。

对于一个完整的、复杂的 Alexa 技能示例,以及近一个小时的视频,请参阅SubWar

于 2016-07-24T21:42:31.183 回答