返回列表

31st place silver medal solution - My first competition medal

576. Bengali.AI Speech Recognition | bengaliai-speech

开始: 2023-07-17 结束: 2023-10-17 音视频处理 数据算法赛

第31名银牌解决方案——我的第一块竞赛奖牌

作者:Md Boktiar Mahbub Murad
发布日期:2023年10月18日

首先,我们要感谢Bengali.ai和Kaggle举办了这场关于孟加拉语语音识别的出色竞赛,并发布了该领域的大规模数据集。至少可以说,这场比赛充满了挑战。但我很享受过去三个月为此付出的过程。这对我来说是一段相当不错的学习历程。我有机会为社区做出贡献,并通过这次竞赛与社区互动。在本次竞赛中,我的notebook获得了1枚金牌、2枚银牌和8枚铜牌。总之,这是忙碌而快乐的三个月!

总结:

声学模型:我们微调了ai4bharat/indicwav2vec_v1_bengali模型
数据集:竞赛数据 + Openslr53 + openslr37 + TTS数据集
在初始阶段,我们使用完整的竞赛数据微调模型,结果反而使情况变得更糟,将LB分数拖到了最佳公开notebook(0.445)以下。
随后,我们使用主办方提供的训练元数据过滤掉竞赛数据中质量较差的音频(我们选择MOS≥2的音频)。
我们对训练集和验证集数据进行随机划分(因为MaCro验证集的音频质量明显优于训练集音频),使用95%的音频进行训练,然后添加其他数据集。这使得LB分数提升至0.430。
数据增强:混响、速度扰动、音量扰动(0.125倍 ~ 2.0倍)
从示例音频中添加背景噪声(略微提升了性能)

语言模型:我们使用竞赛语句 + banglanmt + IndicCorp_V2构建了一个5-gram语言模型

未生效的方法:

  1. 标点符号模型:我尝试添加xashru-punctuation-restoration模型,但总是出现CUDA内存不足错误。现在看到其他人成功实现该模型并获得显著提升,让我很困扰。我也尝试过微调T5模型来完成这个任务,但没有看到明显改进,因此放弃了这个想法。
  2. 语音增强
    - DeepFIlterNet
    - Speechbrain wham
    我在这些方法上花费了大量时间。首先尝试在推理流程中添加语音增强模型,但没有提升性能。然后尝试使用增强后的音频进行训练,同样没有帮助。这些模型的降噪性能相当不错,但也影响了音调并使语音有些失真。

可以进一步改进的方向/后续步骤:

  1. 添加标点符号模型
  2. 使用更多数据训练声学模型(MADASR, Shrutilipi)
  3. 为语言模型添加更多文本数据
同比赛其他方案