在创建意图时,“意图”选项卡中有一个“响应”部分,您可以添加多个响应,系统会随机选择一个响应来响应用户。
在履行调用中使用内联编辑器:
agent.add("send a response back");
将命令发送回用户,但我想知道是否可以进行设置,以便就像在意图屏幕中一样,要发送回的响应将从多个响应列表中选择一个:
eg.
agent.add("response1");
agent.add("response2");
agent.adD("response3");
其中一份将被随机退回。
Thanks
尽管不同的响应被认为是 VUI 设计的最佳实践,但没有直接的方法可以做到这一点。
然而,解决这个问题的最佳方法是将可能的回复放入一个数组中,然后随机选择其中一个。像这样的事情:
var possibleResponse = [
'Response 1',
'Response 2',
'Response 3'
];
var pick = Math.floor( Math.random() * possibleResponse.length );
var response = possibleResponse[pick];
agent.add( response );
这也更好,因为当你要国际化你的 Action 时,你可以直接替换possibleResponse
带有本地化字符串。
事实上,这是一种非常流行的解决问题的方法,以至于多声部 https://multivocal.info/图书馆将其作为其解决方案的核心。您只需在配置中为操作、意图或输出提供可能的本地化响应,它就会为您选择一个。由于所有响应都是模板,因此您可以添加所需的任何其他参数或设置显示它们的条件(例如处理单数或复数值)。所以在多声部中,这部分配置将是:
Local: {
en: {
Response: {
"Intent.welcome": [
"Response 1",
"Response 2",
"Response 3"
]
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)