本文主要介绍如何配置系统根据给定的顺序,自动反问用户,以确定用户真实需求,从而更准确的回复。
问答配置
反问顺序配置
当用户问题比较宽泛时,对应查到了较多数据,全量展示出来用户无法很好地获取自己想要的信息时。开启该能力后,系统会根据给定的顺序,自动反问用户,以确定用户真实需求,从而更准确的回复。
对于数组和范围类型的列不会参与反问。
进入相关机器人空间,选择知识库->表格管理->数据表管理,单击问答配置。
进入配置页面。
反问开关:开启此功能,问答时支持反问。
反问触发条件:系统判断触发反问的最小行列数(不包含当前值),任一条件满足均会触发反问。
反问顺序:可以根据实际需要对参与问答的列设置反问次序,当用户问法涉及到反问时将依据设定的顺序进行反问。
环境参数配置
本功能用于开发者通过API透传约束信息给机器人,比如:业务中有A、B两个地区单位的地址和上班时间的信息,对应两个地区的有关信息都需要分别用a、b两张表记录。通过配置有关的环境参数,可实现当A地区用户进行问答时,系统使用a表进行回答(而非b表)。
有关信息可通过流式会话接口接口中的“VendorParam”传入。
进入有关表格的全局干预界面后,选择环境参数标签即可进入环境参数配置界面。
单击环境参数右侧开关按钮开启功能。
单击新增按钮,配置环境参数,在调用对话接口时,在入参中透传本处填写的环境参数信息。
定位值:具有业务含义的字符串,作为会话的一个约束条件,用于定位到本数据表。
环境参数:自定义参数名称,同一个数据表可配置多个不重名的环境参数。
操作符:包含“=”和“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个同时展示在机器人回复中的其他字段,共同作为机器人回复展示在会话框。
进入问答配置,选择关联回复。
配置如下:
回复字段:用户目标查询的字段,也即是用户待回复的字段。
关联回复字段:机器人结合“回复字段”一起回复用户的字段。
示例:
金融场景下,当用户问有关产品的“收益”的问题时,一般期望同时回答对应产品的风险等级。此时可参考如下图配置:
问答效果:
用户问句:A产品过去一年的收益怎么样?
机器人回复:A产品过去一年的收益为xxxxxx,对应其风险等级为xxxxxx。
表头表值干预
功能概述与入口
概述:表格问答的表头设置,是用户对指定表头的识别能力的干预,仅针对所选表头生效。具体包括:表头同义词、表值同义词和环境参数。
入口:进入有关机器人空间后,选择知识库>表格管理>数据表管理后,单击有关表格右侧编辑按钮,进入有关表格编辑界面。单击有关表头的问答配置按钮,即可进行有关表头的识别效果干预。
表头同义词配置
作用:用于配置表头的同义词,当命中表头同义词时可以关联到对应的表头。
内容配置:进入表头识别效果配置界面后,选择表头同义词标签。根据实际业务需求,在“同义词”输入框输入表头同义词后,单击保存按钮即可完成表头同义词设置。
表值同义词配置(仅文本型表头具有)
作用:用于配置表值的同义词,当命中表值同义词时,可以关联到对应的表值。
内容配置:进入表头识别效果配置界面后,选择表值同义词标签。根据实际业务需求,先在“表值选择”框选择有关表值,后在“新增同义词”框添加有关表值同义词,单击“新增”按钮或按回车键即可完成同义词新增。
环境参数配置
作用:用于开发者通过API透传约束信息给机器人,比如:商品问答场景,在开启会话时可以通过环境变量携带商品ID信息。当用户询问有关商品价格信息时,系统自动使用商品ID这一参数作为条件进行过滤,查询到对应商品价格。
说明有关信息可通过流式会话接口接口中的“VendorParam”传入。
字段长度超过255字符的文本型、数组型、范围型、计算列及配置了近似查询的数值型字段,由于字段本身就是一个范围,不适合配置环境参数。
内容配置:
进入有关表头表值干预界面后,选择环境参数标签即可进入环境参数配置界面。
单击环境参数右侧开关来开启功能。
新增环境参数。
未命中变量策略:若在控制台已设置有关表头的环境参数,且已通过API传入参数的值到对话引擎,系统会根据此处选择的策略来执行后续问答流程。默认为不采纳。
不采纳:当基于有关用户问句,根据环境参数筛选后无法查询到有关数据,但若不经过环境参数的筛选可查询到有关数据,系统会忽略环境变量设置进行问答。
拒识:当基于有关用户问句,根据环境参数筛选后无法查询到有关数据,系统会拒绝识别对应用户问句。
环境变量新增:
字段名称:即当前表头名称。
操作符:包含“=”和“in”。
“=”:当会话开启时,若通过接口传入的环境参数与此处配置的环境参数相同,系统则以筛选条件:表头=通过接口传入的环境参数的值,进行筛选查询。
“in”:当会话开启时,若通过接口传入的环境参数有多个,且此处配置的环境参数存在于其中,系统则以筛选条件:表头=通过接口传入的环境参数的值,进行筛选查询。
环境参数:即环境参数的名称。
示例:
表格配置:
环境参数配置:
通过API传入对应环境参数名和值为:teacher:迈特。
控制台上配置:
字段名称:指导老师;
操作符:"=";
环境参数:teacher。
用户问答效果:
未命中变量策略配置为:不采纳
用户问句:小王的成绩是多少?
机器人回复:不及格。
说明因为根据环境参数“指导老师=迈特”筛选后,无小王的成绩信息,但根据环境参数“指导老师=迈特”筛选前,有小王的成绩信息,且此处选择“未命中变量策略为:不采纳”,所以系统会忽略环境变量设置进行问答,回答小王的成绩为:“不及格”;
未命中变量策略配置为:拒识
用户问句1:小王的成绩是多少?
机器人回复1:很抱歉,无法找到姓名为小王的学生的成绩信息。
说明因为根据环境参数“指导老师=迈特”筛选后,无小王的成绩信息,但此处选择“未命中变量策略为:拒识”,所以系统会拒绝识别对应用户问句,回答小王的成绩为:“很抱歉,无法找到姓名为小王的学生的成绩信息。”
用户问句2:张三的成绩是多少?
机器人回复2:张三的成绩为不及格,指导老师是迈特。
说明该示例中,指导老师这个表头对应的环境参数的值为“迈特”,故会先以“指导老师=迈特”为条件,过滤掉其它数据。可以看到示例的表格中有两个姓名都为“张三”的学生,但学号为“430485”的“张三”对应的指导老师不是“迈特”,被过滤掉了,所以不会出现在机器人回复内容中。