近日,谷歌软件工程师Abhinav Rastogi和工程主管Pranav Khaitan称在谷歌虚拟助手中,已经引入了新的方法,更好地支持新服务。谷歌团队称,目前虚拟助手可帮助用户完成各种各样的任务,包括寻找航班,搜索附近的活动和电影并进行预订,从网上获取信息等等。他们通过为网络上的各种服务提供统一的自然语言界面来提供此功能。
为了适应未来的增长,虚拟助手必须能够轻松支持新服务,并减少维护工作量,而无需收集其他数据或重新训练模型。
而像Google Assistant这样的大型虚拟助手,需要与众多领域中不断增加的大量服务集成在一起,但每种服务都可能具有重叠的功能。这一适应性问题在最新模型中常常被忽略。这在一定程度上是由于缺乏合适的数据集,这些数据集无法与虚拟助手所面对的规模和复杂性相匹配。
在谷歌最近的论文《迈向可扩展的多域对话代理:模式指导的对话数据集》(Towards Scalable Multi-domain Conversational Agents: The Schema-Guided Dialogue Dataset)中,研究团队引入了一个新的数据集SGD(Schema-Guided Dialogue dataset)来解决这些问题。该团队表示,此数据集将会成为有效的测试平台,可用于意图预测,槽位填充,状态跟踪和语言生成以及大型虚拟助手的其他任务。
目前,谷歌已发布SGD数据集,谷歌表示,发布SGD数据集的基本目标是应对许多现有数据集无法充分解决的现实挑战。谷歌研究团队称,SGD数据集是目前公开可用的、最大的任务型对话数据集。
在此之前,9月17日,亚马逊在GitHub上发布了超470万单词21万句子的语料库 , 并声称这个数据集支持“高质量”和“可重复”的对话系统研究,将成为研究界公开可用的最大的基于知识的社交对话数据集 。
SGD数据集由人类和虚拟助手之间超过18000条的带注释的任务型对话组成。这些对话涉及17个领域。对于大多数领域,数据集包含多个不同的API,其中许多API 具有重叠的功能,但接口不同,这反映了典型的真实场景。SGD是第一个涵盖多个领域并为每个域提供多个API的数据集。此外,为了量化模型对API接口更改或添加新API,评估集还包含了许多训练集没有的新服务。
目前,利用SGD数据集就可以训练虚拟助手来支持互联网上各种各样的服务。而为达到这种功能,通用方法是需要一个master schema,来列出所有受支持的功能及其参数。但是,开发出适合所有使用案例的master schema很难。即使开发成功,master schema也会使新的或小型服务的集成复杂化,并会增加维护虚拟助手的工作量。此外,尽管跨服务可以有许多相似的概念可以联合建模,例如用于查询或指定电影票、机票或音乐会票数量在逻辑上有相似性,但除非手动定义它们之间的显式映射,否则master schema方法并不便于对此类概念进行联合建模。
对此,谷歌团队提出了的新的模式指导方法。此方法不需要为助手设定master schema。相反,每个服务或API都会提供其模式功能及其相关属性的自然语言描述。然后,这些描述会用于学习模式的分布式语义表示,语义表示则会作为对话系统的附加输入。对话系统之后就会被作为不包含域或服务特定参数的单个统一模型。这种统一模型利于在不同服务中相似概念之间的常识表示,而使用模式的分布式表示可以对训练数据中不存在的新服务进行操作。
目前,谷歌已经将这一方法用在了开源对话状态跟踪模型中,该模型在常规设置中仍具有竞争力,且适用于 zero-shot 设置(即没有针对新服务和API的训练数据)。
“我们认为该数据集将会成为建立大规模对话模型的良好基准,” Rastogi和Khaitan称。“我们期待研究界将其用于对话技术的发展创新。”
参考链接:https://ai.googleblog.com/
论文链接:https://arxiv.org/pdf/1909.05855.pdf