今天我们来一个没有代码的教程,无需编程基础也能学会搭建智能对话系统,在学习之前,我们先来了解一下对话系统的专业术语:
- 单轮对话:简单的一问一答,问题可以用一句话来描述,不依赖于上下文
- 召回率:机器人能回答的问题数与问题总数的比值,机器人能回答的问题越多,召回率越高
- 准确率:机器人正确回答的问题数与问题总数的比值
- 问题解决率:机器人成功解决的问题数与问题总数的比值
- 多轮对话:进行多次对话,每次对话考虑话语间的相互关系
- 任务完成率:成功结束的多轮对话数与多轮对话总数的比值
- 意图识别:识别提问者的潜在目的及其表达诉求
- 对话理解方法:基于语义解析(任务型)和基于语义匹配(问答型)
搭建智能对话系统,百度官方提供了三个步骤:
- 设置BOT技能
- 标注数据
- 训练测试
因为我们使用的是UNIT,所以我们先来了解一下改平台的专业术语:
- BOT:一个BOT对应一个特定场景下独立完整的对话系统,用来满足特定场景下的对话理解与交互需求
- 技能:某一个方向的对话能力,技能下包含对话意图与问答意图
- 意图:意图指在一个对话任务中BOT要理解的用户目的
- 词槽:满足用户对话意图时的关键信息或限定条件,可以理解为用户需要提供的筛选条件
- 词典:属于词槽的所有词汇组成词典
- 对话样本:用来给对话系统做示范,教它在用户说的具体句子里,该如何理解对话意图,哪个词是重要信息,对应的词槽是什么
- 对话模板:用来给对话系统按具体语法、句式做出的示范,教它在某一个特定语法、句式中,该如何理解对话意图,哪个词是重要信息,对应的词槽、特征词是什么
- 特征词:约束某条对话模板的匹配范围的同时,提供一定限度的泛化能力
- 问答对:问题与答案的组成,称为问答对
- 问答集:问答集是承载问答对的容器,与技能中问答意图的定义一一对应
- 训练模型:把BOT下所有的配置、标注的对话样本、对话模板等打包提交给UNIT平台来训练对话理解模型,训练的时长跟训练的对话样本量、对话模板量有关系,量越多训练时间越长。训练完成后沙盒环境中的BOT会自动加载并生效模型, -般需要几分钟时间。
- 沙盒环境:每个BOT都配有一个沙盒环境,将训练好的BOT模型生效到沙盒环境后,就可以进行效果验证了
- 生产环境:生产环境是UNIT平台在百度云.上为开发者提供的可定制的稳定的对话服务环境。
以上概念较多,可能会有没有整理完的地方,如有疑问,可以观看官方给的视频进行学习:http://abcxueyuan.cloud.baidu.com/#/courseDetail?id=14752
我们先进入UNIT的首页:
https://ai.baidu.com/unit/home
点击进入UNIT,在我的机器人里,新建机器人:
新建好BOT以后,我们找到"我的技能",点击新建技能: