Frames正是为了鼓励对对话代理的研究,这些代理可以支持复杂环境中的决策,在这种情况下,预订假期包括航班和酒店。
一代语音助理,如 Siri、Cortana 和 Google Now 已成为流行的语音对话系统。最近,我们看到基于文本的对话代理(也称为聊天机器人)有所增加。出于隐私原因,为了避免在嘈杂环境中识别错误,许多用户更喜欢使用文本语音。这些代理作为下载和安装应用程序的替代方法也值得欢迎。当完成简单的任务(如订购出租车或询问天气)时,这很有意义。
在大多数情况下,与语音助理非常相似,这些聊天机器人仅支持非常简单和顺序交互。原因是用户的目标定义良好,对话流很容易手工制作。但是,还有其他用例,如客户服务或旅行预订,其中有一个决策过程。
Frames正是为了鼓励对对话代理的研究,这些代理可以支持复杂环境中的决策,在这种情况下,预订假期包括航班和酒店。我们相信,下一代对话代理不仅需要搜索数据库,还需要帮助用户浏览数据库、比较项目并做出决定。
Frames中的对话以奥兹向导的方式收集。两个人通过聊天界面互相交谈。一个是扮演用户的角色,另一个是扮演对话代理的角色。我们称后者为巫师,指奥兹巫师,幕后人。巫师们可以访问一个包含250多个包裹的数据库,每个包由酒店和往返航班组成。我们给用户一些限制,每次对话,我们要求他们找到最好的交易。这导致了复杂的对话,用户通常会考虑不同的选项,比较包,并逐步构建她理想的旅行的描述。
使用此数据集,我们还提出了一项新任务:帧跟踪。我们的主要观察是,决策与记忆紧密相连。实际上,为了选择旅行,用户和向导讨论了不同的可能性,比较了它们,并在城市、日期或度假套餐之间来回切换。
当前系统是无内存的。它们实现槽填充以搜索为顺序过程,在一个接一个地要求用户输入约束,直到可以制定数据库查询。内存中仅保留一组约束。例如,在下图中,在左侧,当用户提到蒙特利尔时,它覆盖多伦多作为目的地城市。但是,在 Frame 中观察到的行为意味着不应覆盖槽值。一个用例是比较:用户通常要求比较不同的项目,在这种情况下,涉及不同的约束集(例如,不同的目标)。帧跟踪包括将用户提到的所有不同约束集记在内存中。它是状态跟踪任务的概括,不仅记住当前帧。"
添加此类会话内存是构建代理的关键,这些代理不仅用作搜索数据库的自然语言界面,而是陪同用户进行探索,帮助他们找到最佳项目。
大多数对话系统将面向目标的对话作为一个连续的、槽填充的过程来实现。每个对话状态都用新信息(左)或覆盖(右)来增强。 | 解决帧跟踪将使对话系统能够记住用户提供的所有信息,并允许项目之间的比较。 |
12名与会者在20天内进行了对话。
我们部署了名为 wozbot 的 Slack 机器人,使参与者能够配对。每个对话开始时,向导都得到了指向搜索界面的链接。搜索界面是一个简单的图形界面,与数据库中的所有可搜索字段(目标、来源、预算、日期等)组成。
对于每个对话,用户都与可用的向导配对,并收到一个新任务。
数据 注意:酒店名称、航班信息和度假套餐是虚构的,与实际酒店名称或度假套餐的任何相似之处都是巧合。自行使用。
数据集格式 我们提供 JSON 格式的帧对话。每个对话有五个主要字段:user_id、wizard_id、id、用户调查和转弯。有关这些字段的更多详细信息,请参阅本文。
这些是 Frame 数据集中的一些重要字段,但是,我们鼓励您浏览论文以进一步描述数据集中的各种字段。