rasa搭建项目可用多轮对话系统(二)

上一篇内容带大家入门rasa,但是如果要真正的应用与实际项目,肯定是远远不够的。这篇带大家搭建公司可用的rasa系统。防止童鞋在windows中学习,我这里在win10中搭建。

数据准备

当接到一个项目开始,在没有原始数据时,面临这冷启动的问题,用chatito来生成rasa需要的意图识别数据。其实就是排列组合。

安装Nodejs

文件下载

官网地址:https://nodejs.org/
百度网盘:https://pan.baidu.com/s/1nv_8D1RM2-HObIXUQRTZrA
提取码:w1zv

双击安装即可

配置环境变量

我的电脑→属性→高级系统设置→环境变量→path中添加nodejs的安装路径
rasa搭建项目可用多轮对话系统(二)_第1张图片

验证安装:

rasa搭建项目可用多轮对话系统(二)_第2张图片
接下来生成命令可参考样例。
样例地址: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= --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的环境变量配置。
rasa搭建项目可用多轮对话系统(二)_第3张图片
在安装的目录bin下双击mingw32-get,
在这里插入图片描述在basic setup中选择下图选中的:
rasa搭建项目可用多轮对话系统(二)_第4张图片
点击installation下的apply changes,继续点击apply,安装过程可能有错误提示,重复apply过程即可

文件重命名

打开MinGW的安装目录,bin文件夹中的mingw32-make.exe重命名为make.exe。

验证环境

rasa搭建项目可用多轮对话系统(二)_第5张图片到这里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

服务开启后就可以进行,对话测试了。

输入你好后,返回:
rasa搭建项目可用多轮对话系统(二)_第6张图片

对与单个的实体识别是可以的。

rasa搭建项目可用多轮对话系统(二)_第7张图片
提出问题后,回答还是有缺陷,我输入我想选套餐一,就又跳回到了选套餐,我期望得到回答是确认回复
rasa搭建项目可用多轮对话系统(二)_第8张图片
rasa搭建项目可用多轮对话系统(二)_第9张图片这是可以实际应用的多轮对话项目demo,要想真正应用到实际项目中这些还是远远不够的,后面会慢慢介绍 在实体识别 意图识别等可优化的地方,gpu利用率低等问题。请关注后续内容。

你可能感兴趣的:(nlp)