Interspeech2022 | 一种基于元辅助学习的低资源口语语义理解方法
中国移动研究院首席科学家冯俊兰博士带领人工智能与智慧运营中心语音团队共同撰写的文章《Meta Auxiliary Learning for Low-resource Spoken Language Understanding》被语音国际顶会Interspeech2022接收。
关于Interspeech
Interspeech 是国际最大且最全面关于言语科学与技术的盛会,由国际语言交流协会(International Speech Communication Association)主办,与ICASSP并列为语音领域两大顶级会议。

论文摘要
口语语义理解(SLU)将自动语音识别(ASR)和自然语言理解(NLU)视为一个一体化任务,通常存在数据不足的问题。我们提出一种基于元辅助学习的ASR和NLU联合训练方法,通过仅利用丰富的语音识别标注数据来改善低资源SLU任务的性能。该方法提供了一个灵活的框架来实现低资源SLU训练任务,无需语义标签参与进一步训练。具体而言,我们将NLU模型作为标签生成网络,从文本中预测意图和槽位信息;另一方面,构建多任务网络,基于语音同步训练ASR任务和SLU任务,将标签生成网络的预测值作为语义标签传递给多任务网络中的SLU任务,从而实现在没有语义标签情境下的SLU训练。在公共数据集CATSLU上的实验证明了该算法的有效性,该方法生成了更适合下游任务NLU的ASR假设。
01 背景
口语语义理解(SLU)将ASR和NLU联合训练需要大量包含语义标签的语音数据才能取得理想的效果。一种解决方法是基于迁移学习的方式,基于大规模预训练模型弥补低资源语言语料不足的缺陷,或采用老师-学生模型将资源相对丰富的NLU模型蒸馏给SLU模型。另一种解决方法是采用语音合成的方式构建语音-语义数据对,从而实现对数据进行增广。还有一种方法是引入额外信息作为新的输入或者辅助任务。辅助任务或多任务的方式,仍然需要辅助任务的标签才能进行训练。
我们提出了基于元辅助学习MAXL(Meta AuXiliary Learning)的SLU建模方案,避免了SLU训练过程中语义标签的参与。
02 模型与方法
图一 基于MAXL的SLU建模
如图一所示,我们提出的模型包含两部分:1)多任务网络:同步学习ASR和SLU两个任务;2)标签生成网络(NLU):为SLU任务预测语义标签。多任务网络的输入是语音信号,NLU网络的输入是语音内容的文本标注(语音识别标注文本)。NLU的输出为语义预测结果,通过接口层的处理传递给SLU输出层作为预测目标。在推理阶段,由于接口层使输出结果可导的处理,使SLU无法直接输出可读的结果,因此我们将ASR的预测结果1-best输入给NLU模型得到最终的语义预测。这样建模的ASR结果更适用于下游任务NLU,同时,NLU模型性能也得到提升。
2.1 接口层
标签生成网络的输出是由一系列“意图-槽位键-槽位值”三元组组成的列表,长度不固定且无法预置。但多任务网络的输出长度需要每个批次固定。另一方面,标签生成网络的输出需要支持梯度回传从而实现标签生成网络的更新。因此,在输出端softmax之后不能进行取最大值操作,因为这样会破坏网络求梯度。我们从两个方面考虑了接口层的设计:定长和可导。
如表1所示:
-
List:“[[intent-slot-value]1,[intent-slot-value]2,...]”,NLU网络的最终输出格式,为三元组列表,不定长且不可导。
-
Sequence: “value1 value2 ...”,槽位值序列,可以设计为定长,但是梯度仍无法回传。
-
NER tag: “[1 1 0 1 1 1]”,键值词的位置为1,非键值词为0,长度与序列长度相等,但不支持可导。
-
Softmax:每个槽位值使用softmax输出,可导但定长仍然无法满足。
-
Sum of softmax:sotfmax输出延槽位数量维度进行求和,实现定长且可导。
-
Append intent and slot types: 在每个槽位值前面补充上意图和槽位键分布,同样可导且定长。
表1:两个网络之间接口类型及其属性

2.2 模型训练
模型训练分为两步:在每个epoch内部,首先进行普通多任务学习的训练,ASR标签为人工标注的语音内容,SLU标签为NLU预测的结果。这一步骤使ASR更关注语义相关的部分。损失函数为:

其中,i为批次索引,x为语音输入,y_asr为语音识别文本标签,theta1为多任务网络f的参数,theta2为标签生成网络g的参数。
第二步为NLU网络的更新,通过ASR的损失实现。由于二阶导数的存在,引入Firstorder算法进行近似求解,从而使网络学习速度提升4~6倍。损失函数为:




其中,K为NLU输出维度,N为批大小。
03 实验结果
我们首先对比了所提方法与其他方法,如表2所示,基线系统ASR由6000小时普通话训练得到,NLU模型由CATSLU-MAP文本训练。可以看到,基线系统由于ASR识别结果不理想导致NLU的F1-score也偏低。端到端训练使ASR和NLU性能均得到一定提升。使用CATSLU-MAP数据微调ASR模型可以使CER显著降低,F1值绝对提升4.33%。MAXL是标准元辅助学习的算法,First-order是采用加速训练的结果,可以看到二者均获得了较好的NLU预测结果。最后为了进一步验证NLU的性能,我们对比了直接用真实语义标签进行多任务学习的结果,可以看到First-order仍然取得了相当的结果,这一方面验证了NLU作为标签预测器是可信的,另一方面也验证了用ASR损失训练NLU是有正向收益的。
表2:本文方法与其他方法对比

由表2我们看到即使ASR性能提升有限,NLU性能也有可能获得较大提升,这说明ASR输出更适于下游NLU任务了。为了进一步验证该结论,我们采用训练集得到的ASR输出重新训练了NLU,由表3可以看到该NLU性能已经和用人工标注的ASR文本训练得到NLU性能相似(表2,Fine-tuned)。
表3:训练集ASR性能CER和NLU性能

表4我们对比了不同接口的性能,可以看到几种接口性能接近,但是可导的接口(inter3,inter4)仍然可以获得较好的性能,而且NLU预测网络性能的提升,也说明该网络即使没有语义标签,也从多任务网络的学习中得到了收益。
表4:不同接口性能对比。
(Inter1, Inter2, Inter3, Inter4分别表示Sequence、NER tag、Sum of softmax、Append intent and slot types)

表5显示出预训练对模型的影响,可以看到ASR和NLU有预训练模型会取得更优的效果,尤其NLU模块预训练起极其关键的作用。
表5:未使用预训练模型结果

为了验证该方法在无标数据的作用,我们只使用了一半带语义标签的文本数据进行NLU模型预训练,剩余一半进行无语义标签的MAXL训练。由表6可以看出,在没有语义标签参与训练的情况下,模型语义预测性能仍能得到提升。
表6:只使用一半语义标签进行NLU模型预训练另一半进行无语义标签的MAXL训练结果

04 总结
本文提出了一种基于MAXL的SLU建模方案用于降低模型对带语义标签的语音数据的需求。ASR和NLU的联合训练提高了ASR的质量,并成功实现从有监督任务中为无监督任务提取知识,实现没有语义标签参与训练时NLU性能提升。该结果与我们的假设相一致,即:ASR和NLU之间的作用是双向的,ASR输出会影响NLU性能,同样NLU预测结果也应该反馈给ASR去引导它的预测。下一步我们将尝试将该方法用于更多数据集以及更复杂的网络结构。
供稿 | 九天语音团队
相关文章:
Interspeech2022 | 一种基于元辅助学习的低资源口语语义理解方法
中国移动研究院首席科学家冯俊兰博士带领人工智能与智慧运营中心语音团队共同撰写的文章《Meta Auxiliary Learning for Low-resource Spoken Language Understanding》被语音国际顶会Interspeech2022接收。 关于Interspeech Interspeech 是国际最大且最全面关于言语科学与技…...
File类的用法和InputStream,OutputStream的用法
这里写自定义目录标题一、File类1.构造方法2.普通方法二、InputStream1.方法2.FileInputStream3.Scanner类的应用三、OutputStream1.方法2.FileOutputStream3.PrintWriter类的应用一、File类 1.构造方法 签名说明File(File parent, Stringchild)根据父目录 孩子文件路径&…...
Java多线程——Thread类的基本用法
一.线程的创建继承Thread类//继承Thread类class MyThread extends Thread{Overridepublic void run() {System.out.println("线程运行的代码");} } public class Demo1 {public static void main(String[] args) {MyThread t new MyThread();t.start();//启动线程&a…...
【C++】类和对象练习——日期类的实现
文章目录前言1. 日期的合法性判断2. 日期天数(/)2.1 和的重载2.2 对于两者复用的讨论3. 前置和后置重载4. 日期-天数(-/-)5. 前置- -和后置- -的重载6. 日期-日期7. 流插入<<重载8. 流提取>>重载9. 总结10. 源码展示前…...
[LeetCode周赛复盘] 第 333 场周赛20230219
[LeetCode周赛复盘] 第 333 场周赛20230219 一、本周周赛总结二、 [Easy] 6362. 合并两个二维数组 - 求和法1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6365. 将整数减少到零需要的最少操作数1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6364. 无平方子集计数1. 题目描…...
数字化时代,如何做好用户体验与应用性能管理
引言 随着数字化时代的到来,各个行业的应用系统从传统私有化部署逐渐转向公有云、行业云、微服务,这种变迁给运维部门和应用部门均带来了较大的挑战。基于当前企业 IT 运维均为多部门负责,且使用多种运维工具,因此,当…...
Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题
之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Python爬虫(2)-Selenium控制浏览…...
如何对项目健康度进行测量?评估项目健康状况
项目驱动变革,大部分公司逐步由运营驱动转变为项目驱动,带来更多重新和商业价值。对组织而言,从商业角度看,项目旨在推动组织从一个状态转到另一个状态,从而达成特定目标。项目的健康情况如何关乎项目和变革的成本&…...
美国原装二手keysight E4980A(安捷伦)2MHZ LCR表
Agilent E4980A、Keysight E4980A、LCR 表,20 Hz - 2 MHz E4980A 是 Agilent 的 2 MHz LCR 表。LCR表是一种电子测试设备,用于测量电子元件的电感(L)、电容(C)和电阻(R)。LCR 表可…...
《clean coder》:关于摆烂,争论和心态
“凡是不能在五分钟之内解决的争论,都不能依靠辩论解决” ---- Kent Beck 作为一个码农,我并不是一个喜欢争论的角色。很长一段时间会陷入一种摆烂的,被动的状态。“既然其他人想要这么做,就这么办吧”。这可能是非专业的行为中最…...
jenkins下载与简单使用
1.jenkins下载 因为我仍然使用的是jdk1.8进行开发,所以我下载的是jenkins2.332.1版本(jenkins2.346.1版本在2022年末不再支持java8,如果项目使用的是jdk11可以继续使用该jenkins版本),更多版本下载请点击jenkins下载 …...
3|物联网控制|计算机控制-刘川来胡乃平版|第3章:计算机总线技术 补充串行总线部分|课堂笔记|ppt
2022年 10月 10日 3.3 外部总线 3.3.2 RS-232-C总线 机械特性...
Blazor入门100天 : 身份验证和授权 (3) - DB改Sqlite
目录 建立默认带身份验证 Blazor 程序角色/组件/特性/过程逻辑DB 改 Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql 生成实体类,freesql 管理ids数据表初始化 Roles,freesql 外键 > 导航属性完善 freesql 和 bb 特性 本节源码 https://github.com/…...
阅读源码和查看官方文档,是解决问题最高效的办法。
作为一个工作8年的老程序员告诉你:阅读源码和查看官方文档,是解决问题最高效的办法。不信你来看,这个困扰了读者半天的问题我查了源码和文档后瞬间解决。 前言 上周五有位读者私信我一个问题,说困扰了他半天,研究了一…...
云原生流量管理系统中 Service , Ingress 和 Endpoint 的关系
摘要 Kubernetes(简称 K8s)是一个用于容器编排和管理的开源平台,其中流量管理是 K8s 的重要功能之一。K8s 提供了多种流量管理方式,以便对不同场景下的流量进行控制和管理。以下是 K8s 中常用的流量管理系统: Service:Service 是 K8s 中最基本的流量管理方式,用于提供…...
给你安利几款好用的谷歌浏览器插件
给你安利几款好用的谷歌浏览器插件前言一 Octotree 插件二 GitCodeTree 插件三 SourceGraph 插件四 GitZip 插件五 Enhanced GitHub 插件六 插件下载安装6.1 谷歌应用商店下载6.2 离线安装6.2.1 下载插件6.2.2 安装插件七 移除、启用、停用插件小结前言 GitHub是全球最大的代码…...
JDK定时器Timer原理
前言 前些时间想到利用redis实现延时队列,但是底层的定时器不止如何实现好些,故此研究了一下jdk的Timer。 Timer是一个用于执行定时任务的类,可以单次执行或按指定时间间隔循环执行(直到主动cancel或线程被杀掉)。Ti…...
vue3中使用swiper完整版教程
介绍 在 vue3 中使用 swiper, 实现轮播图的效果;如果组件样式等模块引入不当,很有可能导致,页面无效果;或者想要的箭头或者切换效果异常问题。具体使用方式如下所示: 使用方式 使用命令 npm install swiper 安装 sw…...
某个div的滚动条样式
.item-body,.chart2{/*滚动条整体样式*/&::-webkit-scrollbar {/*高宽分别对应横竖滚动条的尺寸*/width: 10px;height: 1px;}/*滚动条里面小方块*/&::-webkit-scrollbar-thumb {border-radius: 10px;-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);background:…...
Spring Boot框架基础介绍
Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具,它旨在简化 Spring 应用程序的配置和开发过程。Spring Boot 提供了一种简单的方式来创建可独立运行的、生产级别的应用程序,并在需要时进行部署。Spring Boot 在微服务架构和云计算环境下得到…...
新能源汽车,车载充电机仿真模型(基于PWM整流器)。输出功率3.3kw,前级PFC采用双闭环控制,电流畸变率小。后级采用移相全桥开环控制。 运行环境有matlab_simulink和plecs
新能源汽车,车载充电机仿真模型(基于PWM整流器)。输出功率3.3kw,前级PFC采用双闭环控制,电流畸变率小。后级采用移相全桥开环控制。 运行环境有matlab/simulink和plecs针对新能源汽车车载充电机(OBC&#x…...
VCF 部署不踩坑!ESXi 主机 SSL 指纹怎么拿、怎么用?一文简单了解
在部署 VMware Cloud Foundation(VCF)9.0 时,很多人会卡在 “ESXi 主机指纹验证” 这一步 —— 自动部署时 JSON 文件缺了它会失败,手动确认又怕输错。其实这就是主机的 “安全身份证”,用来验证连接的真实性。本文用通俗的语言解释 SSL 指纹…...
保姆级教程:在Ubuntu 22.04上从源码编译安装Micro XRCE-DDS Agent(附虚拟机环境配置)
从零构建嵌入式通信桥梁:Ubuntu 22.04源码编译Micro XRCE-DDS Agent全指南 当AURIX Tricore这类嵌入式设备需要与复杂系统对话时,XRCE-DDS就像一位专业翻译官。想象一下,你的开发板是个只会说方言的本地向导,而云端服务是个讲标准…...
Pandas数据预览优化:告别Pycharm输出窗口的省略号困扰
1. 数据预览的痛点:被省略号吃掉的关键信息 刚接触Pandas那会儿,我总被Pycharm的输出窗口气得跳脚。明明调用了describe()想看数据分布,结果给我整出一堆省略号,关键统计量全藏在"..."里。最崩溃的是处理宽表时…...
OpenClaw电商运营助手:千问3.5-35B-A3B-FP8批量处理商品图并生成详情页文案
OpenClaw电商运营助手:千问3.5-35B-A3B-FP8批量处理商品图并生成详情页文案 1. 为什么需要自动化电商运营工具 去年帮朋友打理一家小众饰品网店时,我深刻体会到电商运营的重复劳动痛点。每天要手动下载平台商品图,用PS调整尺寸,…...
从MATLAB R2022b升级到R2024a,我的Python脚本为啥跑不起来了?
从MATLAB R2022b升级到R2024a:Python混合编程兼容性危机与系统化解决方案 上周三凌晨两点,当我在服务器上完成MATLAB R2024a的升级部署后,原本稳定运行的数据分析流水线突然崩溃——那些精心编写的Python-MATLAB混合脚本像多米诺骨牌一样接连…...
用快马平台快速构建密码强度检测器,十分钟完成网络安全原型验证
今天想和大家分享一个快速验证网络安全功能的实战案例——用InsCode(快马)平台十分钟搭建密码强度检测器。作为经常需要处理用户注册功能的开发者,密码强度验证是每个项目都绕不开的基础安全需求,但传统开发流程中,光是搭环境、写基础代码就可…...
Pangolin变量系统详解:实时调试与参数调优的终极方案
Pangolin变量系统详解:实时调试与参数调优的终极方案 【免费下载链接】Pangolin Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input. 项目地址: https://gitcode.com/gh_mir…...
Shell脚本初级测试题
文章目录一、 填空题 (共10题)二、 选择题 (共10题,单选)以下是为Shell脚本初学者设计的20道练习题,涵盖填空和选择两种题型,所有题目均基于您提供的【文档内容】。一、 填空题 (共10题) Shell脚本是解释型程序,其本质是将需要执…...
产品经理必备!PRD实战手册:从需求梳理到高效落地的全流程解析
1. 为什么PRD是产品经理的"施工蓝图"? 刚入行时,我总以为PRD就是把老板和客户的需求整理成文档。直到有次开发团队拿着我写的20页文档集体"罢工",才明白PRD本质是跨团队协作的翻译器——要把模糊的想法转化为技术人员看…...
