本文共 2571 字,大约阅读时间需要 8 分钟。
接下来的五篇博客会从对话系统搭建五个步骤上仔细进行学习。
欢迎大家来一起学习(#.#)。2020.12.23插入: 这篇博客确实让我从整体上领会了对话系统搭建的流程。
2020.12.26插入;解决了排版乱的问题。
以下方法论其实就是在定义对话系统,后面的
example:
火车票预订的Chatbot 应该做&不应该做 回顾:机器人分类根据前面的状态图梳理任务要素
凭借自己的想象和仅有的逻辑构想如下图所示的对话逻辑。
撰写一个任务的完整对话,我们称之为“愉悦路径”,然后再“添油加醋”。 个人认为,类似于你设计一个主线任务,得先考虑理想情况下的任务完成路径,然后再一步步设置难度,比如说加个打怪,比如说加个等级限制等等,我称之为添油加醋。
总结:最大可能的模拟各种情况,通过自己的想象力构建不同的问答情况并作出解答,然后就是美化我们的对话系统,比如加个UI,比如更为合适的对话用词。
这个比较贴切我们的智能客服系统
一个法宝:尽可能罗列出所有可能的问答对。因为问答型就是这种问题和答案匹配的问题,问答对越全,也就是我们的知识库越全,越容易体现智能。
所有的故事线要保证真实性,尽可能还原真实场景对话,不能为了写故事线而写故事线。
简答来说就是绘制流程图
一个法宝:有点类似于面向过程程序设计,即将对话流程化。任务型和问答型机器人都有这种特点,但我感觉问答型要比知识型简单。毕竟不需要过多的信息也不用接入第三方服务。
以订票流程图为例:
其中的黄色模块非常笼统,可以更加细化
总结:业务流程图描述的是完整的业务流程,以业务处理过程为中心,一般没有数据的概念。流程图以动作推进业务,更加关注的是业务需要完成哪些操作。每一个动作基本上是“动词加名词”或者“动词”的形式。
泳道图又称跨职能流程图=流程图+动作执行的对象
泳道图后面也可以加上流程描述,更好地描述流程。
存在的价值:便于更好地设计/梳理流图
简单来说就是考虑真实场景下会有哪些情况出现,然后抽象出来给BOT
目标:把业务逻辑教给对话系统
==》每个技能都由相关的意图组成 ==》根据上述1的业务逻辑拆解完成技能下每个对话意图、问答意图的具体配置在这个环节中,对话系统需要学会:
#以订票为例:
PS:澄清话术是怎么问用户 总结:配置技能的对话意图/问答意图步骤:新建对话意图(eg:意图名称:BOOK_TICKET,意图别名:订票)
添加词槽
设置BOT回应(有三种回应方式:【答复】、【引导至对话意图】、【引导至问答意图】)
注意:
1.实际落地的时候需要在自己的业务代码里判断当前BOT解析的用户意图为订票,且用户提供了出发时间、出发站点、到达站点,这时你用这三个词槽值去火车票系统中找出符合条件的火车票, 并生成一个火车 票list返回给用户,供用户选择, 并完成支付。(任务型机器人)
2.引导至对话意图:是当前对话满足一定条件时把当前意图引导到另-一个对话意图,让用户进入另一个意图的对话中。
3.引导至问答意图:是当前对话满足一定条件时把当前意图引导到另一个问答意图,让用户直接在目标问答意图下提问并获取答案。(问答型机器人)
新建问答意图
设置预制技能(闲聊、问候、指令等)
在【效果优化--训练数据】里尽可能多地添加对话模板、对话样本。其中对话样本不要是我们想象出来的句子,而是要贴切真实的业务场景(故事线设计的真实性,同 四、设置故事线部分)。对话BOT就像个儿童,教的越多越聪明。
具体方法:
1.配置对话模板对话模板是对用户需求表达的一种规则抽象、配置好对话模板,可以快速识别不同表达方式的用户需求。比如:“我想订餐” ==》订餐就可以形成一个对话模板
2.标注对话样本
需求分析最后一个阶段收集到的对话数据导入UNIT平台,然后给它们逐条标注意图、词槽。这部分数据可以用于后续的样本学习,让对话机器人更加智能,获得更好的对话理解泛化能力。
3.添加问答对
在需求分析阶段(主要集中在梳理业务要素和确定故事线阶段)就收集整理的问答对数据集中导入UNIT平台。
问题解答:
将BOT技能配置、对话模板、对话样本等在系统里训练形成模型,然后将模型放到沙盒里就可以试着体验自己的对话系统了。 值得注意:UNIT背后的深度学习等技术会帮我们解决训练系统这个问题,但也需要我们反复验证发现问题并优化配置并不断补充对话样本,然后再训练模型。这是一个反复优化的过程。
体验展示(终于看到结果):
与真实的业务联动起来。
在【发布上线- -沙盒/生产环境】可以前往百度云创建应用,获取调用BOT的API Key/Secret Key。这部分可参考UNIT的API文档。UNIT已经与百度其他AI技术打通了 ,创建一个应用后,就可以方便的调用到百度AI的语音、图像识别等所有能力!
UNIT api文档请点下方链接:
转载地址:http://dfxki.baihongyu.com/