口音与方言语音识别研究进展

本文总结于2021年10月30日汤志远博士在深蓝学院关于[口音与方言语音识别研究进展]的公开课,更多详细内容可以参见公开课。见文末~

汤博士和大家一起分享了关于口音与方言语音识别的研究进展,并介绍了口音或方言语音识别相关的数据、基准和竞赛,以及一些可行的研究方向。


口音和方言问题回顾

所谓的语音识别就是实现从语音到文本的转换,建模方式从过去常用的DNN-HMM结构转变到最近流行的端对端结构。这些模型的区别体现在建模单元的颗粒度,针对端对端的框架,目前比较流行的结构包括RNN-T、编码器-解码器、注意力机制等;而损失函数通常采用CTC或者CE。传统的DNN-HMM如今依旧保持着一定的活力,比如TDNN模型,常采用损失函数 LF-MMI。

 

针对语音识别,所包含的研究课题很多:

1.在数据层面,包括在深度学习兴起之前的数据特征提取,以及调整速度、音量、噪声等方面的数据增广,对于无标签数据的预训练和半监督学习方法,以及针对无数据、少数据时的Few-shot、one-shot、zero-shot等方法

2.在训练层面,我们可以选择多种结构或模型,以及损失函数

3.在部署时,我们要对模型进行压缩、量化、流处理等,来加快计算。除此之外,我们还可以考虑是否可以通过多模态、多语种、多场景、多领域等来进行系统训练,以及对于一些特定类型的语音进行识别,比如咳嗽声、老人或者小孩的声音等

4.此外还有一些和深度学习息息相关的通用课题,比如迁移学习、对比学习、联邦学习等。

关于口音和方言,口音通常表现在音素层面的变动,而方言则通常有更大的偏移,比如粤语、闽南话这些。本次的分享主要关注和口音相近的方言。

口音在发音层面的不同,举例来说,英文表现在音标和重音上,而中文则体现在声母、韵母和音调上;而在语义层面,节奏和语气都可能不一样。针对口音和方言的语音识别,我们要解决的问题包括鲁棒性问题,即对不同条件环境下的方言都能识别;另一个是泛化能力,即模型在一些方言上训练之后,对于其他未见类别的方言也可以识别;此外,我们也要考虑实际应用时的部署和性能问题。

 

接下来介绍口音语音识别的相关技术。

第一种是针对特定方言和口音的语音识别。对于每一种方言,我们会部署一种模型,然后针对每种方言的识别,选择特定的模型。此外,也可以尝试让机器去自动选择对应的模型,这就是所谓的集成学习;另一种方法是用一个模型来进行所有方言的识别,通过添加不同方言的发音词典或调整建模颗粒度的方式来提升效果;为了实现单个模型,也可以采用低层网络共享,高层网络独立的方式。

第二种是具有一定泛化能力的口音语音识别。一种方式是采用一种发音词典,用最常规的模型对于所有方言进行训练;另一种方式是采用普通话训练出的模型,针对新的方言我们会采用调参的方式提升它针对特定方言的识别效果,但这会降低其对于其他方言或者普通话的识别效果。为了保证系统在引入其他方言时系统的原有性能,我们需要采用连续学习(continual learning)的思路来保证效果。除此之外,通过在训练时指明是哪种方言,我们可以在识别的时候提供一些额外信息。提供信息的一种基本方式是分析不同方言的区别,这种方法的问题在于不易量化不同方言的区别。

另一种方式是人工定义one-hot vector去区分不同的口音。比如将one-hot vector和原始特征拼一起加在神经网路的某一层;此外还可以利用accent embedding来实现更柔性的特征提取以及对抗学习和对比学习等方式。

还有其他一些方法,比如模型的预训练,还有利用数据增广等方式来实现数据扩充。

最新研究进展

接下来介绍最近发表的一些比较有潜力的方向的相关论文。

第一篇是关于集成学习的论文Multi-Dialect Speech Recognition in English using Attention on Ensemble of Export。第一步针对几种方言预先训练好几种基本模型,然后,通过计算不同的权重将基本模型合成到一起,此外,这篇论文运用了多任务的方式来进行方言分类。

另一篇论文Layer-wise Fast Adaptation for End-to-End Multi-Accent Speech Recognition介绍的思路是关于Accent embedding。首先作者进行模型的预训练,在训练结束后进行自适应。作者通过引入了一个scale+shift的模块进行参数调整。这篇论文主要讨论了scale和shift的求法,实现了对于输入语音,通过适应器(Adapter)对原始特征进行调整并传入到之前的网络中。其中,适应器、scale和shift的位置都相对灵活。

另一个工作 Best of Both Worlds: Robust Accented Speech Recognition with Adversarial Transfer Learning的思路是和对抗学习有关。首先,我们需要预训练两个模型,分别是一个语音识别模型和一个语音口音的分类器,然后进行对抗学习。这篇论文的创新点在于针对没有标签的数据也可以进行训练,不过只能更新一部分参数。

Aispeech-sjtu ASR system for the accented English speech recognition challenge 这篇论文展示了数据增广对口音语音识别训练的影响。除了常规的增加噪声、扰动、速度调整,作者还增加了TTS的方式用于数据增广。

口音语音识别相关数据、比赛

现在介绍一下语音识别相关的数据和比赛。

关于数据,很多公司的数据没有对外开放或者需要购买,总之就是开源的数据库不够大,大的数据库不开源。此外,很多的数据集是英文的,中文的相对较少。

关于相关比赛,有Oriental language recognition(OLR) challenge, 这里面包含了四川话、上海话等识别难度较大的口音。在2020年还由国内公司举办了关于英文口音识别的比赛The Accented English Speech Recognition Challenge 2020。

贝壳和清华最新的合作成果KeSpeech,主要涉及到中国的官话和8种次方言。为了采集数据,针对每种方言,我们选择了特定的城市进行采集。比如针对江淮话,我们选择了合肥、南京、扬州几个城市。这个数据集包含了来自34个城市27237个人的时长1542小时的数据。数据还包含了对应文本,说话人ID和口音类型等信息。基于这些数据,我们进行了很多实验,包括语音识别、说话人识别、方言种类识别、语音转换等。

关于语音识别的实验,针对各种次方言,可以分别进行建模,也可以把所有语音放到一起进行建模。实验结果显示,不同次方言的训练可以相互促进。此外可以观察到,虽然利用一种方言训练出来的模型可以用于识别另一种方言,但是显然没有使用对应方言模型的效果好。

同时,我们还把模型在AIShell-1数据集上进行测试,结果显示,我们用KeSpeech训练后的识别效果较为合理,这说明了我们的数据提供了足够多样化的场景,能够支撑一个完善的语音识别系统。

针对说话人识别,我们设计了不同条件的评测集,比如说话的时间不一样、口音不一样。实验结果说明了说话人的时间、口音种类等因素会较大影响系统性能。

另一个实验是关于次方言的分类,利用包含方言的数据集,我们可以利用说话人的语音判断他是哪里的人。实验结果说明,想要完全分开还是很难的。而不同的方言之间的相近程度也不一样。

最后一个实验是关于跨方言的语音转换,也就是将一种方言语音的说话人音色转化为另一种方言说话人的音色,而实验结果显示这种转换很值得进一步探究。

 次方言种类识别的 t-SNE结果

 口音语音识别的挑战

 

 最后介绍一下口音语音识别方向的一些挑战。目前,针对特定方言单独建立的语音识别系统往往有更高的精度,不过当我们不确定说话人的语音类型时,accent-invariant的模型则更适合对应的场景。针对特定方言模型的方向,潜在的提升主要是针对工程方向,比如怎样加速以及单个环节的优化。而关于accent-invariant的模型,目前关于Accent embedding的方向和对抗学习、 对比学习的方向是值得关注的。除此之外,关于预训练的研究也很值得关注,以及解决模型自身及使用环境的不确定问题,比如面对口音轻重不同的说话人如果保证识别质量,还有就是基于上下文语义理解的语音识别也是值得关注的。

 * 感谢深蓝学员何常鑫同学的整理。

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值