Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何重定向到dialogflow中与用户输入关键字相关的意图_Google Cloud Platform_Dialogflow Es - Fatal编程技术网

Google cloud platform 如何重定向到dialogflow中与用户输入关键字相关的意图

Google cloud platform 如何重定向到dialogflow中与用户输入关键字相关的意图,google-cloud-platform,dialogflow-es,Google Cloud Platform,Dialogflow Es,我已经在对话框流中创建了一个技术机器人代理,在这里我提示用户输入任何技术名称,它将请求确认。这将命中与响应no相同的确认名称意图,这将命中no确认意图 通过输入yes进行确认,我做到了,谢谢。让我们从等待\u name\u confirm.languageon响应开始。例如:-如果用户键入angular,他将提示确认问题。在输入yes时,它将显示感谢。让我们从角度开始 现在我想为每种技术创建一组问题。为此,我为角度、节点等创建了单独的意图 如果确认后angular将达到目标angular,用户将

我已经在对话框流中创建了一个技术机器人代理,在这里我提示用户输入任何技术名称,它将请求确认。这将命中与响应no相同的确认名称意图,这将命中no确认意图

通过输入yes进行确认,我做到了,谢谢。让我们从等待\u name\u confirm.languageon响应开始。例如:-如果用户键入angular,他将提示确认问题。在输入yes时,它将显示感谢。让我们从角度开始

现在我想为每种技术创建一组问题。为此,我为角度、节点等创建了单独的意图


如果确认后angular将达到目标angular,用户将如何输入?如果用户输入节点,他必须点击节点意图并询问节点问题等?如何实现这一点?

如果您仅使用Dialogflow UI,那么根据用户输入更改响应可能是一个相当大的挑战。根据用户输入回答一组问题的最简单方法是使用

履行

通过实现,您可以使用代码检测用户输入中的某些关键字或属性。在您的情况下,如果您还没有使用它,那么为每个技术、节点等创建自定义将很有帮助。如果您这样做,您不必查看用户输入中的特定单词

为了能够通过代码检测实体,您需要通过使用设置与实体一起工作的意图。一旦设置完成,您就可以开始检测用户所说的技术,并通过代码做出相应的响应。一个简单的例子是:

app.intent("Technology Intent", (conv) => {
    const technology = conv.parameters.technology <-- Name is the same as the parameter in Dialogflow

    switch(technology) {

    case "Node": 
      conv.ask(askANodeQuestion())
    break;

    case "Angular":
      conv.ask(askAAngularQuestion())
    break;
});

使用此设置,您可以为每种技术设置不同的问题,并使用参数值触发这些问题

Dialogflow Web用户界面

虽然我不推荐这种方法,但可以根据用户通过Dialogflow UI的输入设置一个触发问题的对话。您可以设置一个意图,询问用户想要询问哪种技术,然后为每种技术创建一个意图,然后开始构建问题


如果您不想在bot中使用任何代码,此设置对您很有用,但它确实会使Dialogflow中的设置变得相当复杂,并且更难维护。因此,如果您想要长期使用或在将来扩展的机器人,我真的建议您使用以下实现方法。

如果您仅使用Dialogflow UI,根据用户输入更改响应可能是一个相当大的挑战。根据用户输入回答一组问题的最简单方法是使用

履行

通过实现,您可以使用代码检测用户输入中的某些关键字或属性。在您的情况下,如果您还没有使用它,那么为每个技术、节点等创建自定义将很有帮助。如果您这样做,您不必查看用户输入中的特定单词

为了能够通过代码检测实体,您需要通过使用设置与实体一起工作的意图。一旦设置完成,您就可以开始检测用户所说的技术,并通过代码做出相应的响应。一个简单的例子是:

app.intent("Technology Intent", (conv) => {
    const technology = conv.parameters.technology <-- Name is the same as the parameter in Dialogflow

    switch(technology) {

    case "Node": 
      conv.ask(askANodeQuestion())
    break;

    case "Angular":
      conv.ask(askAAngularQuestion())
    break;
});

使用此设置,您可以为每种技术设置不同的问题,并使用参数值触发这些问题

Dialogflow Web用户界面

虽然我不推荐这种方法,但可以根据用户通过Dialogflow UI的输入设置一个触发问题的对话。您可以设置一个意图,询问用户想要询问哪种技术,然后为每种技术创建一个意图,然后开始构建问题


如果您不想在bot中使用任何代码,此设置对您很有用,但它确实会使Dialogflow中的设置变得相当复杂,并且更难维护。因此,如果您打算购买一款长期使用或将来扩展的机器人,我真的建议您使用。

感谢您的明确解释。虽然我了解你们的观点,但我是DialogFlow的新手,还没有接触到代码,所以我不太了解如何从代码开始。虽然现在我使用上下文将用户输入转换为不同的目的。对于您的陈述:您可以设置一个意图,询问用户他们想要询问的技术,这与在我面临问题的地方动态传递用户输入相同。angular intent如何知道用户键入了angular?同样假设,如果用户选择了节点,如果用户询问了与节点相关的任何问题,那么intent如何知道这些问题,而不是手动添加后续意图?我已经在知识部分上传了各种技术的常见问题,但无法触发?如何将特定常见问题与特定意图联系起来?回答您的问题
问题是,它与动态传递值不同。角度意图只是一个不同的意图,你应该输入角度作为一个训练短语。至于你的另一个问题,请为此创建一个新的stackoverflow问题,这比在评论中做任何事情都要容易谢谢你让我知道。在做了一些研究之后,我将创建另一个问题。添加了这个问题,感谢您的清晰解释。虽然我了解你们的观点,但我是DialogFlow的新手,还没有接触到代码,所以我不太了解如何从代码开始。虽然现在我使用上下文将用户输入转换为不同的目的。对于您的陈述:您可以设置一个意图,询问用户他们想要询问的技术,这与在我面临问题的地方动态传递用户输入相同。angular intent如何知道用户键入了angular?同样假设,如果用户选择了节点,如果用户询问了与节点相关的任何问题,那么intent如何知道这些问题,而不是手动添加后续意图?我已经在知识部分上传了各种技术的常见问题,但无法触发?如何将特定的faq与特定的意图联系起来?回答您的角度问题,不,这与动态传递值不同。角度意图只是一个不同的意图,你应该输入角度作为一个训练短语。至于你的另一个问题,请为此创建一个新的stackoverflow问题,这比在评论中做任何事情都要容易谢谢你让我知道。我将在一些研究之后创建另一个问题