数据问答干预

本文主要介绍如何配置系统根据给定的顺序,自动反问用户,以确定用户真实需求,从而更准确的回复。

问答配置

反问顺序配置

当用户问题比较宽泛时,对应查到了较多数据,全量展示出来用户无法很好地获取自己想要的信息时。开启该能力后,系统会根据给定的顺序,自动反问用户,以确定用户真实需求,从而更准确的回复。

说明

对于数组和范围类型的列不会参与反问。

  1. 进入相关机器人空间,选择知识库->表格管理->数据表管理,单击问答配置

    image

  2. 进入配置页面。

    image

    • 反问开关:开启此功能,问答时支持反问。

    • 反问触发条件:系统判断触发反问的最小行列数(不包含当前值),任一条件满足均会触发反问。

    • 反问顺序:可以根据实际需要对参与问答的列设置反问次序,当用户问法涉及到反问时将依据设定的顺序进行反问。

环境参数配置

本功能用于开发者通过API透传约束信息给机器人,比如:业务中有A、B两个地区单位的地址和上班时间的信息,对应两个地区的有关信息都需要分别用a、b两张表记录。通过配置有关的环境参数,可实现当A地区用户进行问答时,系统使用a表进行回答(而非b表)。

说明

有关信息可通过流式会话接口接口中的“VendorParam”传入。

  1. 进入有关表格的全局干预界面后,选择环境参数标签即可进入环境参数配置界面。

    image

  2. 单击环境参数右侧开关按钮开启功能。

  3. 单击新增按钮,配置环境参数,在调用对话接口时,在入参中透传本处填写的环境参数信息。

    • 定位值:具有业务含义的字符串,作为会话的一个约束条件,用于定位到本数据表。

    • 环境参数:自定义参数名称,同一个数据表可配置多个不重名的环境参数。

    • 操作符:包含“=”和“in”。

      • “=”:当会话开启时,若通过接口传入的环境参数与此处配置定位值和环境参数相同,系统选择该表进行问答。

      • 说明

        若此处配置多个环境参数,则只要有一个环境参数与通过接口传入的环境参数相同,则系统选择该表进行问答。

      • “in”:当会话开启时,若通过接口传入的环境参数有多个,且此处配置定位值的环境参数存在于其中,系统选择该表进行问答。

      • 说明

        若此处配置多个环境参数,则只要有一个环境参数存在于通过接口传入的环境参数中,则系统选择该表进行问答。

示例:

  • 假设:

    • 表格数据:业务中有两个地区单位的地址和上班时间的信息,每个地区的有关信息都需要单独用一张表记录。

      表1:西湖区民政局上班时间

      行政名称

      上班时间

      地址

      民政局

      上午:9:00~12:00

      下午:13:00~17:00

      西湖区122号

      环境局

      上午:8:00~12:00

      下午:13:00~17:00

      西湖区221号

      行政服务中心

      上午:7:00~12:00

      下午:13:00~17:00

      西湖区113号

      表2:拱墅区民政局上班时间

      行政名称

      上班时间

      地址

      民政局

      上午:8:00~12:00

      下午:13:00~17:00

      拱墅区122号

      环境局

      上午:7:00~12:00

      下午:13:00~17:00

      拱墅区322号

      行政服务中心

      上午:6:00~12:00

      下午:13:00~17:00

      拱墅区133号

    • 实现场景:要求西湖区的用户询问有关单位的地址或上班时间时,系统使用“表1:西湖区民政局上班时间”进行回答。拱墅区的用户询问有关单位的地址或上班时间时,系统使用“表2:拱墅区民政局上班时间”进行回答。

  • 功能配置:

    • 通过流式会话接口接口中“VendorParam”传入用户所在区信息:"area":西湖区(或拱墅区);

    • 在“表1:西湖区民政局上班时间”的“问答配置>环境参数”中配置:

      • 定位值:area;

      • 操作符:"=";

      • 环境参数:西湖区。

    • 在“表2:拱墅区民政局上班时间”的“问答配置>环境参数”中配置:

      • 定位值:area;

      • 操作符:"=";

      • 环境参数:拱墅区。

  • 实现效果:

    • 西湖区用户问:民政局的地址在哪里?

      • 机器人答:西湖区122号。

    • 拱墅区用户问:民政局的地址在哪里?

      • 机器人答:拱墅区122号

关联回复

当回复内容为数据表中某字段的值时,系统最多可配置3个同时展示在机器人回复中的其他字段,共同作为机器人回复展示在会话框。

  1. 进入问答配置,选择关联回复。

  2. 配置如下:

    • 回复字段:用户目标查询的字段,也即是用户待回复的字段。

    • 关联回复字段:机器人结合“回复字段”一起回复用户的字段。

示例

  • 金融场景下,当用户问有关产品的“收益”的问题时,一般期望同时回答对应产品的风险等级。此时可参考如下图配置:image

  • 问答效果:

    • 用户问句:A产品过去一年的收益怎么样?

    • 机器人回复:A产品过去一年的收益为xxxxxx,对应其风险等级为xxxxxx。

表头表值干预

功能概述与入口

  • 概述:表格问答的表头设置,是用户对指定表头的识别能力的干预,仅针对所选表头生效。具体包括:表头同义词、表值同义词和环境参数。

  • 入口:进入有关机器人空间后,选择知识库>表格管理>数据表管理后,单击有关表格右侧编辑按钮,进入有关表格编辑界面。单击有关表头的问答配置按钮,即可进行有关表头的识别效果干预。

    image

表头同义词配置

  • 作用:用于配置表头的同义词,当命中表头同义词时可以关联到对应的表头。

  • 内容配置:进入表头识别效果配置界面后,选择表头同义词标签。根据实际业务需求,在“同义词”输入框输入表头同义词后,单击保存按钮即可完成表头同义词设置。

    image

表值同义词配置(仅文本型表头具有)

  • 作用:用于配置表值的同义词,当命中表值同义词时,可以关联到对应的表值。

  • 内容配置:进入表头识别效果配置界面后,选择表值同义词标签。根据实际业务需求,先在“表值选择”框选择有关表值,后在“新增同义词”框添加有关表值同义词,单击“新增”按钮或按回车键即可完成同义词新增。

    image

环境参数配置

  • 作用:用于开发者通过API透传约束信息给机器人,比如:商品问答场景,在开启会话时可以通过环境变量携带商品ID信息。当用户询问有关商品价格信息时,系统自动使用商品ID这一参数作为条件进行过滤,查询到对应商品价格。

    说明
    • 有关信息可通过流式会话接口接口中的“VendorParam”传入。

    • 字段长度超过255字符的文本型、数组型、范围型、计算列及配置了近似查询的数值型字段,由于字段本身就是一个范围,不适合配置环境参数。

  • 内容配置:image

    1. 进入有关表头表值干预界面后,选择环境参数标签即可进入环境参数配置界面。

    2. 单击环境参数右侧开关来开启功能。

    3. 新增环境参数。

      • 未命中变量策略:若在控制台已设置有关表头的环境参数,且已通过API传入参数的值到对话引擎,系统会根据此处选择的策略来执行后续问答流程。默认为不采纳。

        • 不采纳:当基于有关用户问句,根据环境参数筛选后无法查询到有关数据,但若不经过环境参数的筛选可查询到有关数据,系统会忽略环境变量设置进行问答。

        • 拒识:当基于有关用户问句,根据环境参数筛选后无法查询到有关数据,系统会拒绝识别对应用户问句。

      • 环境变量新增:

        • 字段名称:即当前表头名称。

        • 操作符:包含“=”和“in”。

          • “=”:当会话开启时,若通过接口传入的环境参数与此处配置的环境参数相同,系统则以筛选条件:表头=通过接口传入的环境参数的值,进行筛选查询。

          • “in”:当会话开启时,若通过接口传入的环境参数有多个,且此处配置的环境参数存在于其中,系统则以筛选条件:表头=通过接口传入的环境参数的值,进行筛选查询。

        • 环境参数:即环境参数的名称。

示例

  • 表格配置:image

  • 环境参数配置:

    1. 通过API传入对应环境参数名和值为:teacher:迈特。

    2. 控制台上配置:

      • 字段名称:指导老师;

      • 操作符:"=";

      • 环境参数:teacher。

  • 用户问答效果:

    • 未命中变量策略配置为:不采纳

      • 用户问句:小王的成绩是多少?

      • 机器人回复:不及格。

        说明

        因为根据环境参数“指导老师=迈特”筛选后,无小王的成绩信息,但根据环境参数“指导老师=迈特”筛选前,有小王的成绩信息,且此处选择“未命中变量策略为:不采纳”,所以系统会忽略环境变量设置进行问答,回答小王的成绩为:“不及格”;

    • 未命中变量策略配置为:拒识

      • 用户问句1:小王的成绩是多少?

      • 机器人回复1:很抱歉,无法找到姓名为小王的学生的成绩信息。

        说明

        因为根据环境参数“指导老师=迈特”筛选后,无小王的成绩信息,但此处选择“未命中变量策略为:拒识”,所以系统会拒绝识别对应用户问句,回答小王的成绩为:“很抱歉,无法找到姓名为小王的学生的成绩信息。”

      • 用户问句2:张三的成绩是多少?

      • 机器人回复2:张三的成绩为不及格,指导老师是迈特。

        说明

        该示例中,指导老师这个表头对应的环境参数的值为“迈特”,故会先以“指导老师=迈特”为条件,过滤掉其它数据。可以看到示例的表格中有两个姓名都为“张三”的学生,但学号为“430485”的“张三”对应的指导老师不是“迈特”,被过滤掉了,所以不会出现在机器人回复内容中。