文章目录
1、什么是UNIT?
UNIT(Understanding and Interaction Technology)
是百度AI退出的可定制的对话开发系统。
开发文档中详细介绍了如何在UNIT上进行开发的过程,见开发文档
2、 专业术语
-
BOT
一个BOT
对应一个特定场景下独立完整的对话系统。用来满足特定场景下的对话理解与交互需求。通常按行业垂类划分。例如,银行信用卡办理BOT、电视遥控器BOT等。 -
技能
技能指在特定对话环境下的对话能力,分为自定义技能和系统技能。(如小度智能音箱的点歌功能就是一个技能。)-
自定义技能:完全由用户配置
-
系统技能:UNIT平台预置的通用能力,支持开发者后期干预
技能下包含 对话意图 与 问答意图,即BOT拥有的技能既可以解析用户对话的对话意图,也可以实现简单的FAQ问答。
-
-
对话技能
通过关键信息配置构建的对话能力。对话技能在多轮对话中可以准确理解用户需求(意图)和实现需求的关键信息(词槽),适用于需要根据不同对话意图和词槽信息给出不同对话答复的对话场景。能够在一些特定的对话场景下高精准地理解并满足用户需求,提升用户体验和满意度。比如问天气技能、订火车票技能、听音乐技能等等。 -
问答技能
问答技能适用于问题问法多样,但答案相对固定的对话场景,不需要根据用户对话话语中的关键信息来设定不同的答复内容。比如针对各种规则制度、政策法规等信息的问答技能。 -
意图
意图就是理解用户的目的。例如说“北京天气”,对话意图就是查天气。
定义BOT技能下的对话意图时需要设置对话意图管理的词槽(实现对话意图的必要条件),以及BOT理解对话意图后给用户的回应。
意图分为 对话意图 和 问答意图 ,问答意图用于圈定某一个范围或主题的问答对。 -
词槽
满足用户对话意图时的关键信息或限定条件,可以理解为用户需要提供的筛选条件。
例如在查询天气时,需要明确知道时间和地点才能给出具体的天气情况,那么词槽是地点和时间。 -
词典
属于词槽的所有词汇组成的词典
地点的词槽:{北京}
那地点词槽的词典:
北京、#帝都、上海、杭州、深圳、。。。。
#
开头的表示与前面词是同义词 -
对话样本
用来给对话系统做示范,教他在用户说的具体句子里,该如何理解对话意图,哪个词是重要信息,对应的词槽是什么。
例如,通过对话样本告诉机器人“三亚明天会不会有雨”与“三亚明日会下雨吗”都是询问天气的语句,其中“三亚”是对应城市city这个词槽,“明日”和“明天”都是time词槽。这样训练越多,机器的理解能力便越强。
即对话样本就是真实的问题样例。 -
对话样本集
是管理对话样本的集合,类似文件夹的作用,可以把不同来源的对话样本放在不同的对话样集中,也可以把不同时间段获取的对话样本分在不同的对话样本集中。 -
对话模板
用来给对话系统按具体语法、句式做出的示范。教他在某一个特定语法、句式中,该如何理解对话意图,哪个词是重要信息,对应的词槽,特征词是什么。
例如,“[D:sys_loc][D:sys_time]天气如何”,上述标注表示可以将所有满足“[城市]+[时间]+天气如何”这一规则的query解析为查天气的对话意图。
对话模板也可以是多条对话模板组成对话模板组,实际按片段去匹配用户query,实现更强的对话意图泛化匹配能力,提高模板对用户query的召回率。
即对话模板就是制定的对话规则。 -
特征词
约束某条对话模板的匹配范围:例如,天气、下雨、热等类别关键词
提供一定限度的泛化能力:例如订机票对话中“从北京到上海”的“到”就可以与“去、非”等助词一起作为特征词。活用特征词机制可以事半功倍的提高对话模板的精度和覆盖率。
特征词词典:开发者需自行导入词典,用于系统识别特征词。 -
问答对
问题与答案的组合,称为问答对。
问答对支持一对一、一对多、多对一和多对多
当某个问题对中包含多个答案时,答案随机呈现。 -
问答集
问答集是承载问答对的容器,与技能中问答意图的定义一一对应。
支持批量导入和在线编辑。 -
模型
是您配置对话逻辑、导入训练数据后通过UNIT平台内置的各种学习引擎训练出的技能核心文件,模型需生效至沙盒环境后才可发挥作用。 -
沙盒环境
沙盒环境是UNIT平台提供给开发者创建BOT、测试优化BOT模型的环境。每个BOT都配有一个沙盒环境,将训练好的BOT模型生效到沙盒环境后,就可以进行效果验证了,同时可接入到您自己的业务系统中使用。
可以生成多个模型版本,但只能选择一个放到沙盒环境中。 -
生产环境
生产环境是UNIT平台在百度云上为开发者提供的可定制的稳定的对话服务环境。 -
知识图谱
知识图谱其实就是语义网,描述真实世界中存在的各种实体或概念。它是知识的结构化表示,通常我们用一张巨大的由点和边组成的图来可视化表现知识图谱:点代表实体或概念,用全局唯一确定ID来标识,称为标识符(identier),点包含属性,称为值对(attribute-value pair, 又称AVP),用来刻画实体的内在特性,边代表实体间的关系,用来连接两个实体。 -
情感分析
情感分析是指为会话赋予感情值,可根据情感值的正负将情感倾向分为正面情感、中立情感和负面情感。
通常情况下 ,更关心负面情感,因为这明确代表了可改进的方向。
情感分析主要应用于机器人智能质检中,可作为一个指标判断会话质量。
评测情感分析的指标主要为情感分类的准确率以及负面情感的召回率。
3、几个概念
对话系统分类
对话系统可以分为三类:任务型、问答型、闲聊型
- 任务型: 有任务目标,且需要参数化请求
- 技术方案:精准、可控、复杂, 意图识别+多轮对话+对接公开API+知识图谱
- 应用:梯度导航、车载系统等
- 问答型: 有任务目标,无需参数化请求
- 技术方案:较精确、较可控、较简单,需自行挖掘问答对或意图识别+多轮对话+对接企业API+企业知识图谱
- 应用:智能客服类
- 闲聊型: 开放、不限定领域
- 技术方案:几乎完全不可控
检索式:构建一个闲聊库,检测类似的问题,给出答案
生成式:从闲聊库这里生成模型 - 应用:如儿童故事机,陪聊机器人
- 技术方案:几乎完全不可控
4、UNIT整体流程
- 定义对话系统
- 富集数据资源
- 搭建系统、训练、评估、调优
- 系统接入
- 运营迭代: AI加持的反馈分析与学习机制
5、多轮对话技能创建
UNIT地址: UNIT
一个简单对话技能的创建需要四个步骤:
-
创建技能
-
配置意图及词槽
-
配置训练数据
-
训练模型
1. 创建技能
在UNIT平台——>我的技能—>新建技能—>对话技能—>填写技能名称
创建完成后:
2. 配置意图及词槽
- 点击 进入洗照片技能, 意图管理 选择 新建对话意图
- 设置意图基本信息:填写意图名称(大写英文)和意图别名(中文)
- 设置关联词槽:
- 设置添加词槽方式, 填写词槽名称(小写字母)和词槽别名(中文)
- 选择词典:提供了自定义词典(上传txt文件)和系统词典(已预置常用词典),对于照片尺寸词典,不在系统词典中,因此需要上传自定义词典。
自定义词典demo文件如下:
简单输入几个词典值命名为尺寸.txt词典文件,上传:
- 设置词槽与意图管理属性:必填or非必填, 澄清话术
设置完成后:
- 设置添加词槽方式, 填写词槽名称(小写字母)和词槽别名(中文)
- 设置答复内容
填写完意图和词槽之后,需要配置回复及触发规则,当满足相应规则之后,即可触发相应回复。规则可以选择智能生成。
3. 配置训练数据
根据规则将一句话拆解成不同的部分标注好,再训练出对话模型,这样UNIT就可以理解用户的对话了。当你对话样本数据量不够多的时候,训练模板可以帮你快速搭建一个对话模型。
- 点击左边菜单栏训练数据-对话模板,新增一个对话模板
- 选择意图 PRINT
- 配置模板片段:
- 选择尺寸和数量作为模板片段,选择是否必须匹配
- 还可以插入特征词:
注:训练模板中可以配置特征词,来辅助匹配用户的Query,达到更好的理解效果
- 设置阈值
- 选择意图 PRINT
4. 训练模型
- 点击左侧 技能训练
- 点击 训练并生效新模型
- 训练完成,会在训练进度中显示
5. 验证效果
点击测试
在这里并不能识别“20张”,因为词典选择的是系统词典,纯数字。
6、技能发布
点击左侧的技能发布->沙盒/生产环境
如果您需要在自己的 app、pc、web 端调⽤你的技能对话服务,需要先获取 API key/Secret Key
点击上面的按钮后会打开百度云页面,进入百度云控制台。
- 创建应用并关联技能
填写应用名称,选择类型,点击立即创建。 - 创建完成后,点击应用详情,会显示API Key和Secret Key
技能对话API文档 API文档
7、发布机器人
在UNIT首页,点击我的机器人,创建一个新的机器人,输入名称,创建完成后:
点击创建的机器人,添加技能,就是上一步我们创建的技能,可以点击加入到该机器人中,在此处我们加入洗照片的技能。
点击发布上线,可以看到有发布到沙盒环境/生产环境
点击获取API Key/Secret Key,进入到百度智能云管理中心。