ISCSLP论文介绍|利用BERT提高语种识别性能

news2025/2/5 5:56:12

本文介绍清华大学语音与音频技术实验室(SATLab)ISCSLP 2022录用论文。BERT-LID: Leveraging BERT to Improve Spoken Language Identification。这篇文章将BERT模型引入到语种识别领域。利用BERT模型的优越性,再结合下游不同的神经网络模型,提升语种识别能力,尤其是在短语音的情况下识别性能有更为明显提升。

01 语种识别

语种识别是分析处理语音片段以判断其所属的语种。它对智能语音系统中的多语言模块有着深远的影响。目前语种识别技术在中长语音(>3s)上能够实现较高的准确率,但是在短语音(<=1s)上的表现并不能令人满意。由于短语音提供的数据信息较少,因此大大增加了识别难度。

我们尝试将在自然语言处理中表现甚好的BERT模型应用到语种识别任务中,旨在提升短语音情况下语种识别模型的性能。

语种识别(图片来自第五届东方语种识别竞赛)

02 BERT-LID

BERT的全称是:Bidirectional Encoder Representation from Transformers。该模型通过大规模无标注文本语料训练,获得包含丰富语义信息的表征,BERT具有强大的语义理解能力,是近年来自然语言处理领域公认的里程碑模型。

BERT模型(图片来自https://arxiv.org/pdf/1810.04805.pdf)

原始的BERT旨在处理基于文本的表示,而我们这里的输入是语音,因此需要对输入语音进行预处理以适应该模型。

方法一:提取语音的音素,作为BERT模型的输入。

方法二:提取语音的后验概率特征,替换原始的Token Embedding结果,作为输入。

将调整过后的BERT接不同的分类网络模型进行学习

我们通过对整体网络进行训练以获得最佳BERT-LID模型。

03 实验及结论

我们使用OLR20、TAL_ASR、TIMIT和THCHS30数据集来对BERT模型进行训练。对于音频数据我们使用BUT的开源代码来获得音素序列以及音素后验概率特征。

其中OLR20来自于2020年东方语种识别竞赛所提供的数据,包含6个语种;TAL_ASR为好未来英语课授课音频,每条音频只有一位说话人,包含中英文混合讲话的情况(对于这种情况,我们使用强制对齐的方法来获得中文与英文的标签信息);TIMIT为英文数据集;THCHS30为中文数据集。同时我们还对数据进行切分处理来获得时长为1s的短语音数据。数据集的具体情况如下图所示,其中T&T为TIMIT和THCHS30的切分短语音混合使用的情况。

数据集

下游神经网络模块,我们选择使用CNN、LSTM、RCNN、DPCNN分别进行实验。首先我们在OLR20和T&T数据上对BERT-LID模型进行测试,然后进行消融实验:a)BERT部分结合线性分类层来得到结果(称之为BERT);b)去掉BERT模块(称之为LID),直接将数据输入到对应的模型中来得到结果。可以看出,相比于BERT以及LID模块,BERT-LID模型在语种识别任务中准确率整体上有所提升

在OLR20和T&T数据集上进行消融实验

之后,我们在BERT-RCNN、x-vextor、n-gram-svm模型上进行对比实验(TAL_ASR和T&T数据集为短音频数据的集合),其中x-vextor、n-gram-svm为我们的基线系统。可以看出,BERT-LID模型在我们的不同数据集中都能有最优表现,尤其是在短语音情况下,我们所提出的方法有更为明显的提升

在不同的数据集上进行对比试验

我们的方法将BERT引入到语种识别领域,通过调整输入将语音数据顺利的输入BERT模型,再结合不同的神经网络来搭建BERT-LID系统。结果表明,所提出的BERT-LID系统提高了语种识别性能,尤其是在短语音上提升更为明显。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OFDM系统中基于dmrs导频的时间跟踪、频率跟踪算法

目录发射端模型假设接收端模型假设时延估计&#xff08;时间跟踪&#xff09;频偏估计&#xff08;频率跟踪&#xff09;在OFDM系统中&#xff0c;为了估计出信号传输遇到的时间偏移和频率偏移&#xff0c;可以采用导频进行估计。 发射端模型假设 我们假设如下模型&#xff1…

如何熟练掌握运用Delft3D建模、水动力模拟方法及在地表水环境影响评价中的实践技术

Delft3D是由荷兰Delft大学WL Delft Hydraulics开发的一套功能强大的软件包&#xff0c;主要应用于自由地表水环境。该软件具有灵活的框架&#xff0c;能够模拟二维和三维的水流、波浪、水质、生态、泥沙输移及床底地貌&#xff0c;以及各个过程之间的相互作用。它是国际上最为先…

使用 C# Graphics 绘图来绘制一个足球

背景 2022卡塔尔世界杯是足球爱好者的狂欢&#xff0c;这与我毫无关系&#xff0c;作为一个缺乏运动的人&#xff0c;还是不要去看人家玩命的运动了。虽然不看球&#xff0c;不过这波热度的持续冲击&#xff0c;还是让我在朋友圈刷到了结局 ———— 球王梅西如愿以偿捧得金杯…

Bootstrap5 下拉菜单

下拉菜单可以是单选下拉菜单&#xff0c;也可以是多选的下拉菜单。 单选下拉菜单&#xff1a; 多选下拉菜单&#xff1a; 在 Bootstrap5 中下拉菜单 <select> 元素可以使用 .form-select 类来渲染 : 实例 <select class"form-select"> <option>…

内核启动过程分析

目录 一、内核源码获取查看 1.1、Source Insight使用 二、查看链接脚本 三、分析head.S 3.1、到入口前代码 3.2、内核启动的汇编阶段 四、main.c内核启动的c语言阶段 4.1、内核打印函数printk 4.2、启动信息 五、rest_init函数 5.1、进程0、进程1、进程2​编辑 5.2、…

详细复习云开发~小程序【搜索功能、登陆注册功能、点赞收藏评论功能、评论功能、CMS网页版管理后台】

文章目录一&#xff0c;搜索功能1-1&#xff0c;需求1-2&#xff0c;实现原理1-3&#xff0c;模糊搜索的代码实现1-3-1&#xff0c;模糊搜索单个字段1-3-2&#xff0c;模糊搜索多个字段&#xff08;满足一个即可&#xff09;1-3-3&#xff0c;模糊搜索多个字段&#xff08;要同…

python获取redis memory使用情况

项目研发过程中&#xff0c;用到Python操作Redis场景&#xff0c;记录学习过程中的心得体会。 一、环境搭建 Windows Anaconda3安装redis第3方包&#xff0c;pip install -u redis pip install -u # 升级安装 linux下查看redis配置信息bind 127.0.0.1 # 表示只允许本地访问,…

AssetBundle依赖打包有哪些注意点

1&#xff09;AssetBundle依赖打包有哪些注意点 ​2&#xff09;子程序集如何引用Assembly-CSharp.dll 3&#xff09;Unity的线性空间下自定义贴图在PS中修改问题 4&#xff09;如何关闭视锥体剔除 这是第318篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化…

CSS3之2D转换

文章目录2D转换一、transform1-1.2D转换之移动translate1-2.translate&#xff08;百分比&#xff09;盒子居中二、rotate2-1.旋转效果2-2.transform-origin设置旋转中心点三、2D转换之缩放scale四、2D转换综合写法总结2D转换 转换&#xff08;trabsform&#xff09;是CSS3中具…

SPDK块设备bdev简介

介绍 SPDK Bdev架构 SPDK块设备层&#xff08;通常简称为bdev&#xff09;是一个C库&#xff0c;旨在等同于操作系统块存储层&#xff0c;该层通常位于传统内核存储堆栈中设备驱动程序的正上方。具体来说&#xff0c;此库提供以下功能&#xff1a; 一种可插拔模块API&#xf…

Effective C++(二):构造/析构/赋值运算

个人读书记录&#xff0c;不适用教学内容。 目录 条款05&#xff1a;了解C默默编写并调用了哪些函数 条款06&#xff1a;若不想使用编译器自动生成的函数&#xff0c;就该明确拒绝 条款07&#xff1a;为多态基类声明virtual析构函数 条款08&#xff1a;别让异常逃离析构函数…

设备巡检系统哪个软件好?

本文将介绍&#xff1a;1、好用的设备巡检系统&#xff0c;2、评价设备巡检系统好用的标准&#xff1b;3、做好设备管理的几大关键 现今许多企业&#xff0c;尤其是制造业&#xff0c;规模日趋机械化、自动化、大型化、高速化和复杂化&#xff0c;对设备巡检工作的要求越加精细…

微信小程序网络请求

小程序的网络请求的文档是很少的&#xff0c;只提供了API&#xff0c;例子也不举。 基本使用 最简单的使用如下&#xff1a; 就是调用wx.request方法&#xff0c;这个方法已经能够应付大部分的网络请求了。 onLoad() {wx.request({url: http://123.207.32.32:1888/api/city/a…

我学python的那段日子(五)python中的函数

python中的函数 1.1自定义函数 1.1.1 函数的定义 ​ 和Java一样&#xff0c;python也有内置函数和自定义函数&#xff0c;内置函数是python已经定义好的函数&#xff0c;而自定义函数则是我们根据需要自己定义的函数。 ​ 语法 def 函数名称(参数): ​ 函数体 ​ 其中参数的…

一个转行学习前端的初学者,应该如何计划自己的学习规划?

就目前的发展来看&#xff0c;在语言排行中&#xff0c;前端多年霸主的地位还未被撼动&#xff0c;前端语言的特点就注定了很多公司会选用它&#xff0c;强大的第三方库使前端正在web端的强大无法被替代。目前由于大数据&#xff0c;人工智能的发展&#xff0c;互联网成为了发展…

Bootstrap5 复选框与单选框

如果您希望用户从预设选项列表中选择任意数量的选项&#xff0c;可以使用复选框&#xff1a; 实例 <div class"form-check"> <input class"form-check-input" type"checkbox" id"check1" name"option1" value&quo…

【Python机器学习】朴素贝叶斯分类的讲解及预测决策实战(图文解释 附源码)

需要代码请点赞关注收藏后评论区留言私信~~~ 朴素贝叶斯分类 朴素贝叶斯&#xff08;nave Bayes&#xff09;分类是基于贝叶斯定理与特征条件独立假定的分类方法。 设试验E的样本空间为S&#xff0c;A为E的事件&#xff0c;B_1&#xff0c;B_2&#xff0c;⋯&#xff0c;B_n为…

深入浅出理解Java并发AQS的共享锁模式

自定义共享锁例子 首先我们通过AQS实现一个非常最最最轻量简单的共享锁例子&#xff0c;帮助大家对共享锁有一个整体的感知。 Slf4j public class ShareLock {/*** 共享锁帮助类*/private static class ShareSync extends AbstractQueuedSynchronizer {private int lockCount…

C. Sequence Pair Weight(数学贡献法)

Problem - 1527C - Codeforces 序列的权重被定义为具有相同值&#xff08;aiaj&#xff09;的无序索引对&#xff08;i,j&#xff09;&#xff08;这里i<j&#xff09;的数量。例如&#xff0c;序列a[1,1,2,2,1]的权重是4&#xff0c;具有相同值的无序索引对的集合是&#x…

结构篇-适配器模式

文章目录一、跨越鸿沟靠适配二、插头与插孔的冲突1.三相插孔接口2.两相插孔接口3.电视机机类TV4.客户端类二、通用适配1. 适配器2.客户端类三、专属适配1.电视机专属适配器2.客户端类总结1. 对象适配器2. 类适配器总结适配器模式(Adapter)通常也被称为转换器&#xff0c;顾名思…