【发布时间】:2018-01-23 06:10:15
【问题描述】:
我有一个欢迎意图,它允许用户选择三个不同的操作。例如:欢迎!您可以打印您的名字,您可以打印您的姓氏,或者您可以打印您的邮政编码。如果用户选择或输入姓氏,那么它应该调用姓氏意图。因此,我们在欢迎意图本身提供了多个选项,用户可以选择其中任何一个。 根据用户选择的操作,对话应该发生。 请帮助我如何实现这一目标。
【问题讨论】:
标签: chatbot dialogflow-es api-ai
我有一个欢迎意图,它允许用户选择三个不同的操作。例如:欢迎!您可以打印您的名字,您可以打印您的姓氏,或者您可以打印您的邮政编码。如果用户选择或输入姓氏,那么它应该调用姓氏意图。因此,我们在欢迎意图本身提供了多个选项,用户可以选择其中任何一个。 根据用户选择的操作,对话应该发生。 请帮助我如何实现这一目标。
【问题讨论】:
标签: chatbot dialogflow-es api-ai
您通过提供他们的名字、姓氏或邮政编码来为用户提供继续操作的选项。
要捕获他们的响应,您需要创建三个意图:
对于每个意图,您将提供一系列示例短语,展示用户可能如何表达每件事。例如,“Capture First Name”可能包含如下示例:
我建议为每个意图提供大约 10 个示例。
Dialogflow 提供了system entity for zip codes,因此它将能够自动从“捕获邮政编码”意图中提取邮政编码。
但是,要使名字和姓氏意图发挥作用,您需要创建实体来表示所有用户的名字和姓氏。假设您提前知道这些值,您应该首先创建每个实体,然后编写一个脚本,使用 Dialogflow API 的 /entities endpoint 从您的数据存储中填充它。
创建并填充这些实体后,添加一些使用它们的示例到您的意图中。确保突出显示并注释任何未自动识别的实体值。
当您的意图完成后,您可以使用 Dialogflow 的 fulfillment 将他们捕获的信息发送到您的后端。
【讨论】:
通常当欢迎意图触发时,它会通过 webhook 向您的后端发送请求,您可以从后端以模板或按钮的形式发送响应,如果您在此处使用后端,用户可以选择其中之一
在欢迎意图响应中的其他部分,使用可以打印名字的响应,您可以打印第二个名字并为它们配置意图,并使用上下文进行正确的流程。
在第二个意图中,保留一个包含名字的一些值的实体,并使用像 frstname_output_context 这样的输出上下文
在另一个意图中,保留一个包含一些姓氏值的实体作为实体,并使用像 lsttname_output_context 这样的输出上下文
希望它能澄清使用 webhook 和不使用 webhook。
【讨论】: