对话模板使用讲解及常见问题处理
半醉半醒半疯Z 发布于2020-08 浏览:3107 回复:2
1
收藏
最后编辑于2021-01

对话模板文档链接:https://ai.baidu.com/forum/topic/show/940955

作用:模板用来精确识别语句,输入的语句符合模板才能识别到意图、词槽等信息。

 

名词解释

模板:识别语句,一般由一个或多个模板片段组成。

模板片段:配置词槽、特征词、固定汉字的地方。

单模板片段模板:必须严格按照模板片段配置的内容输入,才能识别到该模板。
                             比如模板:[D:user_time][D:user_loc]天气怎样

                            可识别句式:今天北京天气怎样

                            不能是其他格式,中间也不能插入其他内容

多模板片段模板:不同模板片段中间可以插入一些其他内容,模板片段内容的输入顺序可以不固定。
                             比如模板:[D:user_time]、[D:user_loc]、天气怎样,这是分三行的三个模板片段
                             可识别句式:今天北京天气怎样 / 北京今天天气怎样 / 北京在今天的天气怎样
                             以上只是部分举例,实际任意模板片段调换之后的句式都可以识别,也可在模板片段间增加内容。

必须匹配:选择是,表示想匹配这个模板,语句必须包含该模板片段的内容。

顺序:模板片段配置顺序,按顺序匹配模板,可以达到单模板片段模板的效果且模板片段间可以添加其他内容。

阈值:可识别部分内容字数 除以 内容总字数 > 阈值,语句可匹配该模板。
          可识别部分:词槽,特征词,固定汉字,口语化词。计算字数时,汉字是1,数字、字母、标点符号是0.5

解析返回所有词槽:选择是,表示匹配到该模板时,语句中包含意图下的某词槽,即使未在模板配置,也会识别该词槽。

模板优先级:最前面最上面优先级最高,最后面最下面优先级最低。

 

常见问题
1、使用单模板片段还是多模板片段?
答:一般而言,模板配置多模板片段,调整阈值,就能识别包含这些模板片段的任意组合句式。

2、阈值设置多少最好?
答:阈值的数值设置,根据模板识别的句式去确定,没有固定数值,满足需求即可,不要太低。

3、通配符怎么用?
答:一般不需要使用通配符,多模板片段加阈值控制就行。除非两个词槽或者特征词必须放在一个模板片段中,且中间需要识别不确定的内容,可以在中间用通配符。

4、一个意图下有两个同类词槽,模板怎么配置才能区分开?
答:根据需要识别的语句对词槽进行限定,将限定词与对应的词槽配置在一个模板片段中;比如,订火车票意图,有起点和终点两个同类词槽,为了在识别时能够区分两个地点,可以对终点进行限定,“到北京/去北京/回北京”。

5、不同意图的模板冲突怎么处理?
答:首先需要分析意图的拆分是否合理,看看冲突的意图是否可以合并;如果确实是两个独立的意图,那就证明两个意图需要识别的语句是不同的,将这种不同点配置为模板片段,设置为必须匹配,且提高阈值。如果上面的办法不能解决,再考虑配置词表黑名单,文档:https://ai.baidu.com/forum/topic/show/956944

6、怎么选择使用特征词还是词槽?
答:两者都是配置词典值去识别语句信息。差别是有无系统词典、是否返回识别结果,如果不考虑这两个差别,怎么选择都可以。

7、通配词槽怎么用?
答:通配词槽配置模板时,必须要被限定。
       文档见链接的h部分:https://ai.baidu.com/forum/topic/show/940955

       demo链接:https://ai.baidu.com/forum/topic/show/957131

8、query识别到了两个意图的模板怎么办?
答:以识别而言,一句query只能属于一个意图。如果query能够识别多个模板,需要调整模板,比如增加必须匹配的模板片段、调高阈值、使用词表黑名单。

9、怎么查看语句识别到了哪个模板?
答:qu_res_chosen(最终选择的识别结果),有个参数“id”,是模板id,模板界面可以通过id搜索。candidates(识别候选)下的每个结果,如果是模板匹配也有此参数,可以看看语句匹配了哪些模板。

10、怎么从识别结果中查看阈值?
答:candidates或者qu_res_chosen中,都有相关参数,threshold是模板设置的阈值,real_threshold是语句实际识别的阈值,real_threshold大于threshold才能识别到。可以根据识别结果中的数据调整query内容,计算阈值以加强对阈值的理解。

11、group_id是什么?
答:模板优先级的参数,数字越小优先级越高,界面显示越靠前靠上优先级越高。界面不展示优先级参数。

12、怎么配置词槽澄清模板?
答:因为系统有内置的词槽澄清模板(CMD_UPDATE_词槽名 意图的模板),所以,直接输入需要更改的词槽词典值即可。内置模板为了避免误识别等情况出现,阈值卡的较高,所以如果想在进行词槽澄清或者已识别词典值更改时,输入词典值的时候包含一些其他内容,就需要自己配置词槽澄清模板。添加对话模板,选择意图时下拉,会看到所有词槽的CMD_UPDATE澄清意图,选择需要的词槽意图,按照期望实现的澄清语句去配置模板即可。需要注意,这种澄清只能选择该词槽,没有其他词槽可选,可以使用固定文本和特征词。

收藏
点赞
1
个赞
共2条回复 最后由wangwei8638回复于2021-01
#3wangwei8638回复于2021-01

感谢分享

0
#2松子易回复于2020-09

欢迎大家体验

0
TOP
切换版块