自定义插槽通配符值?

时间:2017-09-13 12:20:39

标签: wildcard alexa-skills-kit

首先,我不想使用AMAZON.Literal,因为它只适用于美国(我基于英国),我怀疑它会得到更长时间的支持。

我需要一个通配符插槽,以允许用户说出地名(例如商店的名称),然后是城市。

城市很容易,没问题。

问题是地名。我有一个自定义插槽,但我不能列出每个城市中每个商店的价值。

我输入了any的值,哪种有效,但在我的回复中,如果用户说出包含几个字的名称,我只会得到最后一个字。 Pound Land只会返回Land

有人设法做到了吗?

2 个答案:

答案 0 :(得分:2)

自2018年起,您可以使用短语来获取您可能无法预定义的用户输入。

{
  "intents": [
    {
      "name": "SearchIntent",
      "slots": [
        {
          "name": "Query",
          "type": "AMAZON.SearchQuery"
        },
        {
          "name": "CityList",
          "type": "AMAZON.US_CITY"
        }
      ],
      "samples": [
        "search for {Query} near me",
        "find out {Query}",
        "search for {Query}",
        "give me details about {CityList}"
      ]
    }
  ]
}

https://developer.amazon.com/blogs/alexa/post/a2716002-0f50-4587-b038-31ce631c0c07/enhance-speech-recognition-of-your-alexa-skills-with-phrase-slots-and-amazon-searchquery

答案 1 :(得分:0)

使用自定义插槽类型时,AWS可能会从列表外部返回值,但它会尝试映射到值。您可以通过提供大量可能值来“破解”此行为。也许尝试废弃一个地方列表并使用它。我曾经试过一个包含3000个地标的列表,它肯定会返回列表中没有的插槽值。识别不是很好,但我有一个声学相似性功能,允许我在需要时从列表中检索项目。就在不久之前,当他们第一次谈到弃用Amazon.LITERAL时却最终离开了它,所以我不必担心这个。