Rasa Notes
rasa_nlu训练数据的生成
对话系统的冷启动都会遇到这样的问题,没有数据。
使用chatito来生成rasa_nlu意图识别需要的数据。这个数据需要反反复复的修改和完善。
在产生训练数据的时候需要确定的nlu的意图和实体类别,需要在domain.yml文件中配置intents和entities。
官方DOC
https://rasa.com/docs/rasa/core/policies/
mini rasa tutorial
- 创建一个新的项目
- 查看NLU培训数据
- 定义模型配置,写下第一个故事Story
- 定义这个故事story的作用域domain
- 训练模型
- 测试你写好的助手
创建新项目
路径指向一个新的空文件夹 cd path/to/a/blank/folder
在这个文件夹里面创建新的rasa项目
rasa init --no-prompt
文件夹中将会生成以下的文件:
init.py | 空文件用于定位 |
---|---|
actions.py | 用于定义动作(自定义脚本代码) |
config.yml | 配置NLU和core模型 |
credentials.yml | 连接到其他服务器的细节(不常用) |
data/nlu.md | 自定义NLU训练数据 |
data/stories.md | 自定义stories |
domain.yml | 助手的定义域domian |
endpoints.yml | 连接到fb message等的轨道(不常用) |
models/ |
模型及其参数文件 |
自定义的NLU模型 |
自定义NLU训练数据
1 |
|
自定义stories
查看写好的stories
1 |
|
自定义动作acitons
actions有两种类型:
- 直接回复,在domain.yml中定义templete
- 自定义操作,在aciton.py文件中添加
自定义domain
1 |
|
- intents:用户意图
- entities:实体
- slots:槽
- actions:助手说和做的事情
- templates:助手根据actions具体要做的事情
定义模型配置
配置文件config.yml
- police: core,决定对话状态跟踪策略
- pipeline: NLU,Natural Language Understanding and Intent Classification,理解当前用户输入,提取意图。
1 |
|
训练模型
使用data下面的训练数据
-- core/ -- stories.md -- nlu/ -- nlu.json
自动对模型进行训练,训练好的模型将会被打上时间戳time stamp作为新的模型,保存在models目录下面
rasa train
SHELL启动
rasa shell
可视化界面
rasa x
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!