在 Dialogflow 实现中,是否有一种方法可以从多个潜在响应列表中随机返回一个响应?

2023-12-25

在创建意图时,“意图”选项卡中有一个“响应”部分,您可以添加多个响应,系统会随机选择一个响应来响应用户。

在履行调用中使用内联编辑器:

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(使用前将#替换为@)

在 Dialogflow 实现中,是否有一种方法可以从多个潜在响应列表中随机返回一个响应? 的相关文章

随机推荐