磐创AI分享
来源 | TensorFlow
作者 | TFCommunity
DeepPavlov 是一个基于 TensorFlow、Keras 和 PyTorch 构建的开源对话式 AI 库。
DeepPavlov 旨在:
- 开发可用于生产环境的聊天机器人和复杂的对话系统;
- 研究 NLP(尤其是对话系统)领域。
安装
1. 我们支持 Linux 与 Windows 平台,以及 Python 3.6 和 Python 3.7
- 不支持 Python 3.5!
- Windows上的安装需要 Git(例如 git)和安装了适用于 Visual Studio 2015、2017 的 Microsoft Visual C++ 可再发行软件包!
2. 创建并激活虚拟环境:
-
Linux
python -m venv env
source ./env/bin/activate
复制
-
Windows
python -m venv env
.\env\Scripts\activate.bat
复制
3. 在环境中安装软件包:
pip install deeppavlov
复制
快速入门
DeepPavlov 中有很多很棒的经过预训练的 NLP 模型。每个模型均由其配置文件确定。
可以在
deeppavlov.configs
(Python) 的文档页面上找到模型列表:
from deeppavlov import configs
复制
确定了模型(+ 配置文件)后,可以通过两种方式来训练、评估模型并进行推断:
- 通过命令行界面 (CLI);
- 通过 Python。
-
文档页面
http://docs.deeppavlov.ai/en/master/features/overview.html
-
命令行界面 (CLI)
https://github.com/deepmipt/DeepPavlov#command-line-interface-cli
-
Python
https://github.com/deepmipt/DeepPavlov#python
GPU 要求
要在 GPU 上运行受支持的 DeepPavlov 模型,您应该在主机上安装 CUDA 10.0,并在 Python 环境中安装支持 GPU 的 TensorFlow (
tensorflow-gpu
)。当前支持的 TensorFlow 版本是 1.15.2。
在安装模型的软件包之前先运行:
pip install tensorflow-gpu==1.15.2
复制
来安装所需的
tensorflow-gpu
版本。
在选择接口之前,先安装模型的软件包要求 (CLI):
python -m deeppavlov install <config_path>
复制
- 其中
是所选模型的配置文件的路径(例如<config_path>
)或者不带 .json 扩展名的名称(例如deeppavlov/configs/ner/slotfill_dstc2.json
)slotfill_dstc2
命令行界面 (CLI)
请运行以下命令通过 CLI 以交互方式从模型获取预测:
python -m deeppavlov interact <config_path> [-d]
复制
-
下载所需数据 - 预训练的模型文件和嵌入向量(可选)。-d
您可以使用相同的简单方式进行训练:
python -m deeppavlov train <config_path> [-d]
复制
无论是否存在
-d
标记,都将下载数据集。
您也可以使用您自己的数据进行训练,需要在训练配置文档中修改数据集读取器路径。数据格式已在相应的模型文档页面中指定。
-
训练配置文档
http://docs.deeppavlov.ai/en/master/intro/config_description.html#train-config
您还可以通过配置执行更多操作:
python -m deeppavlov <action> <config_path> [-d]
复制
-
可以为<action>
-
,用于下载模型数据(与download
相同),-d
-
,使用配置文件中指定的数据训练模型,train
-
,在同一数据集上计算指标,evaluate
-
,通过 CLI 进行交互,interact
-
,运行 REST API 服务器(请参阅文档[1]),riseapi
-
,作为 Telegram 机器人运行(请参阅文档[2]),telegram
-
,作为 Miscrosoft Bot Framework 服务器运行(请参阅文档[3]),msbot
-
,从 stdin 或 <file_path>(如果指定了predict
)获取样本预测。-f <file_path>
-
-
,指定模型配置文件的路径(或名称)<config_path>
-
,下载所需数据-d
Python
要通过 Python 以交互方式从模型获取预测,请运行:
from deeppavlov import build_model
model = build_model(<config_path>, download=True)
# get predictions for 'input_text1', 'input_text2'
model(['input_text1', 'input_text2'])
复制
- 其中
表示从网络下载所需的数据 - 预训练的模型文件和嵌入向量(可选),download=True
-
是所选模型的配置文件的路径(例如<config_path>
)或"deeppavlov/configs/ner/ner_ontonotes_bert_mult.json"
属性(例如不带引号的deeppavlov.configs
)。deeppavlov.configs.ner.ner_ontonotes_bert_mult
您可以使用相同的简单方式进行训练:
from deeppavlov import train_model
model = train_model(<config_path>, download=True)
复制
-
表示下载预训练的模型,因此将首先加载预训练的模型,然后进行训练(可选)。download=True
无论是否存在
-d
标记,都将下载数据集。
您也可以使用您自己的数据进行训练,需要在训练配置文档中修改数据集读取器路径。数据格式已在相应的模型文档页面中指定。
-
训练配置文档
http://docs.deeppavlov.ai/en/master/intro/config_description.html#train-config
您还可以根据配置文件中指定的数据集计算指标:
from deeppavlov import evaluate_model
model = evaluate_model(<config_path>, download=True)
复制
此外,还提供了与各种信使的集成,请参阅 Telegram 机器人文档页面以及“集成”部分中的其他内容,以获取更多信息。
-
Telegram 机器人文档页面
http://docs.deeppavlov.ai/en/master/integrations/telegram.html
团队
DeepPavlov 由 MIPT 的神经网络和深度学习实验室构建和维护。
欢迎您留下关于如何改善 DeepPavlov 框架的反馈意见。
-
反馈
https://github.com/deepmipt/DeepPavlov
如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
-
文档[1]
http://docs.deeppavlov.ai/en/master/integrations/rest_api.html
-
文档[2]
http://docs.deeppavlov.ai/en/master/integrations/telegram.html
-
文档[3]
http://docs.deeppavlov.ai/en/master/integrations/ms_bot.html
- 演示:demo.deeppavlov.ai
- 文档:docs.deeppavlov.ai
- 模型列表:http://docs.deeppavlov.ai/en/master/features/overview.html
- 贡献指南:http://docs.deeppavlov.ai/en/master/devguides/contribution_guide.html
- 教程:examples/ 和 colab 扩展教程
- https://github.com/deepmipt/dp_tutorials
- https://github.com/deepmipt/DeepPavlov/tree/master/examples