Rasa的前期配置(2.x)

Rasa的前期配置(2.x)

写作原因

在研究chatbot的时候,找到了Rasa这个Apache License的对话机器人,所以想进行开发。但是搜索网络文章,大抵都是几年前的,那时的Rasa还是Rasa Core与Rasa NLU分离的状态,与现在的Rasa有了很大不同,所以想写这个导引,一是记录自己的学习经历,二是为之后的人在环境配置上减少一些时间。

同时,对初学者来说,可能Rasa X是个非常好用的工具,但是Rasa X只支持2.x版本,所以本文也是针对2.x版本进行介绍。

环境配置

本人习惯使用conda作为工具

conda create -n rasa python=3.8

之后不要忘记安装pip(第一次conda虚拟环境需要安装pip,否则用的仍然是base的pip)

conda install pip

Rasa 2.x只支持3.6-3.8,所以需要指定python版本,并且需要用到cuda10.1

这个命令安装Rasa X同时安装Rasa

pip install rasa-x --extra-index-url https://pypi.rasa.com/simple

这边挺容易失败,多试几次。

在Rasa中我用到了SpaCy,所以需要下载相关包,

pip install -U pip setuptools wheel
pip install -U spacy[cuda113,transformers,lookups]
python -m spacy download zh_core_web_trf

第三个包比较大,所以不好安装,基本很难成功,建议直接github开代理下载之后传到服务器用pip安装。

Rasa初始化

rasa init即可,在当前目录创建项目,所以可以先mkdir一个目录。初始化以后,一个项目就出现了,此时需要设置的部分有config.yml,stories.yml,rules.yml,domain.yml,nlu.yml。其中前两个需要关注。

其中,stories的数据需要标注intent,这个数据需要自己标记。如果想使用无标记数据,可以使用端到端方式,policy部分需要选TEDPolicy

给予一个端到端的config.yml

language: zh
pipeline:
- name: SpacyNLP
  model: zh_core_web_lg
- name: SpacyTokenizer
- name: SpacyEntityExtractor
- name: SpacyFeaturizer
  pooling: mean
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
  analyzer: char_wb
  min_ngram: 1
  max_ngram: 4
- name: DIETClassifier
  epochs: 100
- name: EntitySynonymMapper
- name: ResponseSelector
  epochs: 100
  retrieval_intent: faq
- name: ResponseSelector
  epochs: 100
  retriev
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值