社会焦点

Facebook重磅发布ParlAI,重塑机器对话新格局(附源代码链接)

字号+ 作者: 来源: 2017-05-17

Facebook重磅发布ParlAI,重塑机器对话新格局(附源代码链接),英语对话短文两人,对话描写片段,快手说说男女对话,对话式采访稿,两人情景对话剧本

来源:Facebook engineering

编译:机器人圈(jiqirenchanye)

作者:Jason Weston、Alexander Miller、Will Feng

数小时前,Facebook AI实验室(FAIR)的三位研究人员Jason Weston、Alexander Miller、Will Feng(冯彦斌)发布了一则重磅消息。他们发布了一个全新的软件平台,可用于对话系统、chatbots,以及问题回答系统,并在github上开源了代码。

对人类来说,对话是个简单的事情。而对于机器而言,却并非这么轻松。一台机器要和你对话,需要处理句子,理解含义,具备专业知识,处理多种任务。而FAIR发布的ParlAI,就是一个可用于在多种开放可用的对话数据集上训练和评估人工智能模型的框架。而Facebook的研究成果,让我们离能和机器进行有意义的对话,可能又近了一大步。

现将Facebook Engineering关于ParlAI的详解内容编译如下,并附上github代码链接:

AI的长期目标之一是开发智能聊天机器人,可以以自然的方式与人交谈。现有的聊天机器人有时可以完成特定的独立任务,但是无法理解多于单个句子或链接子任务来完成更大的任务。更复杂的对话,如预订餐厅,或关于运动或新闻的聊天,需要机器有了解多个句子的能力,然后对这些句子进行说明,以提供下一部分对话。由于人类对话是如此多样化,聊天机器人必须熟练地掌握不同的专业知识以接受相关任务,但却要使用相同的输入和输出格式。为了实现这些目标,有必要构建统一这些任务的软件,以及可以从中学习的agent。

认识到这一需求,Facebook AI Research(FAIR)团队建立了一个新的开源平台,用于一次性对多个任务进行训练和测试对话模型。ParlAI(发音为“par-lay”)是对话研究的一站式商店,研究人员可以向单个共享存储库提交新任务和训练算法。无缝集成 Amazon Mechanical Turk,进行数据收集和人工评估,也使得ParlAI的机器人可以与人交谈。这样做的目标是将现有的对话数据集,与包含人与机器之间真正对话的学习系统统一起来。

ParlAI补充了现有的FAIR文本研究工作,如FastText,快速高效的文本分类工具;以及CommAI,我们通过日益复杂的任务开发通用人工智能的框架。

  ParlAI的任务

此版本中包含超过20个公共数据集(如图)。

  Facebook重磅发布ParlAI,重塑机器对话新格局(附源代码链接)

任务分为五类:

★问题回答:这是最简单的对话形式之一,每位演讲者只有一轮。问答是特别有用的,因为评估比其他形式的对话更简单:如果问题的答案是已知的(即数据集被标记),那么我们可以快速检查答案是否正确。

★句子完成(cloze test):在这个测试中,agent必须在对话中的下一个话语中填写一个缺失的单词。虽然这是另一个专门的对话任务,但数据集很便宜,评估起来很简单。

★面向目标的对话:一个更逼真的对话级别应包括实现目标。例如,客户和旅行社讨论航班,一位发言者向另一位发言者推荐电影,两位发言者同意在何时何地一起吃饭等等。

★聊天对话:一些任务不一定有明确的目标,但更多的是讨论。例如,两位发言者讨论运动、电影或共同兴趣。

★视觉对话:这些是包括图像和文本的任务。在现实世界中,对话通常基于物理对象。将来,我们计划添加其他感官信息,如音频。

Facebook重磅发布ParlAI,重塑机器对话新格局(附源代码链接)

在ParlAI中选择一个任务,与在命令行中指定一样简单。如果数据集尚未使用,ParlAI将自动下载。由于所有数据集在ParlAI(使用单个对话API)中都是以相同的方式进行处理的,因此对话agent可以在任何训练和测试之间切换。你还可以通过提供逗号分隔的列表来一次指定多个任务(多任务),例如命令行-t babi;指定所有QA数据集,可以通过命令行-t #qa,或者指定ParlAI中的每个任务,可以使用命令行-t #all。这样做的目的是使用户容易构建并评估复杂的对话模型。

  world、agent和teacher

ParlAI的主要概念(类)是世界(world)、agent和教者(teacher)。世界(world)是指说话者居住的环境,并且可以从简单的双向通话到诸如反应游戏环境等复杂场景变化。agent可以在世界中行事和说话;agent可以是学习者,例如机器学习系统,或者设计为与学习者交互的硬编码的机器人,例如游戏中的非玩家角色。最后,教者(teacher)是一种与学习者交谈的agent,例如,实施之前列出的任务。

所有agent使用单一格式,即观察/操作对象(Python dict)—与其他agent交换文本,标签和奖励。

  Facebook重磅发布ParlAI,重塑机器对话新格局(附源代码链接)

agents发送此消息发言,并以相同的形式接收消息以观察环境中的其他发言者。 这样就可以解决从强化学习到全监督学习的各种对话问题,同时保证所有数据集都符合相同的标准。当研究人员建立新的模型时,他们可以轻松地将它们应用于许多任务。

在定义了一个世界和其中的agent之后,可以运行一个主循环,用于训练、测试或显示,这称为函数world.parley()。下面的左图显示了一个示例主循环的框架,右边是parley()的实际代码。

该工具箱的第一个版本包含实现的agent,如简单的IR基线,以及两个完整的神经网络示例:在Lua Torch中实现的端到端内存网络、在PyTorch中实现的注意力强大的LSTM模型DrQA、 SQUAD数据集等。我们期待在将来的版本中添加新的任务和agent。

转载请注明出处。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Facebook重磅发布ParlAI,重塑机器对话新格局

    Facebook重磅发布ParlAI,重塑机器对话新格局