我想让 Alexa 在某个页面上忽略一些意图短语。有没有办法做到这一点?就像以不同的方式构建带有意图的 en-us.json 一样? (我遇到一个问题,较长的措辞意图在措辞中包含较短的意图,而 Alexa 将执行较短的意图。) 我的意图的例子。
{
"interactionModel": {
"languageModel": {
"invocationName": "katie elder tree test",
"intents": [
{
"name": "archive",
"samples": ["archive", "go to archive", "open archive"]
},
{
"name": "back",
"samples": ["back", "go back", "back to"]
},
{
"name": "toggle_debug",
"samples": ["Turn on Debug Mode", "Turn off Debug Mode"]
},
{
"name": "toggle_fullscreen",
"samples": ["Fullscreen", "Turn on fullscreen", "Open Fullscreen", "Fullscreen mode", "exit fullscreen", "no more fullscreen", "turn off fullscreen", "toggle fullscreen", "full screen"]
}
]
}
},
"version": "7"
}
如果两个或多个意图非常相似,您可以尝试添加更多样本来区分它们,但您可能仍然无法获得所需的准确性。
可以重构调试模式和全屏等开/关设置的意图,以便话语变得例如“打开调试”。
样品:
"switch {settableOption} {newValue}"
"turn {newValue} {settableOption}"
"turn {newValue} {settableOption}"
newValue 是一个带有值
["on", "off"]
的自定义槽。
settableOption 是一个自定义插槽,其值为 ["debug", "fullscreen"]
。
在您的处理程序中,只需解压(已验证的)插槽,切换设置并做出相应响应。