DeepPavlov:一个训练对话系统和聊天机器人的开源库

本文介绍了一个构建端到端对话系统和训练聊天机器人的开源项目 DeepPavlov,该开源库的构建基于 TensorFlow 和 Keras,并旨在推动 NLP 和对话系统的研究,提升复杂对话系统的实现和评估效果。机器之心简要介绍了该项目和基本技术,希望实现对话机器人的读者可进一步阅读原项目。

项目地址:https://github.com/deepmipt/DeepPavlov

这是一个开源的对话 AI 库,建立在 TensorFlow 和 Keras 上,其用途是:

  • NLP 和对话系统研究;

  • 复杂对话系统的实现和评估。

我们的目标是为研究者提供:

  • 用于实现和测试他们自己的对话模型并随后将模型共享的框架;

  • 一系列预定义的 NLP 模型/对话系统组件(机器学习/深度学习/规则系统)和流程模板;

  • 对话模型的基准测试环境和对相关数据的系统性评估。

并为 AI 应用开发者提供:

  • 建立对话软件的框架;

  • 将应用与对应基础建设(通讯、技术支持软件等)相集成的工具。

项目特征

格位填充组件(Slot filling component):基于命名实体识别(NER)神经网络和模糊 Levenshtein 搜索,以从文本中提取归一化的格位值(slot values)。NER 网络组件根据论文《Application of a Hybrid Bi-LSTM-CRF model to the task of Russian Named Entity Recognition》重新生成了架构,由《Neural Architectures for Named Entity Recognition》中的 LSTM+CRF 架构所启发。

专用分类组件:基于论文《Convolutional Neural Networks for Sentence Classification》中的 shallow-and-wide CNN 架构。该模型允许语句的多标签分类。

自动拼写和校正组件:基于论文《An Improved Error Model for Noisy Channel Spelling Correction》,并使用基于统计学的误差模型、一个静态词典和一个 ARPA 语言模型以校正拼写错误。

目标导向的对话机器人:基于论文《Hybrid Code Networks: practical and efficient end-to-end dialog control with supervised and reinforcement learning》中的 Hybrid Code Networks 架构。它允许在目标导向任务的对话中预测回应。该模型是相当可定制的:嵌入、格位填充器和专用分类器可以根据需要使用或者不用。

为俄语预训练的嵌入:在联合俄语 Wikipedia 和 Lenta.ru 语料库词向量上进行预训练得到的词嵌入。

相关推荐