雷锋网AI科技评论按:5月16号,Facebook官网公布,推出全新开源软件平台ParlAI, 致力于打造一站式对话研究商店,加快提高聊天机器人的智能聊天水平。雷锋网编辑认为这必将会给整个机器人制造业带来新的机遇和革命式的发展。
人工智能的一个长期目标就是希望能制造出可以和人类自然交流的聊天机器人。现在生产出来的机器人虽然有时候可以完成具体的单个任务,但是在理解多个句子或者把多个子任务联合起来形成一个主任务上有很大的困难。像比较复杂的对话,例如,预订酒店或和它聊体育新闻。这就需要它能理解多句意,并且能够推理来进行下一轮谈话。因为人类对话很复杂,在很多有关联的任务中使用的是相同的输入输出格式却需要的是不同的知识技能,机器人一定会被这些任务打败。为了实现这个目标,开发一个软件用来整合这些任务,以及可供代理学习是很有必要的。
找到了这个需求后,Facebook的AI研究团队开发了一个新的开源平台用来一次性跨越多任务,训练和测试对话模型。ParlAI是一站式对话研究商店,研究员可以在这里提交新任务,对单个对象训练算法,共享存储空间。它和Mechanical Turk结合来数据收集,训练,和评估,也可以让ParlAI中的机器人和人对话。这个项目的目标是将现有对话数据集和学习系统整合,包括人机之间的真实对话。
ParlAI补充了现有的Facebook AI研究团队的文本研究。像FastText, 它是快速和有效的文本分类工具。还有CommAI,它是用来通过日益复杂的任务来开发通用人工智能的框架。
超过20个公共数据集包含在此版本中,如下图左边所示
• 问和答:这是最简单的对话框形式之一,每个说话者只有一轮。问和答这种方式是特别有用的,因为评估比其他形式的对话框简单:如果问题的答案是已知的(即,数据集被标记),那么我们可以快速检查答案是否正确。
• 句子完成(完形填空):在这个测试中,代理器必须在对话框中的下一个语句中填入一个缺失的单词。虽然这是另一个专门的对话框任务,数据集采集很便宜,评估很简单。
• 目标导向的对话:一个更为现实的对话类别涉及到达到一个目标,例如,一个客户和旅行社讨论航班,一个人向另一人推荐电影,两个人约定何时何地一起吃饭,等等。
• 聊天对话框:有些任务不一定有一个明确的目标,更多的是讨论;例如,两个人谈论体育,电影,或一个共同的兴趣。
• 视觉对话:这些任务包含图像和文本。在真实世界中,对话框通常以物理对象为基础。在未来,我们计划添加其他感官信息,如音频。
在ParlAI选择一个任务和在命令行中指定它一样简单。如果数据集尚未使用,ParlAI会自动下载它。因为所有的数据集都在ParlAI都会以相同的方式处理,对话代理可以在它们的训练和测试之间切换。你也可以通过提供一个以逗号分隔的列表进行一次性多任务指定;例如命令行 -t babi, squad 用了两个数据集,所有的QA数据立刻集合-t #qa; 或者ParlAI中每个任务立刻集合-t #all,目的是为了让构建和评估一个丰富的对话模型变得简单。
在ParlAI主要的概念(类)是多重世界,代理,和老师。世界是说话者所生活的环境,可以从简单的双向对话变化到更复杂的场景,如反应性游戏环境。代理是可以在世界上表演和说话的东西。代理可以是一个学习者,如机器学习的系统,或一个硬编码的机器人,用来与学习者互动,如游戏中的非玩家角色。最后,老师是一种和学习者交流的代理,例如,实现了以前列出的任务。
所有代理使用一个单一的格式-观察/操作对象(一个Python)-交换文本,标签,并与其他代理互相奖励。
代理发送此消息来说话,并通过接收到相同形式的消息来发现在环境中的其他说话者。这使我们能够解决各种对话问题,从强化学习到完全监督学习,同时保证所有的数据集符合相同的标准。当研究人员建立新的模型,他们可以很容易地应用在许多任务上。
在定义了一个世界和它的代理之后,主回路调用其中的函数 world.parley ( ).运行用来训练,测试,或显示,世界。在左边的面板显示的一个例子,主回路的框架,右边是parley ( )实际代码。
第一版发布的工具栏里包含工具代理,像简单的IR基带,同时还有两个完整神经网络案例:一个端到端的存储网络,在Lua Torch 中执行,还有一个是长短时记忆模型DrQA, 是在Py Torch 中执行,在SQuAD数据集和其他数据集之间有一个强大的效果。我们期待在未来的版本中添加一些新的任务和代理。
制造聊天机器人,人机对话是训练过程中很重要的一部分。这就是为什么ParlAI支持和Mechanical Turk 整合来数据收集,训练和评估。这也使得研究小组的Turk实验可以对比,这在以前是困难的。在ParlAI中,Human Turkers也可视为代理。他们可以轻松地与机器人交谈,以帮助训练和评估他们。随后,人-人 ,人-机 或多人和机器人聊天都可以在标准框架内进行交互。在切换所需的角色过程中,代理不用更改代码。这是因为Turkers可以通过同一接口的印刷版接收和发送。
QA收集器:通过和Turkers对话来收集问题和答案,给定上下文建立一个QA数据集的代理。
模型评估器:基于机器人在给定任务中的性能表现,从Turkers中收集评级的代理。
在一个地方可以收集所有重要的对话任务,这还是第一次。ParlAI为研究人员提供的这个场所不仅使这些任务单独地更容易迭代,也使得可以轻松地使用所有的数据来训练机器人,并通过那些技能来对机器人评估。研究员通过检查存放处的代码,共享他们的AI学习代理,直接复制对方的实验结果,来进行彼此工作之上的研究,共同推进这个领域前进。最后,Mechanical Turk的整合意味着人类可以很容易地投入到与机器人交谈的循环之中,以帮助训练和评估他们。人类之间的对话对制造可以和人类交谈的机器人也很有必要。
对于AI来说,解决对话问题仍然是一个长期的挑战,对于这一目标的任何进展都有可能对我们今天所制造的产品带来短期利益,任何技术的进步都可能对其他行业领域带来好处。ParlAI是一个平台,希望将做AI代理执行对话框的研究人员聚到一起共同推动对话研究达到世界最先进水平。
via Facebook; 雷锋网编译