在Dialogflow中的复合实体上执行插槽填充

时间:2020-05-15 14:51:16

标签: node.js dialogflow-es dialogflow-es-fulfillment

使用复合实体时是否可以在Dialogflow中启用插槽填充?我知道我可以通过使用插槽填充来验证用户输入的2个单独值,方法是使参数不是必需的并在我的webook中进行检查,但这迫使我也接受两个变量作为参数,并在每次Webhook中将它们组合在一起。

以下面的示例为例,我们有一个包含以下系统实体的复合代码实体:

enter image description here

  1. @Name(自定义实体,现在可以接受:FOOBAR
  2. @ sys.number

示例代码实体为:FOO1BAR99等。

我想做的是以下事情:

app.intent("INTENT_NAME", (conv) {

  const code = conv.paramters.code;

  if (!code) {
    // Introduce user to feature and explain code format.
  }

  if (!code.name) {
    // Save code entity in context and ask for missing name parameter.
  };

  if (!code.number) {
    // Save code entity in context and ask for missing number parameter.
  };

  // Don't perform any fallback and do something..

};

我知道对于使用数字和名称作为单独参数的方法,更改的差异很小,但是我更喜欢这种方法,因为代码作为单个对象而不是两个单独的值进入Webhook。

现在,如果用户仅提及名称,则该实体以未定义的形式出现,而不是以名称集和代码未定义的代码对象出现。是否可以使用这样的设置,还是更容易使用两个单独的参数并将它们每次转换为Webhook中的对象?

0 个答案:

没有答案