返回列表

11th place solution

576. Bengali.AI Speech Recognition | bengaliai-speech

开始: 2023-07-17 结束: 2023-10-17 音视频处理 数据算法赛
第11名解决方案

第11名解决方案

作者:Roy Wei | 排名:第11名 | 发布时间:2023-10-18

大家好,各位Kaggler们!

首先,我谨代表我的团队向Kaggle和Bengali AI表示最诚挚的感谢。同时,我要感谢许多提供启发性见解的竞争对手们。感谢仓库的作者们。最后,感谢我的队友们,特别是@rkxuan,他发现了构成标点模型基础的仓库。


模型架构:

  • ASR模型:Wav2vec2 CTC模型
  • Ngram:Kenlm
  • 标点模型:xlm-roberta-large

有效的方法:

  • @umongsain过滤后的Common Voice数据集上进行微调,公共排行榜得分从0.439提升至0.428
  • 在Openslr 37上进行微调后,公共排行榜得分从0.428提升至0.414
  • 将Oscar语料库整合到ngram中。
  • 使用audiomentations进行数据增强。
  • 采用来自该仓库的xlm-roberta-large配置。
  • 使用Optuna搜索解码超参数,具体方法可参考该notebook

挑战:

数据集:

  • Openslr 53:数据量庞大,可能导致训练过程中的过拟合。由于其众包性质,尤其是与更精细的Openslr 37相比,这可能是一个因素。
  • Fleurs:质量参差不齐,持续存在的尖锐噪声影响了数据集的质量。
  • 竞赛数据集:质量差异较大。

标点恢复:

  • 在恢复五个标点符号时遇到困难:!,?-
    • 特别是连字符(-)处理起来较为棘手。或许将其单独训练会有所帮助。

音频增强:

  • 可能背景音乐(BGM)使用过度。调整音高可能更有效。

语音增强:

  • FAIR Denoiser和Nvidia CleanUnet均未达预期效果,令人困惑。也许它们无意中降低了人声质量。

专业提示:

  • 优先使用ARPA格式而非BIN。Kenlm在转换后似乎会丢失unigram,但该技巧可将得分提升0.007。注意Kaggle的13GB内存限制。最终我采用了一个约12GB的精简4gram模型。

观察:

  • 基于标注的OOD样本的本地交叉验证与公共排行榜结果高度一致,这可能解释了最终排名几乎没有波动的原因。
  • Oscar语料库主要包含正式文章,因此尽管ngram模型庞大,仍可能忽略OOD测试集中的小众词汇,尤其是在观察到的高OOV(未登录词)情况下。

欢迎分享您的想法和经验!

同比赛其他方案