【问题标题】:Dialog Flow ( Api.ai ) Conversation in chatbot对话流(Api.ai)聊天机器人中的对话
【发布时间】:2018-01-23 06:10:15
【问题描述】:

我有一个欢迎意图,它允许用户选择三个不同的操作。例如:欢迎!您可以打印您的名字,您可以打印您的姓氏,或者您可以打印您的邮政编码。如果用户选择或输入姓氏,那么它应该调用姓氏意图。因此,我们在欢迎意图本身提供了多个选项,用户可以选择其中任何一个。 根据用户选择的操作,对话应该发生。 请帮助我如何实现这一目标。

【问题讨论】:

    标签: chatbot dialogflow-es api-ai


    【解决方案1】:

    您通过提供他们的名字、姓氏或邮政编码来为用户提供继续操作的选项。

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

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

    对于每个意图,您将提供一系列示例短语,展示用户可能如何表达每件事。例如,“Capture First Name”可能包含如下示例:

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      在欢迎意图响应中的其他部分,使用可以打印名字的响应,您可以打印第二个名字并为它们配置意图,并使用上下文进行正确的流程。

      在第二个意图中,保留一个包含名字的一些值的实体,并使用像 frstname_output_context 这样的输出上下文

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

      希望它能澄清使用 webhook 和不使用 webhook。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-13
        • 2021-01-09
        • 1970-01-01
        • 2020-11-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多