----------------rasa框架搭建任务型聊天机器人的项目流程-----------------------
使用环境windows7、windows8、windows10
所用项目网址:https://github.com/Ma-Dan/rasa_bot
组件版本:
Python 3.6.2
TensorFlow1.8.0
Keras2.2.2
jieba0.39
scikit-learn0.19.2
mitie0.5.0
rasa-nlu0.13.4
rasa-core0.10.4
mitie0.5.0
rasa_addons==0.3.2
安装前的准备:
安装之前先建立一个虚拟环境并激活切换到里面(方便操作):
1.系统demo 的数据和代码路径:(直接下载github的项目到本地)
https://github.com/Ma-Dan/rasa_bot
2.安装MITIE ==> 教程参考网址: https://blog.csdn.net/ld326/article/details/80965689
a:安装cmake https://cmake.org/download/ 并配置环境变量
D:\cmake\cmake-3.12.0-rc2-win64-x64\bin 将bin目录放入系统环境变量path中
b:安装boost
>> cd D:\boost\boost_1_67_0\tools\build
>> bootstrap.bat
[注意:]–>如果出现cl不是内部或外部命令需要安装VisualStudio2017或者其它版本的环境,并配置环境变量
这个VisualStudio安装的时候比较大
>> .\b2 --prefix=D:\boost\bin install
这个命令会产生大约5-6G的空间,大约需40-60分钟
这里面会加载C++的一些库到新生成的bin目录中
将bin目录配置到系统环境path路径中
c:安装mitie 安装在anaconda/lib/site_packages目录下
>>pip install git+https://github.com/mit-nlp/MITIE.git (命令有点慢)
[快一点的方法:]
先直接将mitie下载下来在anaconda/lib/site_packages目录下
>> cd MITIE/tools/wordrep
>> mkdir build
>>cd build
>> cmake ..
>>cmake --build . --config Release
训练MITIE模型然后训练模型,得到total_word_feature_extractor.dat。
注意这一步训练会耗费几十GB的内存,大概需要两到三天的时间。
命令如下:
>> ./wordrep -e /path/to/your/folder_of_cutted_text_files
[这里我们直接使用网上训练好的数据total_word_feature_extractor.dat]
3.安装rasa-nlu
pip install rasa-nlu==0.13.4
4.rasa core的安装步骤:
Latest (Most recent github)
>>git clone https://github.com/RasaHQ/rasa_core.git
(直接下载到本地放在anaconda/lib/sitepackage里)
>>cd rasa_core
>>pip install -r requirements.txt
(requirements.txt这个文件可以将其中的tensorflow改为1.8.0,
graphviz==0.8,并添加rasa-core==0.10.4)
>>pip install -e .(我没有执行这条命令,可能执行后会将rasa_core升级)
Development (github & development dependencies)
>>pip install -r dev-requirements.txt
[注意:] (dev-requirements.txt这个文件的最后一行是加载docs-requirements.txt,若是不想下载太慢,直接删除文件中以下3行:
https://storage.googleapis.com/docs-theme/rasabaster-0.7.15.tar.gz
git+https://${GITHUB_TOKEN}:[email protected]/RasaHQ/sphinxcontrib-versioning.git#@version_list
git+https://github.com/RasaHQ/sphinx_rtd_theme.git#egg=sphinx_rtd_theme)
取而代之的是将这三个网址的文件直接下载来并分别解压,放在anaconda/lib/site_packages/rasa_core 下。
>>pip install -e .(我没执行)
rasa_core下载完成之后:
在rasa_core的根目录运行:
>>python setup.py install
rasa_nlu同理。
在虚拟环境的情况下跳进项目目录
我的目录为:F:\pythonVirtualWorkspace\rasa_bot
训练rasa_nlu:**加粗样式**
>>python bot.py train-nlu
Rasa-NLU测试(API调用测试,可用于前端程序调用Rasa-NLU服务)
启动Rasa-NLU服务:
>>python -m rasa_nlu.server -c data/nlu_model_config.json --path models
API调用测试:
>>curl -XPOST localhost:5000/parse -d '{"q":"你好", "project":"ivr", "model":"demo"}'
Rasa-Core训练
>>python bot.py train-dialogue
Rasa-Core测试(API调用测试,可用于前端程序调用ChatBot服务)
>>python -m rasa_core.server -p 5005 -d models/dialogue -u models/ivr/demo -o out.log
>>curl -XPOST localhost:5005/conversations/default/parse -d '{"query":"帮我查话费"}'
>>curl -XPOST localhost:5005/conversations/default/continue -d '{"executed_action": "utter_greet", "events": []}'
ChatBot测试(命令行直接跟ChatBot对话)
>>python bot.py run
ChatBot在线学习(命令行交互训练ChatBot对话)
>>python bot.py online-train