写点什么

Microsoft Icecaps:一个用于会话建模的开源工具包

  • 2019-09-10
  • 本文字数:1798 字

    阅读完需:约 6 分钟

Microsoft Icecaps:一个用于会话建模的开源工具包

我们的行为,包括如何说话,往往取决于我们所处的环境。我们在晚上和朋友打保龄球时,不必像在办公室开会时那样说话,包括语气和语言。我们会调整对话方法,使其符合对话的场景。如果要使经过训练的会话代理继续演变,成为人们可以求助的可靠资源,就需要训练它们也这样做。

8 月 29 日,我们正式发布了智能会话引擎:编码和预训练系统,或者微软Icecaps,这是一个新的开源工具包,它不仅允许研究人员和开发人员赋予聊天机器人不同的角色,而且还集成了强调会话建模的其他自然语言处理功能。


Icecaps 提供了来自最新会话建模文献的一系列功能。其中一些工具是由微软研究院最近的工作推动的,包括个性嵌入、基于最大互信息的解码、知识基础,以及一种强化共享特征表示结构的方法,从而实现更多样化更相关的响应。我们的库在一个模块化框架中利用了 TensorFlow,该框架旨在使用户能够轻松地使用多任务学习构建复杂的训练配置。在接下来的几个月里,我们将为 Icecaps 配备经过预训练的会话模型,研究人员和开发人员可以直接拿来用,也可以通过引导自己的系统快速适应新的场景。

多任务学习和 SpaceFusion

Icecaps 的核心是灵活的多任务学习模式。在多任务学习中,多个任务之间共享一个参数子集,因此这些任务可以使用共享的特征表示。例如,该技术已被用于会话建模,将一般会话数据与非成对的话语组合起来;通过将会话模型与共享其解码器的自动编码器配对,就可以使用非成对数据来个性化会话模型。Icecaps 通过将大多数模型表示为组件链,并允许研究人员和开发人员使用共享组件构建任意复杂的模型配置,从而支持多任务学习。它还支持灵活的多任务训练调度,允许用户更改任务在训练过程中的权重。



在多任务学习环境中,成对和非成对的数据可以在训练过程中进行组合。


此外,Icecaps 还实现了SpaceFusion,这是一种专门的多任务学习范式,其初衷是联合优化生成的响应的多样性和相关性。SpaceFusion 增加了正则化项,形成了可在任务间共享的潜在空间。这些项可以更好地调整每个任务在这个潜在空间中习得的分布。



SpaceFusion 为多任务学习环境增加正则化项,结构化共享潜在空间,提高学习效率。

个性化

为了在会话场景中实现个性化,人工智能可能需要充当具有自己特定风格和属性的某个角色,Icecaps 允许研究人员和开发人员使用个性嵌入在多对话者数据上训练多角色会话系统。个性嵌入与词嵌入的工作原理相似;正如我们学习每个单词的嵌入来描述单词在潜在单词空间中的相互关系一样,我们也可以从多对话者数据集中学习每个说话者的嵌入来描述潜在个性空间。多角色编解码器模型为解码器提供词嵌入的同时提供个性嵌入,在选定的个性上解码响应。



通过将单嵌入空间与角色嵌入空间相结合,个性化的序列到序列模型可以生成个性化的响应。

基于 MMI 的解码

使用嘈杂的真实数据训练的会话系统往往会产生泛泛且乏味的回答,比如“我不知道你在说什么”。这些系统将这种行为作为一种安全的学习方式,从而始终产生与上下文相关的响应。付出的代价是响应的多样性和内容。解决这一问题的一种方法是基于最大互信息(MMI)的假设重排。这种方法训练了第二个模型来预测给定潜在响应的上下文。这个模型为基本解码器生成的每个假设额外赋一个分数,这个额外的分数用于对假设集进行重新排序。MMI 获取对于给定上下文而言最有针对性的潜在响应,并将它们推到列表的顶部。除了其他一些解码功能外,作为其自定义定向搜索解码器的一部分,Icecaps 包含基于 MMI 的重新排序。

知识基础

训练会话系统的主要瓶颈之一是缺少能够捕捉到世界上大量非会话数据中所包含的丰富信息的会话数据。因此,我们需要能够利用后者的好工具。例如,为了训练拥有维基百科或其他百科全书资源中包含的所有知识的智能代理,Icecaps 实现了一种以知识为基础的对话方法,该方法结合了机器阅读理解和响应生成模块。该模型使用注意力将内容从与上下文相关的知识源中分离出来,从而使模型产生更明智的响应。



交叉注意力(Cross-attention)可用于从外部知识库中提取相关信息以生成响应。


开源项目链接:https://github.com/microsoft/icecaps


智能个性化聊天机器人只是会话建模的开始;内容过滤、多语言建模、混合会话和面向任务的功能都是有前景的新研究领域。微软将继续关注会话建模领域的发展,并利用 Icecaps 使研究人员和开发人员能够推动前沿科技的发展。


原文链接:


Microsoft Icecaps: An open-source toolkit for conversation modeling


2019-09-10 08:003352
用户头像

发布了 778 篇内容, 共 532.8 次阅读, 收获喜欢 1578 次。

关注

评论

发布
暂无评论
发现更多内容

React Server Components 介绍 亮点

HullQin

CSS JavaScript html 前端 8月月更

史上最全499道Java面试题:JVM+分布式+算法+锁+MQ+微服务+数据库

冉然学Java

Java 数据库 面试 算法 多线程

史上最全的Java并发系列之Java中的线程池

自然

线程池 并发 8月月更

如何正确理解Java领域中的多线程模型,主要用来解决什么问题?

PivotalCloud

STM32入门开发 编写DS18B20温度传感器驱动(读取环境温度、支持级联)

DS小龙哥

8月月更

C++运算符重载(五)之关系运算符重载

CtrlX

c c++ C# 重载 8月月更

【LeetCode】检查数组是否存在有效划分Java题解

Albert

LeetCode 8月月更

Java技术专家成长路线总结(思维导图)

程序猿阿宇

Java java程序员 大厂面试 秋招 大厂面经

Kubernetes宕机切换源码分析

黄继承

源码分析 kubelet Kubernetes 集群 宕机

美团二面:如何解决 bin log 与 redo log 的一致性问题

飞天小牛肉

签约计划第三季

千万级学生管理系统的考试试卷存储方案

张立奎

3-6月面经总结,200多页真题笔记和详解(含核心考点及6家大厂)

程序猿阿宇

Java java程序员 大厂面试 秋招 大厂面经

大逆不道,从天界偷下来的算法修仙秘籍竟然传到你手上~~(结尾有彩蛋)

武师叔

数据结构与算法 有趣的技术知识 复杂度分析 签约计划第三季 8月月更

PyCharm 2022.2 发布了,支持最新 Python 3.11 和 PyScript 框架!

Python猫

史上最全的Java并发系列之Java中的锁的使用和实现介绍(二)

自然

多线程 并发 8月月更

【云原生】Spring Cloud Alibaba 之 Feign 远程调用 实战

Bug终结者

分布式 微服务 云原生 8月月更

Go-Excelize API源码阅读(九)——SetSheetBackground(sheet, picture string)

Regan Yue

Go 开源 源码解读 8月日更 8月月更

知乎疯传,吹爆阿里P7《K8s+Jenkins》的技术手册

程序知音

Java 编程 程序员 后端技术 #k8s

Vue讲解系列- - -Nginx和Postman讲解

叶秋学长

Vue 8月月更

超新概念出炉,JDK17的封闭类使用解析

知识浅谈

8月月更

JSON 基本使用

兮动人

json

计算机网络知识点全面总结(一篇全懂)

C++后台开发

网络编程 计算机网络 网络协议 底层原理 C/C++开发

应用系统日志打印规范实践之道

陈俊

日志 规范

95后跳槽阿里网晒工资条:多亏面试前补了这个,真香

程序猿阿宇

Java java程序员 大厂面试 大厂面经 内推

体验家辛济云:CEM不是MarTech,不仅要“从0到1”,更要规避“从1到0”

B Impact

MySQL 原理与优化:意向锁,IS,IX

老崔说架构

涨薪了!拿着GitHub标星80k的阿里性能优化笔记,把项目优化个遍

程序知音

Java 编程 程序员 性能优化 后端技术

TE数字化共创之路 | 这场旅程,从数字化共创平台开始

明道云

开源一夏|OpenHarmony视频播放器

坚果

开源 OpenHarmony 8月月更

废除“网络君主制”,认识 Usenet ~

掘金安东尼

前端 网络 8月月更

五分钟搞定YAML

俞凡

云原生 yaml

Microsoft Icecaps:一个用于会话建模的开源工具包_AI&大模型_Vighnesh Leonardo Shiv_InfoQ精选文章