前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rasa 聊天机器人专栏开篇

Rasa 聊天机器人专栏开篇

作者头像
磐创AI
发布2019-12-06 14:36:07
2.6K0
发布2019-12-06 14:36:07
举报

专栏简介

Rasa 是最火的聊天机器人框架,是基于机器学习和自然语言处理技术开发的系统。Rasa 中文官方文档包括聊天机器人,上下文管理,多伦对话,意图识别,填槽,中文聊天机器人开发必备手册。

专栏目录

1.Rasa 聊天机器人专栏开篇:简介与安装

2.Rasa 聊天机器人专栏(一):基本原理介绍

3.Rasa 聊天机器人专栏(二):命令行界面

4.Rasa 聊天机器人专栏(三):架构介绍

5.Rasa 聊天机器人专栏(四):消息和语音通道

6.Rasa 聊天机器人专栏(五):模型评估

7.Rasa 聊天机器人专栏(六):验证数据

8.Rasa 聊天机器人专栏(七):运行服务

9.Rasa 聊天机器人专栏(八):在Docker上运行Rasa

10.Rasa 聊天机器人专栏(九):云存储

安装

Rasa 的推荐安装方式是通过pip:

代码语言:javascript
复制
pip install rasa-x --extra-index-url https://pypi.rasa.com/simple

这将同时安装Rasa和Rasa X。如果你不想使用Rasa X,只需要运行pip install Rasa

除非你已经安装了numpy和scipy,否则我们强烈建议你安装并使用Anaconda。

如果你想使用Rasa的开发版本,你可以从GitHub上获得:

代码语言:javascript
复制
git clone https://github.com/RasaHQ/rasa.git
cd rasa
pip install -r requirements.txt
pip install -e .

Windows系统下的环境要求

确保安装了Microsoft vc++编译器,这样python就可以编译任何依赖项。你可以从Visual Studio获得编译器。下载安装程序并在列表中选择vc++构建工具。

NLU 管道依赖项

Rasa NLU有用于识别意图和实体的不同组件,其中大多数都有一些额外的依赖项。

当你训练NLU模型时,Rasa将检查是否安装了所有必需的依赖项,并告诉你缺少哪一个依赖项。[选择管道]()的页面将帮助你选择要使用的管道。

注意: 如果你想确保为你可能需要的任何组件安装了依赖项,并且不介意有其他依赖项存在,那么你可以使用

代码语言:javascript
复制
pip install -r alt_requirements/requirements_full.txt

安装所有依赖项。

一个很好的开始:spaCy提供的pretrained embeddings

pretrained_embeddings_spacy管道组合了几个不同的库,是一个流行的选项。更多信息请查看spaCy文档。

你可以用以下命令安装:

代码语言:javascript
复制
pip install rasa[spacy]
python -m spacy download en_core_web_md
python -m spacy link en_core_web_md en

这将安装Rasa NLU、spacy及其英语语言模型。我们建议至少使用“中型”模型(_md),而不是spacy默认的小型en_core_web_sm模型。小模型运行需要更少的内存,但会在一定程度上降低意图分类(intent classification )性能。

第一选择:Tensorflow

要使用 supervised_embeddings管道,你需要安装Tensorflow,并安装sklearn-crfsuite库来进行实体识别。要做到这一点,只需运行以下命令:

代码语言:javascript
复制
pip install rasa

第二个选择:MITIE

MITIE后端对于小型数据集执行得很好,但是如果你有数百个示例,那么训练可能会花费很长时间。我们可能会在未来弃用MITIE后端。

首先,运行:

代码语言:javascript
复制
pip install git+https://github.com/mit-nlp/MITIE.git
pip install rasa[mitie]

然后下载MITIE模型。你所需要的文件是total_word_feature_extract .dat。可以将其保在任何地方。如果你想使用MITIE,你需要告诉它在哪里可以找到这个文件(在本例中,它保存在项目目录的data文件夹中)。

代码语言:javascript
复制
language: "en"

pipeline:
- name: "MitieNLP"
  model: "data/total_word_feature_extractor.dat"
- name: "MitieTokenizer"
- name: "MitieEntityExtractor"
- name: "EntitySynonymMapper"
- name: "RegexFeaturizer"
- name: "MitieFeaturizer"
- name: "SklearnIntentClassifier"

单独使用MITIE进行训练可能非常慢,但是你可以使用这种配置:

代码语言:javascript
复制
language: "en"

pipeline:
- name: "MitieNLP"
  model: "data/total_word_feature_extractor.dat"
- name: "MitieTokenizer"
- name: "MitieEntityExtractor"
- name: "EntitySynonymMapper"
- name: "RegexFeaturizer"
- name: "MitieIntentClassifier"

下一步

现在你已经安装好了所有需要的东西,准备s开始进入教程吧!

AI学习路线之Keras篇

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磐创AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
    • Windows系统下的环境要求
      • NLU 管道依赖项
        • 一个很好的开始:spaCy提供的pretrained embeddings
          • 第一选择:Tensorflow
            • 第二个选择:MITIE
              • 下一步
              相关产品与服务
              对象存储
              对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档