功能详述
添加问答对
为了满足不同用户的业务需求,unit提供了逐条添加问答对、批量导入问答对以及添加预置问题三种添加问答对的方式:
1. 当您仅需添加少量问答对时,建议选择逐条添加问答对;
2. 当您有大量问答对需要添加时,建议使用批量导入功能;
3. 同时unit也提供丰富的预置问题,当您缺少问答数据或是想提升配置效率时,不妨使用添加预置问题功能。
逐条添加问答对
在问答管理页面,点击【添加问答对】,进入问答对配置页面。
问答对配置共包括添加标签、配置问题、配置答案三部分。
添加标签
标签是一种问答对分类管理功能。为问答对添加标签后,可以在问答对数量较多时,有效的对问答对进行搜索和编辑,提高效率。
点击【添加标签】,支持选择已有标签或新建标签,每个问答对都支持添加多个标签,勾选标签后,点击【应用】即可添加成功。
我们来新建两个标签,然后添加问答对。
配置问题
unit提供了两种问题添加方式,普通问题和问题模板。
1. 当一个问题的表述有多种句式,且问题中的关键词基本没有同义词,建议使用普通问题功能,配置更简单;
例如,“介绍一下UNIT”,“UNIT是干嘛的?”等。
2. 当问题的表述句式相同,但问题中的关键词具有多个同义词的时候,建议使用问题模板,可以大幅提高您的配置效率;
例如:“酒店在哪?”中“酒店”的同义词有:旅馆、旅店、宾馆等,“在哪”的同义词有:在哪里、在什么地方等。
- 普通问题
标准问题是必填项,相似问题是标准问题的其他说法,用来提升问答对的召回能力。
首先我们在【标准问题】中输入:怎么退货啊?
注意:
当用户的表述与标准问题相似时,就可以回复问题对应的答案给用户了。但是,用户对于“怎么退货”这个问题的表述是多种多样的,例如:我想退货怎么办,退货政策,我要退货等等。这时由于用户表述与标准问题差异较大,就会出现机器人无法正确回复的问题。所以,我们要尽可能的将同一问题的其他表述都添加在相似问题中,这样不管用户怎么问,机器人就都能回答了。
接下来,我们将:“我想退货怎么办”、“退货政策”、“我要退货”添加到【相似问题】中
注意:
最多可添加999个相似问题。
- 问题模板
在没有真实对话数据,但需要快速启动项目的情况下,首选配置对话模板,可以快速让模型有一定的识别效果。精确识别语句,输入的语句符合模板就能识别到意图、词槽等信息。
我们先简单了解几个概念:
模板片段:由特征词、固定文本组成。一般情况下,一个特征词或固定文本即是一个模板片段。
特征词:当一个词具有多个同义表述时,我们将这些词加到一个词组里,就是特征词。例如:问题“支持退换货嘛?”中,“支持”的同义表述有:有、能、可以、享受等。
必须匹配:必须匹配选择【是】的模板片段,必须在用户问题中出现,才能命中当前模板。
阈值:
1. 当用户语句中可识别部分内容字数除以模板内容总字数 > 阈值时,语句可匹配该模板。
2. 可识别部分包括:词槽,特征词,固定汉字,口语化词。计算字数时,汉字是1,数字、字母、标点符号是0.5。
接下来我们来看如何为“支持七天无理由退换货嘛?”创建一个问题模板。
首先,这句话里有三个关键词,分别是:支持、七天无理由、退换货。其中,支持、退换货是有同义表述的,我们将其新建成两个特征词:
点击【新建问题模板】即可开始配置模版,选择【新建特征词】并在对话框中输入特征词信息,如下示例:
【名称】:kw_sale
【描述】:把“退换货”定义为特征词。
【词典值】:退换,换货,退换货
填写完成后确认,参照上述,为"支持”新建特征词。
【名称】:kw_support
【描述】:把"支持"定义为特征词。
【词典值】:支持、可以、享受
接下来,将三个词加入三个模板片段。
这时,我们发现,“支持七天无理由退换货嘛?”这句话中,“支持”和“退换货”是必须要有,我们才能完整理解句子意思的词。而“七天无理由”即使省略掉,也可以理解句子意思。
所以,我们分别在“支持”和“退换货”的片段前,【必须匹配】选项选【是】,而在【七天无理由】片段前【必须匹配】选项选【否】,这样无论用户说“支持退货吗?”还是说“可以七天无理由退换嘛”就都能命中这个模板。
我们还会发现一个问题,就是用户还可能会说:“七天无理由退货支持吗?”,这句话特征词的出现顺序发生了明显的变化,为了解决这个问题,UNIT为模板片段提供了顺序的概念:
当顺序为0时,意味着这个模板片段可以出现在用户问题中的任意位置;当顺序大于1时,模板按照从小到大的顺序,需要依次在用户问题中从左至右出现。我们来看两个例子:
此配置下,当用户说:“支持七天无理由退换嘛?”,才能命中模板。
此配置下,无论用户说:“支持七天无理由退换嘛?”、“七天无理由退换支持吗?”、“支持退换嘛,七天无理由的”、“退换支持吗?七天无理由的”都可以命中模板。
配置答案
UNIT提供了多种回复方式,来满足不同用户的业务需求:
a. 单条答案:当您需要统一的回复时,可以只配置一条答案,固定回复;
b. 多条答案随机回复:当您希望回复更生动拟人时,可以配置多条答案,机器人回复随机选择其中一条答案进行回复;
c. 设定触发规则,触发后回复指定答案:当您希望机器人按照一定的条件回复不同话术时,可以选择此方案。
比如,当用户问:“支持七天无理由退换嘛?”,除了“吊牌缺失、洗涤、破损以及七日后”这四种情况,其他都支持退换,我们可以这样设定回复:
- 【答案1】输入:满足相应条件时,消费者可申请”七天无理由退换货”。
- 点击【新增答案】输入【答案2】:吊牌缺失、洗涤、破损以及七日后不支持退换货。
- 点击【点击新增】,新建触发规则,规则组直接是“或”关系,规则之间是“且”关系。由于吊牌确实、洗涤、破损、七日后满足任意条件即可,所以我们新建四个规则组:
当用户的问题中包含“缺失、洗涤、破损以及七日后”等词时可通过设定好的触发规则让技能回复【答案2】。 未命中触发规则时,会回复默认答案【答案1】。
批量导入问答对
当您有大量问答对需要添加时,建议使用批量导入功能,使用教程见:问答对及问题模板导入说明
添加预置问答对
当您缺少问答数据或者想提升配置效率时,可以使用预置问题功能,您只需要补充好各个问答对的答案,即可快速进入人机对话。
点击【添加预置问题】,右侧弹出选择预置问题页面。通过筛选、关键词搜索来查找适合自身业务的问答对。
注意:
添加预置问题后,未配置答案的问答对后会有“!”提示,请及时完善问答对以避免影响正常使用。
预置问题添加后,问答对的编辑功能与普通问答对并无区别,问答对配置教程见:逐条添加问答对。
标签管理
在开头添加标签环节中,我们为每一个问答对添加了对应的标签,接下来在问答管理页面,通过按标签筛选导航栏,可以对标签进行添加、删除、查询、排序以及重命名。
技能设置
-
设置上面有召回阈值和top1阈值,把置信度分成了3个区间:
- query识别出的置信度比召回阈值低,识别失败没有回复。
- query识别出的置信度在中间,会给出相似的问题候选,问题个数也可以设置。
- query识别出的置信度比top1阈值高,即使有多个相似问题,只会给出置信度最高的唯一答案。
- 置信度无法设置,是模型识别出的。
- 非问答原句的置信度为0-40之间。
- 如若不期望出现问题候选,调整召回阈值和top1阈值为同一数值即可。
注意:
修改技能设置后,需要重新训练方可生效。
技能训练
配置了训练数据之后,还需要将模型部署到研发环境或者生产环境之后才能对话。
测试阶段,可以将模型训练并部署到研发环境
正式上线,建议将模型部署到生产环境
点击【部署】,先选择可用的生产环境,然后选择需要部署的地域,最后确认部署即可。
注意:
模型需要先部署研发环境之后才能选择生产环境部署。
对话测试
完成训练后,就可以和机器人进行对话了,我们一起来试试对话效果吧。
输入:支持七天无理由退换嘛?机器人即会回复之前配置好的答案。
测试完对话效果后,建议将技能添加到机器人中进行部署调用,详情见-对话机器人部署
数据看板
可查看技能配置数据,包括问答对数量、问题模板数、特征词数、标签数量。
在进行对话之后,可查看请求量、耗时和QPS以及热门问答top10数据。
日志分析
研发环境与生产环境可以分别记录最近30天且不超35万轮(用户一问模型一答算一轮)对话日志。开发者在调用对话API时,可自行存储全量对话日志。
注意:
1. 如上图所示,一行数据中,用户问、模型答属于一轮对话。灰色横线表示上下文无联系。
2. 对话日志转样本时,只会将首轮输入的语句转为对话样本。首轮是指没有上文时输入的语句。