什么是意图?
Dialogflow 的意图定义:
意图将最终用户的意图分类为一个对话轮次。 对于每个代理,您定义多个意图,您的组合意图可以处理完整的对话。 当最终用户撰写或说一些话,称为最终用户表达方式时,对话流将最终用户表达方式与您代理人的最佳意图相匹配。 与意图相匹配也被称为意图分类。
基本意图包括下列内容:
培训短语 - 这些是终端用户可能说的短语。 当最终用户表达式类似于这些短语之一时,对话流与意图匹配。
模板短语将在培训期间被弃用和忽略。 了解更多信息 请访问。
动作 - 您可以为每个意图定义一个动作。 当意向匹配时,对话框提供您系统的动作。 并且您可以使用该动作来触发您系统中定义的某些动作。
参数 - 当运行时的意图匹配时,对话框提供从最终用户表达式中提取的参数值。 每个参数都有一个类型,称为实体类型,它准确说明数据是如何提取的。
响应 - 您定义文本、语句或视觉响应返回到最终用户。 它们可以向最终用户提供答案,向最终用户索取更多资料,或终止对话。
更为复杂的意图也可包括以下内容:
上下文: 对话流环境类似于自然语言上下文。 如果一个人对你说 "他们是橙色的",你需要上下文才能理解这个人指的是什么。 同样,对话流程要处理像这样的最终用户表达式,需要提供上下文才能正确地匹配意图。
事件: 随着事件的发生,您可以根据已经发生的东西而不是最终用户的通信来调用一个基于意图的东西。
根据您的联系人国家和语言触发意图。 如果您的联系人在其联系人详细信息中有国家或语言值,意图可以根据国家和语言的不同值进行触发。
查看意图
第 1 步:登录到对话流
导航到 Dialogflow 控制台并使用您的用户凭据登录。
第 2 步:导航到意图
选择您要配置的代理,并从侧边导航菜单中选择意图
所有默认的意图和创建的意图都将在此视图中列出。
默认意图
当您创建代理时,Dialogflow 会为您创建两个默认意图。
默认欢迎意图: 当联系人开始与平台对话时,此意图会匹配。 此意图应返回一个响应,让最终用户知道您的代理人可以做什么,或者他们可以说些什么以开始对话。
默认后备意图: 当代理无法将最终用户表达与任何其他意图匹配时,会匹配此意图。
您可能已经注意到,每当您使用聊天机器人时,总会有一种问候,例如按钮"开始"。
提示: 了解有关 Dialogflow'的默认欢迎意图定义的更多信息。
正如您所见,默认欢迎意图有一个欢迎活动和问候短语作为先决条件。 当您第一次收到联系人消息时,此意向将根据指定的内容进行匹配。
参考以下示例:
建议:为了管理联系人的期望,我们建议包含一些响应,告诉联系人他们正在与聊天机器人交互。
默认后备意图
提示: 了解更多有关 Dialogflow 的 默认后备意图的定义的信息。
当收到的消息或事件与任何现有的意图不匹配时,将匹配回退意图。
参考下面的示例:
建议: 如果代理无法理解消息,请主动将对话交给人工代理以帮助处理客户问题。
创建意图
如果您想要为特定的使用情况创建自动化过程,您可以创建新的意图。 带参数和事件的意图可以被创建以适合多次使用的情况。
为了帮助您更好地理解,下面的指南将基于下述具体的使用案例:
XYZ 公司经常从网站's webchat接收订单状态的查询。 当他们进行对话时,他们检测到了一个共同的模式,即他们的代理人会要求客户提供客户 ID,以进一步检查问题或解决查询。 一旦他们从客户端获得客户ID,他们将更新自定义字段并将其添加为标签。
根据上述情景,获取客户身份的过程可以由聊天机器人进行。 一旦获得客户 ID,联系人将被转交给人类代理,以获取进一步的协助。
让我们将其分解为更简单的步骤:
创建一个意图以提示客户 ID。
创建一个意图以获取客户 ID。
在应答.io上将客户ID保存为自定义字段。
添加一个标签。
将对话转交给人类代理。
通知人类代理。
禁用机器人。
预期结果
创建基本意图的意图。
步骤 1:创建意图。
导航到 Dialogflow 控制台 并从侧面导航菜单中按下 Intents。 按 ➕
或 创建意图 从模块顶部。
第 2 步:给你的意图命名
为您的意图输入一个名称。 您的意图名称应该代表它所承认的最终用户表达式。
对于这种情况,我们'将其命名为 order_status_enquiry。
第 3 步:包括训练词
根据上述情况,我们应该包括询问订单状态的训练短语。 首先在培训词组中输入占位符。 您可以包含多个短语来满足不同类型的短语。
例如:
我的订单在哪里
你能帮我检查一下我的订单吗
我的订单状态是什么
第 4 步:构建有意的响应
对于该意图,响应应提示联系人提供他们的客户 ID,以便于下一意图使用。
向下滚动到 响应 部分,并在响应中输入。 您可以添加 文本响应 或 自定义有效负载。 在这种情况下, 文本响应 将达到目的。
提示:
- 您可以一次发送多个回复,以提高可读性。
- 您可以添加几个响应变体,在发送到联系人时它们将被随机化。
我们将为此目的建立的反应是:
如果您的订单耗时太长,我事先表示歉意。
请告诉我您的客户 ID。
提示: 在此处了解有关 响应模板的更多信息。
创建实体
在我们可以将值保存为自定义字段之前,我们需要创建一个实体来检测收到的信息的值。
根据上述假设, 我们将把这个实体命名为 customerId 并且它将用于为客户存储客户 ID。
第 1 步:创建实体
导航到实体模块。 按下 ➕ 或 创建实体。
第 2 步:实体名称
例如,我们会给它命名customer_id。
第 3 步:输入可能的值
实体应该接受一个包含5个整数的字符串。 正则表达式将用于验证值。
对于这个例子,值将是 (\d){5},可以接受任何包含 5 个数字的字符串。
提示: 在这里了解有关 正则表达式的更多信息。
提示: 在此处了解有关 实体的更多信息。
创建带参数的意图。
第 1 步:创建后续意图。
导航到 Dialogflow 控制台 并从侧面导航菜单点击 意图。 找到之前创建的意图并点击 添加后续意图。
因为这个意图需要在指定的意图后触发,所以使用后续意图。
默认情况下,上下文和操作将自动填充,以便意图按顺序工作。
第 2 步:包含训练短语。
在此意图中包含的短语很可能是包含客户ID的短语。 我们可以输入一个短语,并突出显示可能是客户ID的文本。 选择之前创建的实体,并用它来注释文本。
默认情况下,当您用实体注释文本时,将创建一个参数来存储值。
提示: 在此处了解如何 注释训练短语。
第 3 步:构建意图响应。
对于这个意图,响应应该通知联系人客户ID已经收到,人类代理将接管对话并解决问题。
向下滚动到 响应 部分,并输入响应内容。 添加 文本响应。
我们将为此意图构建的响应是:
感谢提供您的客户ID。 您的问题正在分配给我们的人类代理。
将值保存为自定义字段。
当联系人回复他们的客户ID时,该值可以保存为 respond.io 平台中的自定义字段。
为了将值保存到自定义字段,请确保在 respond.io 平台上创建该自定义字段。
要保存该值,请添加参数 RB_FIELD_{custom field's name}。 在这种情况下,参数将为 RB_FIELD_customerid,并将实体 $customer_id 设置为值。
添加标签。
添加参数 RB_ADDTAGS 并将实体 $customer_id 设置为值。
处理对话。
现在,我们想把对话交给一位人类代理。 这可以通过另一个参数来实现, RB_USER_ASSIGN 并设置用户的电子邮件为值。
禁用机器人。
参数将按顺序执行。 最后,我们将禁用此联系人的机器人响应,因为我们不想在联系人由人类代理处理时触发任何意图。
要这样做,我们将添加另一个参数, RB_BOTSTATUS 并设置 FALSE 为值。
当机器人禁用时,联系人将无法再收到来自机器人的消息,直到机器人状态启用。 可以通过消息控制台或自动化启用机器人状态。
位置处理。
当从联系人接收到位置时,类型为 LOCATION 的事件将被发送到 Dialogflow。 您可以将 LOCATION 添加到事件中以触发相应的触发器。
查看 Dialogflow 中可用的其他参数:
测试一个意图。
如果您需要测试意图,请使用位于 Dialogflow 控制台右侧的测试面板。
删除一个意图。
从意图列表中,将鼠标悬停在您想删除的意图上。 点击该意图的垃圾桶图标。