上一篇内容带大家入门rasa,但是如果要真正的应用与实际项目,肯定是远远不够的。这篇带大家搭建公司可用的rasa系统。防止童鞋在windows中学习,我这里在win10中搭建。
数据准备
当接到一个项目开始,在没有原始数据时,面临这冷启动的问题,用chatito来生成rasa需要的意图识别数据。其实就是排列组合。
安装Nodejs
文件下载
官网地址:https://nodejs.org/
百度网盘:https://pan.baidu.com/s/1nv_8D1RM2-HObIXUQRTZrA
提取码:w1zv
双击安装即可
配置环境变量
我的电脑→属性→高级系统设置→环境变量→path中添加nodejs的安装路径
验证安装:
接下来生成命令可参考样例。
样例地址:https://github.com/GaoQ1/chatito_gen_nlu_data
安装chatito
执行下列命令:
npm install -g chatito
配置.chatito文件
具体内容格式参考https://github.com/GaoQ1/chatito_gen_nlu_data/blob/master/trainClimateBot.chatito
生成命令
npx chatito <.chatito文件名> --format=<可以在rasa和snips格式中选择> --formatOptions=<json文件内容> --outputPath=<输出的位置>
样例参考:https://github.com/GaoQ1/chatito_gen_nlu_data
下载rasa demo样例
地址:https://github.com/GaoQ1/rasa_chatbot_cn
安装依赖的package
在你下载的项目同级目录下,执行下列命令:
pip install -r requirements.txt
make环境准备
下载文件
地址:http://www.mingw.org
visualcppbuildtools_full.exe文件的百度网盘地址:https://pan.baidu.com/s/1vInn2b0v6OTlJtMPnGH00Q
提取码:0wve
文件安装
双击mingw-get-setup.exe,记住安装路径,配置环境变量,在系统环境变量中添加安装的目录即可参考上述nodejs的环境变量配置。
在安装的目录bin下双击mingw32-get,
在basic setup中选择下图选中的:
点击installation下的apply changes,继续点击apply,安装过程可能有错误提示,重复apply过程即可
文件重命名
打开MinGW的安装目录,bin文件夹中的mingw32-make.exe重命名为make.exe。
验证环境
到这里make环境就准备好了。
bert-as-service环境
server安装,注意安装1.8.9版本:
pip install bert-serving-server==1.8.9
启动bert-as service服务
下载bert的中文模型文件
官网地址:https://github.com/google-research/bert
百度网盘:https://pan.baidu.com/s/1_Is7wZl4YA8BT7TFQpWOVQ
提取码:63lr
我的显卡是GTX 1050 Ti ,我的gpu的专用内存和共享内存都是4G,这里选择worker的数目是2,根据自己的环境,可自行调节
bert-serving-start -model_dir /tmp/english_L-12_H-768_A-12/ -num_worker=2
modedir就是下载的模型文件路径。
模型训练
cmd命令窗口,路径回到rasa的项目路径下,执行下列命令
make train
上述命令可能报错,报通讯错误检查bert-as-service服务,报dtype错误的的检查numpy版本,我本地卸载了numpy,重新安装numpy版本1.16
pip uninstall numpy
pip install numpy==1.16
运行model
执行下列命令:
make run
验证对话
执行下列命令:
make run-cmdline
服务开启后就可以进行,对话测试了。
输入你好后,返回:
对与单个的实体识别是可以的。
提出问题后,回答还是有缺陷,我输入我想选套餐一,就又跳回到了选套餐,我期望得到回答是确认回复
这是可以实际应用的多轮对话项目demo,要想真正应用到实际项目中这些还是远远不够的,后面会慢慢介绍 在实体识别 意图识别等可优化的地方,gpu利用率低等问题。请关注后续内容。