用于构建端到端对话系统和训练聊天机器人的开放源代码库。

deeppavlov的Python项目详细描述


license apache 2.0python 3.6,3.7downloads

DeepPavlov是一个开源的会话人工智能库,构建于TensorFlow和Keras之上。

DeepPavlov专为

  • 开发生产就绪的聊天机器人和复杂的对话系统,
  • 研究NLP领域,特别是对话系统。

快速链接

型号

命名实体识别

意图/句子分类

句子相似度/排名tf-idf排名tf-idf排名

形态标记自动拼写更正

elmo培训以及微调

技能

目标(任务)导向型机器人seq2seq目标导向型机器人

开放域问题解答

回答常见问题

嵌入

用于俄语、波兰语、保加利亚语、捷克语和非正式英语的bert嵌入

俄语的elmo嵌入

俄语的FastText嵌入

自动ml

使用进化算法调整模型

安装

  1. 我们支持linuxwindows平台,python 3.6python3.7

    • 不支持Python 3.5!
    • < > > >安装><代码> Windows < /代码>要求<代码> git < /代码>(例如,< HRFF="HTTPS://GIT-SMC/COM/LINDOWS/WIN"Re="NoFoLoL>"Git )和<代码> VisualStudio 2015/2017 ><代码> C++< /Cord>安装工具!
  2. 创建并激活虚拟环境:

    • linux
    python -m venv env
    source ./env/bin/activate
    
    • 窗口
    python -m venv env
    .\env\Scripts\activate.bat
    
  3. 在环境中安装软件包:

    pip install deeppavlov
    
  4. < > >

    快速启动

    在DeepPavlov有一堆很好的预训NLP模型。每个型号都是 由其配置文件决定。

    模型列表位于 中的"文档"页 deeppavlov.configs(python):

    fromdeeppavlovimportconfigs

    当你决定使用模型(+config文件)时,有两种方法可以训练, 评估并推断:

    在选择接口之前,请安装模型的包要求 (CLI):

        python -m deeppavlov install <config_path>
    
    • 其中,<;config_path>;是所选模型配置文件的路径(例如 deeppavlov/configs/ner/slotfill_dstc2.json)或仅命名而不命名 .json扩展(例如slotfill\u dstc2

    命令行界面(cli)

    要通过cli以交互方式从模型获取预测,请运行

        python -m deeppavlov interact <config_path> [-d]
    • -d下载所需数据--预训练的模型文件和嵌入 (可选)。

    你可以用同样简单的方法来训练它:

        python -m deeppavlov train <config_path> [-d]

    无论是否有-d标志,都将下载数据集。

    要训练自己的数据,您需要在 列车配置文件。 数据格式在相应的模型文档页中指定。

    你还可以做更多的动作使用配置:

        python -m deeppavlov <action> <config_path> [-d]
    • <;操作>;可以
      • 下载以下载模型数据(与-d相同),
      • train根据配置文件中指定的数据训练模型,
      • 计算以计算同一数据集上的度量,
      • 交互通过cli交互,
      • riseapi运行rest api服务器(请参见 文档),
      • interactivebot作为电报机器人运行(请参见 文档),
      • interactivemsbot运行miscrosoft bot框架服务器(请参见 文档),
      • predictstdin或从 <;file_path>;如果指定了-f<;file_path>;
    • <;config_path>;指定模型配置文件的路径(或名称)
    • -d下载所需数据

    巨蟒

    要通过python交互地从模型中获取预测,请运行

    fromdeeppavlovimportbuild_modelmodel=build_model(<config_path>,download=True)# get predictions for 'input_text1', 'input_text2'model(['input_text1','input_text2'])
    • 其中download=true从Web下载所需数据--预训练模型 文件和嵌入(可选),
    • <;config_path>;是所选模型配置文件的路径(例如 "deeppavlov/configs/ner/ner\u ontoonotes_bert_mult.json")或 deeppavlov.configs属性(例如 deeppavlov.configs.ner.ner\u ontotenotes\u bert\u mult不带引号。

    你可以用同样简单的方法来训练它:

    python -m venv env
    source ./env/bin/activate
    
    0
    • download=truedownloads pretrained model,因此 模型将首先加载,然后训练(可选)。

    无论是否有-d标志或 不是,

    要训练自己的数据,您需要在 列车配置文件。 数据格式在相应的模型文档页中指定。

    您还可以在配置文件中指定的数据集上计算度量:

    python -m venv env
    source ./env/bin/activate
    
    1

    还可以与各种信使集成,请参见 电报机器人程序文件页 以及集成部分中的其他信息。

    中断更改

    打破0.5.0版中的更改

    • 必须重新安装大多数管道配置的依赖项
    • 根据tensorflow的型号要求CUDA 10.0在GPU上运行,而不是CUDA 9.0
    • 必须重新下载或重新培训scikit学习模型

    打破0.4.0版的变化!

    • 神经进化的默认目标变量名 已从models\u path更改为model\u path

    打破0.3.0版的变化!

    • 已删除配置文件中的组件选项fit-on-u batch并替换为自适应使用fit-on参数。

    打破0.2.0版的变化!

    • 实用程序模块已从存储库根目录移动到deeppavlov模块
    • ms-bot_framework实用程序server实用程序telegram实用程序模块被相应地重命名为ms-bot_frameworkservertelegram
    • 重命名度量函数精确匹配>squad v2_emsquad f1squad v2_f1
    • 用下划线替换configs name中的破折号

    打破0.1.0版中的更改!

    • 从0.1.0版起,提供的配置的所有模型、嵌入和其他下载数据 默认情况下,下载到当前用户主目录中的.deeppavlov目录。 这可以通过修改每个模型来更改 a根路径变量 或模型配置文件中的相关字段。

    • 在配置文件中,对于所有功能/模型,数据集读取器和迭代器"name""class"字段组合在一起 进入"类名"字段。

    • deeppavlov.core.commands.infer.build_model_from_config()已重命名为build_model并可以从 deeppavlov直接模块。

    • 在培训和评估期间,参数传递给度量函数的方式发生了更改,并且 文档化

    许可证

    DeepPavlov是Apache2.0许可的。

    团队

    DeepPavlov由位于IP内的神经网络和深度学习实验室构建和维护。avlov项目(国家技术倡议的一部分)以及与sberbank合作的项目

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

    推荐PyPI第三方库


热门话题
java关闭应用程序按钮Listener   Java中的多线程同步在Java示例中的思考   java如何查看Tomcat正在使用/访问的JAR?   java My代码在调用垃圾收集器后不会终止   多线程Java连接线程池和connectionfactory?   java在运行时修改JAR文件   java Android:使用光标时引发IllegaleException   在Netbeans中测试不可执行库的java?   泛型在参数上强制子类Java类型   spring Java:继承与依赖注入“自动连线”   javascript如何解析这个xml元素   java打印特定序列中的数组   带有ProcessingTimeSessionWindow的java Apache Flink自定义触发器   java如何配置消息驱动的Bean应用程序和Glassfish来使用来自远程MessageBroker的消息?