北京时间 8 月 30 日,微软研究院宣布推出用于神经网络的智能会话引擎开源工具包 Microsoft Icecaps。据悉,该工具包的作用是让研究人员和开发人员为他们的聊天机器人产品中注入不同的角色,而且还可以结合其他强调对话建模的自然语言处理功能,形成代码和预训练系统。而且,Icecaps 工具包是完全开源的,其名字来源于代码和预训练系统的首字母缩写。
微软研究人员 Vighnesh Leonardo Shiv(以下称微软)在博客文章中表示,“其中一些工具是最近由 Microsoft Research(微软研究院)完成工作推动的,包括个性化嵌入,基于互联网的最大信息解码,知识基础以及在共享特征上实施更多结构的方法,鼓励多样化和相关的响应。”
Icecaps 库使用的是 TensorFlow 机器学习框架和 SpaceFusion,对于兼容性良好,旨在让用户可以使用多任务学习轻松构建复杂的培训配置。在接下来的几个月里,微软 Icecaps 开源工具包将对开发人员发布预先培训的模型,供开发人员使用,引导其产品和技术可以快速适应新的场景,助力技术开发。
多任务学习和 SpaceFusion
事实上,Icecaps 开源工具包的核心是一个灵活的多任务学习范例。在多任务学习中,参数的子集在多个任务之间共享,因此这些任务可以使用共享的特征表示。例如,该技术已用于对话建模,以将一般会话数据与不成对的话语相结合 ; 通过将会话模型与共享其解码器的自动编码器配对,可以使用未配对的数据来个性化会话模型。Icecaps 通过将大多数模型表示为组件链,允许研究人员和开发人员使用共享组件构建任意复杂的模型配置,从而实现多任务学习。还支持灵活的多任务培训计划,允许用户在培训过程中更改任务的加权方式。
另外,Icecaps 还实现了 SpaceFusion 多任务环境,这是一种最初设计用于联合优化生成响应的多样性和相关性。SpaceFusion 添加了正则化术语来塑造任务之间共享的潜在空间。这些术语更好地调整了每个任务在这个潜在空间上学到的分布。
图|SpaceFusion 将正则化术语添加到多任务学习环境中,在共享潜在空间上施加结构以提高效率
个性化
另一方面,为了利用 AI 实现一些人物的自我独特风格和对话个性属性场景,Icecaps 工具包可以让研究人员和开发人员嵌入个性多数据多人物的对话系统。
人格嵌入的工作方式类似于嵌入词,就像我们学习每个单词的嵌入来描述单词在潜在单词空间中如何相互关联一样,我们可以从多个说话者数据集中学习每个说话者的嵌入来描述潜在的个性空间。多角色编码器 - 解码器模型提供嵌入字符以及嵌入的个性化数据,以调节所选个性的解码响应。
MMI 的解码和知识基础
在嘈杂的现实世界数据上训练的会话系统倾向于产生非特异性的、平淡无奇的反应,例如“我不知道你在说什么。”
这些系统将这种行为学习为一种安全的方式来持续产生适合上下文的反应。成本是响应的多样性和内容。解决此问题的一种方法是基于最大互信息(MMI)的假设重新排名。该方法训练第二模型以预测给定潜在响应的上下文。该模型为基础解码器生成的每个假设分配额外的分数,并且该附加分数用于重新排列该组假设。MMI 采用针对给定上下文的最具针对性的潜在响应,并将它们推送到列表的顶部。Icecaps 作为其定制波束搜索解码器的一部分,将基于 MMI 的重新排名与其他几种解码功能结合在一起。
培训会话系统的主要瓶颈之一是缺乏会话数据,这些数据捕获了世界上存在的大量非会话数据中存在的丰富信息。因此,我们需要能够利用后者的好工具。要培养赋予了包含在维基百科或其他百科全书来源的所有知识,例如一个智能代理,Icecaps 实现结合机器阅读理解和响应生成模块知识接地谈话的方法。该模型使用注意力从与上下文相关的知识源中隔离内容,从而允许模型产生更明智的响应。
最后值得注意的是,目前该开源工具包预先训练的系统已经登陆在 GitHub 上,而论文内容也在 ACL 上,链接都在下面,有兴趣的开发者可以关注一下。