一、前言
正如一辆车的运行需要很多的油料的配合,对话机器人的运行一样需要很多“油料”的配合。对话机器人的“油料”就是对话机器人中的数据,今天我们就来聊聊给新机器人怎么“加油”的问题。
二、什么是对话机器人冷启动
计算机启动可以分为冷启动和热启动,冷启动指的是计算机从断电到通电的一种启动方式,计算机在冷启动的过程中,内存中的数值是一些随机量。启动完成后的计算机会在内存中不断写入数据,让计算机运行各种软件,满足用户的各种使用需要。
在对话机器人中,同样存在一个数据从无到有,逐渐满足用户使用需要的过程,这个过程就是对话机器人的冷启动。对话机器人的冷启动是指对话机器人完成系统搭建后,在上线前没有经过生产、标注的结构化知识库数据,只有一些用户记录、历史知识点等数据,甚至只有行业专家的经验时,如何通过流程、工具快速完成知识库梳理、语料积累,让机器人能够满足上线要求的流程。
冷启动的过程需要ai训练师和业务人员的配合,针对不同的冷启动类型完成对机器人服务能力的定义、数据的生产、效果测试等工作,让机器人能力满足上线标准。完成冷启动后的机器人就会转入日产运营的流程,通过对系统日志的标注、分析、问题解决、验证效果的线上运营闭环持续迭代。
二、对话机器人冷启动类型
不同的机器人冷启动的流程存在差异,有通过历史用户-坐席对话记录或者留言板数据的从下往上构建方式,有根据业务人员的经验从上往下构建的方式。以是否有历史数据及现成的结构化数据两个维度对冷启动类型通过swot区分,可以根据接入对话机器人客户拥有的数据情况简单将冷启动分为四类:
类型用户问句知识点场景说明:
类型一:一般为之前没有上线过客户服务类产品,第一次接入客户服务类产品就接入对话机器人
类型二:一般为业务人员人工根据自己的业务经验梳理了部分知识点
类型三:一般为之前有上线留言板或者意见反馈入口给用户,收集用户反馈意见
类型四:一般为:1.原本有上线过对话机器人,因为技术原因需要升级服务,提升服务效果
2.业务人员人工根据自己的业务经验对之前的用户问句记录进行了整理,梳理出了部分知识点
三、冷启动前期工作
在开始对话机器人冷启动工作前,有很多前置的工作需要完成。这些工作的目的一方面是为了在后面实操过程中作为ai训练师的操作的指引,另一方面也是为了机器人上线准备除知识库之外的数据。
1.词库数据梳理
词是语言组成的基础,理解用户的词是对话机器人理解用户表述内容的前提。在对话机器人中词有以下应用:
1.对用户问进行预处理:机器人在解析的过程中为了减少后续模块的识别压力和识别的需要,会对用户问进行停用词过滤、同义词转换、分词。
2.价值发掘、风险防范:在业务上对于高价值、风险用户需要进行业务上专门的处理,例如:咨询高价值产品客户转人工、监管合规要求转人工等。
3.统一业务口径:将专有名词统一应用,能够避免运营人员针对统一产品多种表达导致用户理解困难。
这些功能的实现都依赖于对话机器人的词库数据,因此在对话机器人的系统中需要整理的词数据包括:专有名词、停用词、同义词、敏感词等组成。
2.定义机器人服务形象
机器人形象是指用户在使用机器人时,用户心理上产生的对机器人的主观印象。明确的机器人形象能够统一用户体验,方便机器人与用户更好的沟通,是品牌形象的一部分。机器人形象包括机器人形象模式和形象风格,通过模式与形象风格的组合确定机器人形象后,运营人员可以根据机器人形象定义机器人的名称,设计答案和话术风格等。
机器人形象模式包括:
1)拟人形象:通常会以工号或者模糊形象出现,采用和坐席相同的口吻,给用户模拟一种真人服务的体验。
2)机器人形象:明确向用户表达自己的对话机器人,明确自己能解决问题的范围,方便不喜欢人工的客户交互。
机器人形象风格则包括可爱、严肃等....
3.知识点句式结构规则
机器人在服务用户时,会将知识点作为推荐展现给用户,句式结构统一的知识点,在展现时能够方便用户迅速发现知识点之间的差异,利于理解。
另外,运营人员在管理知识点统一的句式能够避免知识点的重新添加,在搜索时提高搜索效率
4.知识点业务定义
知识点的业务定义是指对什么知识点能解决用户的什么业务问题进行定义,明确知识点的业务对应的业务场景。
1)、标准问题应该句子结构完整,语义不会产生歧义
错误eg1:怎么退款----缺少主语,不清楚什么业务退款问题
错误eg2:加急审核----缺状语,不清楚加急审核是失败了还是催通过
错误eg3: 短信接收失败----歧义,可以对应是是用户收不到客户的短信也可以是客户收不到云片的短信
2.业务范围明确,不存在业务范围交叉情况
错误eg:为什么提示不匹配----是业务A不匹配还是业务B不匹配
...
5.答案编写规则
准确识别用户的意图只是好的服务开始,答案展示的好坏直接影响用户的体验。好的答案需要对答案的结构及展现的样式进行专门的设计。
5.1答案的结构
eg1:称呼+答案+致谢
您好,您可以通过官网上的找回密码入口找回您的密码,谢谢
eg2:称呼+问题+答案+致谢
您好,忘记密码可以通过官网上的找回密码入口找回您的密码,谢谢
5.2答案的样式
一些答案为了更好的让用户理解,可以通过卡片化、图形化的组件进行展示,也可以在文字的答案中插入配图、视频等形式方便用户理解。
四、对话机器人冷启动流程
1.类型1冷启动(无知识点、无对话日志)
难点:1.业务流程需要梳理
2.需要人工扩写语料
流程:1.知识点整理,根据梳理的业务流程人工定义知识点
2.人工扩写语料,根据整理的知识点人工扩写语料作为训练数据。人工扩写的语料质量、数量决定了模型初始的准确率和后续语料挖掘的效果。如果质量和数量均不理想,等于我们的起跑线就落后了。
1)、语料说法丰富,避免句式单一,例如疑问句的各种句式结构
2)、特征词尽可能遍历,例如防骚扰词的各种说法
2.类型2冷启动(有知识点,无对话日志)
难点:1.知识点定义可能不规范
2.知识点缺漏,覆盖不完全
3.业务流程梳理可能缺失
4.需要人工扩写语料
流程:1.复核知识点规范
2.人工扩写语料
3.类型3冷启动(有知识点、有对话日志)
难点:1.知识点定义可能不规范、
2.知识点缺漏,覆盖不完全
3.前期标注的数据可能存在脏数据
4.历史对话日志存在大量噪音,需要进行处理才能使用
5.对话日志标注需要大量的人力投入
流程:1.复核知识点规范
2.对话日志数据预处理。根据定义的预处理规则对历史对话日志进行处理,如:1.符号过滤2.去重3.过长、过短日志过滤
3.训练小语料模型,对处理后的对话日志进行跑测,辅助运营人员标注
4.对处理后的对话日志聚类
5.人工复核聚类结果,筛选出可以作为新知识点的聚类结果
6.重复3、4、5
4.类型4冷启动(无知识点,有对话日志)
难点:1.日历对话日志存在大量噪音,需要进行处理才能使用
2.对话日志标注需要大量的人力投入
3.需要对业务流程进行梳理
流程:1.对话日志数据预处理
2.对处理后的对话日志聚类
3.人工复核聚类结果,筛选出可以作为新知识的聚类结果
4.训练小语料模型辅助标注
5.重复2、3、4步骤
五、冷启动效果验证及阈值评估
那么什么样的对话机器人是好的对话机器人,就是我们期望机器人能够回答的都回答准确,不能回答的问题不乱回答。但是如何通过指标量化呢?
1.测试语料标注
小时候,上学的时候我们就会通过练习去学习知识,然后在考试时,对我们的学习情况进行测验,通过得分评估我们对知识的掌握情况。对于对话机器人来说同样存在模拟题和测试题,我们在冷启动过程中准备的训练语料就是机器人的模拟题,所以我们要测试对话机器人冷启动的效果,还需要提前准备一份标注好的数据用来作为测试题。
测试集由两部分组成,一部分是业务的测试集,用来反映机器人对知识库内容的学习情况,另一部分为非业务的测试语料,用来测试模型的鲁棒性。
1)、业务测试集为没有参与机器人问答模型训练的知识点相似问法
2)、非业务测试语料为机器人知识库在设计时就没考虑要解决问题的相似说法
2.测试关注指标
准备好测试集后,当模型完成训练后,我们通过模型将测试集的结果全部跑出来后即可计算出模型的指标
准确率=机器人出话准确数/机器人出话数
召回率=机器人出话准确数/业务测试集数量
f1测度=准确率*召回率*2/(准确率+召回率)
模型效果评估报告:
模型的评估报告就是根据模型的版本,将不同阈值的准确率、召回率及F1测度进行记录的报告,用来判断模型是否满足上线条件。只有模型满足了上线的f1测度要求,冷启动的过程才算完成。此时,对话机器人就会开始上线面向用户进行服务,转为日常运营。
六、对话机器人冷启动常见工具
对话机器人的冷启动过程是需要大量ai训练师人力投入的,如何提升ai训练师的工作效率,减少ai训练师投入能够显著降低项目实施成本,也可以在保证ai训练师资源不变的情况下承接更多的业务。所以在实际的工作中往往会应用很多工具对冷启动流程进行优化。下面就和大家简单说几个:
1.语料扩写工具
在类型一、二中都存在大量的人工扩写语料过程,如果全部通过人工的方式进行扩写,会导致冷启动的周期过程。通过语料扩写工作能够帮助ai训练师在缺训练数据时,快速、自动的扩写出大量语料,减少人工扩写语料的工作量,缩短冷启动的周期。
语料扩写工具由两部分组成,一部分为生成,另一部分为评估,工具通过生成工具快速生成大批量的预料,然后通过评估工具过滤掉大部分句式不同,语义不明的垃圾扩写数据,然后给到运营人员进行标注。目前常见的生成有词库+句式模板和sqe2sqe的生成模型两类,评估则有规则过滤和LM模型过滤两类。
2.新知识发掘工具
新知识发掘工具是应用于类型三、四冷启动的工具,它的本质就是一个聚类算法,将待聚类的数据输入后根据数据与质心的空间距离进行分类,目前常见的聚类算法有k-mean等。
ai训练师将聚类结果中同类数据标注后即可批量加入训练数据,能够大大提升ai训练师发现新知识及数据标注的效率。
3.标注辅助工具
标注辅助工具则经过封装的半监督学习服务,即通过前期标注的少量数据训练一个小模型后,对待标注的数据进行跑测得到top1-5的候选结果。通过标注辅助工具就将语料的标注工作转换为判断工作,能够大大提升数据标注的效率
4.知识点&语料冲突检查工具
知识库的知识点在快速扩增的时候,ai训练师往往由于协作问题导致知识库中知识点重复,即一个知识点的多种表述被分别作为标准问新增到知识库中。另外,语料在标注过程中知识点存在调整、对应业务范围调整,但是语料没有对应进行调整的工作。此时可以通过该工作作为冷启动闭环的检查工具。
七、结语
对话机器人的技术目前已经成熟,但是目前制约很多公司对话机器人应用的还是他们的运营流程。本篇作为对话机器人运营篇的第一篇希望对大家能够有用。