Microsoft Icecaps 是一个用于构建神经对话系统的开源工具包。Icecaps 在一个灵活的范例中提供了一系列来自最近的对话建模和一般 NLP 文献的工具,支持复杂的多任务学习设置。
Icecaps 目前的版本是 0.2.0。在这个版本中我们引入了几个功能:
请注意,Icecaps 的未来版本将不保证向后兼容性,并且可能会导致重大更改。
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
作为ICECAPS的正交存储库,我们发布了一个基于pytorch-transformer的会话建模存储库,名为DialoGPT。DialoGPT 是一个开源的大规模预训练响应生成系统,在来自 Reddit 讨论线程的 147M 多轮对话上进行训练,在公共对话生成挑战中产生了最先进的结果。
https://github.com/microsoft/dialogpt
Icecaps 适用于 Python 环境,并构建在 TensorFlow 之上。我们建议在带有 Python 3.7 的 Anaconda 环境中使用 Icecaps。创建环境后,运行以下命令来安装所有必需的依赖项:
pip install -r requirements.txt
如果您的机器有 GPU,我们建议您改为从requirements-gpu.txt
.
我们在目录中提供了一些脚本examples/
。这些脚本将向您介绍 Icecaps 的架构,我们鼓励您将它们用作模板。
examples/train_simple_example.py
是我们的“Hello World”脚本:它构建了一个简单的 seq2seq 训练场景,同时演示了 Icecaps 脚本遵循的基本五阶段模式。
examples/train_persona_mmi_example.py
展示了一个更复杂的系统,它引入了组件链和多任务学习,这是 Icecaps 架构的核心方面。
最后,examples/data_processing_example.py
给出了一个示例,说明如何将原始文本数据集转换为 TFRecord 文件,Icecaps 在训练期间使用这些文件来提供其数据管道。
我们计划在未来发布更多关于其他类型对话场景的教程。
我们计划在未来将基于尖端对话建模文献的预训练系统添加到 Icecaps。我们曾希望在发布时将这些系统包含在 Icecaps 中。然而,鉴于这些系统在某些情况下可能会产生不良反应,我们决定在向公众发布这些模型之前探索改进的内容过滤技术。关注此存储库以了解最新的预训练系统版本。
在此处访问我们的主页:https ://www.microsoft.com/en-us/research/project/microsoft-icecaps/
在此处查看我们来自 ACL 2019 的系统演示论文:https://www.aclweb.org/anthology/P19-3021
[/hidecontent]