对话研究的统一平台。
项目描述
ParlAI(发音为“par-lay”)是一个用于共享、训练和测试对话模型的 python 框架,从开放域聊天到面向任务的对话,再到视觉问答。
其目标是为研究人员提供:
- 100 多个流行的数据集集中在一个地方,使用相同的 API,其中PersonaChat、DailyDialog、Wikipedia 向导、Empathetic Dialogues、SQuAD、MS MARCO、QuAC、HotpotQA、QACNN 和 QADailyMail、CBT、BookTest、bAbI 对话任务、Ubuntu对话、OpenSubtitles、 图像聊天、VQA、VisDial和CLEVR。在此处查看完整列表。
- 广泛的参考模型——从检索基线到变形金刚。
- 准备好使用现成的预训练模型的大型动物园
- 无缝集成Amazon Mechanical Turk,用于数据收集和人工评估
- 与Facebook Messenger集成以在聊天界面中将代理与人类联系起来
- 大量的助手来创建您自己的代理并通过多任务处理多项任务
- 多模态,一些任务使用文本和图像
ParlAI 在以下论文中进行了描述: “ParlAI: A Dialog Research Software Platform”,arXiv:1705.06476 或查看这些更新的幻灯片。
在Twitter 上关注我们并查看我们的发行说明以查看有关新功能和更新的最新信息,以及网站 http://parl.ai以获取更多文档。有关更新的存档列表,请查看NEWS.md。
互动教程
对于那些现在想开始使用 ParlAI 的人,您可以尝试我们的Colab 教程。
安装 ParlAI
ParlAI 目前需要 Python3.8+ 和Pytorch 1.6 或更高版本。核心模块的依赖关系在 中列出requirements.txt
。包含的一些模型(在 中parlai/agents
)有额外的要求。我们强烈建议您在venv或conda环境中安装 ParlAI。
我们目前不支持 Windows,但许多用户报告说使用 Python 3.8 在 Windows 上取得了成功,但在Python 3.9 上存在问题。我们很高兴接受改进 Windows 支持的补丁。
标准安装
如果你想在不修改的情况下使用 ParlAI,你可以安装它:
pip install parlai
开发安装
许多用户会想要修改 ParlAI 的某些部分。要设置开发环境,请运行以下命令来克隆存储库并安装 ParlAI:
git clone https://github.com/facebookresearch/ParlAI.git ~/ParlAI
cd ~/ParlAI; python setup.py develop
所有需要的数据都将下载到~/ParlAI/data
. 如果您需要清除这些文件使用的空间,您可以安全地删除这些目录,并且将再次下载所需的任何文件。
文档
- 快速开始
- 基础知识:世界、代理、教师、行动和观察
- 创建一个新的数据集/任务
- 可用任务/数据集列表
- 创建 seq2seq 代理
- 可用代理列表
- 模型动物园(列出预训练模型)
- 运行众包任务
- 插入 Facebook 信使
例子
大量的脚本可以在parlai/scripts
. 这里有几个。注意:如果这些示例中的任何一个失败,请检查安装部分以查看您是否遗漏了某些内容。
显示来自 SQuAD 任务的 10 个随机示例
parlai display_data -t squad
在 Personachat 任务的验证集上评估 IR 基线模型:
parlai eval_model -m ir_baseline -t personachat -dt valid
在 PersonaChat 上训练单层转换器(需要 pytorch 和 torchtext)。细节:嵌入大小 300,4 个注意力头,2 个使用 batchsize 64 的 epoch,词向量用 fasttext 初始化,batch 的其他元素在训练期间用作负数。
parlai train_model -t personachat -m transformer/ranker -mf /tmp/model_tr6 --n-layers 1 --embedding-size 300 --ffn-size 600 --n-heads 4 --num-epochs 2 -veps 0.25 -bs 64 -lr 0.001 --dropout 0.1 --embedding-type fasttext_cc --candidates batch
代码组织
代码设置到几个主要目录中:
- core:包含框架的主要代码
- 代理:包含可以与不同任务交互的代理(例如机器学习模型)
- scripts:包含许多有用的脚本,如培训、评估、交互式聊天……
- tasks:包含 ParlAI 中可用的不同任务的代码
- mturk:包含设置 Mechanical Turk 的代码,以及示例 MTurk 任务
- messenger:包含与 Facebook Messenger 交互的代码
- utils:包含大量常用的实用程序方法
- 众包:包含运行众包任务的代码,例如在 Amazon Mechanical Turk 上
- chat_service:包含与 Facebook Messenger 等服务交互的代码
- zoo:包含从我们的模型动物园直接下载和使用预训练模型的代码
支持
如果您有任何问题、错误报告或功能请求,请随时在我们的Github 问题页面上发帖。您可能也有兴趣查看我们的常见问题解答和我们的提示和技巧。
请记住遵守我们的行为准则。
贡献
我们欢迎来自社区的 PR!
您可以在我们的贡献 文档中找到有关为 ParlAI 贡献的信息。
团队
ParlAI 目前由 Moya Chen、Emily Dinan、Dexter Ju、Mojtaba Komeili、Spencer Poff、Pratik Ringshia、Stephen Roller、Kurt Shuster、Eric Michael Smith、Megan Ung、Jack Urbanek、Jason Weston、Mary Williamson 和 Jing Xu 维护。Kurt Shuster 是现任技术主管。
前主要贡献者和维护者包括 Alexander H. Miller、Margaret Li、Will Feng、Adam Fisch、Jiasen Lu、Antoine Bordes、Devi Parikh、Dhruv Batra、Filipe de Avila Belbute Peres、Chao Pan 和 Vedant Puri。
引文
如果您在工作中使用 ParlAI,请引用arXiv 论文:
@article{miller2017parlai,
title={ParlAI: A Dialog Research Software Platform},
author={{Miller}, A.~H. and {Feng}, W. and {Fisch}, A. and {Lu}, J. and {Batra}, D. and {Bordes}, A. and {Parikh}, D. and {Weston}, J.},
journal={arXiv preprint arXiv:{1705.06476}},
year={2017}
}
执照
ParlAI 是麻省理工学院许可的。有关详细信息,请参阅许可证文件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。