kidx-nlu机器人程序的自然语言解析器

kidx-nlu的Python项目详细描述


#孩子们,NLU
[![在https://forum.rasa.com(https://img.shields.io/badge/forum join%20discussions brightgreen.svg)加入论坛](https://forum.rasa.com/?utm_source=badge&utm_medium=badge&utm_campaign=pr badge&utm_content=badge)
[![PYPI版本](https://badge.fury.io/py/rasa nlu.svg)(https://badge.fury.io/py/rasa nlu)
[![支持的Python版本](https://img.shields.io/pypi/pyversions/rasa_nlu.svg)(https://pypi.python.org/pypi/rasa_nlu)
[![构建状态](https://travis-ci.com/rasahq/rasa_nlu.svg?branch=master)(https://travis ci.com/rasahq/rasa_nlu)
[![覆盖状态](https://coveralls.io/repos/github/rasahq/rasa_nlu/badge.svg?branch=master)(https://coveralls.io/github/rasahq/rasa_nlu?分支=主)
[![文档状态](https://img.shields.io/badge/docs stable brightgreen.svg)(https://rasa.com/docs/nlu/)
[![自由和开放源码软件状态](https://app.fossa.io/api/projects/git%2bgithub.com%2frasahq%2frasa_nlu.svg?type=shield)(https://app.fossa.io/projects/git%2bgithub.com%2frasahq%2frasa_nlu?ref=badge_shield)

<;img align="right"height="244" src="https://www.rasa.com/assets/img/sara/sara open source lg.png">;


kidx nlu(自然语言理解)是一个理解短文本中所说内容的工具。
E:

>;*"我在市中心找一家墨西哥餐厅"*

tbot和语音应用程序,这里称为意图分类和实体提取。
要使用rasa,*您必须提供一些训练数据*
也就是说,您已经用它们的意图和实体标记了一组消息。
rasa然后使用机器学习来提取模式。概括为看不见的句子。

您可以将rasa nlu视为一组高级api,用于使用现有的nlp和ml库构建自己的语言解析器。

拉萨NLU有吗?**[了解kidx堆栈](http://kidx.ai/products/kidx stack/)

-**我想阅读详细的文档**[阅读文档](https://rasa.com/docs/nlu/)


-**我准备安装rasa nlu!**[安装](https://rasa.com/docs/nlu/installation/)

-**我有一个问题**[rasa社区论坛](https://forum.rasa.com)

-**我想贡献**[如何贡献](如何贡献)

重要提示

on不再支持python 2.7(下一个主要版本也不支持)。如果您想在python中使用kidx nlu
2.7,请从pypi(0.14)安装最新版本。



quick install


有关完整的安装说明,请参阅文档:[安装](https://rasa.com/docs/nlu/installation/)

**via doc来自Docker Hub的KER映像**

```
```
(有关更多Docker安装选项,请参阅[高级Docker安装]("高级Docker")

`````
Docker build-f docker/{测试Dockerfile}。-你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{你的{>``
(更多python-ins安装选项请参见[高级python安装]("高级python")


\q=hello'
```

"http://localhost:5000/status'
````


rasa.com/docs/n提供培训数据的lu/data format/)格式。但是作为一个快速的开始,执行下面的命令来训练一个新的模型:json格式:http://git.mykidx.com/nlp/kidx-nlu/raw/master/sample-configs/config-train-server-json.yml-curlL'localhost:5000/列车?project=test_model'
```

这将训练一个简单的基于关键字的模型(除了这个演示之外,其他都不可用)。有关更好的
管道,请参阅文档。

--url'localhost:5000/列车?project=test_model'
```

上述命令执行以下操作:
1。它获取repo中的一些示例数据
2。它将数据"发布"到`/train'端点,并将模型命名为` project=test_model`

您可以使用上面的`/status`命令进行检查。
```
curl'http://localhost:5000/parse?Q=hello&project=test懔model'
```



\
目标受众主要是开发机器人程序的人,他们从零开始或寻找替代[WIT](https://wit.ai)、[Luis](https://www.luis.ai)或[DialogFlow](https://dialogflow.com)的代替品。设置过程设计得尽可能简单。kidx nlu是用python编写的,但是您可以通过[http api]从任何语言使用它(https://rasa.com/docs/nlu/http/)。如果您的项目是用python编写的,那么您可以[简单地导入相关类](https://rasa.com/docs/nlu/python/)。如果您当前正在使用wit/luis/dialogflow,您只需:

1。从wit、luis或dialogflow下载应用程序数据,并将其输入kidx nlu
2。在您的计算机上运行kidx nlu,并将wit/luis api调用的url切换到"localhost:5000/parse"。


*您不必将数据交给fb/msft/goog
*您不必进行"https"调用来解析每一条消息。
*您可以优化模型,使其在特定的用例中工作良好。


[博客文章](https://blog.rasa.com/put-on-y)中更详细地阐述了这些要点我们的机器人服装和成为最起码的可行的机器人自己。
rasa是一套用于构建更高级机器人的工具,由[kidx ai]公司(https://kidx.ai)开发。kidx nlu是自然语言理解模块,也是第一个开源组件。

它支持什么语言?
"受监督的嵌入"管道可以在任何语言中工作。
如果要使用经过预训练的单词嵌入,可以为许多语言提供模型。详情请参见[此处](https://rasa.com/docs/nlu/languages/)

在[文档](https://rasa.com/docs/contribution/)中有更多关于代码和文档样式的信息。

创建一个描述要处理的功能的问题(或查看标签[需要帮助]的问题)(https://github.com/rasahq/kidx_nlu/issues?Q=IS%3问题+IS%3打开+标签%3A%22帮助+需要的%22))
2。编写代码、测试和文档
3。创建一个pull请求,描述您的更改

必要的改变或问题。您还将被要求签署[贡献者许可协议](https://cla assistant.io/rasahq/rasa戋nlu)

p install-e.
```

对于本地开发,请确保您安装了开发需求:
````
pip install-r alt_requirements/requirements\u dev.txt
pip install-e.
```

来测试安装使用(这将运行一个非常愚蠢的默认模型)。你需要[训练你自己的模型](https://rasa.com/docs/nlu/quickstart/)来做一些有用的事情!):

您可以通过在终端中键入"``docker-v```来检查是否安装了Docker。

ull
``

还有三个卷,您可能需要映射它们:`/app/projects`、`/app/logs`和`/app/data`。还可以通过将新的配置文件映射到卷`/app/config.json`,覆盖服务器使用的配置文件。要获得完整的Docker使用说明,请访问官方的[Docker Hub自述文件](https://hub.docker.com/r/rasa/rasa_nlu/)。

要在容器启动后测试运行下面的命令。有关使用http api的更多信息,请参见[此处](https://rasa.com/docs/nlu/http/endpoints)
`````
curl'http://localhost:5000/parse?Q=hello'
```

docker cloud
警告!设置Docker Cloud非常复杂-除非您已经配置了Docker Cloud节点(或群集)

[![部署到Docker Cloud](https://files.cloud.docker.com/images/deploy to dockercloud.svg)](https://cloud.docker.com/stack/deploy/?repo=https://github.com/rasahq/rasa_nlu/tree/master/docker)

mitie模型运行并将其放置在模型培训期间配置中可以引用的位置:
```
wget https://github.com/mit nlp/mitie/releases/download/v0.4/mitie-models-v0.2.tar.bz2
tar jxf mitie-models-v0.2.tar.bz2
```

sts,您需要将模型复制到rasa文件夹中:

```
cp mitie models/english/total_word_feature_extractor.dat kidx_nlu_root/dat a/
````

w version
发布新版本非常简单,因为包是由travis构建和分发的。要发布新版本,需要执行以下操作
1。更新[kidx-nlu/version.py](http://git.mykidx.com:8888/nlp/kidx-nlu/blob/master/rasa-nlu/version.py)以反映正确的版本号
2。编辑[changelog.rst](http://git.mykidx.com:8888/nlp/kidx-nlu/blob/master/changelog.rst),为版本创建一个新的节(例如通过从收集的主节中移动项),并创建一个新的主日志节
3。编辑[迁移指南](http://git.mykidx.com:8888/nlp/kidx-nlu/blob/master/docs/migrations.rst)以帮助用户更新到新版本
4。提交以上所有更改并标记一个新版本,例如使用
```
git tag-f 0.7.0-m"描述版本的有用行"
git push origin 0.7.0
````
travis将构建此标记并将包推送到[pypi](https://pypi.python.org/pypi/kidx-nlu)
5。只有当它是**主要关系很简单**,应该创建一个新的分支,指向与标记相同的提交,以允许将来的小补丁,例如
```
git checkout-b 0.7.x
git push origin 0.7.x
````

所有必需的依赖项:

```
docker build-f docker/dockerfile_dev。-t kidx-nlu-test

docker run--name kidx-nlu-test-v"$pwd":/app-it kidx-nlu-test:0.0.1a2 bash
`````

docker中的docker container start run命令之后
```
pip install-e。--no cache dir-i https://mirrors.aliyun.com/pypi/simple//
make lint
make test
````


look覆盖范围应该没有失败,并通过100%



版权所有2019
Rasa Technologies GmbH.[许可证副本](license.txt)。


项目依赖项的许可证列表可在
[库摘要](https://libraries.io/github/rasahq/rasa-nlu)底部找到。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从thymeleaf表单保存地址对象和用户对象的列表?   序列化java。时间使用Jackson将localdate转换为json   java删除LinearLayout和子级之间的空间   具有内存大小限制的Java队列   java尝试在freemarker中创建min(a,b)函数失败   askQuestion()方法中的Java逻辑问题   在Java客户端中接受服务器的自签名ssl证书   java如何正确更新字符串数组?   java如何使多个方法调用充当一个事务性工作单元   swing如何创建可滚动的Java框?   java如何使用SearchView在多个单词之间搜索?   初始化启动层java时出错。lang.module。FindException:模块javafx。找不到图形   java struts对隐藏字段的转义形式验证   用于构建FEM 3D解算器的java JOGL与JAVA3D   java mvn安装忽略hibernate映射文件   在C++和java之间使用JNI通信时,我在哪里保存“这个”?   java无法使用计时器重新绘制窗口   java我遇到一个找不到符号的错误,我无法解决   IntelliJIdea生成实体时java面临的问题   java在动态文本的末尾添加三个点