Dialog Flow(Api.ai)在聊天机器人中的对话

时间:2018-01-22 05:23:47

标签: chatbot dialogflow api-ai

我有一个欢迎的意图,它允许用户选择三种不同的动作。例如:欢迎!你可以打印你的名字,你可以打印你的姓氏或者你可以打印你的邮政编码。如果用户选择或输入姓氏,则应调用姓氏意图。因此,我们在欢迎意图本身提供多种选择,用户可以选择其中任何一种。 根据用户选择的操作,应该进行对话。 请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

您通过提供他们的名字,姓氏或邮政编码,为用户提供了继续选择。

要捕获他们的回答,您需要创建三个意图:

  • 夺取名字
  • 捕获姓氏
  • 捕获邮政编码

对于每个意图,您将提供一系列示例短语,显示用户如何表达每个内容。例如,“捕获名字”可能包含以下示例:

  • “我的名字是丹”
  • “丹”
  • “丹是我的名字”

我建议为每个意图提供大约10个例子。

Dialogflow提供system entity for zip codes,因此它可以从“捕获邮政编码”意图中自动提取邮政编码。

但是,要使名字和姓氏意图起作用,您需要创建实体来表示所有用户的名字和姓氏。假设您提前知道这些值,首先应创建每个实体,然后编写一个脚本,使用Dialogflow API的/entities endpoint从数据存储区填充它。

创建并填充这些实体后,添加一些将它们用于您的意图的示例。确保突出显示并注释未自动识别的任何实体值。

当您的意图完成后,您可以使用Dialogflow的fulfillment将他们捕获的信息发送到您的后端。

答案 1 :(得分:0)

通常当触发欢迎意图时,它会通过webhook向您的后端发送请求,从后端您可以将响应作为模板或按钮发送,如果您在此处使用后端,用户可以选择其中一个

在欢迎意图响应中,使用类似于您可以打印firstname的响应,您可以打印第二个名称并为其配置意图并使用上下文进行正确的流程。

在第二个intent中,保留一个包含一些名字值的实体,并使用输出上下文,如frstname_output_context

在另一个意图中,将一个包含姓氏值的实体保留为实体,并使用输出上下文,如lsttname_output_context

希望它澄清使用webhook和没有webhook。