首先,需要说明的是,这里的增强是在rasa_nlu以HTTP server的方式启动,并对外提供服务时。通过不断的调用/parse的时候,才能实施的增强方案。
首先明确增强的思路
启动rasa_nlu.server时,指定--reponse_logs参数,收集/parse解析时的数据;
找到logs目录收集到的json日志;
提取日志中的text和对应的意图和实体,并整理成nlu_data的json格式;
使用可视化nlu data的工具,使用web页面查看example及对应的意图和实体。其中的意图和实体可以在线修改,然后再下载到本地。
工具:https://github.com/RasaHQ/rasa-nlu-trainer
识别错误的数据修改后,添加到先前的数据集中,重新训练模型。
然后具体的做法
按照思路,使用python定期抽取日志内容;
使用npm安装,并启动本地的可视化工具,把提取到的data上传到工程中;
安排人手,使用可视化工具,筛检数据并修改错误的预测;
下载修改后的data,并使用python追加到旧数据集中;
使用rasa_nlu.train启动训练,等待训练完成。
以上,由于rasa_nlu每次都会使用最新的模型,对用户查询进行意图预测和实体的提取,因此完成训练后,无需其他操作。
OK。至此,基本上完成了数据的增强工作。聪明且较真的你会说,这后台还要大量的人工干预,是不是不好。太累,工作比较繁琐。这里要说的是,有些事情必须有人去做。不然哪来的监督。有没有更好的方法,有!不过,这需要看具体的场景,若是用户愿意参与改进,可以把这部分指导训练的活,分散给使用的用户。
接下来,会继续记录。如何在用户端,收集相关的指导、可改善模型的信息。
领取专属 10元无门槛券
私享最新 技术干货