Facebook开源AI对话研究平台ParlAI ,解决人机对话最常见5类问题(2)
2017-05-17 编辑:
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的整合意味着人类可以很容易地被放在循环中来与机器人交谈,以帮助他们训练和评估它们。最后,要建立可以与人交谈的聊天机器人,与人类的对话是必要的。
相关阅读:
相关推荐: