Facebook开源AI对话研究平台ParlAI ,解决人机对话最常见5类问题

2017年5月19日 | By News | Filed in: News.

http://ift.tt/2rxGDAr

编者按:本文由微信公众号“新智元”(ID:AI_era)编译, 来源:Facebook、Techcrunch;36氪经授权发布。

Facebook近日宣布开源其AI对话研究平台 ParlAI ,集合了常见的20多个数据集,解决人机对话中最常见的5类问题。Fortune 报道称,Facebook的目标是让计算机与人类进行有意义的对话。如果取得成功,这将是目前技术上的一大进步。

对我们大多数人来说,沟通似乎是一个再简单不过的任务。 但实际并非如此。如果你是一个试图复制人类对话的机器,那么你需要善于处理很多任务,比如回答问题,完成句子,甚至还要能闲谈两句。这些领域的独立研究是很常见的,但这不利于将它们组合在一起,以创建一个会话式的 AI。 Facebook AI Reasearch(FAIR) 实验室的开源 ParlAI 作为对话研究的“基地”,使用各种常用数据集轻松地训练模型来完成多个任务,解决了这一缺陷。

使用 ParlAI 将数据集拉入工作流程像写下一行命令那样简单。 这使研究人员可以快速访问基准测试数据集,如 SQuAD, bAbI 任务和 WebQuestions。这并不是说 AI 研究社区以前无法完成这项工作,而是 FAIR 正在努力激励团队定期将更多的数据集带入他们的工作。ParlAI 还连接到 Amazon Mechanical Turk ,这样研究人员就可以无缝地收集新的数据。

FAIR 实验室的研究员 Jason Weston在接受采访时说,ParlAI 的一些灵感来自于观察研究人员在 WebQuestions 数据集中取得的进展,只有明确显示出过于专业、不适用于其他任务的数据才会被基本忽略掉。

AI 研究如影随形的挑战之一是,很难从表面上判断论文的价值。几乎每篇论文中,研究人员都会声称,他们提出的漂亮模型是最先进的。问题是,造成某个特定结果的因素如此之多,只有能重复再现的研究结果才有价值。 ParlAI 选取了一些可重复的研究,为 AI 社区灌输着更健康的理念。FAIR 团队希望在未来建立自己的排行榜,以推动整个生态的进步。

ParlAI 的形式与其他训练和测试解决方案类似,例如 OpenAI 的 Gym 和 DeepMind 的 Lab。 但是 Gym 和 Lab 被优化用于强化学习,ParlAI 则专注于对话研究。对话空间中的一些监督学习的基础性工作不如时髦的强化学习那么性感,但它对机器学习领域来说是非常重要的。

FAIR 计划在内部使用自己的 ParlAI 进行研究。Facebook 的许多服务植根于其在对话领域的研究工作,其中最明显的一个是“M”——Facebook 的“人类+AI”驱动助手 。最后,Weston 说, M 这样的服务可能会从与人的交谈和收到的反馈中学习,就像婴幼儿的学习方式一样。

但实现这一目标的唯一方法就是打破人造孤岛,结合正在进行的多项研究,来解决大规模问题。 您可以在 GitHub上找到 ParlAI ,FAIR 团队将对其进行持续维护。(开源地址)

Fortune 报道称,Facebook的目标是让计算机与人类进行有意义的对话。如果取得成功,这将是目前技术上的一大进步。当然,这一技术目前还处在初级阶段。

以下是Facebook 官方博客的介绍:

AI的长期目标之一是开发智能的聊天机器人,它们可以以自然的方式与人交谈。现有的聊天机器人有时可以完成特定的独立任务,但是无法理解多个句子或链接子任务来完成更大的任务。

更复杂的对话框,如预订餐厅或聊运动或新闻,需要具备理解多个句子的能力,然后对这些句子进行推理,以支持下一部分的对话。由于人类对话是如此多样化,聊天机器人必须对许多相关任务都十分熟练,这需要不同的专业知识,并且,这些专业知识使用是相同的输入和输出格式。为了实现这些目标,有必要构建统一这些任务的软件,以及可以从中学习的智能体(agents)。

认识到这一需求,Facebook AI Research(FAIR)团队已经建立了一个新的开源平台,用于在多任务中训练和测试对话模型,并且一次就能完成。

 ParlAI(发音为“par-lay”)是对话研究的一站式商店,研究人员可以向单个共享存储库提交新任务并训练算法。并且,这一平台与Mechanical Turk是相互融合的,可用于数据收集、训练和评估,这也使得ParlAI 中的bots能够直接与人对话。这样做的目标是将现有的对话数据集与包含人与机器人之间真正对话的学习系统统一起来。

ParAI 对FAIR 现有的文本研究,比如快速高效的文本分类工具FastText 是一个很好的补充,对于Facebook的通用人工智能框架CommAI也是如此,因为他可以实现复杂任务的操作。

超20个公开数据集,5大任务类型

ParlAI本次公开的数据集中,包含了超过20个公开的数据集。见下图左边的框:

所有的任务被分为5个种类:

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

  • 句子补全cloze test):在这个测试中,智能体必须在对话框中的下一个发音中填写一个缺失的单词。虽然这是另一个专门的对话任务,但数据集便宜,评估简单。

  • 目标取向的对话框:一个更逼真的对话参与类型是包含目的的,例如,一个客户和一个旅行社在讨论航班,一位讲话者向另一位介绍电影,两位发言者同意在何时何地一起吃饭等等。

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

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

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

世界,智能体和教师

ParlAI的主要概念(层级)是世界,智能体和教师。世界是指扬声器所在环境,并且可以从简单的双向通话到诸如响应式游戏环境等复杂场景。智能体可以在世界中行动和说话。智能体可以是学习者,例如机器学习系统,或者与学习者交互的硬编码机器人,例如游戏中的非玩家角色。最后,教师是一种与学习者交流的智能体,例如,实现了之前所列任务的智能体。

所有智能体使用一种格式 – 观察/操作对象(一种Python 字典) – 与其他体交换文本,标签和奖励。

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

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

这套工具的第一个版本包含实现的智能体,如简单的IR基线,以及两个完整的神经网络示例:在Lua Torch中实现的端到端内存网络和在PyTorch中实现的在 SQUAD数据集获得很好结果的 LSTM 模型。我们期待在将来的版本中添加新的任务和智能体。

Mechanical Turk

与人类的对话是构建聊天机器人的训练过程的重要组成部分。这就是为什么ParlAI支持与Mechanical Turk进行数据收集,培训和评估的融合。这也使研究组的 Turk 实验有了参照物,这在历史上是困难的。

人类说话者也被视为ParlAI中的一个“智能体”。他们可以轻松地与机器人交谈,以帮助它们训练和评估。随后,群聊天中的人对人、人对机器人或者多人和多机器人的对话都可以用相同的框架进行转化,根据需要进行角色抓换,不需要改变智能体的代码。这是由于,Tukers 同样通过一个漂亮的,印刷版本的相同界面进行接收和传送信息,使用观察/行动的字段域。

在本次的对外发布中,Facebook提供了两个样例:

qa_collector:一个与Turkers对话的智能体,用于特定情景下的文本段落中搜集问答配对,来建立QA数据集。

model_evaluator: 一个从Turkers中收集评级的智能体,用于评估一个bot在特定任务上的表现。

ParlAI首次为研究人员提供了一个在一个地方收集所有重要对话任务的地方。这不仅可以使任何这些任务单独地进行更容易的迭代,而且还可以轻松地对所有这些任务(最终应该导致更好的机器人)进行机器人训练,并评估所有这些技能的机器人。它也是研究人员通过检查他们的代码进入存储库来分享其AI学习的地方。这使得研究人员能够重现对方的成果,并建立在对方的工作之上,推动了该领域的进步。最后,Mechanical Turk 的整合意味着人类可以很容易地被放在循环中来与机器人交谈,以帮助他们训练和评估它们。最后,与人类的对话是必要的,以建立可以与人交谈的聊天室。

解决对话仍然是AI的长期挑战,对于这一目标的任何进展,在我们今天可以建立的产品方面或者在其他领域可能有用的技术开发方面可能会有短期的好处。 ParlAI是一个平台,我们希望能够汇集研究 AI 智能体 的研究人员,进行对话,并继续推动对话研究领域的最新进展。

ParlAI首次为研究人员提供了一个在一个地方收集所有重要对话任务的地方。这不仅可以使这些任务单独地迭代更加容易,而且还可以轻松地对在所有这些任务中训练bot(最终应该导致更好的bot),并通过这些技能来评估bot。这也是一个可以让研究人员通过检查他们进入存储库中的代码,来分享其AI学习智能体的地方。

这使得研究人员能够看到其他人的成果,并在此基础上进行进一步研究,推动了该领域的进步。最后,Mechanical Turk的整合意味着人类可以很容易地被放在循环中来与机器人交谈,以帮助他们训练和评估它们。最后,要建立可以与人交谈的聊天机器人,与人类的对话是必要的。

IT.数码

via 36氪 http://36kr.com

May 19, 2017 at 08:02AM


发表评论

电子邮件地址不会被公开。 必填项已用*标注