问题回答:这是最简单的对话形式之一,每个说话者只有一个回合。问答是特别有用的,开奖,因为评估比其他形式的对话框更简单:如果问题的答案是已知的(即数据集被标记),那么我们可以快速检查答案是否正确。 句子补全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 的整合意味着人类可以很容易地被放在循环中来与机器人交谈,以帮助他们训练和评估它们。最后,与人类的对话是必要的,以建立可以与人交谈的聊天室。 (责任编辑:本港台直播) |