多轮会话

简介

多轮会话是指多个轮次的人机对话交互。在多轮对话中,需要明确用户意图,并获取必要信息,以最终得到明确的用户指令。例如:我们说出:"帮我预约洗车服务",机器人会通过多个回合的对话,确定洗车的时间、地点以及其他要求,最终得到一个明确的用户指令。

话术:话术指对话过程中的语句,即用户输入或者机器人回复用户的语句。

意图:意图表示用户的目的。意图由用户定义,并添加示例话术训练NLU模型,达到意图识别的效果。

实体:对话样本中有槽位,槽位中填充的是实体。实体是将用户意图转化为明确的用户指令所需要补全的信息。实体独立于意图存在,在会话流程当中使用。实体由用户自定义,用户可以通过上传实体列表文件或者在线添加实体定义实体值,并通过标注示例话术中的实体位置,训练NLU模型。

(例如:北京明天天气怎么样?在该话术中,用户意图是查询天气,实体有两个,一个为地点:北京,另外一个为时间:明天)

意图实体

新建意图

1.选择一个进入云秘应用,例如:doctest。
2.选择"多轮会话" -> "意图实体" -> "意图",点击【新建意图】。

图片

  • 英文名称:定义意图英文名称。
  • 意图描述:描述意图含义。

新建实体

1.选择一个进入云秘应用,例如:doctest。
2.选择"多轮会话" -> "意图实体" -> "实体",点击【新建实体】。

图片

图片

  • 英文名称:定义实体英文名称。
  • 实体描述:描述实体含义。
  • 实体值列表:列举该实体对应的实体值。例如,实体英文名称为"city",实体描述为查询天气的城市,则实体值为"北京、上海、广州、..."。可通过"文件上传"或"在线添加"的方式添加,如下图所示。

文件上传实体:要求上传txt文件,编码格式UTF-8,文件小于5MB,文件中每行对应一个实体值。

图片

在线添加:

图片

会话流程

简介

会话流程支持图形化配置,以会话流的形式进行会话流程管理。节点是会话流中的基本单位。基础节点分为根节点、判断节点和动作节点三种。当用户有话术输入时,NLU解析用户的意图和话术中的实体,根据意图匹配到根节点,进入相应的会话流;会话沿会话流的方向进行,根据判断条件进行跳转,并执行动作节点中相应的动作。

  • 根节点:匹配用户输入的意图,并引导对话进入相应的会话流。
  • 判断节点:定义系统检查的判别条件并实现节点跳转,当判别条件被满足时,则跳转到相应的节点。
  • 动作节点:定义系统执行的动作结果,如果动作节点要求用户输入则暂停,等待用户输入;待用户输入之后,继续对话流程;直至遇到会话终止节点,认为该会话完成。

新建根节点

1.选择一个进入云秘应用,例如:doctest。
2.选择"多轮会话" -> "会话流程",拖动【根节点】到画布。
3.点击【根节点】,对新建根节点进行编辑。

图片

新建判断节点

1.选择一个进入云秘应用,例如:doctest。
2.选择"多轮会话" -> "会话流程",拖动【判断节点】到画布。
3.点击【判断节点】,对新建判断节点进行编辑。

图片

新建动作节点

1.选择一个进入云秘应用,例如:doctest。
2.选择“多轮会话" -> "会话流程",拖动【动作节点】到画布。
3.点击【动作节点】,对新建动作节点进行编辑。

图片

节点连接

如图所示,将根节点、判断节点和动作节点进行连接,点击右上角保存,构成完整的会话流程。

图片

模型训练

1.选择一个进入云秘应用,例如:doctest。
2.选择"多轮会话" -> "模型训练",点击【新建样本】。
3.对新建样本进行NLU分析。
4.添加对话样本后,模型需进行训练方能生效。

图片

图片

会话测试

在会话流程配置、模型训练完成后,可以在会话测试页面中测试会话的效果。会话测试作用于整个应用,同时包含了多轮会话和知识库中的内容。

图片