nlu为bots培育了一个自然语言解析器
rasa-nlu的Python项目详细描述
拉萨NLU
RASANLU(自然语言理解)是一种理解短文本所说内容的工具。 例如,接收如下短消息:
< Buff行情>"我在市中心找一家墨西哥餐馆"
返回结构化数据,如:
intent: search_restaurant
entities:
- cuisine : Mexican
- location : center
RASA NLU主要用于构建聊天机器人和语音应用程序,这称为意图分类和实体提取。 要使用rasa,必须提供一些培训数据。 也就是说,一组已经用它们的意图和实体标记的消息。 然后,rasa使用机器学习来提取模式,并将其归纳为看不见的句子。
您可以将rasa nlu看作一组高级api,用于使用现有的nlp和ml库构建您自己的语言解析器。
如果您是RASA NLU的新手,并且想要创建一个bot,您应该从教程开始。
当前的github主版本不再支持python 2.7(也不支持
将是下一个主要版本)。如果要将rasa nlu与python一起使用
2.7,请安装PYPI(0.14)的最新版本。 有关完整的安装说明,请参阅文档:安装 通过Docker图像
来自Docker Hub: (有关更多Docker安装选项,请参见高级Docker安装
通过python库
来自PYPI: (有关更多python安装选项,请参见高级python安装重要提示
快速安装
docker run -p 5000:5000 rasa/rasa_nlu:latest-full
pip install rasa_nlu
python -m rasa_nlu.server &
基本测试
上面使用的任何一种方法都可以执行下面的命令。
curl 'http://localhost:5000/parse?q=hello'
示例使用
获取服务器状态
curl 'http://localhost:5000/status'
检查服务器版本
curl 'http://localhost:5000/version'
培训新车型
示例 以及培训数据的文档 提供格式。但是作为一个快速的开始,执行下面的命令来训练 新型号
json格式
curl 'https://raw.githubusercontent.com/RasaHQ/rasa_nlu/master/sample_configs/config_train_server_json.yml' | \
curl --request POST --header 'content-type: application/x-yml' --data-binary @- --url 'localhost:5000/train?project=test_model'
这将训练一个简单的基于关键字的模型(除了这个演示之外,其他都不可用)。为了更好 管道参考文档。
降价格式
wget 'https://raw.githubusercontent.com/RasaHQ/rasa_nlu/master/sample_configs/config_train_server_md.yml'
curl --request POST --header 'content-type: application/x-yml' --data-binary @config_train_server_md.yml --url 'localhost:5000/train?project=test_model'
wget 'https://raw.githubusercontent.com/RasaHQ/rasa_nlu/master/sample_configs/config_train_server_md.yml'
curl --request POST --header 'content-type: application/x-yml' --data-binary @config_train_server_md.yml --url 'localhost:5000/train?project=test_model'
上述命令执行以下操作:
- 它获取回购协议中的一些示例数据
- 它将数据发布到
/train
端点并命名模型project=test_model
< > > - 从WIT、Luis或DialogFlow下载应用程序数据并将其输入RASA NLU
- 在计算机上运行rasa nlu,并将wit/luis api调用的url切换到
localhost:5000/parse
< > > - 你不必把数据交给FB/MSFT/GOOG
- 您不必进行
https
调用来解析每条消息。 - 您可以调整模型,使其在特定的用例中工作良好。
- 创建一个描述要处理的功能的问题(或者查看标签的问题需要帮助)
- 编写代码、测试和文档
- 创建一个pull请求,描述您的更改 < > >
- 更新rasa-nlu/version.py以反映更正版本号
- 编辑changelog.rst.rst,为版本创建一个新的部分(例如从收集的主部分移动项目),并创建一个新的主日志部分
- 编辑迁移指南以帮助用户更新到新版本
- 提交所有上述更改并标记新版本,例如使用
7 travis将构建这个标签并将一个包推送到pypiintent: search_restaurant entities: - cuisine : Mexican - location : center
- 只有当它是一个主版本时,才应该创建一个指向与标记相同的提交的新分支,以允许将来的小补丁,例如。
8intent: search_restaurant entities: - cuisine : Mexican - location : center
< > >
分析新请求
在执行下面的命令之前,请确保上面的命令已经完成。您可以使用上面的/status
命令进行检查。
curl 'http://localhost:5000/parse?q=hello&project=test_model'
< H1> FAQ 是给谁的?
目标受众主要是开发机器人程序的人,他们从零开始,或者寻找替代机器人程序的替代品。或对话框流。设置过程设计得尽可能简单。rasa nlu是用python编写的,但是您可以通过http api从任何语言使用它。如果您的项目是用python编写的,您可以简单地导入相关类。如果您当前正在使用WIT/Luis/DialogFlow,您只需:
为什么我要使用RASA NLU?
这些要点在 博客文章。 RASA是一套用于构建更高级的机器人的工具,由 公司rasa。拉萨自然语言 了解模块,以及第一个开源组件。
它支持哪些语言?
监督人ed_embeddings管道可以在任何语言中工作。 如果您想使用预先训练过的单词嵌入,可以使用 多种语言。请参见此处的详细信息。
如何贡献
我们很高兴收到并合并您的贡献。有关代码和文档样式的更多信息,请参见文档
一般来说,这个过程相当简单:
拉取请求将由维护人员进行审查,维护人员可能会向您回复任何必要的更改或问题。您还将被要求签署贡献者许可协议
高级安装
高级Python
来自github:
intent: search_restaurant
entities:
- cuisine : Mexican
- location : center
0
对于本地开发,请确保安装了开发要求:
intent: search_restaurant
entities:
- cuisine : Mexican
- location : center
1
测试安装使用(这将运行一个非常愚蠢的默认模型。你需要训练自己的模型来做一些有用的事情!
高级docker
开始之前,请确保您的机器上有最新版本的Docker引擎。您可以在终端中键入docker-v
来检查是否安装了docker。
要查看所有可用的版本,请转到rasa docker hub,但要开始并以最快的速度运行:
docker run -p 5000:5000 rasa/rasa_nlu:latest-full
还有三个卷,您可能需要映射它们:/app/projects
,/app/logs
,以及/app/data
。还可以通过将新的配置文件映射到卷/app/config.json
来覆盖服务器使用的配置文件。有关完整的Docker使用说明,请访问官方的Docker Hub自述文件
要在容器启动后测试运行以下命令。有关使用http api的更多信息,请参见此处的
curl 'http://localhost:5000/parse?q=hello'
Docker云
警告!设置Docker Cloud相当复杂-除非您已经配置了Docker Cloud节点(或群集),否则不建议使用此方法。为Spacy&Mitie安装预先培训的型号
为了使用Spacy或Mitie后端,请确保您已安装了其中一个经过预培训的型号。
intent: search_restaurant
entities:
- cuisine : Mexican
- location : center
4
下载mitie模型运行并将其放置在您可以 模型培训期间配置中的参考:
intent: search_restaurant
entities:
- cuisine : Mexican
- location : center
5
如果要运行测试,需要将模型复制到rasa文件夹:
intent: search_restaurant
entities:
- cuisine : Mexican
- location : center
6
其中rasa nlu root
指向您的rasa安装目录。
开发内部构件
发布新版本的步骤
发布新版本非常简单,因为这些包是由travis构建和分发的。要发布新版本,需要执行以下操作
运行测试
为了运行测试,请确保安装了开发要求。
intent: search_restaurant
entities:
- cuisine : Mexican
- location : center
9
许可证
在2.0版apache许可下授权。版权所有2019 Rasa Technologies GmbH.许可证副本
项目依赖项的许可证列表可以在 底部 库摘要