rasa算法_GitHub - tedljw/rasa_test_ch: 基于rasa的多轮问答学习和测试

rasa_test_ch

基于rasa的多轮问答学习和测试

rasa core 对话管理

rasa nlu 语义理解:意图识别和实体识别

安装相关组件包

pip install rasa_nlu==0.13.4

pip install rasa_core==0.11.4

pip install rasa_core_sdk==0.11.4

安装语料训练工具

yum install npm

npm install -g chatito

图像化的语料生成工具:npm i -g rasa-nlu-trainer

准备语料数据,编写需要的格式的语料数据。

rasa_core部分:

stories.md :编写对话场景流程 (-s)

domain.md :意图,动作,反馈以及实体和槽,机器知识库。(-d)

rasa_nlu部分:

nlu_config.yml :nlu模型算法处理流程 (-c)

data.json :训练数据(--data)

训练词向量模型,训练rasa_core模型,训练自己的rasa_nlu模型。

训练rasa_nlu:python -m rasa_nlu.train -c my_config.yml --data data/bank.json --path models

训练rasa_core: python -m rasa_core.train -d data/bank_domain.yml -s data/bank_story.md -o models/dialogue

运行:python -m rasa_core.run -d models/dialogue -u models/default/model_20181219-155903/

单独运行core:python -m rasa_core.run -d models/dialogue

测试:

/greet

/ask_money{"money": "人民币"}

单独运行nlu:// 启动服务

python -m rasa_nlu.server -c my_config.yml --path models

//测试服务:

curl -XPOST localhost:5000/parse -d '{"q":我想去柜台取人民币?", "project": "", "model": "model_20180912-202427"}' | python -mjson.tool

语料(data.json )标注平台:

chattio用来应对没有数据冷启动时的训练数据,如果有数据建议使用rasa-nlu-trainerr平台标注。

rasa-nlu-trainer -p 10000 --source data/bank.json

domain.md 编写:

标识

说明

intents

意图

entities

实体

slots

templates

回答模板

actions

动作

stories.md 编写:

符号

说明

##

story标题

*

意图

-

动作

自定义 action 添加 :

事先需要安装 rasa_core_sdk

action分为3大类:

1.default action:(action_listen,action_restart,action_default_fallback)

2.utter action:以utter_开头的action,用于给用户发送信息。

3.custom action:用户自定义的action

action服务的配置endpoints.yml:

action_endpoint:

url: "http://localhost:5055/webhook"

在core的运行命令之后加上:--endpoints endpoints.yml

python -m rasa_core.run -d models/dialogue/ -u models/default/model_20181220-110910/ --endpoints endpoints.yml

同时如果你自定义的action文件名叫actions.py,那么,你需要事先运行如下命令启动你的action:

python -m rasa_core_sdk.endpoint --actions actions

action_default_fallback 可用于回滚操作 具体参看fallback actions

开通rest交互方法

需添加credentials.yml文件,文件的内容为:

rest:

运行如下命令,将rest跑起来:

python -m rasa_core.run -d models/dialogue -u models/default/model_20190110-150650/ --endpoints endpoints.yml --port 5002 --credentials credentials.yml

发送的json来同rasa进行交互:

curl -XPOST http://localhost:5002/webhooks/rest/webhook -d '{"sender": "user1", "message": "你好"}' -H "Content-type: application/json"

通过sender来控制通话的连贯性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值