前言:本文是团员“堕天地狱兽”的第1篇输出,欢迎有更多的团员们也来分享你的AI干货~
1:概述
本文主要讲了我第一次优化客服机器人的过程。总的来说是通过学习,并对机器人进行测试与分析,替换了机器人原先的模型框架、增加了语料库、改变了项目的部署方式,提升了准确率。
2:调研和测试机器人
首先做的事情是使用并了解这款机器人,再加上之前我未接过AI类型的产品,百度搜索学习了一些聊天机器人的相关概念和NLP处理流程方面的知识。同时了解了这款机器人使用的模型:某大厂提供的自然语言认知服务,主要使用逻辑回归分类器来确定意图,以及条件随机字段(CRF)来确定实体,训练过程产生优化的分类器和CRF。
在机器人接收到用户发送的语句后,会把用户的语句传递到后台API,调用该认知服务去识别语句中的意图和实体,并返回给后台API,然后再去数据库中找对应的答案。具体执行过程如下图所示:
了解原理之后,我对机器人进行了测试,大概200多个问题,主要以咨询类的问题为主,准确率在75%左右。
3:替换全新框架
在学习了NLP的知识后,我提出语料库和语料处理等概念,同时也感觉到该大厂提供的自然语言认知服务可能不是很适用于我们公司机器人所对应的场景。深入了解后发现该服务使用的逻辑回归算法本质上是一个线性的分类器,处理不好有相似特征的情况,而我所测试的咨询类的问题中包含了大量相似的问题(个人感觉是相同的字在转化成计算机语言的时候,应该是相同的向量或者矩阵)。我意识到可能需要寻找一个新的模型来替换它,由于该机器人的市场定位问题,主要是给我们公司的客户免费使用的,因此没有使用付费的机器人API服务,如图灵机器人、百度UNIT等。
后来开发人员找到了某开源框架,下面简单介绍一下该框架,该框架由2部分组成,分别是语义理解和对话管理, 在机器人接受到用户发送的语句后,会把用户的语句传递到语义理解部分去识别意图和实体,再去对话管理部分寻找对应答案。具体执行过程如下图所示:
4:创建训练数据
因该模型需要训练,所以这里介绍一下如何创建训练数据。我们需要填写意图,与相应的训练语料。每个意图需要填写若干个训练的语料,以 "我该怎么登陆163油箱呢" 为例 ,我填写的意图是 "登录油箱", 并配置了5个训练语料,分别是 “登录油箱” ,“我该怎么登陆163油箱呢” ,“打开163油箱” ,“163油箱如何登陆” ,“怎么进163油箱” 。训练预料是填的越多越好,不过一般配置5个左右即可。
当配置好训练语料后,将训练语料放入模型进行训练。再次测试后,准确率提高了15%,对于这个结果,同事们还是比挺满意的。
5:结论
本次迭代主要优化了4个方面:
6:感悟
本项目使我进入了AI产品经理这个行业,通过自学,在没有人带领的情况下去做客服机器人的迭代和优化,有问题全靠百度。这篇文章中可能会有许多步骤和大厂的朋友所做的方法不一样,或者存在问题和错误,欢迎各位前辈指导,这也是我需要提升的地方。
-END-
以上内容,来自饭团“AI产品经理大本营”,点击这里可关注:http://fantuan.guokr.net/groups/219/ (如果遇到支付问题,请先关注饭团的官方微信服务号“fantuan-app”)
---------------------
作者:黄钊hanniman,图灵机器人-人才战略官,前腾讯产品经理,7年AI实战经验,10年互联网背景,微信公众号/知乎/在行ID“hanniman”,饭团“AI产品经理大本营”,分享人工智能相关原创干货,200页PPT《人工智能产品经理的新起点》被业内广泛好评,下载量1万+。