微软发布对话数据集,旨在让聊天机器人更智能

  • Roland Meertens
  • 谢丽

2017 年 5 月 3 日

话题:微软AI

Maluuba是微软旗下一家致力于通用人工智能的公司。近日,该公司新发布了一个开放的对话数据集。该数据集基于假期预定的场景——具体来说,查找航班和宾馆。

近年来,聊天机器人的数量越来越多,尤其是自一年前 Facebook 向这些机器人开放Messenger 平台以来。目前,大多数机器人仅支持简单的顺序交互。类似旅行规划这样的高级场景对聊天机器人来说仍然很困难。借助这个数据集,Maluuba(最近被微软收购)帮助研究人员和开发人员让他们的聊天机器人更智能。

Maluuba 让两个人在聊天室中对话并收集了这些数据。一个人扮演用户,另一个人充当计算机。用户试图查找特价机票,另一个充当聊天机器人的人使用数据库检索信息。交互只包含文本(没有口语交互),研究人员有意识地选择了这个方法。大部分人都喜欢打字,而不是说话,那也就是说,这份数据集就远离了质量不高的语音识别和背景噪声。该数据集包含 1369 句有关旅行规划的对话,可以免费下载

Maluuba 还提供了一种表示对话的方式。让旅行规划更加困难的是,用户经常改变谈话主题。你可能同时讨论去滑铁卢、蒙特利尔、多伦多的计划。对于我们人类而言,将人们在交谈中制定的不同计划分开并不困难。不过,如果用户在预订之前探讨了多个选项,那么计算机往往会遇到问题。当你突然输入一个新目的地,大多数聊天机器人都会忘记你刚刚谈论的所有内容。下面左边那副图是“传统”聊天机器人的交互。当用户说出一个新城市时,机器人会忘记旧城市。右侧是微软发布的数据集中出现的一个模式:用户在做出决定之前比较多个城市。

[点击查看大图]

这就是为什么微软引入了所谓的“框”。每次用户修改了以前设置的值,向导程序就会新建一个框。每个跟踪框会记录所有用户提到的不同的约束集合。这让你可以同时谈论预定到蒙特利尔最贵 200 美元的旅行和到多伦多最贵 300 美元的旅行。这种会话记忆向着构建可以在在线旅游场景中帮助用户探讨不同航班的机器人迈进了一步。

传统的聊天机器人,就像你可以在Pandorabots上创建的机器人那样,会设法将对话导向所谓的“格位填充(slot-filling)”。机器人会设法在你给出的答案中找出一些属性(如名字和年龄)。一旦聊天机器人知道了这些属性,对话就会继续,机器人会设法填充下一个格位。其他公司,如被 Facebook 收购的Wit,已经通过“故事”把这种理念向前推进了一步。这个位于语言理解层之上的“柔性层(flexible layer)”已经创建了“让人感觉更自然的”对话。Maluuba 发布的数据集更进一步,它侧重于进行同时涉及多个主题的对话。

3 月 28 日,Tim Peterson发表了一篇文章,探讨目前聊天机器人的缺点。该数据集解决了 Peterson 谈到的其中一个问题:由于聊天机器人的用户少导致聊天机器人开发人员可以获得的数据少。由于许多聊天机器人在理解自然语言时都有问题,所以开发人员经常向他们的机器人添加“快速回复”。有了这些回复,用户可以从一个机器人确定可以理解的、较小的选项集中选择他们的回复。虽然这特性个对于那些知道要说什么的用户有用,但那同时也意味着,对于那些相对不常见的用户查询,永远都不会开发相应的回复。

[点击查看大图]

查看英文原文Microsoft Releases Dialogue Dataset to Make Chatbots Smarter

微软AI