Dialogflow - 概述



关于 Dialogflow,在使用它之前,您需要了解一些事项。为了正常工作,传统的计算机系统需要可预测且结构化的输入,这有时会使界面使用起来困难且不自然。有时,最终用户可能会发现自己无法理解输入的结构,也无法弄清楚该怎么做。对于最终用户使用的自然语言,理想情况下,界面应该能够准确地确定用户想要什么。

Dialogflow 的作用

例如,假设用户询问:“今天天气怎么样?”其他用户也可能会问:

  • 现在天气怎么样?

  • 孟买的气温是多少?

  • 10月20日天气如何?

您知道,针对这些基本问题使用语言体验可能具有挑战性。自然语言处理和解释需要非常强大的语言解析器。Dialogflow 提供了这种类型的解析器,以便您可以为最终用户提供出色的对话体验。

Dialogflow 的主要组件

Agent、意图和实体是 Dialogflow 的三个主要组件。这些是帮助用户轻松进行对话体验所必需的。让我们在下一节中逐一讨论这三个组件:

Agent

Dialogflow Agent 是负责管理最终用户对话的虚拟 Agent。能够理解人类语言细节的模块称为 Agent。为了使您的应用程序能够在讨论过程中理解最终用户的文本或语音,Dialogflow 会将其转换为结构化数据。Dialogflow Agent 可以管理您的系统所需的对话类型。

Dialogflow Agent 与实际呼叫中心中的 Agent 相同。由于他们已经准备好处理对话情况,因此他们都不需要在其指令中过于精确。

意图

意图对特定对话轮次中最终用户的意图进行分类。每个 Agent 需要设置多个用户,并且组合的 Agent 能够管理整个对话。当用户编写或说出被称为最终用户表达的内容时,Dialogflow 会查找最终用户表达和您的 Agent 最佳兴趣之间的匹配。意图分类是意图匹配的另一个术语。

例如:如果您必须为天气创建一个 Agent,请确保它能够识别并响应最终用户关于天气的查询。设置天气预报问题的目标是下一个阶段。

用户询问“天气预报如何?”。Dialogflow 检查并比较预报提供的含义与用户的表达。如果我们想从最终用户的表达中提取重要信息,例如位置和天气报告的正确时间,我们必须明确我们的目标。系统需要收集到的信息才能响应与系统相关的请求。

实体

Dialogflow 使用实体来识别和提取自然语言输入中的相关数据。实体帮助您的 Agent 理解特定用户输入背后的原因,而意图则让它检测用户提到的特定数据,例如产品名称、带单位的数量、街道位置等等。对于您想要从用户请求中检索的每个重要数据片段,都将有一个与之关联的实体。

Dialogflow 控制台

Dialogflow 控制台是 Dialogflow 设计的一个 Web 界面。它可用于创建、评估和管理 Agent。Dialogflow 控制台与 Google Cloud Platform (GCP) 控制台之间存在差异。

GCP 控制台处理 Google Cloud 服务参数(例如资源分配和付款),而 Dialogflow 控制台主要处理 Dialogflow Agent 管理。

您还可以使用 Dialogflow 控制台轻松创建新的 Agent。

上下文

Dialogflow 的上下文的工作方式与自然语言上下文的工作方式类似。例如 - 当有人说“它们是蓝色的”时,您必须弄清楚“它们”指的是谁或什么。Dialogflow 通过根据上下文将用户意图与正确的目的相匹配来执行类似的操作。

上下文使对话管理更容易。可以使用简单的名称来构建输入和输出上下文。这些设置有助于集中对话并选择正确的目标。当意图匹配时,输出上下文变为活动状态。之后,Dialogflow 会查找属于活动输入上下文的意图。

后续意图

后续意图可用于自动为意图对构建上下文。后续意图是其连接的父意图的子级。创建后续意图时,会自动向父意图添加输出上下文,并向后续意图添加名称相同的输入上下文。后续意图只在一种情况下匹配,那就是父意图在之前的对话轮次中表达过。可以使用 Dialogflow 创建嵌套后续意图的多个级别。

Dialogflow 中的预定义后续意图之一,例如取消、是、否等等,可以显示为典型的最终用户响应。我们还可以生成我们自己的后续意图,以控制客户的响应。

与集成的用户交互

Dialogflow 与各种聊天平台兼容,例如 Google 助理、Slack 和 Facebook。您可以从多种集成选项中选择,为任何这些平台创建 Agent。Dialogflow 简化了直接用户通信,使您可以更专注于开发您的 Agent。

与 API 的用户交互

如果您决定不使用任何集成的集成选项,则需要编写代码来直接与用户交互。对于每次交换,您的代码都需要连接到 Dialogflow 的 API。您可以通过这种方式传达用户的消息并再次获取他们的意图。

下图显示了使用 API 的过程。

User Interactions with the API

以下是 Dialogflow 中与 API 进行用户交互的过程:

  • 最终用户正在键入或说出这些词语。

  • 您的服务在检测意图请求消息中将最终用户表达发送到 Dialogflow。

  • 之后,Dialogflow 会告诉您的服务它打算识别响应。该消息包含有关参数、操作、响应和为意图陈述的匹配意图的信息。

  • 您的服务处理必要的操作,例如进行外部 API 调用或执行数据库查询。

  • 最终用户从您的服务接收响应。

  • 最终用户可以看到或听到答案。

集成的履行

当意图匹配时,Agent 将自动回复一条简单且预先编程的消息。但是,如果您选择集成选项,“履行”可用于提供更灵活和动态的响应。

Dialogflow 通过联系您配置的服务之一来响应启用了履行的意图。例如,如果用户想在星期一安排购物,您的服务将检查数据库并告知他们是否开放。

每个目标都有一个允许履行的设置。如果意图需要来自您的系统的动态响应或操作,您必须启用履行。如果未启用履行,Agent 将回复您为该意图提供的静态消息。

如果启用了履行并且意图匹配,则 Dialogflow 会发送包含详细信息的请求。Dialogflow 将从您的系统获得您需要的信息以进一步推进。

广告