跳到主要内容
版本:2.0.0

对话流程(FLOW)

本章节将讲解:什么是对话流程,以及如何在平台搭建对话流程。

很多时候,终端用户与机器人交互的目的并不只是获取一个常见问题的答案(这种简单任务可以通过一问一答来实现)。

终端用户的交互目的可能会很复杂。例如,用户通过机器人“查询订单状态”时,要想满足用户的这一目的,首先,机器人需要了解用户的”意图“;然后,机器人需要采取一些对话动作、获取完成这个意图所需的必要信息(比如,订单号,下单时间等);最后,用获取的信息完成任务。这往往需要多轮交互才能实现。

本平台的任务对话就提供了搭建多轮交互机器人的功能。

任务对话的核心能力

任务对话有三个重要能力:意图识别、实体抽取、对话管理。这每一个都由一个核心模块来完成:

  1. 意图识别:在用户发送第一句话后,机器人判断用户想表达的意图,并启动相应的任务流程。

比如:用户说“帮我定明天到上海的火车票”。机器人判断用户的意图为“订车票”。 在平台中,你可以通过设置意图的触发方式来教机器人进行意图识别。

  1. 实体抽取:从用户的每一句话中,机器人尝试收集完成任务所需要的信息。

比如:用户说“帮我定明天到上海的火车票”。机器人可抽取到关键信息“目的地=上海”,和“出发日期=明天”。 在平台中,你可以通过创建实体和词槽、并在意图的对话单元中关联词槽来教机器人进行实体抽取。

  1. 对话管理:根据抽取到的关键信息,机器人判断接下来应该执行什么操作。

比如:用户说“帮我定明天到上海的火车票”之后,机器人知道了目的地和出发日期,那么可以判断接下来只需要询问出发地和出发时间。 你可通过在意图流程中创建对话单元以及对话单元之间的跳转关系来教机器人如何进行对话管理。

对话流程的搭建

每个对话流程都有对应的画布。在画布内,可以通过点选或拖拽的方式增加对话单元,并通过对于单元内容和顺序的配置来搭建对话流程。 build-flow

对话流程的设置

通用策略

点击画布右上角的“技能设置”,可以选择是否允许FAQ类型的技能打断当前流程。打开开关后,如果用户信息触发了配置范围内的FAQ,机器人将会跳转至对应的FAQ技能并返回答案,随后再自动跳回当前流程。 settings interrupt