首先,我不想使用AMAZON.Literal,因为它只适用于美国(我基于英国),我怀疑它会得到更长时间的支持。
我需要一个通配符插槽,以允许用户说出地名(例如商店的名称),然后是城市。
城市很容易,没问题。
问题是地名。我有一个自定义插槽,但我不能列出每个城市中每个商店的价值。
我输入了any
的值,哪种有效,但在我的回复中,如果用户说出包含几个字的名称,我只会得到最后一个字。 Pound Land
只会返回Land
。
有人设法做到了吗?
答案 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}"
]
}
]
}
答案 1 :(得分:0)
使用自定义插槽类型时,AWS可能会从列表外部返回值,但它会尝试映射到值。您可以通过提供大量可能值来“破解”此行为。也许尝试废弃一个地方列表并使用它。我曾经试过一个包含3000个地标的列表,它肯定会返回列表中没有的插槽值。识别不是很好,但我有一个声学相似性功能,允许我在需要时从列表中检索项目。就在不久之前,当他们第一次谈到弃用Amazon.LITERAL时却最终离开了它,所以我不必担心这个。