“提及来随意马虎做起来难。”这句话反响了对话式人工智能的前景。问“我和 Megan 什么时候都有空”只需几秒钟。但手动查看日历花的韶光要长很多。事实上,我们借助科技完成的每一件事,都让人觉得是走过了一条通往短期目标的漫远程径。在微软Semantic Machines 公司,我们正在努力补充这一空缺——构建对话式人工智能体验,你只要专注于说出你想要的东西,剩下的交由系统就行了。和这样的AI 对话,该当像和朋友说话一样:自然地、符合语田地、协作地。
一个真正强大的对话式AI 须要做的不仅仅是深刻理解措辞,它还要具备情境性、灵巧性和健壮性,人工智能还必须深刻理解动作——大多数目标都涉及多个步骤和多个信息源。表达目标、动作和对话状态是对话式AI 系统的核心寻衅之一。我们在《打算措辞学协会会刊》(TACL)上新揭橥了一篇论文,题为“面向任务的对话即数据流合成”( Task-Oriented Dialogue as Dataflow Synthesis ),描述了一种新的表示和建模框架,它将对话阐明为数据流图,使跨多个领域的繁芜任务的对话成为可能。我们还发布了一个包含超过 40000 个对话的数据集(标注了数据流图)和公共排行榜,可以帮助人工智能社区在多轮任务导向对话中办理具有寻衅性和现实意义的问题。
从我们的新数据集中可以看出用户要求令人难以置信的多样性:
目标多样性。用户可能想要“与 Megan 预约会议”。他们也可能想”与 Megan 预约一个周二的会议”,甚或是“与 Megan 预约在劳动节后第一个她有空的早上开一个会”。措辞多样性。问题可能会是“来日诰日景象怎么样?”同样的问题也可能会以“来日诰日表面怎么样?”或“远足时我须要带一件夹克吗?”这样的形式涌现。语境多样性。“How about three?”这句话的意思完备取决于刚刚说了什么。句子“Megan 两点没空,你有其他建议吗?”是发起变动会议韶光。句子“景象预报说中午多云”是对付景象有疑问。句子“Rivoli 有一张两人桌”是哀求增加晚餐预订的座位。传统的“填槽式(slotfilling)”对话系统忽略了这种多样性。它们只支持一组目标,除了当前目标中缺失落参数的列表之外,它们没有高下文表示。而在另一个极度,最新的“端到端”神经对话系统原则上可以自由地学会任意高下文干系的相应,但仅仅是灵巧地利用词汇是不足的,由于对话还须要灵巧地实行动作。支配的系统还须要有可控性和真实性,在非构造化系统中,这非常具有寻衅性。
我们供应了第三种方法,利用深度学习来天生和消费强大的“数据流”表示,它超越了填槽式方法,供应了灵巧的动作和可控的语义。数据流旨在支持人类在日常生活中自然、灵巧、开放的对话。我们的方法基于以下五个关键理念。
1. 用户要求即程序现有的对话办法非常适宜阐明固定的、预先定义好的任务要求,比如“开灯”或“”设置一个名为 pasta 的定时器,时长 5 分钟”。在这些方法中,对话系统设计者定义了一组固定的意图,每个意图都有一组固定的参数。系统用用户所表达的意图和该意图的参数来标记每个用户要求:
但是,对付更繁芜的要求,比如“我和 Megan 一起喝咖啡的时候气温会是多少?”回答这个问题须要对话代理做一系列不同的事情:找出 Megan 是谁,在日历运用程序中利用 Megan 查找事件,找出开始韶光,然后利用韶光查询景象做事。我们不须要系统构建者创建专门的weather_during_event_with_person意图,而是将自然措辞要求转换为一个程序,将所有这些调用联系在一起。我们将该程序表示为一个数据流图,它明确定义了对话代理操持中的步骤(节点)之间的数据依赖关系(边):
一旦神经网络预测到这个程序,对话代理就会实行它,根据结果对用户进行回答,并将结果存储在数据流图中。
2. 面向任务的对话是交互式编程利用数据流表示用户意图的一个好处是,它可以非常自然地概括为在多次来回通信中展开的交互。如果用户开始的时候问“我下一次什么时候和 Megan 见面?”,则对话代理首先预测一个小的图片段:
如果用户在接下来的一轮对话中连续问“那时的景象怎么样?”,回答这个新问题所需的大部分事情已经完成了。对话代理返回到上一轮的程序片段,将其输出输入到新的 API 调用中,然后描述结果:
这个过程的结果与我们之前为一个繁芜问题天生的程序完备相同!
这种重用是我们这个框架的核心特性——繁芜动作是通过组合更大略的动作来构建的,而不是定义一堆顶级行为。这种组合可以一次完成,也可以在多次循环中通过依次扩展数据流图逐步完成。
扩展后的图作为对话状态。它记录到目前为止代理为理解、做事和响运用户所实行的所有打算。随后的表达都是在这个高下文中被阐明(通过深度学习),它们可以引用这些起先的打算和结果。正如我们在论文中所展示的,显式引用和重用起先打算的机制提高了对话代理机器学习的数据效率和准确性。它们还使工程师更随意马虎推理和掌握对话代理的行为。
在前面的示例中,用户利用单词 then引用数据流图中较早的节点。其他指称表达,如that、her或the second meeting you mentioned,也可以表示重用对话中之条件到的值或实体的要求。
这种引用也可以隐式地发生。想象一下,问你的设备“景象怎么样?”,常日你指的是近期的景象。但如果你在提及未来的一项活动后问同样的问题,你很可能是在讯问活动期间活动地点的景象。终极,这两种情形须要两种不同的打算方法。如下所示,左边的打算将用于阐明近期的情形,右边的打算用于阐明特定于事宜的情形:
弄清楚如何区分这些用法(更不用说对这个问题的其他阐明)是一个具有寻衅性的机器学习问题。但凭直觉,在这两种情形下,“景象怎么样?”的意思是相同的——用户想知道与会话高下文最干系的韶光和地点的景象。
在我们的方法中,这种推理是显式的:当在高下文中阐明用户输入时,我们的对话代理就显式地预测了引用现有打算片段的程序,包括从对话开始就隐式可用的片段,比如here和now。对付上面的两个例子,会是下面这个样子:
换句话说,在这两段对话中,对话代理用同样的办法阐明“景象怎么样?”这个问题。它预测出了相同的数据流图片段,调用refer(Time)和refer(Place),但是,对这个片段的阐明会根据前面的高下文发生变革。
“公司休假期间怎么样?”这个问题与高下文的关系更紧密。这里,用户不但是引用一个现有的实体,而是哀求对话代理为之前的问题打算出一个新的答案,个中一些细节已经变了。我们称这种转变为改动(revision)。与引用一样,改动供应了一种强大的机制,用于实行繁芜的图转换,以相应大略的要求。下面这个示意图解释了代理预测的改动,当用户问完“我和 Megan 喝咖啡时景象怎么样?”之后又问“公司休假期间怎么样?”
在这里,第一次事宜搜索的条件(包含Megan的名为coffee的事宜)被更换为新的条件(指定名为company retreat的事宜)。
查看论文理解更多细节: https://www.microsoft.com/en-us/research/publication/task-oriented-dialogue-as-dataflow-synthesis/。
4. 事情会出错在任何繁芜的对话中,事情的发生都有许多意想不到的办法。与 Megan 预约会议的要求可能会失落败,由于用户的联系人列表中没有叫 Megan 的人;由于有许多人都叫 Megan;由于没有空开会;甚或由于网络已断开,对话代理无法与做事器取得联系。每种情形都须要不同的相应,而现有的对话系统常日利用繁芜的硬编码逻辑来从缺点中规复。
我们通过从数据流图的某个节点抛出非常来处理所有这些故障。我们的对话代理会相应这个失落败的“结果”,为用户天生一个适当的警告或问题。用户可以随意相应,大概是通过纠正问题;例如,在这个高下文中,“我指的是 Megan Bowen”将被阐明为改进原始要求的修订。这种方法许可系统和用户在涌现缺点时根据高下文灵巧地、模块化地、协作地处理缺点。
5. 措辞天生依赖于对话语境要成为一名有用的团队互助伙伴,对话 AI 系统须要能够天生措辞,而不仅仅是阐明它。大多数现有的对话方法要么是硬编码生成规则(导致输出听起来像机器人,不会因高下文不同而改变),要么是非构造化的神经措辞模型(有时不说实话!
)在我们的方法中,措辞天生被建模为一个神经勾引的合成程序转换过程,在这个过程中,代理会轮流扩展数据流图。代理可以谈论图表中涌现的任何内容,而不仅仅是它打算得出的末了结果。它乃至可以向图中添加新的打算和结果,用户可以在往后的对话中随意引用:
代码、数据和新一轮竞争
我们相信,这种方法是迈向新一代自动对话代理的第一步,它可以像人与人之间那样与人交互。然而,办理这个问题须要全体社会的共同努力。为了促进基于数据流的对话代理的开放研究,我们发布了迄今为止最大、最繁芜的面向任务的对话数据集 SMCalFlow 。该数据集具有 41517 个标注了数据流程序的对话。这个数据集来自于人类之间磋商日历、景象、人和地点的开放式对话。与现有的对话数据集比较,我们网络对话不是基于预先指定的脚本,参与者不受限定,他们什么都可以问,他们可以按自己的办法完成他们的任务。因此,SMCalFlow 与现有的对话数据集有实质上的不同,它有关于代理能力、多轮缺点规复和繁芜目标的详细论述。
数据集、代码和排行榜都可以在我们的 GitHub 页面上找到。我们期待看到自然措辞处理社区如何利用这个新资源。
英文原文:
https://www.microsoft.com/en-us/research/blog/dialogue-as-dataflow-a-new-approach-to-conversational-ai
关注我并转发此篇文章,私信我“领取资料”,即可免费得到InfoQ代价4999元迷你书,点击文末「理解更多」,即可移步InfoQ官网,获取最新资讯~